users > CMTK motion correction(FILM) questions
Showing 1-6 of 6 posts
Display:
Results per page:
Nov 7, 2013  05:11 PM | haewon nam
CMTK motion correction(FILM) questions
I am using CMTK with motion correction for interleaved MRI.
I have a couple of questions during using the sw.
 
1. When the size of the data is large(e.g., 256x180x256), the correction algorithm didn't go through. Is there any tip I need to get in mind to use FILM?(because, the exact same motion with lower resolution(128x90x256) can be corrected)
 
2. Can I set the motion parameters if I know the motion parameters? Or, can I set the initial guess for the motion parameters for registration?
 
I am really appreciate to release this software. Thank you,
 
Haewon Nam
Nov 7, 2013  06:11 PM | Torsten Rohlfing
RE: CMTK motion correction(FILM) questions
Hi -

Originally posted by haewon nam:
I am using CMTK with motion correction for interleaved MRI.
I have a couple of questions during using the sw.
 
1. When the size of the data is large(e.g., 256x180x256), the correction algorithm didn't go through. Is there any tip I need to get in mind to use FILM?(because, the exact same motion with lower resolution(128x90x256) can be corrected)

When you say, "didn't go through", what do you mean exactly? Did you get an error message, did the tool crash, did it just run forever, or did it complete but not generate any output?

I assume you're sure your machine has enough memory?

It would also help to know how far in the process you get ... if you add "--verbose-level 9" to your command line, you should get a very detailed output of the various processing steps. That may help pinpoint the problem.
 
2. Can I set the motion parameters if I know the motion parameters? Or, can I set the initial guess for the motion parameters for registration?

The tool has an optional command line parameter, "--import-xforms-path", to import existing transformations between the passes.

To see what file format is expected, I would suggest using the "--export-xforms-path" command to export computed transformations for an example case.

To be honest, it has been a long time since I wrote this, I haven't used these tools in years myself, and the import/export of transformations was never really intended for general use.

Best,
  Torsten
Nov 12, 2013  04:11 PM | haewon nam
RE: CMTK motion correction(FILM) questions
Thank you for your reply.
1. What I meant is, it didn't correct it. I guess it is because of the registration error.
2. Could you let me know how I can import the known transformation.(in 4x4 matrix, as SPM? What should be the file format?
 
Thanks again!
 
Haewon
Nov 12, 2013  05:11 PM | Torsten Rohlfing
RE: CMTK motion correction(FILM) questions
Originally posted by haewon nam:
Thank you for your reply.
1. What I meant is, it didn't correct it. I guess it is because of the registration error.

That is possible.

Another common source of error, however, is not to set the number of "passes" correctly, i.e., the number of partial, interleaved images. "film" cannot detect that itself, and the default may be incorrect. If you are not sure, you could use the "split" tool in CMTK to split your uncorrected volume into passes. If these still show the usual motion artifacts, then your interleave factor (or slice orientation) are likely incorrect.
2. Could you let me know how I can import the known transformation.(in 4x4 matrix, as SPM? What should be the file format?

Sorry, you cannot import a transformation from SPM.

I (and therefore CMTK) do not know how to interpret SPM's transformation, what coordinate system they refer to (what are the axes? what is the origin?), etc.

An alternative approach would be to use CMTK's own "registrationx" tool to register the separate passes together, after you extract them using "split." Then use the "volume_reconstruction" tool for reconstruction using the pre-computed transformations.

TR
Nov 12, 2013  09:11 PM | haewon nam
RE: CMTK motion correction(FILM) questions
Thanks for your suggestion. Yes, it would be much better if I can use volume_reconstruction after co-registering two passes. Could you let me know how I can do volume_reconstruction? I cannot find the manual in the doc.
So, say, pass1.img(with resolution [1:n,1:m,1:2:k], odd volume)  and pass2.img((1:n,1:m,2:2:k), even volume) are already co-registered, how can I run volume_reconstruction to generate (1:n,1:m,1:k)?
I already looked over volume_reconstruction --help. I couldn't find out what is  the format of the xform.
Nov 12, 2013  09:11 PM | Torsten Rohlfing
RE: CMTK motion correction(FILM) questions
Try something like this:

volume_reconstruction --isotropic-injection --recon-grid-path original.hdr --write-injected-image inject.hdr -o recon.hdr pass1.hdr xform pass2.hdr

where pass1.hdr and pass2.hdr are your two pass images (I prefer using the .hdr file over using .img).

Also, "original.hdr" should be your original 3D image that both passes were extracted from. (This will define the grid to which the motion-corrected image is reconstructed).

And "xform" should be a transformation computed by either CMTK's "registration" or "registrationx" tools.

When this completes, you should find two output images:

1) inject.hdr  - image after the initial volume injection step, for verification only

2) recon.hdr - the final, reconstructed image after volume injection followed by (with default parameters) 20 iterations of cubic-kernel inverse interpolation minimizing the L2 reconstruction error.

Good luck!

TR


Originally posted by haewon nam:
Thanks for your suggestion. Yes, it would be much better if I can use volume_reconstruction after co-registering two passes. Could you let me know how I can do volume_reconstruction? I cannot find the manual in the doc.
So, say, pass1.img(with resolution [1:n,1:m,1:2:k], odd volume)  and pass2.img((1:n,1:m,2:2:k), even volume) are already co-registered, how can I run volume_reconstruction to generate (1:n,1:m,1:k)?