Projects:DBP2:Harvard:Registration Documentation

From NAMIC Wiki
Revision as of 20:16, 1 May 2009 by Rauscha (talk | contribs)
Jump to: navigation, search
Home < Projects:DBP2:Harvard:Registration Documentation

Slicer 3 contains a number of different ways to register two images. In this document we will examine the results of these modules on three different cases. The convention used will be (moving image) -> (fixed image) = (resulting moved image). The cases are:

  • Registering a t2 weighted image to an arbitrary t1, then registering this transformed image back to the original t2. Ideally this will produce a identical image.
  • Registering a DTI baseline image to the corresponding realigned t2 weighted image, and vice-versa. This is a realistic test of one of our (the PNL) everyday uses of registration.
  • Registering a realigned t2 weighted image to another t2.

Talk to Andrew Rausch, rauscha@bwh.harvard.edu for more info. I'm no expert on registration, but I can tell you exactly how each of these were performed and provide mrmls and nrrds.

There and back registration

In this case we take the 01053-t2w nrrd as our moving image and the 01031-t1 nrrd as our fixed, register them and save the result, then move that result to the fixed 01053-t2w image. Not all of these transformations are totally reversible, but for the most part if they can be registered one way, they should be able to be registered back to exactly the same spot. It never works quite perfectly though, so the errors/distortions are detailed below.

Slicer modules

Affine

Affine case 1: Minor loss of detail.
  • 53-t2 -> 31-t1 = aff1
  • aff1 -> 53-t2 = aff2

The image shows these side by side. The are nearly the same except for the loss of fine detail.

Linear

Linear case 1: Minor shift at front, loss of detail.
  • 53-t2 -> 31-t1 = lin1
  • lin1 -> 53-t2 = lin2

The image shows lin2 and 53-t2 side by side. The image shows there appears to be some change beyond loss of detail, possibly a L-R shift in the front.

Rigid

Rigid case 1: Significant loss of detail.
  • 53-t2 -> 31-t1 = rig1
  • rig1 -> 53-t2 = rig2

Significant blurring, but every feature is in it's proper place.

Deformable B-spline

BSpline case 1: Frontal enlargement, rear upward shift, distortions throughout.
  • 53-t2 -> 31-t1 = Bspline1
  • Bspline1 -> 53-t2 = Bspline2

Superior frontal enlargement, odd upward shifting in rear of brain, distortions everywhere.

Diffeomorphic Demons

Demons case 1: Many minor deformations, clipping of brain at top, roughly correct placement overall.
  • 53-t2 -> 31-t1 = Demons1
  • Demons1 -> 52-t2 = Demons2

Multiple deformations. Much larger ventricles. Small errors everywhere, expansions, contractions, shifts. Roughly in the same place overall.

Register Images Module

Initial

Initial case 1: Minor shift down and anterior
Initial case 1: histograms of the two images.
  • 53-t2 -> 31-t1 = init1
  • init1 -> 53-t2 = init2

Significant shift in count values, rigid translation down ~4 pixels, left ~1 pixel.

Rigid

Rigid case 1: Shift in grey values.
  • 53-t2 -> 31-t1 = rigid1
  • rigid1 -> 53-t2 = rigid2

Shift in grey values. Few other problems.

Affine

Affine case 1: Slight posterior shift and grey value shift.
  • 53-t2 -> 31-t1 = affine1
  • affine1 -> 53-t2 = affine2

Again, shift in grey values, mostly okay otherwise. Slight posterior shift.

B-Spline

BSpline case 1: Minor distortions, grey value shifts.
  • 53-t2 -> 31-t1 = Bspline1
  • Bspline1 -> 53-t2 = Bspline2

Again grey values shift. Minor distortion in frontal lobe and cerebellum.

Pipe Rigid

Pipe Affine: Minor shifts and tilt forward.
  • 53-t2 -> 31-t1 = piperigid1
  • piperigid1 -> 53-t2 = piperigid2

The brain appears to be shifted slightly leftward, as the contours around the edges do not perfectly match. There also is a tilt forward around the L-R axis. Grey value shift.

Pipe Affine

Pipe Affine: Minor shifts and tilt forward.
  • 53-t2 -> 31-t1 = pipeaffine1
  • pipeaffine1 -> 53-t2 = pipeaffine2

Elongation along the superior frontal to cerebellum axis. Grey value shift. Otherwise ok.

