-
Notifications
You must be signed in to change notification settings - Fork 7
Tile pre processing
These are developer notes on the tile pre-processing steps of the pipeline.
Producing high quality images requires the illumination to be subtracted and, optionally, the bidirectional scanning artifact to be removed. This is coordinated by analyseTiles.
This is straightforward: we simply divide each tile by an average tile. The software calculates separate average images for each channel, depth, and odd/even row in the tile mosaic. The user can then correct based on the row, depth, and channel or pool rows or depths. All data from the sample contribute to the averages used to correct each tile (i.e. we do not only use data from one physical section). Algorithms such as Kevin Smith’s cidre are another option, but we've not tried those as yet.
For in vivo data we typically correct for bidirectional scanning artifacts by calculating the phase shift between odd and even rows and applying this offset to one set of rows.
The TissueVision uses linear scanners driven beyond the bandwidth of the servo feedback loop in order to maximise speed.
As a result, the relative phase between the outgoing and reverse scan lines differs across the image so a single correction would not work.
TissueVision's hardware solves this problem by routing the X mirror feedback signal back to the acquisition board and using this information to correct the images.
Whilst this approach works well most of the time, from time to time it introduces large random phase delays between outgoing and return scan lines.
These are hard to remove because they occur at random times and because they are restricted to sub-regions of the images.
The TissueVision bidirectional scan correction appears to be performed within a series of narrow bands and we don't know where the borders of these bands lie.
Nonetheless, our bidirectional scanning correction works as follows:
The correction is calculated either using a single channel or by averaging any desired combination of channels.
Coefficients are calculated for each tile by calcPhaseDelayShifts
by breaking up the images into a series of bands and determining the phase delay within each band.
The artifact is the same across channels, so we can store one set of coefficients for each x, y, z position.
Whilst the "comb"/bidirectional artifact is improved, the improvement isn't universal and so we don't normally apply this correction.
Knowing the location of the bands in which the acquisition software partitions the images would help, but we do not have access to this information and have not attempted to figure it out from the raw data.
This routine hasn't been tested on non-TissueVision data.
It is suggested not to run it on these data.
Although the above pre-processing is time consuming, we can carry it out as the data come in with the syncAndCrunch
command.