A Framework for Registration of Images with Varying Topology using Embedded Maps: Reimannian Embedding Spaces
In this report we extend the Sochen-Kimmel-Malladi method of embedded map filtering to the problem of non-rigid registration in the presence of topo- logical changes. Changes in image topology occur in medical images due to normal variation in anatomy, image artifacts, and the presence of pathology. Registration methods typically consider such topological differences as con- founds or artifacts, in some cases explicitly enforcing topological preservation. This limits their clinical application where pathology is present and of primary interest. In this work we demonstrate that by treating images as embedded maps, changes in topology are handled naturally. We propose a functional and a particular choice of embedded metric, derive the associated Euler-Lagrange equations, validate the implementation on simulated images, and demonstrate the application to real 2D MRI neuroimages.
Reference and Report PDF
C.L. Wyatt, X. Li, X. Gong, A Framework for Registration of Images with Varying Topology using Embedded Maps: Reimannian Embedding Spaces, BSL Report BSL2009-0002, Bioimaging Systems Laboratory, Department of Electrical and Computer Engineering Virginia Polytechnic Institute and State University, 2009.
Code and Example Data
The code used to generate the results is revision 256 of the REM repository.
svn co https://bsl-1.ece.vt.edu/svn/REM/trunk REM -r 256
The code depends on cmake 2.6.2 and ITK version 3.8. A build script is provided in REM/Scripts to build the dependencies and REM on unix systems. EDIT 2/8/2010: the build script is broken due to a change in sourceforge, to fix add the flag --location to the curl command to fetch ITK (line 44 of build.sh).
Synthetic images used in Fig. 2 of the report (vtk format): BSL-2009-1-Package.tar.gz
The usage of the command line is
rem2dNew Usage: rem2dNew [ string] [ string] [ string] [-i integer] [-e float] [-s float] [-k integer] [-t float] [-o string] REQUIRED: string source image file name ['(null)'] string target image file name ['(null)'] string output deformation field ['(null)'] Optional: Switch Type Help [default value] -i integer maximum number of iterations  -e float embedding scale parameter [0.1] -s float standard deviation for smoothing  -k integer kernel size of the smoothing kernel  -t float timestep [1e-05] -o string output image file name ['(null)'] -h bool Print this message
The -e flag provides the beta parameter in the paper, where beta = 1/(e)^2, i.e. a beta of 20^2 corresponds to -e 0.05.
Linux-x86 (GCC 4.2.4)
Comments and Bug Reports