Purpose

Characterise how the flat-field (light) transmission through the stepped-height microfluidic channel evolves at three key points during the 2026-07-16 urea-assay experiment, and identify which flat-field image set should be used to normalise each group of concentration measurements.

The channel is a DLP-3D-printed dense PEGDA network (Mn = 250 Da) bonded to a glass substrate, imaged on an inverted Olympus IX71 (4× objective + 1.6× magnification, TRITC bandpass filter ~530–590 nm, 0.925 µm/px). Eight stepped-height sections (200 → 30 µm) span the field of view.

Experimental sequence

Step Directory Clock Purpose
Prime + focus Buffer, focus, secure platform
T1 light 15:02 30-frame flat-field burst before any dye
Dark dark Dark correction frames
BTB dye bromothymol blue 15:05 0.5 % bromothymol blue fill + image
T2 post-blue light 15:08 30-frame flat-field after BTB flush
Old concentrations old concentrations/ 15:10–15:33 13 urea samples (0–20 mM)
T3 light in-between sets 15:36 30-frame flat-field after old-conc. runs
New concentrations new concentrations/ 15:38–16:00 13 urea samples (0–20 mM) repeated

Questions addressed:

  1. How much does bromothymol blue staining alter flat-field transmission, and is the effect depth-dependent?
  2. Does running 13 concentration samples further change the flat field, and if so, how?
  3. Which flat-field image set (T1, T2, or T3) should normalise each concentration group?

ROI definitions

The stepped-height channel presents eight sections side-by-side across the image width. All sections share the same row band (83–201 px in cropped-image coordinates); each has its own column extent covering the flat interior of that depth step, avoiding the transition ramps.

Coordinates are taken directly from crop_and_roi.py and are fixed for all subsequent analysis of this dataset.

Averaged flat-field images with ROI overlays

Each light-field directory contains 30 frames captured in a single ~3–4 s burst; frames are averaged to suppress shot noise before display and analysis. The colour boxes mark the eight section ROIs used for all quantitative measurements.

Visually, deeper sections appear brighter even at 0 mM (no absorber): this is a genuine optical property of the channel geometry under transmitted illumination and is precisely why a depth-matched flat-field correction is required for every concentration measurement.

Averaged flat-field images with ROI overlays

Per-ROI mean values — all channels

Mean 10-bit pixel values (raw 16-bit >> 6) in each ROI for the T1 and T2 averaged flat fields, split by colour channel. The R channel is identically zero in every ROI: the TRITC bandpass filter blocks all wavelengths that the camera registers in the red channel of this RGB sensor. Useful signal is carried entirely by the G channel (dominant) and B channel.

The gradient across sections — deeper sections brighter — is consistent across both timepoints and both active channels, confirming it reflects channel geometry rather than noise.

Per-ROI mean values for all channels

T1 → T2: effect of bromothymol blue exposure

The bar chart shows (T2 − T1) / T1 × 100 for each section and channel. Because the R channel is zero, only the G and B bars carry information.

Key observation: the G-channel drop ranges from −8.5 % (deepest, 200 µm) to −5.3 % (shallowest, 30 µm) — a clear depth-dependent gradient with larger losses in deeper sections.

Percent difference T1 to T2 per ROI per channel
SectionChannelT1 light meanT2 post-BTB mean% diff
S1 (200µm)R0.000.00+0.00%
S1 (200µm)G856.35783.63-8.49%
S1 (200µm)B220.98203.19-8.05%
S2 (150µm)R0.000.00+0.00%
S2 (150µm)G855.73790.97-7.57%
S2 (150µm)B220.06204.19-7.21%
S3 (120µm)R0.000.00+0.00%
S3 (120µm)G852.17792.56-7.00%
S3 (120µm)B217.80203.23-6.69%
S4 (90µm)R0.000.00+0.00%
S4 (90µm)G835.18781.43-6.43%
S4 (90µm)B213.09199.98-6.15%
S5 (70µm)R0.000.00+0.00%
S5 (70µm)G814.06764.90-6.04%
S5 (70µm)B205.13193.52-5.66%
S6 (50µm)R0.000.00+0.00%
S6 (50µm)G798.63753.33-5.67%
S6 (50µm)B200.40189.95-5.21%
S7 (40µm)R0.000.00+0.00%
S7 (40µm)G786.01742.82-5.49%
S7 (40µm)B197.96188.17-4.95%
S8 (30µm)R0.000.00+0.00%
S8 (30µm)G763.14722.37-5.34%
S8 (30µm)B189.16180.59-4.53%

Discussion: why does the BTB step produce a depth-dependent drop?

Two mechanisms are consistent with the dense, anti-fouling PEGDA-250 Da network:

  1. Residual dissolved BTB (dominant, depth-proportional). Flushing does not remove all dye. Residual BTB remaining in solution absorbs light following Beer–Lambert: A = εcl, where l is channel depth. Deeper sections absorb more. The effect is amplified because deeper sections have lower linear flow velocity (same volumetric flow, larger cross-section), so they flush less efficiently and retain a higher residual concentration c as well.

  2. Surface adsorption (depth-independent floor). Even a monolayer of BTB on the PEGDA ceiling or glass floor would produce a constant absorbance independent of channel depth. The fact that even the shallowest section (30 µm) still loses ~5 % suggests a non-zero surface component alongside the bulk-dissolved component. However, PEG surfaces are well-known for low non-specific adsorption, so this contribution is expected to be small.

