[MINC-development] weird minc 2 bug

Jonathan HARLAP jharlap at bic.mni.mcgill.ca
Wed Jun 7 13:53:55 EDT 2006


Hi Bert,

This argument seems internally consistent, although probably 
counterintuitive to any user who doesn't feel a need to understand in 
great detail the inner workings of MINC - and, by extension, the subtle 
difference between the order of dimensions in the file and the order of 
variables.

Fixing the perl library does seem an easy and quick solution, although 
there are probably many other scripts out there that do the same thing 
and will thus break similarly...

That said, what would you suggest is the right way for someone at the 
command line to find out the dimension order of a MINC file?  (IE, what 
could I use instead of mincinfo -dimnames)

Cheers,
J


Robert VINCENT wrote:
> Hi Jonathan,
> 
> Interesting point. Because the 'mincinfo -dimnames' option does not query
> the image variable dimensions, it looks as though the dimension order was
> never intended to be correct. The reported dimensions simply reflect the
> _file_ order, which as you know, is independent of the variable ordering.
> It just happens to be the case that most netCDF files created with our
> tools will coincidentally have the same dimension ordering in the file as
> in the image variable. But nothing prevents someone from creating a valid
> netCDF MINC file with fewer image dimensions than file dimensions, or with
> a different ordering in the image variable, and the 'mincinfo -dimnames'
> option will not reflect these facts.
> 
> So I'd argue it was mistaken to use the -dimnames option assuming
> that it will return only the image variables dimensions, in the proper
> order. This contradicts both the code and the documented function of the
> option.
> 
> However, we may have to find a way to preserve this behavior to prevent
> breaking the existing perl libraries. But we should probably fix the perl
> library was well, as it has probably caused some subtle bugs from time to
> time.
> 
> 	-bert
> 
> On Wed, 7 Jun 2006, Jonathan HARLAP wrote:
> 
>> Here's a neat one:
>>
>> Take a CDF file, run it through mincconvert -2 to get the corresponding
>> HDF file.  Now open both file in register (or just use
>> mincinfo/mincheader).  You'll see that the dimension order is, as it
>> should be, identical.
>>
>> Now, the fun part.  Run mincinfo -dimnames on the two files, and observe
>> the different dimension order.
>>
>> This fun bug is great in that it's a subtle little glitch in mincinfo,
>> but affects many little programs, such as mni-perllib's
>> MNI::MincUtilities::get_dimension_order()
>>
>> Example output below.
>>
>> Cheers,
>> J
>>
>>
>> % mincinfo  m?.mnc
>> file: m1.mnc
>> image: signed__ short 0 to 4095
>> image dimensions: xspace zspace yspace
>>      dimension name         length         step        start
>>      --------------         ------         ----        -----
>>      xspace                    124          1.4        -86.8
>>      zspace                    256     -1.01562      118.492
>>      yspace                    256     -1.01562      130.992
>>
>>
>> file: m2.mnc
>> image: signed__ short 0 to 4095
>> image dimensions: xspace zspace yspace
>>      dimension name         length         step        start
>>      --------------         ------         ----        -----
>>      xspace                    124          1.4        -86.8
>>      zspace                    256     -1.01562      118.492
>>      yspace                    256     -1.01562      130.992
>>
>>
>> % mincinfo -dimnames m?.mnc
>> xspace zspace yspace
>>
>>
>> xspace yspace zspace
>>
>>
>>
>> _______________________________________________
>> MINC-development mailing list
>> MINC-development at bic.mni.mcgill.ca
>> http://www.bic.mni.mcgill.ca/mailman/listinfo/minc-development
>>
> 
> 
> _______________________________________________
> MINC-development mailing list
> MINC-development at bic.mni.mcgill.ca
> http://www.bic.mni.mcgill.ca/mailman/listinfo/minc-development


More information about the MINC-development mailing list