Difference between revisions of "Projects:RegistrationEvaluation"

From NAMIC Wiki
Jump to: navigation, search
m (Text replacement - "http://www.slicer.org/slicerWiki/index.php/" to "https://www.slicer.org/wiki/")
 
(16 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
Back to [[Algorithm:Utah2|Utah 2 Algorithms]]
 +
__NOTOC__
 
= Evaluation of Registration =
 
= Evaluation of Registration =
  
Line 6: Line 8:
 
can be determined.
 
can be determined.
  
= Example 1:  Fixing Artifacts in DWI with Slice by Slice 2D Registration =
+
= Registration Packages =
 +
 
 +
The following are current registration packages being considered for this project.
 +
 
 +
== ITK ==
 +
 
 +
http://itk.org/.
 +
 
 +
http://public.kitware.com/Wiki/ITK_Image_Registration.
 +
 
 +
== Slicer3 RegisterImages ==
 +
 
 +
https://www.slicer.org/wiki/Modules:RegisterImages-Documentation-3.4.
 +
 
 +
== IRTK (Rview) ==
 +
 
 +
http://www.doc.ic.ac.uk/~dr/software/usage.html.
 +
 
 +
= Example 1:  Fixing Artifacts in DWI =
  
 
The DWI data consists of 13 volumes -- a b0 and 12 gradient directions.  This process was conducted 3 times per patient for a total of 39 volumes.  The image below shows a particular
 
The DWI data consists of 13 volumes -- a b0 and 12 gradient directions.  This process was conducted 3 times per patient for a total of 39 volumes.  The image below shows a particular
Line 13: Line 33:
 
[[Image:orig_all.png|550px]]
 
[[Image:orig_all.png|550px]]
  
The problem can be alleviated by 2D affine registration between slices of a corrupted volume with the corresponding slice from the b0 volume, in which we assume the artifact
+
== Method 1: Slice by Slice 2D Registration ==
is not present.  We now consider different registration packages applied to this problem.
+
 
 +
The problem can be alleviated by 2D registration between slices of a corrupted volume with the corresponding slice from the b0 volume, in which we assume the artifact
 +
is not present
 +
 
 +
=== Affine Registration ===
 +
 
 +
Here we will restrict our investigation to affine transformations between images.  We now consider different registration packages applied to this problem.
  
== ITK ==
+
==== ITK ====
  
 
Using ITK modules, we wrote an application to perform 2D affine transformation with the following parameters:
 
Using ITK modules, we wrote an application to perform 2D affine transformation with the following parameters:
Line 22: Line 48:
 
:'''Similarity Metric''':  MattesMutualInformationImageToImageMetric with 24 bins and 10000 samples per bin.
 
:'''Similarity Metric''':  MattesMutualInformationImageToImageMetric with 24 bins and 10000 samples per bin.
 
:'''Interpolation''':  LinearInterpolateImageFunction  
 
:'''Interpolation''':  LinearInterpolateImageFunction  
:'''Optimization''':  RegularStepGradientDescentOptimizer
+
:'''Optimization''':  RegularStepGradientDescentOptimizer with a minimum step length of 0.001, a maximum step length of 1.0, 200 iterations, and a relaxation factor of 0.8.
 +
 
 +
The image below shows the same slices as the previous image after the registration process was conducted.  The jagged edges present in the original corrupted
 +
data are significantly reduced after slice by slice registration with the b0 volume.
  
[[Image:itk_reg.png|300px]]
+
[[Image:itk_all_fixed.png|550px]]
  
[[Image:itk_fixed_volume_006.png|400px]]
+
We can also look at a volume rendering of a particular volume to garner more evidence that the correction has worked.  The image below shows a volume rendering of the original data on the left
 +
and the corrected data on the right for the 006 gradient direction.  Again, note the smoothness of the corrected data; the artifacts present in the original data are significantly reduced.
 +
 
 +
[[Image:itk_fixed_volume_006.png|550px]]
 +
 
 +
==== Slicer3 RegisterImages ====
 +
 
 +
Work in progress.
 +
 
 +
==== IRTK ====
 +
 
 +
Work in progress.
 +
 
 +
== Method 2: 3D Registration ==
 +
 
 +
The problem can be alleviated by 3D registration between a corrupted volume and the b0 volume, in which we assume the artifact
 +
is not present.
 +
 
 +
=== Affine Registration ===
 +
 
 +
Here we will restrict our investigation to an affine transformation between images.  We now consider different registration packages applied to this problem.
 +
 
 +
==== ITK ====
 +
 
 +
Work in progress.
 +
 
 +
==== Slicer3 RegisterImages ====
 +
 
 +
Work in progress.
 +
 
 +
==== IRTK ====
 +
 
 +
Work in progress.
  
 
= Testbed =
 
= Testbed =
 +
 +
Work in progress.

Latest revision as of 18:03, 10 July 2017

Home < Projects:RegistrationEvaluation
Back to Utah 2 Algorithms

Evaluation of Registration

We are interested in comparing existing registration packages to determine how registration in Slicer3 can be improved. This work focuses on examining various packages researchers are currently using for registration and comparing results on a set of examples representative of common registration tasks. Finally, we propose the development of a testbed, where registration packages can be compared and parameters suitable for a given domain (e.g. multi-modal brain registration) can be determined.

Registration Packages

The following are current registration packages being considered for this project.

ITK

http://itk.org/.

http://public.kitware.com/Wiki/ITK_Image_Registration.

Slicer3 RegisterImages

https://www.slicer.org/wiki/Modules:RegisterImages-Documentation-3.4.

IRTK (Rview)

http://www.doc.ic.ac.uk/~dr/software/usage.html.

Example 1: Fixing Artifacts in DWI

The DWI data consists of 13 volumes -- a b0 and 12 gradient directions. This process was conducted 3 times per patient for a total of 39 volumes. The image below shows a particular slice in all 12 gradient directions and all 3 scans where the artifacts can clearly be seen in some of the gradient directions.

Orig all.png

Method 1: Slice by Slice 2D Registration

The problem can be alleviated by 2D registration between slices of a corrupted volume with the corresponding slice from the b0 volume, in which we assume the artifact is not present.

Affine Registration

Here we will restrict our investigation to affine transformations between images. We now consider different registration packages applied to this problem.

ITK

Using ITK modules, we wrote an application to perform 2D affine transformation with the following parameters:

Similarity Metric: MattesMutualInformationImageToImageMetric with 24 bins and 10000 samples per bin.
Interpolation: LinearInterpolateImageFunction
Optimization: RegularStepGradientDescentOptimizer with a minimum step length of 0.001, a maximum step length of 1.0, 200 iterations, and a relaxation factor of 0.8.

The image below shows the same slices as the previous image after the registration process was conducted. The jagged edges present in the original corrupted data are significantly reduced after slice by slice registration with the b0 volume.

Itk all fixed.png

We can also look at a volume rendering of a particular volume to garner more evidence that the correction has worked. The image below shows a volume rendering of the original data on the left and the corrected data on the right for the 006 gradient direction. Again, note the smoothness of the corrected data; the artifacts present in the original data are significantly reduced.

Itk fixed volume 006.png

Slicer3 RegisterImages

Work in progress.

IRTK

Work in progress.

Method 2: 3D Registration

The problem can be alleviated by 3D registration between a corrupted volume and the b0 volume, in which we assume the artifact is not present.

Affine Registration

Here we will restrict our investigation to an affine transformation between images. We now consider different registration packages applied to this problem.

ITK

Work in progress.

Slicer3 RegisterImages

Work in progress.

IRTK

Work in progress.

Testbed

Work in progress.