Difference between revisions of "Projects:DBP2:Harvard:Registration Documentation"
(56 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | |||
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: | 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 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 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. | * Registering a realigned t2 weighted image to another t2. | ||
+ | |||
+ | All cases were completed using the nightly build of SLicer 3 provided on 3-31-09. No settings were changed, the parameters were left at Slicer3 defaults. | ||
+ | |||
+ | 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. | ||
+ | |||
+ | A concise comparison of FSL and slicer registrations can be found [[Projects:DBP2:Harvard:Registration_Documentation:Compare|here]]. | ||
+ | |||
+ | '''The data set used for testing can be downloaded [http://pnl.bwh.harvard.edu/people/sylvain/registration_files.tar.gz here].''' | ||
+ | |||
+ | |||
+ | |||
+ | =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== | ==Slicer modules== | ||
Line 11: | Line 24: | ||
*53-t2 -> 31-t1 = aff1 | *53-t2 -> 31-t1 = aff1 | ||
*aff1 -> 53-t2 = aff2 | *aff1 -> 53-t2 = aff2 | ||
− | |||
The image shows these side by side. The are nearly the same except for the loss of fine detail. | The image shows these side by side. The are nearly the same except for the loss of fine detail. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===Linear=== | ===Linear=== | ||
Line 26: | Line 30: | ||
*53-t2 -> 31-t1 = lin1 | *53-t2 -> 31-t1 = lin1 | ||
*lin1 -> 53-t2 = lin2 | *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. | 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=== | ||
Line 41: | Line 36: | ||
*53-t2 -> 31-t1 = rig1 | *53-t2 -> 31-t1 = rig1 | ||
*rig1 -> 53-t2 = rig2 | *rig1 -> 53-t2 = rig2 | ||
− | |||
Significant blurring, but every feature is in it's proper place. | Significant blurring, but every feature is in it's proper place. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===Deformable B-spline=== | ===Deformable B-spline=== | ||
Line 56: | Line 42: | ||
*53-t2 -> 31-t1 = Bspline1 | *53-t2 -> 31-t1 = Bspline1 | ||
*Bspline1 -> 53-t2 = Bspline2 | *Bspline1 -> 53-t2 = Bspline2 | ||
− | |||
Superior frontal enlargement, odd upward shifting in rear of brain, | Superior frontal enlargement, odd upward shifting in rear of brain, | ||
distortions everywhere. | distortions everywhere. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===Diffeomorphic Demons=== | ===Diffeomorphic Demons=== | ||
Line 77: | Line 49: | ||
*53-t2 -> 31-t1 = Demons1 | *53-t2 -> 31-t1 = Demons1 | ||
*Demons1 -> 52-t2 = Demons2 | *Demons1 -> 52-t2 = Demons2 | ||
− | |||
Multiple deformations. Much larger ventricles. Small errors everywhere, | Multiple deformations. Much larger ventricles. Small errors everywhere, | ||
expansions, contractions, shifts. Roughly in the same place overall. | expansions, contractions, shifts. Roughly in the same place overall. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
==Register Images Module== | ==Register Images Module== | ||
Line 92: | Line 58: | ||
*53-t2 -> 31-t1 = init1 | *53-t2 -> 31-t1 = init1 | ||
*init1 -> 53-t2 = init2 | *init1 -> 53-t2 = init2 | ||
− | + | Significant shift in count values, rigid translation down ~4 pixels, left ~1 pixel. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===Rigid=== | ===Rigid=== | ||
Line 105: | Line 65: | ||
*rigid1 -> 53-t2 = rigid2 | *rigid1 -> 53-t2 = rigid2 | ||
Shift in grey values. Few other problems. | Shift in grey values. Few other problems. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===Affine=== | ===Affine=== | ||
Line 117: | Line 71: | ||
*affine1 -> 53-t2 = affine2 | *affine1 -> 53-t2 = affine2 | ||
Again, shift in grey values, mostly okay otherwise. Slight posterior shift. | Again, shift in grey values, mostly okay otherwise. Slight posterior shift. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===B-Spline=== | ===B-Spline=== | ||
Line 130: | Line 78: | ||
Again grey values shift. Minor distortion in frontal lobe and cerebellum. | Again grey values shift. Minor distortion in frontal lobe and cerebellum. | ||
− | * | + | ===Pipe Rigid=== |
− | + | [[File:53-t2 RI pipe rigid.png|600px|thumb|left|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=== | ||
+ | [[File:53-t2 RI pipe affine.png |600px|thumb|left|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=== | ||
+ | [[File:53-t2 RI pipe bspline.png|600px|thumb|right|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. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | . | ||
+ | |||
+ | = T2 to DTI baseline 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. | ||
+ | |||
+ | <nowiki>*</nowiki>Note: actually need to apply a transform volume, not a transform node to make this work in slicer 2. Still don't know how to accomplish this (or get a transform node) in Slicer 3. | ||
+ | |||
+ | ===Affine=== | ||
+ | [[File:Aparc-overlay-affine.png|600px|thumb|left|Affine aparc overlay: few matches, linear method doesn't allow for good fit.]] | ||
+ | |||
+ | The overlay has only a few places where it is usable, only in the center of ROIs you'll probably be in the same region on the DTI. | ||
+ | |||
+ | ===Linear=== | ||
+ | [[File:Aparc-overlay-linear.png|600px|thumb|left|Linear aparc overlay: few matches, linear doesn't allow for good fit.]] | ||
+ | |||
+ | The overlay is useful in roughly the middle third of the brain, distortion of DTI means linear transform cannot match in the front or back of brain. | ||
+ | |||
+ | ===Archana's transform=== | ||
+ | [[File:Archana aseg baseline.png|600px|thumb|right|Archana's affine registration: some problems in the back of the brain, but reasonable registration in front. Still some mismatch with DTI distortion.]] | ||
+ | Archana is an MIT grad student working on fMRI -> DTI registration. She used an affine transformation of some sort (I'm pretty sure it wasn't Slicer) to register a masked T2 to the masked DTI baseline, and transformed the freesurfer aseg the same way. You can see her registration has the same problems in the back of the brain, going beyond the borders of our image, but there is better registration in the front, matching up to the DTI distortion. | ||
+ | <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> | ||
+ | |||
+ | ==Slicer modules== | ||
+ | At first, I attempted to do whole volume registration, but it quickly became clear that masked volumes would be needed to perform even semi-accurate registrations. A few examples of non-masked registrations will be left, but all other transforms will be done with skull-striped masked volumes. | ||
− | * | + | ===B-Spline=== |
− | + | *DTI-baseline -> 53-t2 = Bspline3 | |
+ | [[File:Baseline-bsp-t2-composite.png|600px|thumb|left|BSpline: Terrible distortion. Matches cortex to skull.]] | ||
+ | Fits the cortex on the baseline to the skull on the t2. Retry with a skull | ||
+ | stripped t2. | ||
+ | ===Diffeomorphic Demons=== | ||
+ | *DTI-baseline -> 53-t2 = Demons3 | ||
+ | [[File:Basline-demons-t2.png|600px|thumb|left|Demons case 2: Terrible distortions everywhere, unclear what it was trying to match.]] | ||
+ | |||
+ | ===Rigid=== | ||
+ | [[File:T2-base masked rigid.png|600px|thumb|left| Rigid: Poor matching. Only good in roughly middle 1/4 of brain.]] | ||
+ | Brain tilted to appropriate angle, but DTI strecthing clear in frontal and parietal lobes. Cerebellum okay, middle quarter of rest of brain roughly matches. | ||
+ | |||
+ | ===Rigid-Linear=== | ||
+ | [[File:T2-base masked rigid-linear.png|600px|thumb|left| Rigid then Linear: Roughly the same as rigid only, though further registration degrades sharpness.]] | ||
+ | Brain tilted properly, matches in pretty much the same places as a Rigid transformation. It looks even blurrier now that it has gone through two registrations. | ||
+ | |||
+ | ===Rigid-Linear-Affine=== | ||
+ | [[File:T2-base masked rigid-linear-affine.png|600px|thumb|left| Rigid then linear then affine: Appears to be matching bright ventricles and bright cerebellum.]] | ||
+ | Clearly completely unusable. Bright ventricle of structural appears to be aligned with ventricles and bright region of cerebellum. | ||
+ | |||
+ | ===Linear=== | ||
+ | [[File:T2-base masked linear.png|600px|thumb|left| Linear: poor matching, only matches in roughly middle third of brain.]] | ||
+ | Similar problems and matches to previous methods. | ||
+ | |||
+ | ===Affine=== | ||
+ | [[File:T2-base masked affine.png|600px|thumb|left|Affine: poor registration. Especially bad matching in frontal and parietal regions where distortion is marked.]] | ||
+ | For the middle of the brain, this is acceptable, near front and rear registration can be off by whole gyri. Looking at axial view, clearly not turned the same direction as the DTI baseline. | ||
+ | |||
+ | ===BSpline=== | ||
+ | [[File:T2-base masked bspline.png|600px|thumb|left| BSpline: matches borders, but sulci and gyri are very poorly placed, esp. in frontal lobe.]] | ||
+ | This matches the two brain's borders very well. The structural expands to fill most of the DTI image's distortions. In the process, the gyrii in the frontal lobe are thrown all over the place, off by large margins. The middle is closer, and the rear of the brain is again poorly matched, though it has expanded to fill the DTI image distortion. | ||
+ | |||
+ | ===Rigid-Linear-Bspline=== | ||
+ | [[File:T2-base masked linear-rigid-bspline.png|600px|thumb|left| Rigid then Linear then bspline: Relatively good matching. Except for bottom of frontal lobe and small parts of occipital, an acceptable transformation.]] | ||
+ | Relatively close, compared to other transformations. Minor areas of frontal lobe are mismatched, especially near the bottom, and a small section of the occipital lobe is off, but overall gyri and sulci are matched well. | ||
+ | |||
+ | ===Demons=== | ||
+ | [[File:T2-base masked demons.png|thumb|600 px|right| Demons: Yes, this is really the result. Not even in the same space, and I can't actually get it to show any more of the brain than what is here.]] | ||
+ | Demons Registration clearly has some problems. I can't get even a viewable image to result. | ||
+ | |||
+ | <br><br><br><br><br><br><br><br><br><br> | ||
+ | |||
+ | ==Register Images Module== | ||
+ | ===Rigid=== | ||
+ | [[File:T2-base masked RI-rigid.png|600px|thumb|left| Rigid: not really even centered properly. Nothing matches well.]] | ||
+ | While the T2 has been moved, it really isn't accurate at any part. None of the image can be properly matched to the corresponding part of the DTI. | ||
+ | |||
+ | ===Affine=== | ||
+ | [[File:T2-base masked RI-affine.png|600px|thumb|left| Affine: Not really even close. Stretching everywhere and centered the same, but that's it.]] | ||
+ | Might there be some problem with the way I'm setting this up? Image does not match. Is not rotated, is shifted to roughly the same area, unclear why it is stretched where it is. | ||
+ | |||
+ | |||
+ | ===Problems=== | ||
+ | None of these registrations seem to be getting even close to accurate results, so until I get advice on what settings to use to correct this, I'm going to hold off on further testing of this section. | ||
+ | <br><br><br><br><br> | ||
= Different subject registration = | = Different subject registration = | ||
+ | |||
+ | In this, I'll be moving images like so: | ||
+ | *01053-t2 -> 01031-t2 = Result. All the images shown have the moving image on the left, the resultant image in the middle, and the target image on the right. | ||
+ | |||
+ | ==Slicer modules== | ||
+ | ===Rigid=== | ||
+ | [[File:53-31 rigid.png|600px|thumb|left|Rigid: aligned by ventricles ok. (source on left, target on right, registered image in middle.)]] | ||
+ | 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=== | ||
+ | [[File:53-31 linear.png|600px|thumb|left|Linear: Aligned by ventricles ok. (source on left, target on right, registered image in middle.)]] | ||
+ | 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=== | ||
+ | [[File:53-31 affine.png|600px|thumb|left|Affine: Warping of frontal lobe and cerebellum, size matches well. (source on left, target on right, registered image in middle.)]] | ||
+ | 01053>01031_affine.png = looks good in terms of size. odd warping of frontal lobe and cerebellum area, but otherwise good coregistration. | ||
+ | ===B-spline=== | ||
+ | [[File:53-31 bspline.png|600px|thumb|left|B-spline: frontal/temporal and cerebellum warping. (source on left, target on right, registered image in middle.)]] | ||
+ | 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=== | ||
+ | [[File:53-31 demons.png|600px|thumb|left|Demons: very good, little distortion. (source on left, target on right, registered image in middle.)]] | ||
+ | 01053>01031_demons.png = 10 minutes. Window/leveling initially off. Otherwise, it looks really good. Not much distortion. | ||
+ | |||
+ | ==Register Images module== | ||
+ | ===Initial=== | ||
+ | [[File:53-31 RI initial.png|600px|thumb|left|Initial: simple shift, loss of resolution. (source on left, target on right, registered image in middle.)]] | ||
+ | 01053>01031_RI_initial.png - looks like the original 01053 image, but shifted, which is expected. resolultion a little worse. | ||
+ | ===Rigid=== | ||
+ | [[File:53-31 RI rigid.png|600px|thumb|left|Rigid: Center ventricles mostly aligned. By axial, brain is now crooked, esp. in frontal lobe. (source on left, target on right, registered image in middle.)]] | ||
+ | 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=== | ||
+ | [[File:53-31 RI affine.png|600px|thumb|left|Affine: Ventricles well aligned, good size match. Some distortion. (source on left, target on right, registered image in middle.)]] | ||
+ | 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=== | ||
+ | [[File:53-31 RI bspline.png|600px|thumb|left|B-Spline: ventricles well aligned, but temporal lobe size is not matched. (source on left, target on right, registered image in middle.)]] | ||
+ | 01053>01031_RI_bspline.png - good result. ventricles aligned well, but temporal lobe size is not the same as the target image. | ||
+ | ===Pipe Rigid=== | ||
+ | [[File:53-31 RI pipe rigid.png|600px|thumb|left|Pipe Rigid: only shifted, ventricles decently registered. (source on left, target on right, registered image in middle.)]] | ||
+ | 01053>01031_RI_pipe_rigid.png - shifted version of the original image. decent registration in the ventricles. | ||
+ | ===Pipe Affine=== | ||
+ | [[File:53-31 RI pipe affine.png|600px|thumb|left|Pipe Affine: Frontal and temporal distortions, esp bad at corpus callosum. (source on left, target on right, registered image in middle.)]] | ||
+ | 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=== | ||
+ | [[File:53-31 RI pipe bspline.png|600px|thumb|left|Pipe B-Spline: good registration, but quite blurred. (source on left, target on right, registered image in middle.)]] | ||
+ | 01053>01031_RI_pipe_bspline.png - good coregistration, but pretty blurred. also, I would have expected the temporal lobe to be coregistered better. | ||
+ | <br><br><br><br><br><br><br><br><br><br><br> | ||
+ | |||
+ | =Special case: Anna's data registration= | ||
+ | At Marek's request, Doug has attempted to register the t1 structural images to the dwi-baseline images of Anna's data. Being different types of images, they do not register well. Examples follow. | ||
+ | |||
+ | [[File:Anna t1 baseline.png|600px|thumb|left| On the left is the structural t1 image, on the right is the dwi baseline image.]] | ||
+ | |||
+ | ==Bspline Only== | ||
+ | Though it has been recommended to always go through a pipeline before using a non-linear registration, We've given a B-spline only registration a try. This is Slicer 3's separate Bspline module. Unsurprisingly, it works extremely poorly. The brain is barely recognizable any longer, with strange curvatures at the top, gross enlargement of the middle third (S-I) and unclear registration along the very bottom, stretching out along the entire image. | ||
+ | |||
+ | [[File:Anna t1-baseline bspline.png|600px|thumb|left| Left side is the registered image. It is not clear what it is trying to match the brain to. There are no well matched points in the brain.]] | ||
+ | |||
+ | ==Diffeomorphic Demons== | ||
+ | The image has been expanded radially outward, not clearly matching to any features of the DTI baseline. | ||
+ | |||
+ | [[File:Anna t1-baseline demons.png|600px|thumb|left| Left side is registered image. The size scales are exactly the same, the registered brain simply doesn't fit to anything.]] | ||
+ | |||
+ | ==Linear to Affine to Bspline== | ||
+ | As suggested, in this test we registered the image via linear, then affine, then bspline modules in Slicer 3. Again the registration is largely incomprehensible. | ||
+ | |||
+ | [[File:Anna t1-baseline linear-aff-bspline.png|600px|thumb|left| On the left is the structural t1 image, on the right is the dwi baseline image. Barely any matching.]] | ||
+ | |||
+ | ==Pipeline B-spline== | ||
+ | Curved crazily, still doesn't appropriately fit. | ||
+ | [[File:Anna t1-baseline pipe-bspline.png|600px|thumb|left| On the left is the structural t1 image, on the right is the dwi baseline image.]] |
Latest revision as of 19:15, 19 May 2009
Home < Projects:DBP2:Harvard:Registration DocumentationSlicer 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.
All cases were completed using the nightly build of SLicer 3 provided on 3-31-09. No settings were changed, the parameters were left at Slicer3 defaults.
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.
A concise comparison of FSL and slicer registrations can be found here.
The data set used for testing can be downloaded here.
Contents
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
- 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
- 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
- 53-t2 -> 31-t1 = rig1
- rig1 -> 53-t2 = rig2
Significant blurring, but every feature is in it's proper place.
Deformable B-spline
- 53-t2 -> 31-t1 = Bspline1
- Bspline1 -> 53-t2 = Bspline2
Superior frontal enlargement, odd upward shifting in rear of brain, distortions everywhere.
Diffeomorphic Demons
- 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
- 53-t2 -> 31-t1 = init1
- init1 -> 53-t2 = init2
Significant shift in count values, rigid translation down ~4 pixels, left ~1 pixel.
Rigid
- 53-t2 -> 31-t1 = rigid1
- rigid1 -> 53-t2 = rigid2
Shift in grey values. Few other problems.
Affine
- 53-t2 -> 31-t1 = affine1
- affine1 -> 53-t2 = affine2
Again, shift in grey values, mostly okay otherwise. Slight posterior shift.
B-Spline
- 53-t2 -> 31-t1 = Bspline1
- Bspline1 -> 53-t2 = Bspline2
Again grey values shift. Minor distortion in frontal lobe and cerebellum.
Pipe Rigid
- 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
- 53-t2 -> 31-t1 = pipeaffine1
- pipeaffine1 -> 53-t2 = pipeaffine2
Elongation along the superior frontal to cerebellum axis. Grey value shift. Otherwise ok.
Pipe Bspline
- 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.
.
T2 to DTI baseline 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.
*Note: actually need to apply a transform volume, not a transform node to make this work in slicer 2. Still don't know how to accomplish this (or get a transform node) in Slicer 3.
Affine
The overlay has only a few places where it is usable, only in the center of ROIs you'll probably be in the same region on the DTI.
Linear
The overlay is useful in roughly the middle third of the brain, distortion of DTI means linear transform cannot match in the front or back of brain.
Archana's transform
Archana is an MIT grad student working on fMRI -> DTI registration. She used an affine transformation of some sort (I'm pretty sure it wasn't Slicer) to register a masked T2 to the masked DTI baseline, and transformed the freesurfer aseg the same way. You can see her registration has the same problems in the back of the brain, going beyond the borders of our image, but there is better registration in the front, matching up to the DTI distortion.
Slicer modules
At first, I attempted to do whole volume registration, but it quickly became clear that masked volumes would be needed to perform even semi-accurate registrations. A few examples of non-masked registrations will be left, but all other transforms will be done with skull-striped masked volumes.
B-Spline
- DTI-baseline -> 53-t2 = Bspline3
Fits the cortex on the baseline to the skull on the t2. Retry with a skull stripped t2.
Diffeomorphic Demons
- DTI-baseline -> 53-t2 = Demons3
Rigid
Brain tilted to appropriate angle, but DTI strecthing clear in frontal and parietal lobes. Cerebellum okay, middle quarter of rest of brain roughly matches.
Rigid-Linear
Brain tilted properly, matches in pretty much the same places as a Rigid transformation. It looks even blurrier now that it has gone through two registrations.
Rigid-Linear-Affine
Clearly completely unusable. Bright ventricle of structural appears to be aligned with ventricles and bright region of cerebellum.
Linear
Similar problems and matches to previous methods.
Affine
For the middle of the brain, this is acceptable, near front and rear registration can be off by whole gyri. Looking at axial view, clearly not turned the same direction as the DTI baseline.
BSpline
This matches the two brain's borders very well. The structural expands to fill most of the DTI image's distortions. In the process, the gyrii in the frontal lobe are thrown all over the place, off by large margins. The middle is closer, and the rear of the brain is again poorly matched, though it has expanded to fill the DTI image distortion.
Rigid-Linear-Bspline
Relatively close, compared to other transformations. Minor areas of frontal lobe are mismatched, especially near the bottom, and a small section of the occipital lobe is off, but overall gyri and sulci are matched well.
Demons
Demons Registration clearly has some problems. I can't get even a viewable image to result.
Register Images Module
Rigid
While the T2 has been moved, it really isn't accurate at any part. None of the image can be properly matched to the corresponding part of the DTI.
Affine
Might there be some problem with the way I'm setting this up? Image does not match. Is not rotated, is shifted to roughly the same area, unclear why it is stretched where it is.
Problems
None of these registrations seem to be getting even close to accurate results, so until I get advice on what settings to use to correct this, I'm going to hold off on further testing of this section.
Different subject registration
In this, I'll be moving images like so:
- 01053-t2 -> 01031-t2 = Result. All the images shown have the moving image on the left, the resultant image in the middle, and the target image on the right.
Slicer modules
Rigid
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
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
01053>01031_affine.png = looks good in terms of size. odd warping of frontal lobe and cerebellum area, but otherwise good coregistration.
B-spline
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
01053>01031_demons.png = 10 minutes. Window/leveling initially off. Otherwise, it looks really good. Not much distortion.
Register Images module
Initial
01053>01031_RI_initial.png - looks like the original 01053 image, but shifted, which is expected. resolultion a little worse.
Rigid
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
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
01053>01031_RI_bspline.png - good result. ventricles aligned well, but temporal lobe size is not the same as the target image.
Pipe Rigid
01053>01031_RI_pipe_rigid.png - shifted version of the original image. decent registration in the ventricles.
Pipe Affine
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
01053>01031_RI_pipe_bspline.png - good coregistration, but pretty blurred. also, I would have expected the temporal lobe to be coregistered better.
Special case: Anna's data registration
At Marek's request, Doug has attempted to register the t1 structural images to the dwi-baseline images of Anna's data. Being different types of images, they do not register well. Examples follow.
Bspline Only
Though it has been recommended to always go through a pipeline before using a non-linear registration, We've given a B-spline only registration a try. This is Slicer 3's separate Bspline module. Unsurprisingly, it works extremely poorly. The brain is barely recognizable any longer, with strange curvatures at the top, gross enlargement of the middle third (S-I) and unclear registration along the very bottom, stretching out along the entire image.
Diffeomorphic Demons
The image has been expanded radially outward, not clearly matching to any features of the DTI baseline.
Linear to Affine to Bspline
As suggested, in this test we registered the image via linear, then affine, then bspline modules in Slicer 3. Again the registration is largely incomprehensible.
Pipeline B-spline
Curved crazily, still doesn't appropriately fit.