XuvTools: free, fast and reliable stitching of large 3D datasets
Current biomedical research increasingly requires imaging large and thick 3D structures at high resolution. Prominent examples are the tracking of fine filaments over long distances in brain slices, or the localization of gene expression or cell migration in whole animals like Caenorhabditis elegans or zebrafish. To obtain both high resolution and a large field of view (FOV), a combination of multiple recordings ('tiles') is one of the options. Although hardware solutions exist for fast and reproducible acquisition of multiple 3D tiles, generic software solutions are missing to assemble ('stitch') these tiles quickly and accurately.
In this paper, we present a framework that achieves fully automated recombination of tiles recorded at arbitrary positions in 3D space, as long as some small overlap between tiles is provided. A fully automated 3D correlation between all tiles is achieved such that no manual interaction or prior knowledge about tile positions is needed. We use (1) phase-only correlation in a multi-scale approach to estimate the coarse positions, (2) normalized cross-correlation of small patches extracted at salient points to obtain the precise matches, (3) find the globally optimal placement for all tiles by a singular value decomposition and (4) accomplish a nearly seamless stitching by a bleaching correction at the tile borders. If the dataset contains multiple channels, all channels are used to obtain the best matches between tiles. For speedup we employ a heuristic method to prune unneeded correlations, and compute all correlations via the fast Fourier transform (FFT), thereby achieving very good runtime performance.
We demonstrate the successful application of the proposed framework to a wide range of different datasets from whole zebrafish embryos and C. elegans, mouse and rat brain slices and fine plant hairs (trichome). Further, we compare our stitching results to those of other commercially and freely available software solutions.
The algorithms presented are being made available freely as an open source toolset 'XuvTools' at the corresponding author's website (http://lmb.informatik.uni-freiburg.de/people/ronneber), licensed under the GNU General Public License (GPL) v2. Binaries are provided for Linux and Microsoft Windows. The toolset is written in templated C++, such that it can operate on datasets with any bit-depth. Due to the consequent use of 64bit addressing, stacks of arbitrary size (i.e. larger than 4 GB) can be stitched. The runtime on a standard desktop computer is in the range of a few minutes. A user friendly interface for advanced manual interaction and visualization is also available.
Images and movies
BibTex reference
@Article{RB09, author = "M. Emmenlauer and O. Ronneberger and A. Ponti and P. Schwarb and A. Griffa and A. Filippi and R. Nitschke and W. Driever and H. Burkhardt", title = "XuvTools: free, fast and reliable stitching of large 3D datasets", journal = "Journal of Microscopy", number = "1", volume = "233", pages = "42--60", year = "2009", url = "http://lmb.informatik.uni-freiburg.de/Publications/2009/RB09" }