this work by john galeotti and damion shelton, © 2004-2014, was made possible in part by nih nlm...
TRANSCRIPT
![Page 1: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/1.jpg)
This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative Commons Attribution 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by/3.0/ or send a letter to Creative Commons, 171 2nd Street, Suite 300, San Francisco, California, 94105, USA. Permissions beyond the scope of this license may be available by emailing [email protected] most recent version of these slides may be accessed online via http://itk.galeotti.net/
Lecture 8Registration with ITK
Methods in Medical Image Analysis - Spring 2014 BioE 2630 (Pitt) : 16-725 (CMU RI)
18-791 (CMU ECE) : 42-735 (CMU BME)
By Dr. John Galeotti & Dr. Damion Shelton
1
![Page 2: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/2.jpg)
2
For more info/gory detail…
Please see the following for exhaustive detail: Chapter 8 in the ITK Software Guide
Currently, even the new 3rd Edition does not yet cover the newer v4 registration methods
Insight into Images ITK Source Tree
Examples/Registration/ E.g. Examples/Registration/ImageRegistration1.cxx
ITK Doxygen http://www.itk.org/Doxygen43/html/group__RegistrationFilters.html http://www.itk.org/Doxygen43/html/group__Group-
Registration.html http://www.itk.org/Doxygen43/html/group__Group-Numerics.html
![Page 3: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/3.jpg)
3
What is registration?
The process of aligning a target image to a source image
More generally, determining the transform that maps points in the target image to points in the source image
![Page 4: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/4.jpg)
4
Transform types
Rigid (rotate, translate)Affine (rigid + scale & shear)Deformable (affine + vector field)Many others
![Page 5: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/5.jpg)
5
Registration in ITK
ITK uses an extensible registration frameworkVarious interchangeable classes existRelatively easy to “twiddle” the part you’re interested
in while recycling prior work
The new ITKv4 Registration components use a separate (but similar) framework (discussed later)
SimpleITK will NOT support registration until v. 0.9 For “simple” usage, consider using ANTS instead: http://www.picsl.upenn.edu/ANTS/
![Page 6: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/6.jpg)
6
ITK terminology
Fixed image f(x) - stationary in spaceMoving image m(x) - the fixed image with an
unknown transform appliedGoal: recover the transform T(x) which maps
points in f(x) to m(x)
![Page 7: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/7.jpg)
7
Registration framework pieces
2 input images, fixed and movingMetric - determines the “fitness” of the current
registration iterationOptimizer - adjusts the transform in an attempt
to improve the metricInterpolator - applies transform to image and
computes sub-pixel values
![Page 8: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/8.jpg)
8
Figure 8.2 from the ITK Software Guide v 2.4, by Luis Ibáñez, et al.
ITK registration flowchart
![Page 9: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/9.jpg)
9
ITK’s “Hello world” example
2D floating point image inputsPlease see the software guide (section 8.2) for
code specificsI am going to cover what each piece does, not
look at code per se
![Page 10: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/10.jpg)
10
Figure 8.5 from the ITK Software Guide v 2.4, by Luis Ibáñez, et al.
ITK’s “Hello World” Example:Flow Chart for Everything
![Page 11: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/11.jpg)
11
Input images
2D floating pointFloating point avoids loss of precision problems
with integer pixel types
![Page 12: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/12.jpg)
12
Transform
TranslationTransformPermits translation only in 2DDocumentation notes similarity to
AffineTransform, but improved speed (why…?)
![Page 13: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/13.jpg)
13
Figure 8.7 from the ITK Software Guide v 2.4, by Luis Ibáñez, et al.
Transform Coordinate System
![Page 14: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/14.jpg)
14
Metric
MeanSquaresImageToImageMetricSum of squared differences between 2 images
on a pixel-by-pixel basisA bit naïveWorks for 2 images that were acquired with the
same imaging modality
![Page 15: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/15.jpg)
15
Optimizer
RegularStepGradientDescentFollows the derivative of the metricStep size depends on rapid changes in the
gradient’s directionStep size eventually reaches a user-defined
value that determines convergence
![Page 16: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/16.jpg)
16
Interpolator
LinearInterpolateImageFunctionFast and conceptually simple
![Page 17: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/17.jpg)
17
Wrapper
ImageRegistrationMethodCombines all of the previous classes into a
master class
registration->SetMetric( metric );registration->SetOptimizer( optimizer );registration->SetTransform( transform );registration->SetInterpolator( interpolator);
![Page 18: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/18.jpg)
18
Other steps
Set the region of the fixed image the registration will operate onUseful for ignoring bad data
Initialize the transformTwiddle the optimizer for best performance*
*may involve pain and suffering
![Page 19: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/19.jpg)
19
Figure 8.3 from the ITK Software Guide v 2.4, by Luis Ibáñez, et al.
Hello world input
![Page 20: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/20.jpg)
20
Figure 8.6 (top) from the ITK Software Guide v 2.4, by Luis Ibáñez, et al.
X & Y translation vs. time
![Page 21: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/21.jpg)
21
Figure 8.6 (bottom) from the ITK Software Guide v 2.4, by Luis Ibáñez, et al.
Metric vs. time
![Page 22: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/22.jpg)
22
Registration results
After registration converges/terminates you call GetLastTransformParamters to recover the final transform
For the Hello World example there are 2 parameters, X & Y translation
![Page 23: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/23.jpg)
23
Double checking results
Use ResampleImageFilter to apply the transform for the fixed image
Take the output, compute a difference image with the moving image, examine the results
Good registration results in nothing much to see
![Page 24: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/24.jpg)
24
Figure 8.4 from the ITK Software Guide v 2.4, by Luis Ibáñez, et al.
Image comparison
Difference beforeregistration
Difference afterregistration
Registeredmoving image
![Page 25: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/25.jpg)
25
Keeping tabs on registration
Registration is often time consumingIt’s nice to know that your algorithm isn’t just
spinning it’s wheelsUse the observer mechanism in ITK to monitor
progress See the software guide, 3.2.6 and 8.4
We’ll see this again later, when we discuss how to write your own ITK filters itk::ProgressEvent is one example
![Page 26: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/26.jpg)
26
Observer steps
Write an observer class that will process “iteration” events (Just copy some code from an example)
Add the observer to the optimizerAs a generic note, observers can observe any class
derived from itk::ObjectStart registration as usual
![Page 27: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/27.jpg)
27
Things observers can do
Print debugging infoUpdate GUIOther small management functionsShould not do anything too processor intensive
![Page 28: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/28.jpg)
28
Multi-modality registration
Remember how I said sum-of-squares difference is relatively naïve?
Mutual information helps overcome this problem
Section 8.5 shows how to implement a simple MI registrationNote that Mattes MI is usually easier to use than
Viola-Wells MI
![Page 29: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/29.jpg)
29
Notes about the MI example
Significantly, largely the same piece of code as Hello World
Mutual Information is a metric, so we can keep the optimizer, the interpolator, and so on
Majority of differences are in tweaking the metric, not in rewriting code
![Page 30: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/30.jpg)
30
Figure 8.9 from the ITK Software Guide v 2.4, by Luis Ibáñez, et al.
MI Inputs
T1 MRI Proton density MRI
![Page 31: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/31.jpg)
31Taken from Figure 8.10 of the ITK Software Guide v 2.4, by Luis Ibáñez, et al.
MI Output: Image Comparison
Before After
This is an example of a checkerboard visualization
![Page 32: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/32.jpg)
32
Centered transforms
More natural (arguably) reference frame than having the origin at the corner of the image
Details are not appreciably different from other rigid registrations, see 8.6
![Page 33: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/33.jpg)
33
An aside: “Twiddling”
A common criticism of many/most registration techniques is their number of parameters
A successful registration often depends on a very specific fine-tuning of the algorithm
“Generalized” registration is an open problem
![Page 34: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/34.jpg)
34
Multi-Resolution registration
Useful to think of this as algorithmic “squinting” by using image pyramids
Start with something simple and low-resUse low-res registration to seed the next higher
stepEventually run registration at high-resAlso called “coarse to fine”
![Page 35: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/35.jpg)
35
Figure 8.36 from the ITK Software Guide v 2.4, by Luis Ibáñez, et al.
Multi-resolution schematic
![Page 36: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/36.jpg)
36
Figure 8.37 from the ITK Software Guide v 2.4, by Luis Ibáñez, et al.
Image pyramids
![Page 37: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/37.jpg)
37
Optimization
Parameter dependency rears its ugly headYou often/usually need to adjust optimizer
parameters as you move through the pyramidYou can do this using the Observer mechanism
![Page 38: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/38.jpg)
38
Multi-resolution example
Again, mostly the same code as Hello WorldUse MultiResolutionPyramidImage filter to
build fixed and moving pyramidsMultiResolutionImageRegistrionMethod is now
the overall framework
![Page 39: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/39.jpg)
39
Benefits of multi-resolution
Often fasterMore tolerant of noise (from “squinting”)Minimizes initialization problems to a certain
extent, though not perfect
![Page 40: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/40.jpg)
40
See the software guide for…
Detailed list of: Transforms Optimizers Interpolation methods
You’re encouraged to mix and match!
Note: ITKv4’s new registration methods are in separate classes, and most available documentation does not cover them yet.
Check Doxygen and ITK source code for, e.g.: ImageRegistrationMethodv4 MattesMutualInformationImageToImageMetricv4 DemonsImageToImageMetricv4 QuasiNewtonOptimizerv4 (an improved gradient descent)
![Page 41: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/41.jpg)
41
Deformable registration
ITK has 2 primary techniques: Finite element: treat small image regions as having
physical properties that control deformationDemons: images are assumed to have iso-intensity
contours (isophotes); image deformations occur by pushing on these contours
![Page 42: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/42.jpg)
42
Model based registration
Build a simplified geometric model from a training set
Identify parameters that control the characteristics of the model
Register the model to a target image to adapt to a particular patient
![Page 43: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/43.jpg)
43
Model based, cont.
Uses the Spatial Objects framework for representing geometry
Useful because it derives analytical data from the registration process, not just a pixel-to-pixel mapping
![Page 44: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/44.jpg)
44Figure 8.60 from the ITK Software Guide v 2.4, by Luis Ibáñez, et al.
Model-based example
Note: This is what we want, NOT the output of an actual registration
![Page 45: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/45.jpg)
45
Figure 8.59 from the ITK Software Guide v 2.4, by Luis Ibáñez, et al.
Model-based reg. schematic
![Page 46: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/46.jpg)
46
Model-based registration: Warning!
ITK does not yet directly support generic model-based registration “out of the box”
ITKv4 does support point-set to image registrationOtherwise, model-based reg. requires writing your
own custom ITK transform, with new parameters Transform’s new parameters Spatial Object parameters You must individually map your custom transform’s new
parameters to the specific spatial object parameters you want to allow registration to adjust
This isn’t too complicated if you know what you’re doing Search Insight Journal for examples
![Page 47: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/47.jpg)
47
Speed issues
Execution time can vary wildlyOptimizer (more naïve = faster) Image dimensionality (fewer = faster)Transform (fewer DOF = faster) Interpolator (less precise = faster)
![Page 48: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/48.jpg)
48
New in ITKv4 (ImageRegistrationMethodv4, etc.) New unified, improved, and fully multi-threaded optimization and registration
framework (including multi-threaded metrics) Dense deformation fields (including a new transform that encapsulates a dense
deformation field) Point Set registration methods (landmark or label guided registration)
Automatic parameter scale estimation for transforms Automatic step-size selection for gradient-based registration optimizers Composite Transforms (grouping multiple transforms into a single one) Symmetric registration (where the Fixed and Moving images make unbiased
contributions to the registration)
New metrics for Demons and Mutual Information Diffeomorphic (velocity field) deformable registration Additional evolutionary optimizers Improved B-Spline registration approach available and bug fixes to old
framework Accurately transform and reorient covariant tensors and vectorsList taken from http://www.itk.org/Wiki/ITK_Release_4/Why_Switch_to_ITKv4 and
http://www.itk.org/Wiki/ITK_Release_4/Migration_Plan/Release_Notes/ITKv4_Final_Release_Notes
![Page 49: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/49.jpg)
49
ITKv4 Registration
Uses a different framework than “traditional” ITK registration. The new framework is designated with a “v4” suffix.
You must use a v4 metric and a v4 optimizer when doing a v4 registration!
Take a look here: http://www.itk.org/Doxygen45/html/group__ITKRegistrationMethodsv4.html http://www.itk.org/Doxygen45/html/group__ITKMetricsv4.html http://www.itk.org/Doxygen45/html/group__ITKOptimizersv4.html ITK source code: Modules/Registration/RegistrationMethodsv4/include/ ITK source code: Modules/Registration/Metricsv4/include/ ITK source code: Modules/Numerics/Optimizersv4/include/
![Page 50: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/50.jpg)
50
ITKv4 Registration Example Code
ITKv4’s testing files provide some examples of v4 Registration. In particular, look at: Modules/Registration/RegistrationMethodsv4/test/
itkSimpleImageRegistrationTest.cxx This is a big example. First it creates an observer to print out the ongoing status of
the registration. Then it uses GradientDescentOptimizerv4 to guide an affine
registration. Finally it uses GradientDescentOptimizerv4 again to guide a
2nd-stage vector-field deformable registration.
Look at some of the other v4 test files as well!
![Page 51: This work by John Galeotti and Damion Shelton, © 2004-2014, was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative](https://reader035.vdocuments.site/reader035/viewer/2022062621/551c46c35503467b488b4d8a/html5/thumbnails/51.jpg)
51
Take home messages
Exactly what parameters do what is not always obvious, even if you are familiar with the code
Successful registrations can be something of an art form
Multi-resolution techniques can helpWork within the framework!