[Mrtrix-discussion] Re: Converting Fraction Images to Nifti

Donald Tournier d.tournier at brain.org.au
Wed Jun 20 23:15:55 PDT 2012


Sorry, that line number should have been 303, not 301.
Cheers,

Donald.


On 21 June 2012 14:32, Donald Tournier <d.tournier at brain.org.au> wrote:

> Hi Jason,
>
> OK, I think I know what the issue is. For some reason, my version of FSL
> works fine (it's quite old), but does spit out a (not very informative)
> warning:
>
> *QRangeControl::setRange: minValue 0 > maxValue -1*
>
>
> In any case, checking the difference between the headers of images
> generated using MRtrix 0.2.10 and my current development version, it became
> apparent that this is an issue that Chris Adamson provided a path for
> recently - see the original post at:
> http://www.nitrc.org/pipermail/mrtrix-discussion/2012-April/000398.html
>
> Basically, it boils down to inserting these lines at line 301 of the
> lib/image/format/nifti1.cpp file:
>
> *        // pad out the other dimensions with 1, fix for fslview*
> *        for (gint i = H.ndim() + 1; i < 8; i++) *
> *          put<gint16> (1, &NH->dim[i], is_BE);*
>
> That should fix it.
> Cheers!
>
> Donald.
>
>
> On 21 June 2012 13:35, Langley, Jason Allen <jason.langley at emory.edu>wrote:
>
>>  Hi Donald,
>>
>> I am able to read your file. However, when I complete the procedure that
>> you outlined in the previous email on a different subject, the converted
>> .nii file still cannot be loaded into afni, fsl (I have attached the file)
>> and I receive the cryptic segmentation fault error. When I look at the file
>> with mrinfo, I get the following:
>>
>> ************************************************
>> Image:               "output125_int32.nii"
>>
>> ************************************************
>>   Format:            NIfTI-1.1
>>   Dimensions:        282 x 282 x 95
>>   Voxel size:        0.5 x 0.5 x 0.5
>>   Dimension labels:  0. left->right (mm)
>>                      1. posterior->anterior (mm)
>>                      2. inferior->superior (mm)
>>   Data type:         signed 32 bit integer (little endian)
>>
>>   Data layout:       [ +0 +1 +2 ]
>>   Data scaling:      offset = 0, multiplier = 1
>>   Comments:          FSL4.1
>>                      count: 2500000; init_threshold: 0.2; lmax: 10;
>> max_dist: 200; max_num_tracks: 25
>>   Transform:               0.9974     0.06272     0.03417      -74.65
>>                          -0.05008      0.9553     -0.2915       1.649
>>                          -0.05093       0.289       0.956      -39.18
>>                                 0           0           0           1
>>
>> Which shows exactly the same information (save the transform information)
>> as the file you previously sent. I think the problem might be related with
>> the install on our cluster and my desktop (I have a windows install and
>> receive the same errors when converting the files). Has MRTRIX been updated
>> in the past couple months? That might account for the issues on our end.
>>
>> Thanks,
>> Jason
>>
>>  ------------------------------
>> *From:* Donald Tournier [d.tournier at brain.org.au]
>> *Sent:* Wednesday, June 20, 2012 2:30 AM
>>
>> *To:* Langley, Jason Allen
>> *Subject:* Re: Converting Fraction Images to Nifti
>>
>>  Hi Jason,
>>
>>  I also had trouble opening the output125.nii file you sent through, but
>> that was clearly due to the datatype issue, as confirmed with mrinfo:
>>
>>   *$ mrinfo output125.nii *
>>  **************************************************
>>  *Image:               "output125.nii"*
>>  **************************************************
>>  *  Format:            NIfTI-1.1*
>>  *  Dimensions:        282 x 282 x 95*
>>  *  Voxel size:        0.5 x 0.5 x 0.5*
>>  *  Dimension labels:  0. left->right (mm)*
>>  *                     1. posterior->anterior (mm)*
>>  *                     2. inferior->superior (mm)*
>>  *  Data type:         unsigned 32 bit integer (little endian)*
>>  *  Data layout:       [ +0 +1 +2 ]*
>>  *  Data scaling:      offset = 0, multiplier = 1*
>>  *  Comments:          FSL4.1*
>>  *                     count: 2500000; init_threshold: 0.2; lmax: 10;
>> max_dist: 200; max_num_tracks: 25*
>>  *  Transform:               0.9995    -0.01916     0.02647      -73.29*
>>  *                          0.02174      0.9947     -0.1006      0.4578*
>>  *                          -0.0244      0.1011      0.9946      -22.72*
>>  *                                0           0           0           1*
>>
>>
>>  Once I'd converted the image to an FSL-supported datatype, I had no
>> trouble loading it into fslview. The command I used was:
>>
>>   *$ mrconvert output125.nii -datatype int32 output125_int32.nii*
>>
>>
>>  I've also attached the file that worked, please try it out and let me
>> know if it still doesn't load. If everything works out, it would be great
>> if you could confirm (preferably on the mailing list so others can benefit
>> from the solution).
>>
>>  Cheers,
>>
>>  Donald.
>>
>>
>>
>> On 20 June 2012 13:47, Langley, Jason Allen <jason.langley at emory.edu>wrote:
>>
>>>  Hi Donald,
>>>
>>> I've attached two FA maps: the .mif file and the converted .nii file.
>>> The .nii file can be read by fslview and other readers. I will attach the
>>> fractional images (connectivity maps) in the next email from a different
>>> account since Emory / Microsoft does not allow attachments over 25 MB. The
>>> account will be impulse at physast.uga.edu
>>>
>>> Thanks!
>>> Jason
>>>
>>>
>>>  ------------------------------
>>> *From:* Donald Tournier [d.tournier at brain.org.au]
>>> *Sent:* Tuesday, June 19, 2012 7:17 PM
>>>
>>> *To:* Langley, Jason Allen
>>> *Cc:* mrtrix-discussion at www.nitrc.org
>>> *Subject:* Re: Converting Fraction Images to Nifti
>>>
>>>   Hi Jason,
>>>
>>>  OK, not a memory issue, and error message is not helpful. Any chance
>>> you could send me a file that works and one that doesn't? I might be able
>>> to figure it out if I have the data. Or at least rule out the possibility
>>> that this might be caused by MRtrix...
>>>
>>> Cheers,
>>>
>>> Donald.
>>>
>>>
>>> On 20 June 2012 03:41, Langley, Jason Allen <jason.langley at emory.edu>wrote:
>>>
>>>>  Hi Donald,
>>>>
>>>>  The size of the files are only about 30 MB so memory is not an issue.
>>>>
>>>>  The error message that is displayed in the terminal is
>>>> fslview: line 6: 8608 Segmentation fault ${FSLDIR}/bin/fslview_bin $@
>>>>
>>>>  The number 8608 changes for each instance of the fault and sometimes
>>>> (core dumped) will appear in the error message as well.
>>>>
>>>>  Thanks,
>>>> Jason
>>>>
>>>>  ------------------------------
>>>> *From:* Donald Tournier [d.tournier at brain.org.au]
>>>> *Sent:* Monday, June 18, 2012 8:07 PM
>>>> *To:* Langley, Jason Allen
>>>> *Cc:* mrtrix-discussion at www.nitrc.org
>>>>
>>>> *Subject:* Re: Converting Fraction Images to Nifti
>>>>
>>>>   Hi Jason,
>>>>
>>>>  OK, if the issue isn't datatype-related (i.e. if a command like
>>>> "mrconvert output.mif -datatype int16 output.nii" doesn't produce an image
>>>> you can load in fslview), then the issue might be related to memory. How
>>>> large is the image you're having trouble with? There's a good chance it
>>>> won't load if it's larger than 2GB, and fslview is compiled in 32-bit mode.
>>>> Also, can you confirm that fslview crashes with no other information than
>>>> 'segmentation fault'? On my system, an unexpected datatype causes fslview
>>>> to crash with a failed assertion message:
>>>>
>>>>   *fslview: /usr/include/boost/smart_ptr/shared_ptr.hpp:418: T*
>>>> boost::shared_ptr< <template-parameter-1-1> >::operator->() const [with T =
>>>> OverlayList]: Assertion `px != 0' failed.*
>>>>
>>>>
>>>>  which at least gives the *very* informed user some clue as to what
>>>> might conceivable be the problem. A message such as 'std::bad_alloc' would
>>>> already be a big clue...
>>>>
>>>>  Cheers,
>>>>
>>>>  Donald.
>>>>
>>>>
>>>> On 19 June 2012 08:21, Langley, Jason Allen <jason.langley at emory.edu>wrote:
>>>>
>>>>>  Hi Donald,
>>>>>
>>>>> Oddly enough, the issue only occurs with the fraction images
>>>>> (connectivity / TDI maps?). I am able to convert other .mif images (FA maps
>>>>> for example) to .nii and read those images into FSL or other imaging
>>>>> programs. The segmentation fault only occurs when I convert a fraction
>>>>> image from .mif to .nii . I have tried all of the datatype options listed
>>>>> in the source of mrconvert.cpp and none seem to work.
>>>>>
>>>>> I have noticed some issues between the other .mif images and the
>>>>> fraction images. When looking at the images in a hex editor, the FA maps
>>>>> (and other .mif images) seem to have nonzero values in each byte where as
>>>>> in the fraction image, only the first byte in each group is nonzero. I have
>>>>> attached an image that illustrates this with a FA map (in the terminal on
>>>>> the left) and a fraction image (in the terminal on the right). However, I
>>>>> am not sure if this is an issue.
>>>>>
>>>>> Best,
>>>>> Jason
>>>>>  ------------------------------
>>>>> *From:* Donald Tournier [d.tournier at brain.org.au]
>>>>> *Sent:* Sunday, June 17, 2012 8:25 PM
>>>>> *To:* Langley, Jason Allen
>>>>> *Subject:* Re: Converting Fraction Images to Nifti
>>>>>
>>>>>   Hi Jason,
>>>>>
>>>>>  This is not an uncommon issue. Basically, most packages don't
>>>>> support the full set of datatypes allowed in the NIfTI specification,
>>>>> whereas MRtrix does. If it produces an image using one of those datatypes,
>>>>> other packages won't be able to handle it. In the case of FSL, rather than
>>>>> detecting this case and reporting it, it typically just segfaults without
>>>>> any useful information. In any case, you can easily get around this using
>>>>> the -datatype option of mrconvert, with a datatype supported by FSL. In my
>>>>> experience, the set of datatypes that will work are: uint8, int16, int32,
>>>>> float32 & float64.
>>>>>
>>>>> On a different note: can I ask you to post these kinds of questions on
>>>>> the MRtrix mailing list? You can find it at:
>>>>> http://www.nitrc.org/mailman/listinfo/mrtrix-discussion. This way
>>>>> other users might also benefit...
>>>>>
>>>>> Hope this helps.
>>>>> Cheers,
>>>>>
>>>>>  Donald.
>>>>>
>>>>>
>>>>> On 16 June 2012 02:24, Langley, Jason Allen <jason.langley at emory.edu>wrote:
>>>>>
>>>>>>  Dear Donald,
>>>>>>
>>>>>> I'm having issues reading converted fraction images. My processing
>>>>>> steps are as follows:
>>>>>> (1) Preprocessing and then fibre tracking using streamtrack
>>>>>> (2) Creation of the fraction image from the tracks using tracks2prob
>>>>>> (3) Conversion of the fraction image from .mif to .nii using mrconvert
>>>>>>
>>>>>> After the conversion, I am unable to read the resultant .nii file in
>>>>>> FSL, Afni, SPM, ... . For example, if I use fslview to read the converted
>>>>>> fraction image, an error saying 'Segmentation fault' will appear in the
>>>>>> terminal.
>>>>>>
>>>>>> So far, I've only had this issue with the fraction images and other
>>>>>> images (FA maps, masks, etc) that I convert can be read in other viewers.
>>>>>> Do you have any thoughts / solutions to this issue?
>>>>>>
>>>>>> Thanks,
>>>>>> Jason
>>>>>>
>>>>>> ------------------------------
>>>>>>
>>>>>> This e-mail message (including any attachments) is for the sole use of
>>>>>> the intended recipient(s) and may contain confidential and privileged
>>>>>> information. If the reader of this message is not the intended
>>>>>> recipient, you are hereby notified that any dissemination,
>>>>>> distribution
>>>>>> or copying of this message (including any attachments) is strictly
>>>>>> prohibited.
>>>>>>
>>>>>> If you have received this message in error, please contact
>>>>>> the sender by reply e-mail message and destroy all copies of the
>>>>>> original message (including attachments).
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>>  --
>>>>> Jacques-Donald Tournier (PhD)
>>>>> Brain Research Institute, Melbourne, Australia
>>>>> Tel: +61 (0)3 9035 7033
>>>>>
>>>>
>>>>
>>>>
>>>>  --
>>>> Jacques-Donald Tournier (PhD)
>>>> Brain Research Institute, Melbourne, Australia
>>>> Tel: +61 (0)3 9035 7033
>>>>
>>>
>>>
>>>
>>>  --
>>> Jacques-Donald Tournier (PhD)
>>> Brain Research Institute, Melbourne, Australia
>>> Tel: +61 (0)3 9035 7033
>>>
>>
>>
>>
>>  --
>> Jacques-Donald Tournier (PhD)
>> Brain Research Institute, Melbourne, Australia
>> Tel: +61 (0)3 9035 7033
>>
>
>
>
> --
> Jacques-Donald Tournier (PhD)
> Brain Research Institute, Melbourne, Australia
> Tel: +61 (0)3 9035 7033
>



-- 
Jacques-Donald Tournier (PhD)
Brain Research Institute, Melbourne, Australia
Tel: +61 (0)3 9035 7033
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.nitrc.org/pipermail/mrtrix-discussion/attachments/20120621/d12e8c29/attachment-0001.html


More information about the Mrtrix-discussion mailing list