czbiohub-sf / shrimPy

shrimPy: Smart High-throughput Robust Imaging & Measurement in Python
BSD 3-Clause "New" or "Revised" License
7 stars 1 forks source link

Methods to stitch a position grid array #135

Closed ieivanov closed 3 weeks ago

ieivanov commented 4 months ago

TODO:

ieivanov commented 3 months ago

This version uses an average row_translation and column_translation to stitch all images in a grid. The average row_translation and column_translation are computed using phase cross correlation on a small number of tiles (e.g. 3x3) or using a calibration dataset. No registration is performed between tiles during stitching of larger datasets. It works decently well, but I've seen examples where the stitch is not good in certain sections of the mosaic, likely because the XY stage makes a larger error when moving.

I'm planning a V2 which will compute shifts between all pairs of neighboring images using phase cross correlation. This can be done quickly on the HPC. All images in a given row share the same row_translation - we can compute an average row_translation for each row. Each pair of images will have a unique column_translation. The phase cross correlation algorithm could make errors in estimating the shift - we'll replace outliers with the mean value across the dataset.

ieivanov commented 3 weeks ago

Replaced by #137