Pipe Bspline

Pipe Bspline: very blurred, bad distortions, esp. cerebellum (NOTE: this picture has the images reversed, with the registered image appearing on the left)
  • 53-t2 -> 31-t2 = pipebspline1
  • pipebspline1 -> 53-t2 = pipebspline2

There is pinching towards the corpus callosum, strange distortions near the cerebellum, many distortions around the skull, very poor overall.






.

DTI Baseline to t2 registration

Freesurfer parcellation overlay

Only linear methods produce transforms that can be used to register a label map. Unfortunately, a linear registration can never account for the distortions of a DTI image, and as such there is no way to get a good registration of structural label maps to DTI space. In Slicer 2, I can create a transform node and do an automatic registration between two already created nrrds based on intensity via diff. demons or bspline, and then apply that transform to a label map, but I don't know of any way to get a similar transform in Slicer3.

Affine

Affine aparc overlay: few matches, linear method doesn't allow for good fit.

The overlay has very few places where it is even usable, only in the dead center of ROIs do you have any guarantee of being in the same region on the DTI. This is only a linear registration, so the label map cannot account for the DTI distortion.

Linear

Linear aparc overlay: few matches, linear doesn't allow for good fit.

The overlay has very few places where it is even usable, only in the dead center of ROIs do you have any guarantee of being in the same region on the DTI. This is only a linear registration, so the label map cannot account for the DTI distortion.

Slicer modules

affine

  • DTI-baseline -> 53-t2 = aff3

[[FILE:FILENAME|600px|thumb|left|TYPE case X: explanation]] Image shows the 53-t2 target image and the registered image side by side. DTI distortion remains but aligned well to ventricles in center.

  • 53-t2 -> DTI-baseline = aff4

[[FILE:FILENAME|600px|thumb|left|TYPE case X: explanation]] The registered image does not stretch to the full extent of the DTI at the midline, though the match is quite close more laterally.

Linear

  • DTI-baseline -> 53-t2 = lin3

[[FILE:FILENAME|600px|thumb|left|TYPE case X: explanation]] Middle is clearly matched, coronal slices look okay, sagittal shows DTI distortions remain.

  • 53-t2 -> DTI-baseline = lin4

[[FILE:FILENAME|600px|thumb|left|TYPE case X: explanation]] Brainstem and cerebellum matched well, normal DTI distortions still present.

Rigid

  • DTI-baseline -> 53-t2 = rig3

[[FILE:FILENAME|600px|thumb|left|TYPE case X: explanation]] Brainstem aligned, normal DTI distortions present.

  • 53-t2 -> DTI-baseline =rig4

[[FILE:FILENAME|600px|thumb|left|TYPE case X: explanation]] Similar.

B-Spline

  • DTI-baseline -> 53-t2 = Bspline3
BSpline case 2: Terrible distortion. Matches cortex to skull.

Fits the cortex on the baseline to the skull on the t2. Retry with a skull stripped t2.

  • 53-t2 -> DTI-baseline = Bspline4

[[FILE:FILENAME|600px|thumb|left|TYPE case X: explanation]]

  • DTI-baseline-masked -> 53-t2-masked = Bspline3

[[FILE:FILENAME|600px|thumb|left|TYPE case X: explanation]] Bad registration, numerous deformations, midline shift in frontal lobe, right side deformations, cerebellum doesn't fit any more.

Diffeomorphic Demons

  • DTI-baseline -> 53-t2 = Demons3
Demons case 2: Terrible distortions everywhere, unclear what it was trying to match.
  • 53-t2 -> DTI-baseline = Demons 4

Register Images module

Initial

  • DTI-baseline -> t2 = init3

[[FILE:FILENAME|600px|thumb|left|TYPE case X: explanation]]

  • t2 -> DTI-baseline = init4

[[FILE:FILENAME|600px|thumb|left|TYPE case X: explanation]]

Rigid

  • DTI-baseline -> t2 = rigid3

[[FILE:FILENAME|600px|thumb|left|TYPE case X: explanation]]

  • t2 -> DTI-baseline = rigid4

[[FILE:FILENAME|600px|thumb|left|TYPE case X: explanation]]

Affine

  • DTI-baseline -> t2 = affine3

[[FILE:FILENAME|600px|thumb|left|TYPE case X: explanation]]

  • t2 -> DTI-baseline = affine4

