Dear William, > > I'm using FNIRT to register an FSE T2-weighted image to an EPI T2- > weighted image. The > EPI image is not diffusion-weighted, so its contrast > characteristics are pretty similar to > that of the FSE image. The EPI image is a little bit warped by > susceptibility artifacts, and > I'm trying to use FNIRT to apply a similar warping to the FSE image. > > I got great results using FNIRT's default settings, adding -- > intmod=global_non_linear. But > execution time was about 30-40 minutes on my machine, and it would > really help me if I > could cut that down substantially. The thing that would really help here is if fnirt was aware that your displacements are really 1D (all in the phase-encode direction). We are working on a version like that (to use precisely for distortion correction), but it is still a little while away. > > I have cropped down my reference image, and that helped a bit. I > tried -- > subsamp=8,4,2,2, but that produced this error message when I ran > FNIRT: > > New Lambda: 240 > New FWHM (mm) for --ref: 4 > New FWHM (mm) for --in: 6 > New Matrix Size: 33 33 3 > New Voxel Size: 6.875 6.875 48 > Error occurred when preparing to fnirt > Exception thrown with message: St9bad_alloc > This is the same problem that was described a couple of days ago. What you can do here is to instead set your warp-resolution to 10,10,12 rater than 10,10,10 as is now in the configuration file. This happens because your voxel-size is 6mm in the z-direction, so the highest resolution you can get in that direction is 2*6 (where the 2 here refers to the final level of sub-sampling). Another option is that you upsample your reference image by a factor of 2 in the z-direction before you run fnirt. That way you could still have a 10mm warp-resolution in all directions. > Using --numproc=float, --splineorder=2, and --intmod=global_linear > all at once produced > time savings that were nice, but not really impressive, and the > resulting fit wasn't nearly > as good. I'm now in the process of restoring settings back to > their defaults, to see which > one messed up my fit. But that'll just make execution time longer. The --numproc=float should NOT make a difference to your quality. I would be very surprised if it did. Going from cubic to quadratic splines may affect things a little, but you may be able to "fix" that by slightly increasing the regularisation for each of the sub- sampling steps. > > I'd really like to achieve the 60% time savings that I can > supposedly get by fixing that -- > subsamp bug. Any suggestions? See above. > For what it's worth, both my input and reference images have 22 cm > FOV, 256x256 > matrix, 6 mm slice thickness (although I have cropped down the > reference image). In general I would advice you to try and use more isotropic voxels. Those voxels of yours are almost match-shaped. Great when you are eye- balling an image in the original resolution, not so great as soon as you start to perform some kind of processing on the 3D volume. Good luck Jesper