Practical consequence: T2 (post-blue light) captures the post-BTB channel state. It is the appropriate flat-field for normalising the old-concentration images (T1 is not appropriate because it was recorded before BTB exposure).

T3: flat-field in-between the old and new concentration sets

All 30 light in-between sets images were captured in a single ~2.8-second burst at 15:36:57, between the last old-concentration sample (old/20 mM, 15:33) and the first new-concentration sample (new/0 mM, 15:38). This matches the process.txt note: "A set of light correction images was also taken between the sets of 13 samples."

We therefore have three averaged flat-field measurements forming a time sequence:

Label Directory Time Context
T1 light 15:02 Before BTB dye
T2 post-blue light 15:08 After BTB flush
T3 light in-between sets 15:36 After 13 old-concentration sample runs

The analysis below asks: (a) how much did the flat-field change between T2 and T3, (b) does the depth-dependent pattern persist, reverse, or disappear, and (c) what mechanism explains the change?

ROI means across three correction timepoints

Discussion: depth-dependence reverses from T2 → T3

Step Depth-dependence of G-channel drop
T1 → T2 (BTB flush) Deeper sections drop more (−8.5 % at 200 µm → −5.3 % at 30 µm)
T2 → T3 (13 old-conc. runs) Shallower sections drop more (−6.4 % at 200 µm → −8.1 % at 30 µm)
T1 → T3 (total) Nearly uniform across all sections (−14.3 % → −13.0 %)

The reversal between the two steps points to a different dominant mechanism for each:

T1→T2 — bulk dissolved BTB (∝ depth). Residual dye in solution; absorption scales with path length l. Deeper sections lose more.

T2→T3 — surface adsorption of phenol red (∝ 1/depth). The concentration samples contain phenol red as the colorimetric indicator — another sulfonphthalein dye. Phenol red adsorbs onto the channel surfaces (PEGDA ceiling and/or glass floor). The adsorbed layer has a fixed optical thickness t independent of channel depth d, so its contribution to absorbance scales as t/d: shallower sections lose a larger fraction of their light path to the adsorbed layer, producing the reversed gradient.

Why the total drop is nearly flat: The two depth-dependent effects point in opposite directions (∝ d and ∝ 1/d) and approximately cancel in the total, leaving a roughly uniform ~13–14 % reduction across all sections relative to T1.

T3 per-frame G values vs T1/T2 averages

Within-burst frame-to-frame variation

The 30 frames in the T3 burst were captured over ~2.8 s. The frame-to-frame standard deviation in G-channel ROI means is ≈ 0.15 counts (10-bit scale) across all sections — roughly 0.02 % of the mean signal. This confirms:

Summary table — G-channel means at all three timepoints

SectionT1 light GT2 post-BTB GT3 in-between GT2−T1 (%)T3−T2 (%)T3−T1 (%)
S1 (200µm)856.3783.6733.8-8.5%-6.4%-14.3%
S2 (150µm)855.7791.0736.8-7.6%-6.8%-13.9%
S3 (120µm)852.2792.6735.5-7.0%-7.2%-13.7%
S4 (90µm)835.2781.4722.9-6.4%-7.5%-13.4%
S5 (70µm)814.1764.9705.8-6.0%-7.7%-13.3%
S6 (50µm)798.6753.3693.7-5.7%-7.9%-13.1%
S7 (40µm)786.0742.8683.2-5.5%-8.0%-13.1%
S8 (30µm)763.1722.4663.9-5.3%-8.1%-13.0%

Conclusions

1. R channel carries no signal

The TRITC bandpass filter completely blocks the wavelengths captured in the camera's red channel. All subsequent analysis should use the G channel as the primary signal. The B channel tracks G but at roughly one-quarter the amplitude and can serve as a cross-check.

2. Flat-field drift is significant and depth-dependent

The channel transmission changes by ~5–14 % across the three correction timepoints, and the direction of depth dependence differs by step:

3. Correct flat-field pairing for normalisation

Concentration group Correct flat-field Rationale
Old concentrations (0–20 mM, run 15:10–15:33) T2 post-blue light Measured after BTB flush, before these samples
New concentrations (0–20 mM, run 15:38–16:00) T3 light in-between sets Measured immediately before these samples

Using T2 to normalise the new concentrations, or T1 to normalise either set, would introduce a systematic error of up to ~8 % in G-channel transmittance — large enough to significantly bias the concentration calibration.

4. Shot noise is negligible

Frame-to-frame variation within a burst is ≈ 0.15 counts (0.02 %), confirming that averaging 5 frames per concentration sample is sufficient and that the observed flat-field drift is entirely physical, not instrumental noise.