[[FILE:FILENAME|600px|thumb|left|TYPE case X: explanation]]

B-Spline

(Shouldn't use BSpline unless the data has already been registered via an Affine registration. Use the Pipelined BSpline instead since it will perform the rigid, affine, and then BSpline registrations in order, for you.)

Thanks, I'm still in the process of finishing the registrations, but I'll go ahead and skip this one.

  • DTI-baseline -> t2

[[FILE:FILENAME|600px|thumb|left|TYPE case X: explanation]] Slow process. Inferior frontal, temporal, stretched downwards. Cerebellum is terrible. Very top of the brain is stretched. Pretty bad overall.

  • t2 -> DTI-baseline

[[FILE:FILENAME|600px|thumb|left|TYPE case X: explanation]]

Pipeline Rigid

  • DTI-baseline -> t2 = pipelinerigid1

[[FILE:FILENAME|600px|thumb|left|TYPE case X: explanation]]

  • t2 -> DTI-baseline = pipelinerigid2

[[FILE:FILENAME|600px|thumb|left|TYPE case X: explanation]]

Pipeline Affine

  • DTI-baseline -> t2 = pipelineaffine1

[[FILE:FILENAME|600px|thumb|left|TYPE case X: explanation]]

  • t2 -> DTI-baseline = pipelineaffine2

[[FILE:FILENAME|600px|thumb|left|TYPE case X: explanation]]

Pipeline B-Spline

  • DTI-baseline -> t2 = pipelinebspline1

[[FILE:FILENAME|600px|thumb|left|TYPE case X: explanation]]

  • t2 -> DTI-baseline = pipelinebspline2

[[FILE:FILENAME|600px|thumb|left|TYPE case X: explanation]]

Different subject registration

Slicer modules

Rigid

Rigid: aligned by ventricles ok.

01053>01031rigid.png = not bad... different brains of different sizes, but seem to be aligned in the ventricles so output seems okay. output slightly blurry. bad initial leveling displays.

Linear

Linear: Aligned by ventricles ok.

01053>01031linear.png = not bad... different brains of different sizes, but seem to be aligned in the ventricles so output seems okay.output slightly blurry. bad initial leveling displays.

Affine

Affine: Warping of frontal lobe and cerebellum, size matches well.

01053>01031_affine.png = looks good in terms of size. odd warping of frontal lobe and cerebellum area, but otherwise good coregistration.

B-spline

B-spline: frontal/temporal and cerebellum warping

01053>01031_bspline.png = looks good in terms of size. odd warping of frontal/temporal lobe and cerebellum area, but otherwise good coregistration.

Diffeomorphic Demons

Demons: very good, little distortion

01053>01031_demons.png = 10 minutes. Window/leveling initially off. Otherwise, it looks really good. Not much distortion.

Register Images module

Initial

Initial: simple shift, loss of resolution

01053>01031_RI_initial.png - looks like the original 01053 image, but shifted, which is expected. resolultion a little worse.

Rigid

Rigid: Center ventricles mostly aligned. By axial, brain is now crooked, esp. in frontal lobe.

01053>01031_RI_rigid.png - center ventricles are mostly aligned, but not perfectly. in axial view, brain is more crooked than in initial scan... especially in frontal lobe.

Affine

Affine: Ventricles well aligned, good size match. Some distortion.

01053>01031_RI_affine.png - ventricles aligned well. sizing decent. looks how one would expect affine to look. not perfect subcortically. some distortion, esp in temporal lobe.

B-spline

B-Spline: ventricles well aligned, but temporal lobe size is not matched.

01053>01031_RI_bspline.png - good result. ventricles aligned well, but temporal lobe size is not the same as the target image.

Pipe Rigid

Pipe Rigid: only shifted, ventricles decently registered.

01053>01031_RI_pipe_rigid.png - shifted version of the original image. decent registration in the ventricles.

Pipe Affine

Pipe Affine: Frontal and temporal distortions, esp bad at corpus callosum

01053>01031_RI_pipe_affine.png - decent coreg. a bit of distortion in the frontal and temporal lobes, esp around the corpus collosum.

pipe B-spline

Pipe B-Spline: good registration, but quite blurred

01053>01031_RI_pipe_bspline.png - good coregistration, but pretty blurred. also, I would have expected the temporal lobe to be coregistered better.