1.
Code available for the algorithms in image registration
I did contact many authors and websites who said they might provide C++ or Matlab codes upon
request, but all of them did not reply. Some of codes I find useful are listed as follow:
- Elastic Registation Toolbox
S. Klein, M. Staring, K. Murphy, M.A. Viergever and J.P.W. Pluim, "elastix: a toolbox for intensity
based medical image registration," IEEE Transactions on Medical Imaging, vol. 29, no. 1, pp. 196
- 205, January 2010
http://elastix.isi.uu.nl/download.php
- Medical Image Registration Toolbox (MIRT)
https://sites.google.com/site/myronenko/research/mirt
- Point Set Registration
Myronenko, A., and Song, X. Point set registration: Coherent point drift. Patter Analysis and
Machine Intelligence (2010)
https://sites.google.com/site/myronenko/research/cpd
- Image Alignment Toolbox (IAT)
http://iatool.net/downloadiat/
- B-spline Grid, Image and Point based Registration
https://www.mathworks.com/matlabcentral/fileexchange/20057-b-spline-grid--image-and-
point-based-registration
- Image Alignment Toolbox (IAT)
http://iatool.net/downloadiat/
2. Coarse to fine registration for live cell videos
2.1 Problem: Generally, medical images are not rich in details, so in feature-based registration
the process of feature extraction results in many similar features at different locations on each
frame. Therefore, when matching two frames together, lots of incorrect correspondences are
often created. If incorrect correspondences account for a large percentage of total matching
points, the current algorithms of estimating transformation model easily fail in finding correct
transform models. My approach is to find a method to reduce the number of
miscorrespondences before estimating transformation model. This can ensure the success of
registration algorithms.
2.2 Characteristics of live cell videos: all live cell videos contains both global (rigid) and local
(deformable) distortions. Applying only deformable registration directly cannot compensate
large movements.
2. 3 Solution: live cell image registration consists of two stages.
Stage 1 is coarse registration (feature-based registration). Rigid transformation (translation +
rotation) is chosen as the transform model. The algorithm is illustrated as follows:
Compared to other feature based registration methods, my contribution is the step of filtering
outliers.
Since the global movement in the live cell videos is rigid, I exploit the characteristic of rigid
movement that is distance preservation to detect incorrect correspondences. Accordingly, an
outlier are likely not to preserve distances with other points on the moving frame. Reducing the
number of miscorrespondences to an acceptable percentage will ensure correct estimated
models.
Details of filtering outliers can be briefly described as follows:
- Calculating the distances between every points to other points
- Calculating the ratio of corresponding distances between two images
- Choosing a threshold to judge which distance is preserved
- Calculating the percentage of preserved distances connected to every single point.
- Voting outliers based the percentage calculated above.
Stage 2 is fine registration (intensity-based registration). The coarsely aligned image in stage
1 is registered with the fixed image in this stage. The deformable registration algorithm here
use B-spline as transform model. This stage will correct remaining local misalignments from
stage 1.
2.4 Experimental results illustrates the effectiveness of filtering outliers in stage 1
Aligning two images in stage 1 without filtering outliers
- Matching points
fixed and moving images
- Estimated model: Outliers are excluded by using the M-estimator SAmple Consensus
(MSAC) algorithm. The MSAC algorithm is a variant of the Random Sample Consensus
(RANSAC) algorithm. The similar misaligned result is obtained from using Iterative
Closest Point algorithms (ICP). Those algorithms have been most popular and many
studies show their effectiveness.
Fixed image and moving image after aligned (very bad)
Aligning two images in stage 1 with filtering outliers
- Matching points
fixed and moving images
- Matching points after filtering outliers
fixed and moving images
- Estimated model
Fixed image and moving image after aligned (successful)
(a) (b)
Comparing two images before (a) and after being aligned (b) : the red circles show differences that can be observed
clearly and blue circles show the corresponding area