Dear Aldana,
>
> These are the steps I followed:
> 1- I created a mask (phase_mask.nii.gz) of the phase image (phase.nii) using fsleyes.
>
> 2- Since I have data from SIEMENS y used the tool fls_prepare_fieldmap to generate my fieldmap.
> fsl_prepare_fieldmap SIEMENS phase.nii phase_mask field_map 2.46
>
> 3- I applied a rigid body transformation to take the field_map to the DWI space. Even though the FUGUE/FEAT documentation didn't say it, I inferred that it was necessary to do so based on the results I was getting from FUGUE (next step).
>
> flirt -in field_map.nii.gz -ref dwi_b0.nii -applyxfm -init field2dwi_mat -o field_map_flirt
>
> 4- I used fugue to correct the EPI images
> fugue -i dwi.nii --dwell=0.0003400056 --loadfmap=field_map_flirt -u result_fugue.
>
>
> Here are my doubts:
>
> a- Does fsl_prepare_fieldmap replace prelude (when we have SIEMENS data)?
> I tried to use prelude in the step 2 as follow:
fsl_prepare_fieldmap is a script that will process your fieldmap and relieve you of some of the details. Running prelude is among the things it does for you.
>
> prelude -a phase_mask.nii.gz -p phase.nii -u prelude_result
>
> And I got this "ERROR: input phase imag exceeds allowable phase range. Allowable range is 6.28 radians. Image range is 8190 radians. Aborting".
>
> b- How can I know the units (Hz, rad/s, etc) of my phase image?
The phase image has not yet been divided by time, so it is still just a phase (or phase difference). Annoyingly the vendors don’t scale these images before writing them. So, in order to first of all get a phase difference image in radians you find the smallest and the largest value anywhere in the image and you assume these correspond to -pi and plus pi. You then use fslmaths to convert the image into that range. You then get from there (a difference image scaled in radians) to rad/s by dividing it by the echo time difference.
>
> c- Would be possible to get the field_map in Hz just dividing the phase image by the difference of Echo times and 2*pi (assuming that it's in Hz, for example)?
Dividing a phase difference map in radians by the echo time difference gives you rad/s. Dividing that by 2*pi gives you Hz.
>
> d- Could I use eddy_openmp (and its flags --field and --field_mat) in the step 4 instead of fugue?
> It was my initial idea but when I tried do to it with
>
> eddy_openmp --imain=dwi.nii --acqp=datain.txt --index=eddy_index.txt --bvecs=bvecs --bvals=bvals --mask=dwi_b0_brain_mask.nii.gz --field=field_map --field_mat=field2dwi_mat --out=eddy_result
>
> I got the following error:
> Image Exception : #3 :: Attempted to add images of different sizes
> Attempted to add images of different sizes
> EDDY::: ECScanClasses.cpp::: NEWIMAGE::volume<float> EDDY::ECScan::field_for_scan_to_model_transform(std::shared_ptr<const NEWIMAGE::volume<float> >, NEWIMAGE::volume<float>*, NEWIMAGE::volume<float>*) const: Exception thrown
> EDDY::: ECScanClasses.h::: NEWIMAGE::volume<float> EDDY::ECScan::FieldForScanToModelTransform(std::shared_ptr<const NEWIMAGE::volume<float> >, NEWIMAGE::volume<float>&, NEWIMAGE::volume<float>&) const: Exception thrown
> EDDY::: ECScanClasses.cpp::: NEWIMAGE::volume<float> EDDY::ECScan::transform_to_model_space(const NEWIMAGE::volume<float>&, std::shared_ptr<const NEWIMAGE::volume<float> >, NEWIMAGE::volume<float>&, bool) const: Exception thrown
> EDDY::: ECScanClasses.cpp::: NEWIMAGE::volume<float> EDDY::ECScan::GetUnwarpedIma(std::shared_ptr<const NEWIMAGE::volume<float> >, NEWIMAGE::volume<float>&) const: Exception thrown
> terminate called after throwing an instance of 'EDDY::EddyException'
> Image Exception : #3 :: Attempted to add images of different sizes
> Attempted to add images of different sizes
> EDDY::: ECScanClasses.cpp::: NEWIMAGE::volume<float> EDDY::ECScan::field_for_scan_to_model_transform(std::shared_ptr<const NEWIMAGE::volume<float> >, NEWIMAGE::volume<float>*, NEWIMAGE::volume<float>*) const: Exception thrown
>
> EDDY::: ECScanClasses.cpp::: NEWIMAGE::volume<float> EDDY::ECScan::GetUnwarpedIma(std::shared_ptr<const NEWIMAGE::volume<float> >, NEWIMAGE::volume<float>&) const: Exception thrown
> terminate called recursively
> Abortado (`core' generado)
>
>
>
> I tried it again removing the flag --field_mat and using the field map in the dwi space (field_map_flirt.nii.gz)
>
> eddy_openmp --imain=dwi.nii --acqp=datain.txt --index=eddy_index.txt --bvecs=bvecs --bvals=bvals --mask=dwi_b0_brain_mask.nii.gz --field=field_map_flirt --out=eddy_result
>
> It runs but the result is a very distorted image. What could be the problem?
It is very hard to say from this description. It could be either that it hasn’t been scaled to Hz properly, or that the fourth column in the acqparams.txt file is not correct (N.B. normally it doesn’t matter if one gets that wrong, but when combining it with a dual echo time fieldmap it is crucial), or that the registration of the fieldmap into diffusion space has gone wrong.
>
> e- If I end up using FUGUE for EPI corrections, should these corrections be done after or before Eddy (for movement and Eddy currents) corrections?
It should be done after eddy.
>
> f- To get the transformation matrix between the phase image and the dwi_b0 I used 3DSlicer because FLIRT wasn't working properly (I guess this is because of the noise in the phase image). Since using 3DSlicer is not practical, do you know how can I improve the FLIRT results in this case?
This is another problem with not having a magnitude image (the magnitude image is what you would normally use for the registration). You can try to use the -usesqform and -applyxfm options in flirt. That would work if the subject had remained still between the acquisition of the fieldmap data and the diffusion data.
>
> g- Since drawing a phase mask for each subject is not practical, I tried to use a mask of the DWI_b0_brain (obtained with bet) transformed (linearly, using the inverse of the matrix used in step 3) to the phase space. This seems to work, do you see any problem in this approach?
No, that seems like a good idea.
>
> h- As far as I know I can not use FEAT instead of FUGUE to correct the EPI distortions because it looks for the original non-brain-extracted field map magnitude in the same directory as the brain-extracted image. But I would like to know what tool I should choose If my data were complete.
Hmm, I am not sure what you mean here?
Jesper
>
> Thanks a lot for your time,
>
> Aldana.
>
########################################################################
To unsubscribe from the FSL list, click the following link:
https://www.jiscmail.ac.uk/cgi-bin/webadmin?SUBED1=FSL&A=1
|