[Mrtrix-discussion] nifti format

Donald Tournier d.tournier at brain.org.au
Wed Jul 13 17:47:58 PDT 2011


Hello again,

Thank for your quick response. I totally agree about the recipe of chaos.
> The nifti definition was a very important initiative to add the orientation
> in the header
> (the analyze format was just a shame) but The 2 matrix make it crazy. So a
> reasonable solution is to make both matrix identical.
>

Agreed


> For the last point I am still not convince about the necessity to change
> the header (and the data accordingly). As you said both file are coherent
> and are display exactly the same
> in mrview (and also in SPM software). But it is not the case for viewer
> that display the data matrix (with a bad handling of the orientation matrix)
> For instance with trackvis, the change from mrtrix make it to swap left and
> right ...
>
> Since you seems to handle the orientation properly, why not to keep the hdr
> unchanged (for both matrix by the way) ? This will facilitate
> interoperability between software.
>

Like I said earlier, once MRtrix reads the NIfTI header, it is converted
into MRtrix's own representation. One of the operations that happens is to
reorient the transform so that when an axial slice is requested, you only
need to look at the x-y plane, regardless of the transform. I'm pretty keen
to keep things that way.

That said, in a (distant) future release of MRtrix, you may well find that
this is no longer a problem, and that the transform will be preserved (for
different reasons though).


> Since I am beggining to become a new fan of mrtrix, I think I can mannage
> it like it is ... but it seems to me it will though be an improvement ...
>

Well, I'm not sure I would call that an improvement, if it's only to get
around limitations of other packages... But it can see your point, it would
help with interoperability.

Glad you like MRtrix though, always nice to hear.

Cheers,

Donald.



> Thanks
>
> Romain
>
> Donald Tournier wrote:
>
>> Salut Romain,
>>    I have some question nifti file produce by mrtrix
>>
>>    _depending on the data type I can not see file in other nifti
>>    viewer (fslview or spm)
>>    for instance (  Data type:         bitwise)
>>
>>
>> Yes, bitwise data are rarely supported by other packages, which is a shame
>> since it is in the NIfTI standard.
>>
>>    I guess I can test different output type with mrconvert but I
>>    can't find on the docs
>>    which string to give to the  -datatype option
>>
>>
>> Yes, that's the best way to deal with the issue. The list of data types is
>> in the docs, but maybe not the most obvious place:
>> http://www.brain.org.au/**software/mrtrix/general/**
>> formats.html#datatypes<http://www.brain.org.au/software/mrtrix/general/formats.html#datatypes>
>>
>>    _A second point is about the 2 orientation matrix from the nifti
>>    header
>>    The sform is correct, but the qform just set an identity
>>    orientation (with the voxel size)
>>    why not to set both orientation to the same value ?
>>    I am not sure if it is specify in the nifti definition which
>>    orientation to use first, but I would set both orientation
>>    identical ...
>>
>>
>> Yes, you're right, the NIfTI standard does specifies that both qform and
>> sform can coexist: apparently you can use whichever you like depending on
>> your specific application context. MRtrix will always use the sform if it's
>> available, otherwise the qform is used. I personally find having two
>> different transforms in the same file confusing, sounds like a recipe for
>> chaos to me...
>> In any case, you're right that there is no reason why the same transforms
>> can't both be stored in the header. I might make that change for the next
>> release.
>>
>>    _A last point: I have notice that when nifti file are created
>>    (based on other nifti file) there is a change of the nifti
>>    orientation in the header :
>>    I have orientation with negative pixel size but ater mrconvert it
>>    will be change with positive valu
>>    for instance with a sform
>>    -1.71875 0 0 110 0 1.39752 -1.16425 -33.0028 -1.71875e-16 1.00052
>>    1.6262 -140.284 0 0 0 1
>>    but file produce by mrconvert will then have always positive voxel
>>    size
>>    1.71875 0 0  -108.281 -0 1.39752  -1.16425 -33.0028 1.71875e-16
>>    1.00052 1.6262 -140.284 0 0 0 1
>>
>>    Why not to keep the original nifti header orientation (with both
>>    sform and qform set) ... ?
>>    I do not realy understand why this change and I wonder if this
>>    imply a reordening of the data matrix
>>
>>
>> Yes, this can happen. This is due to the fact that after loading the image
>> header, MRtrix will modify the transform if it's not near-axial. This is to
>> ensure that the x-axis is always as close to left-right as possible, the
>> y-axis is as close to posterior-anterior as possible, etc. This also means
>> that the strides used to navigate around the data get changed accordingly -
>> in your case, the x-axis would simply have been inverted. You'll also notice
>> that the translation x coordinate has changed from 110 to -108.281, since
>> after inverting the x-axis the 'origin' will now be in the opposite corner.
>> The data will also have been reordered in the output file for that reason,
>> but will (or at least should) always remain consistent with the header. The
>> check is to display both files in MRView, they should align perfectly.
>> Someone else had a related issue displaying a non-axial NIfTI image in
>> FSLView, and they trying to overlay another NIfTI image generated with
>> MRtrix from the same image. The problem was also related to the fact that
>> MRtrix will change the transform for non-axial images, and FSLView will not
>> account for that. More info in this thread:
>>  http://www.nitrc.org/**pipermail/mrtrix-discussion/**
>> 2009-April/000065.html<http://www.nitrc.org/pipermail/mrtrix-discussion/2009-April/000065.html>
>>
>>
>> Cheers,
>>
>> Donald.
>>
>>
>>    Many thanks
>>
>>    Romain
>>
>>    ______________________________**_________________
>>    Mrtrix-discussion mailing list
>>    Mrtrix-discussion at www.nitrc.**org <Mrtrix-discussion at www.nitrc.org>
>>    <mailto:Mrtrix-discussion at www.**nitrc.org<Mrtrix-discussion at www.nitrc.org>
>> >
>>
>>    http://www.nitrc.org/mailman/**listinfo/mrtrix-discussion<http://www.nitrc.org/mailman/listinfo/mrtrix-discussion>
>>
>>
>>
>>
>> --
>> Jacques-Donald Tournier (PhD)
>> Brain Research Institute, Melbourne, Australia
>> Tel: +61 (0)3 9035 7033
>>
>
> ______________________________**_________________
> Mrtrix-discussion mailing list
> Mrtrix-discussion at www.nitrc.**org <Mrtrix-discussion at www.nitrc.org>
> http://www.nitrc.org/mailman/**listinfo/mrtrix-discussion<http://www.nitrc.org/mailman/listinfo/mrtrix-discussion>
>



-- 
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/20110714/5fa1da85/attachment.html


More information about the Mrtrix-discussion mailing list