[MINC-users] in plane

Soren Christensen sorench at gmail.com
Fri Sep 11 04:27:49 EDT 2009


Thanks Andrew,
 That seems to work quite well when using the padding (with
mincreshape) - much appreciated!

In case others should ever struggle with this: I first padded as
Andrew suggested, then forced the cosines to be aligned with world
space (so voxel and world spaces are aligned).
Then every padded frame was registered to a manually selected (also
padded of course) target using xcorr (that seemed to make a noticeable
difference to mi actually). I used w_translations and w_rotations as
described below.
I figure that if the cosines are not aligned with world space, then
w_translations and w_rotations may not have the desired effect - not
sure if this is correct, but it appeared to be the case.
Then the original, non padded frames are resampled using the estimated
xfms - I did not have to zero out any out of plane contributions as
the w_translations and w_rotations did their job setting these
contributions to zero.
In the 20 cases I ran the correction did a good job. In some cases,
judging from the skull thickness , there was out of plane motion and
that can of course not be solved. I guess interpolating such frames
temporally is the best option.

Regards
Soren


On Thu, Sep 10, 2009 at 9:50 PM, Andrew Janke<a.janke at gmail.com> wrote:
> Hi Soren,
>
>>  I am trying to correct some dynamic perfusion CT data for motion.
>> The slices are relatively thick at 12 mm and there are only 2 of them
>> so coverage is sparse. It seems the main components of the motion are
>> around the z axis so I am trying to constrain the registration to
>> in-plane rotations
>>
>> I am not sure if there is any straightforward way to do this with the
>> MINC tools so I tried to add some lines to mritoself to pass through
>> w_translations and w_rotations to minctracc.
>>
>> I would think that setting the following should achieve in plane
>> translations and rotations only
>> -w_rotations 0 0 0.017
>> -w_translations 1 1 0
>>
>> The rotation bit seemed to work - but not translation.
>> So where am I going wrong - and is there a way to do what I want?
>
> You certainly are on the right track and if you mess about with the
> weights enough it will eventually work... That said minctracc really
> is optimised for 3D only. So another approach I have used in these
> cases is to fake 3D data.
>
> In your case simply making the slices a whole lot thicker than they
> are and adding a blank slice top and bottom should make minctracc do
> what you want.  (just run it as is without weights).
>
> The blank slices top and bottom are actually very important as it will
> give minctracc a bounds to work to. It may even work by simply doing
> this to your volumes:
>
>   $ mincresample -dimrange zspace=-1,4 in.mnc out.mnc
>
> Once this is done then just pull the bits out the xfm that you want
> using xfm2param and make another using param2xfm.
>
> Another approach if you have single slice data is to duplicate the
> slice to make a "cylinder" of data.
>
>
> --
> Andrew Janke
> (a.janke at gmail.com || http://a.janke.googlepages.com/)
> Canberra->Australia    +61 (402) 700 883
>
> _______________________________________________
> MINC-users at bic.mni.mcgill.ca
> http://www2.bic.mni.mcgill.ca/mailman/listinfo/minc-users
>



More information about the MINC-users mailing list