Print

Print


Hi,

Glad it worked and is much faster.
Yes, use the Identity Transformation in ApplyXFM.
It is the pixdim1, pixdim2 and pixdim3 fields which show the voxel
size (x, y and z respectively) in mm.  You can also use fslsize.

All the best,
	Mark


On 28 Oct 2008, at 23:45, Anthony Ang wrote:

> Hi Mark,
>
> invwarp took 12 min with the 2mm voxel ref image - this is indeed  
> much faster and cuts down the processing time tremendously.
> Thank you very much!
>
> For ApplyXFM, I assume the transformation matrix to be Identity  
> Transformation?
>
> How do I check the voxel size using fslhd?
>
> fslhd  x1000024_roi_2mmvoxel gave:
> sizeof_hdr     348
> data_type      INT16
> dim0           3
> dim1           91
> dim2           93
> dim3           88
> dim4           1
> dim5           1
> dim6           1
> dim7           1
> vox_units      mm
> time_units     s
> datatype       4
> nbyper         2
> bitpix         16
> pixdim0        0.0000000000
> and so on.
>
>
> Thanks.
>
> Best regards
> Anthony
>
>
>
>
>
>
> On Tue, Oct 28, 2008 at 8:51 PM, Mark Jenkinson  
> <[log in to unmask]> wrote:
> Hi,
>
> OK, my turn.  :)
>
> If you don't like using invwarp because it is taking a long time, then
> you can massively speed it up by calculating the warp at 2mm  
> resolution
> rather than 1mm.  To do this just make a reference image with the same
> (or similar) FOV to your input but with a 2mm voxel size.  Then run
> invwarp with this as the reference, and later run applywarp as usual
> (with your higher resolution image as the reference).  On my machine
> the invwarp step here took 6 *minutes*!  So even at half this speed it
> will be quick.  And the results, compared with the full results are
> almost identical and certainly will be good enough for warping masks
> between the spaces.
>
> To make the 2mm reference image you can use ApplyXFM and set
> the output size to be based on Voxel Dimensions.  I made it have
> 91x93x88 voxels, each of 2x2x2mm for your data, in order to have
> the same FOV.
>
> All the best,
>   Mark
>
>
>
>
>
>
> Jesper Andersson wrote:
> Hi Antony,
>
>
> To clarify, I wish to register a MNI image (or more accurately a
> lobe-based
> mask e.g. temporal lobe mask) into subject space. My question is  
> whether
> flirt and fnirt can be carried out with ref=subject image and
> input=MNI-image (lobe-based mask)?
>
>
> you can in principle do like that (with --in=MNI152_T1_2mm) and then  
> apply
> the warps to your "lobe mask". However, you would need a different
> configuration file. I recently made one for some people here, and I am
> waiting to see how well it performs. If they are happy with it and it
> works well then I'll release that configuration file as part of the  
> next
> release.
>
> Until then I suggest you use invwarp.
>
> Good luck Jesper
>
>
> On Tue, Oct 28, 2008 at 5:24 PM, Steve Smith <[log in to unmask]>  
> wrote:
>
>
> Hi - in general if you are just wanting to register a subject into
> standard
> space then no you don't need to run invwarp to generate the inverse
> warp.
> You only need that if you _also_ want to apply the inverse warp to  
> bring
> a
> standard space image back into subject space.
>
> Cheers.
>
>
>
>
> On 27 Oct 2008, at 22:59, Anthony Ang wrote:
>
>  Hi,
>
> FSL4.1.1 was reinstalled on the computer. fnirt now takes 76 min and
> invwarp is finally working! It takes 8.05 h.
> The MNI152 image is registered well to the subject image. Also fnirt
> -iout
> image is the same as applywarp output (with MNI152 image as the ref).
>
> However, I could not view (under fslview) -iout image initially. The
> min
> intensity is 3000 and max intensity is 8000. It is only after I have
> changed
> the intensity range to 0-100 that I could view the -iout image. I
> didn't get
> this output with the previous FSL version. Why is this so?
>
> Hence, the problem is indeed due to the use of Analyze rather than
> NIFTI
> output files. Mark and Jesper, thank you very much for your help!
>
> Now, I am doing:
> flirt (subject to MNI152 linear transform)
> fnirt (subject to MNI152 nonlinear transform)
> invwarp (MNI152 to subject)
> applwarp (MNI152 to subject)
>
> The question is why is the invwarp step necessary? Why can't I do the
> following directly?: -
> flirt (MNI152 to subject linear transform)
> fnirt (MNI152 to subject nonlinear transform) and using the --iout  
> file
> directly
>
> I'm trying this out to see what's the result? Mark and Jesper, what  
> are
> the reasons for doing the 4 steps instead of the 2 steps directly?
>
> Thank you very much.
>
> Best regards
> Anthony
>
>
>
> On Fri, Oct 24, 2008 at 11:00 AM, Anthony Ang <[log in to unmask]>
> wrote:
> Hi Mark,
>
> My IT Manager said that FSL was previously installed in /usr/local.  
> But
> the latest version was installed in in /usr/share
> Both local and share appear to point to /usr/lib. He suspect when the
> new
> version was installed, some old files may not be overwritten so
> although
> these files read as FSL4.1, they may have been older versions.
>
> He would clear this computer of all previous FSL version and reinstall
> FSL4.1
>
> He said that FSL was downloaded as a binary version from the German
> mirror
> site and installed as according to the instructions provided.
> Is it better to download the binary version or to compile from source?
>
> I have copied him into this email.  Thanks.
>
> Best regards
> Anthony
>
>
>
> On Fri, Oct 24, 2008 at 10:17 AM, Mark Jenkinson <[log in to unmask]>
> wrote:
> Hi,
>
> The use of Analyze does explain the problem on your machine, as it is
> incorrectly reading the warp file (being in Analyze format) and so has
> to
> do
> a lot more filing of blank area and correcting for problems due to
> poorly
> constrained Jacobians.
>
> The puzzling thing is that you can get Analyze output from FSL4.1 as
> this
> should not be possible.  Setting my FSLOUTPUTTYPE variable to ANALYZE
> (which is what yours is set to) gives me an error of the form:
>  ERROR:: Unrecognised value (ANALYZE) of environment variable
> FSLOUTPUTTYPE
>  Legal values are: NIFTI, NIFTI_PAIR, NIFTI_GZ, NIFTI_PAIR_GZ
>
> If you are not getting this error it makes me think that you are not
> using
> FSL4.1.  I notice that in your PATH you have both /usr/share/fsl/bin
> and
> /usr/lib/fsl.
> I would check what version you are really using.  See what you get  
> with
> "which invwarp" to see where it is finding the files.
>
> As for your supercomputer - invwarp will not be run in parallel, so it
> is
> only using one node of your system, and each node seems to be a 1.5GHz
> processor, which may not be so fast.  Hence 10 hours, although long,
> doesn't
> seem unreasonable.  However, your setup problems here (I don't know
> what
> your fslinit file is or why it is needed) also makes me wonder if you
> have
> the right version of FSL installed and are using that one.
>
> We really, really strongly recommend using NIFTI for your output  
> format
> (in FSL4.1 you just cannot have ANALYZE for output) and for FNIRT it  
> is
> essential.  It is the warp fields - particular the coeff fields -  
> which
> must use
> the nifti format and so you cannot use any tools that deal with these
> (including
> applywarp and invwarp) with ANALYZE.  I would change your  
> FSLOUTPUTTYPE
> to NIFTI_GZ, check that you are using FSL4.1 (and install it if
> necessary)
> and
> then try running the sequence of commands again on your machine and  
> see
> if that fixes the problem.
>
> All the best,
>      Mark
>
>
>
> On 24 Oct 2008, at 00:00, Anthony Ang wrote:
>
> Hi Jesper,
>
> Attached is the angs_set.txt file for our lab computer. Yes, I notice
> that
> Analyze output files are produced.
> I also notice that the supercomputer that I used produces NIFTI files
> and
> when I compared the fnirt --iout file and Applywarp file generated by
> the
> supercomputer, they are identical.
>
> My subject images (1000024 and so on) are in Analyze format. Do I need
> to
> convert them to NIFTI in order for flirt, fnirt, invertwarp, applywarp
> to
> work correctly? Does the use of Analyze files also affect other FSL
> tools
> such as bet and fast?
>
> However, the difference in the file format still does not explain the
>
> 10
>
> hours taken by the supercomputer to complete invwarp.
> I remembered when I was using invwarp on the supercomputer, it doesn't
> recognize the invwarp command. A fellow colleague helped and found an
> fslinit file somewhere; copied and pasted one of the lines (I think it
> is
> module load fsl ....) into the terminal and execute it. Then the
> invwarp is
> working. We have no control over the supercomputer. Could this have
> explained the long time taken even for this supercomputer to carry out
> invwarp, although it uses NIFTI files?
>
> Thanks.
>
> Best regards
> Anthony
>
>
>
> On Thu, Oct 23, 2008 at 8:44 PM, Jesper Andersson
> <[log in to unmask]>
> wrote:
> Hi again Antony,
>
> the files you sent us are in analyze format. I am not really sure how
> that
> happened. As of FSL 4.0, there shouldn't really be any (simple) way of
> producing analyze files as output.
>
> This also explains the problems you are having. When fnirt produce
> coefficient files (--cout) it uses a number of fields in the nifti
> header to
> encode various bits of information that is needed for the other
> applications
> to later decode them. Not all of those fields are present in the
> analyze
> format, and the files do not get interpreted correctly by either
> applywarp
> (which explains that mismatch) or invwarp.
>
> As a first step, could you please do
>
> set > angs_set.txt
>
> and then email us angs_set.txt?
>
> Best regards Jesper
>
>
> On 23 Oct 2008, at 08:19, Anthony Ang wrote:
>
> Hi Mark,
>
> The ref no is  470181
> Thanks.
>
> Best regards
> Anthony
>
>
> ---------- Forwarded message ----------
> From: Jesper Andersson <[log in to unmask]>
> Date: Thu, Oct 23, 2008 at 5:38 PM
> Subject: Re: [FSL] Problem with invwarp
> To: [log in to unmask]
> Cc: Mark Jenkinson <[log in to unmask]>, [log in to unmask]
>
>
> Hi Antony,
>
>
> fslroi x1000024_resize x1000024_roi 29 182 0 186 41 176
> fslroi x1000024_n3ed x1000024_roi_n3ed 29 182 0 186 41 176
>
> flirt -v -ref MNI152_T1_2mm_brain -in x1000024_roi_n3ed -omat
> flirted_x1000024_reducedFOV.mat -out flirted_x1000024_reducedFOV.hdr
>
> flirt_output
>
> fnirt -v  --in=x1000024_roi --aff=flirted_x1000024_reducedFOV.mat
> --cout=fnirted_x1000024_cout --iout=fnirted_x1000024_iout
> --config=T1_2_MNI152_2mm > fnirt_output
> *
> applywarp -v --ref=MNI152_T1_2mm --in=x1000024_roi
> --warp=fnirted_x1000024_cout --out=warped_x1000024 > applywarp_output
>
> the fnirted_x1000024_iout and warped_x1000024 files should definitely
> be
> identical. Could you please tar fnirted_x1000024_iout, warped_x1000024
> and
> nirted_x1000024_cout and then go to
>
> http://www.fmrib.ox.ac.uk/cgi-bin/upload.cgi
>
> and follow the instructions there to upload the file? When you have
> done
> that please email me and Mark with the six-digit code that you are
> given.
>
> Best regards Jesper
>
>
>
>
>
>
> <angs_set.txt>
>
>
>
>
>
> ---------------------------------------------------------------------------
> Stephen M. Smith, Professor of Biomedical Engineering
> Associate Director,  Oxford University FMRIB Centre
>
> FMRIB, JR Hospital, Headington, Oxford  OX3 9DU, UK
> +44 (0) 1865 222726  (fax 222717)
> [log in to unmask]
> http://www.fmrib.ox.ac.uk/~steve<http://www.fmrib.ox.ac.uk/%7Esteve>
> ---------------------------------------------------------------------------
>
>
>
>
>