Print

Print


Hello Clare,
                      Was the mask generated from the T1 structural image, or was it generated from a different source image? Passing a pre-threshold mask to FEAT, requires that the mask is in the same space as the functional data - i.e. it must be manually registered before FEAT is run. It is unlikely the mask can be directly registered to the functional data. Instead something like the following process must be used:

1)
It is important that the segmentation image has the same geometry as the structural it was generated from. Cropping and resampling will prevent the rest of the steps from working correctly
2)
Register the functional data to the structural image used to generate the segmentation - save the transformation matrix
3)
Invert the transformation ( e.g. using FSL's convert_xfm tool ) to obtain the reverse transformation from structural to functional space
4)
Apply this reverse transformation to the mask to obtain the mask in functional space - you may want to re-binarise this mask to remove any interpolation effects.
5)
This mask is now suitable for use with FEAT.

Hope this helps,
Kind Regards
Matthew
> Hi Paul,
> 
> Many thanks for your reply. I was attempting to register functional to structural T1 and include the mask in a single FEAT analysis. This seemed to work fine as the warning occurred only at post stats. Perhaps it needs to be completed in a two-step process: do the registration first then the ROI analysis separately? I'll give that a go unless I've misunderstood.
> 
> Thanks again,
> 
> Clare 
> 
> Sent from my iPhone
> 
> On 23 Nov 2015, at 15:55, paul mccarthy <[log in to unmask]> wrote:
> 
>> Hi Clare,
>> 
>> Your mask images need to be defined in functional space. Have you registered your functional images to their structural counterparts? If so, you will be able to use the stored transformations to move your existing structural mask images into functional space.
>> 
>> Cheers,
>> 
>> Paul
>> 
>> On 23 November 2015 at 15:34, Clare Loane <[log in to unmask]> wrote:
>> Hello again,
>> 
>> I wonder if the info I provided below is enough to understand why I am receiving the warning when trying to run FEAT with my mask?
>> 
>> Thank you in advance.
>> 
>> Clare
>> ________________________________________
>> From: FSL - FMRIB's Software Library [[log in to unmask]] on behalf of Clare Loane [[log in to unmask]]
>> Sent: 20 November 2015 12:06
>> To: [log in to unmask]
>> Subject: Re: [FSL] Convert data type to FLOAT32
>> 
>> Dear Matthew,
>> 
>> Thanks for the reply. I have ran fslhd on the functional data and mask and they do not match:
>> 
>> filename       con_012_func1.nii.gz
>> 
>> sizeof_hdr     348
>> data_type      INT16
>> dim0           4
>> dim1           64
>> dim2           64
>> dim3           44
>> dim4           261
>> dim5           1
>> dim6           1
>> dim7           1
>> vox_units      mm
>> time_units     s
>> datatype       4
>> nbyper         2
>> bitpix         16
>> pixdim0        0.000000
>> pixdim1        3.000000
>> pixdim2        3.000000
>> pixdim3        3.000000
>> pixdim4        2.410000
>> pixdim5        1.000000
>> pixdim6        1.000000
>> pixdim7        58545.914062
>> vox_offset     352
>> cal_max        0.0000
>> cal_min        0.0000
>> scl_slope      1.000000
>> scl_inter      0.000000
>> phase_dim      0
>> freq_dim       0
>> slice_dim      0
>> slice_name     Unknown
>> slice_code     0
>> slice_start    0
>> slice_end      0
>> slice_duration 0.000000
>> time_offset    0.000000
>> intent         Unknown
>> intent_code    0
>> intent_name
>> intent_p1      0.000000
>> intent_p2      0.000000
>> intent_p3      0.000000
>> qform_name     Scanner Anat
>> qform_code     1
>> qto_xyz:1      -3.000000  0.000000  -0.000000  96.000000
>> qto_xyz:2      0.000000  2.598076  -1.500000  -44.900520
>> qto_xyz:3      0.000000  1.500000  2.598076  -106.426422
>> qto_xyz:4      0.000000  0.000000  0.000000  1.000000
>> qform_xorient  Right-to-Left
>> qform_yorient  Posterior-to-Anterior
>> qform_zorient  Inferior-to-Superior
>> sform_name     Scanner Anat
>> sform_code     1
>> sto_xyz:1      -3.000000  0.000000  0.000000  96.000000
>> sto_xyz:2      0.000000  2.598076  -1.500000  -44.900520
>> sto_xyz:3      0.000000  1.500000  2.598076  -106.426422
>> sto_xyz:4      0.000000  0.000000  0.000000  1.000000
>> sform_xorient  Right-to-Left
>> sform_yorient  Posterior-to-Anterior
>> sform_zorient  Inferior-to-Superior
>> file_type      NIFTI-1+
>> file_code      1
>> descrip
>> aux_file
>> 
>> 
>> 
>> 
>> filename       con_012_seg.nii.gz
>> 
>> sizeof_hdr     348
>> data_type      UINT16
>> dim0           3
>> dim1           185
>> dim2           207
>> dim3           209
>> dim4           1
>> dim5           1
>> dim6           1
>> dim7           1
>> vox_units      mm
>> time_units     Unknown
>> datatype       512
>> nbyper         2
>> bitpix         16
>> pixdim0        0.000000
>> pixdim1        1.000000
>> pixdim2        1.000000
>> pixdim3        1.000000
>> pixdim4        0.000000
>> pixdim5        0.000000
>> pixdim6        0.000000
>> pixdim7        0.000000
>> vox_offset     352
>> cal_max        0.0000
>> cal_min        0.0000
>> scl_slope      1.000000
>> scl_inter      0.000000
>> phase_dim      0
>> freq_dim       0
>> slice_dim      0
>> slice_name     Unknown
>> slice_code     0
>> slice_start    0
>> slice_end      0
>> slice_duration 0.000000
>> time_offset    0.000000
>> intent         Unknown
>> intent_code    0
>> intent_name
>> intent_p1      0.000000
>> intent_p2      0.000000
>> intent_p3      0.000000
>> qform_name     Aligned Anat
>> qform_code     2
>> qto_xyz:1      -1.000000  -0.000000  -0.000000  92.965897
>> qto_xyz:2      0.000000  1.000000  -0.000000  -79.256493
>> qto_xyz:3      -0.000000  0.000000  1.000000  -103.286942
>> qto_xyz:4      0.000000  0.000000  0.000000  1.000000
>> qform_xorient  Right-to-Left
>> qform_yorient  Posterior-to-Anterior
>> qform_zorient  Inferior-to-Superior
>> sform_name     Scanner Anat
>> sform_code     1
>> sto_xyz:1      -1.000000  -0.000000  0.000000  92.965897
>> sto_xyz:2      -0.000000  1.000000  -0.000000  -79.256493
>> sto_xyz:3      0.000000  0.000000  1.000000  -103.286942
>> sto_xyz:4      0.000000  0.000000  0.000000  1.000000
>> sform_xorient  Right-to-Left
>> sform_yorient  Posterior-to-Anterior
>> sform_zorient  Inferior-to-Superior
>> file_type      NIFTI-1+
>> file_code      1
>> descrip
>> aux_file
>> 
>> I also want to use the individual T1 and the fslhd info for this is:
>> 
>> filename       con_012_mprage_brain.nii.gz
>> 
>> sizeof_hdr     348
>> data_type      FLOAT32
>> dim0           3
>> dim1           174
>> dim2           192
>> dim3           192
>> dim4           1
>> dim5           1
>> dim6           1
>> dim7           1
>> vox_units      mm
>> time_units     s
>> datatype       16
>> nbyper         4
>> bitpix         32
>> pixdim0        0.000000
>> pixdim1        1.000000
>> pixdim2        1.000000
>> pixdim3        1.000000
>> pixdim4        1.000000
>> pixdim5        0.000000
>> pixdim6        0.000000
>> pixdim7        0.000000
>> vox_offset     352
>> cal_max        0.0000
>> cal_min        0.0000
>> scl_slope      1.000000
>> scl_inter      0.000000
>> phase_dim      0
>> freq_dim       0
>> slice_dim      0
>> slice_name     Unknown
>> slice_code     0
>> slice_start    0
>> slice_end      0
>> slice_duration 0.000000
>> time_offset    0.000000
>> intent         Unknown
>> intent_code    0
>> intent_name
>> intent_p1      0.000000
>> intent_p2      0.000000
>> intent_p3      0.000000
>> qform_name     Scanner Anat
>> qform_code     1
>> qto_xyz:1      -1.000000  0.000000  -0.000000  87.713997
>> qto_xyz:2      0.000000  0.982935  -0.183951  -65.430283
>> qto_xyz:3      0.000000  0.183951  0.982935  -122.346207
>> qto_xyz:4      0.000000  0.000000  0.000000  1.000000
>> qform_xorient  Right-to-Left
>> qform_yorient  Posterior-to-Anterior
>> qform_zorient  Inferior-to-Superior
>> sform_name     Scanner Anat
>> sform_code     1
>> sto_xyz:1      -1.000000  0.000000  0.000000  87.713997
>> sto_xyz:2      0.000000  0.982935  -0.183951  -65.430283
>> sto_xyz:3      0.000000  0.183951  0.982935  -122.346207
>> sto_xyz:4      0.000000  0.000000  0.000000  1.000000
>> sform_xorient  Right-to-Left
>> sform_yorient  Posterior-to-Anterior
>> sform_zorient  Inferior-to-Superior
>> file_type      NIFTI-1+
>> file_code      1
>> descrip        FSL5.0
>> aux_file
>> 
>> I hope this is helpful? Many thanks again,
>> 
>> BW
>> 
>> Clare
>> 
>> ________________________________________
>> From: FSL - FMRIB's Software Library [[log in to unmask]] on behalf of Matthew Webster [[log in to unmask]]
>> Sent: 19 November 2015 13:44
>> To: [log in to unmask]
>> Subject: Re: [FSL] Convert data type to FLOAT32
>> 
>> Hello,
>>            This probably isn't an issue with data-type - the command "/usr/local/fsl/bin/fslmaths thresh_zstat1 -mas /Users/.../Desktop/SCANS/Masks/seg_mask.nii.gz thresh_zstat1" is failing because the mask has a different geometry to the functional data. From the output below, it looks like your mask is 185x207x209 in 1mm resolution, does this match the functional data? Can you let me know the results of running fslhd on both the functional data and the mask?
>> 
>> Kind Regards
>> Matthew
>> 
>> > Dear All,
>> >
>> > I want to conduct fMRI FEAT analyses at the individual level with subject specific MRIs and manual segmentation masks. The masks were created in ITK-snap and INT16 type, not FLOAT32 as the other images are.
>> >
>> > data_type      INT16
>> >
>> > dim1           185
>> >
>> > dim2           207
>> >
>> > dim3           209
>> >
>> > dim4           1
>> >
>> > datatype       4
>> >
>> > pixdim1        1.000000
>> >
>> > pixdim2        1.000000
>> >
>> > pixdim3        1.000000
>> >
>> > pixdim4        0.000000
>> >
>> > cal_max        0.0000
>> >
>> > cal_min        0.0000
>> >
>> > file_type      NIFTI-1+
>> >
>> >
>> > Therefore, when I am running the feat, I get an error at post stats:
>> >
>> > WARNING:: Inconsistent orientations for individual images in pipeline!
>> >           Will use voxel-based orientation which is probably incorrect - *PLEASE CHECK*!
>> >
>> > Image Exception : #3 :: Attempted to multiply images/ROIs of different sizes
>> > libc++abi.dylib: terminating with uncaught exception of type RBD_COMMON::BaseException
>> >
>> > FATAL ERROR ENCOUNTERED:
>> > COMMAND:
>> > /usr/local/fsl/bin/fslmaths thresh_zstat1 -mas /Users/.../Desktop/SCANS/Masks/seg_mask.nii.gz thresh_zstat1
>> > ERROR MESSAGE:
>> > child killed: SIGABRT
>> > END OF ERROR MESSAGE
>> > child killed: SIGABRT
>> >     while executing
>> > "if { [ catch {
>> >
>> > for { set argindex 1 } { $argindex < $argc } { incr argindex 1 } {
>> >     switch -- [ lindex $argv $argindex ] {
>> >
>> >       -I {
>> >           incr arginde..."
>> >     (file "/usr/local/fsl/bin/feat" line 310)
>> > Error encountered while running in main feat script, halting.
>> > child killed: SIGABRT
>> >
>> >
>> > I am as sure that the images are labelled correctly, so assume the data type is the problem.
>> >
>> > Does this sound correct? And if so, how do I safely convert the mask to the correct data type?
>> >
>> > Many thanks in advance.
>> >
>> > Clare
>>