Email questions
or comments
to bsl@vt.edu

A Framework for Registration of Images with Varying Topology using Embedded Maps: Reimannian Embedding Spaces


Abstract

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  [100]
      -e float   embedding scale parameter  [0.1]
      -s float   standard deviation for smoothing   [1]
      -k integer kernel size of the smoothing kernel  [5]
      -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.

 

Tested Configurations

Linux-x86 (GCC 4.2.4)

Comments and Bug Reports

clwyatt@vt.edu