Hi, I'm just finishing up a Nifti2 read / write module for nibabel: http://nipy.org/nibabel
To test it, I tried to read an image converted from Nifti1 using Connectome Workbench. The original image is here: https://github.com/nipy/nibabel/raw/master/nibabel/tests/data/example4d.nii.gz The converted image is here: https://www.dropbox.com/s/yj6pw7umpz26im5/example4d_ni2.nii.gz My reader fails when trying to read the Nifti extension from the converted image. Looking at the nifti1 standard; http://www.nitrc.org/docman/view.php/26/64/nifti1.h I think that nifti1 extensions look like this: [348 bytes of header data] ending at 348 [4 bytes of 'extension'] ending at 352, content [1, 0, 0, 0] if there are extensions [8 bytes of 2 ints, esize, ecode] ending at 360 for first extension Accordingly, here's a decimal hexdump of bytes 348 - 360 of the nifti1 file: 00001 00000 00032 00000 00006 00000 30821 25460 So [1, 0, 0, 0], [32, 6] meaning: yes there are extensions, first extension is length 32, type 6. By analogy, I think that a nifti2 header should have: [540 bytes of header data] ending at 540 [4 bytes of 'extension'] ending at 544, content [1, 0, 0, 0] if there are extensions [8 bytes of 2 ints, esize, ecode] ending at 552 for first extension Here's a decimal hexdump of bytes 540 - 556 of the converted nifti2 file: 00002 00000 00001 00000 00032 00000 00006 00000 It looks like the [extension] and [esize, ecode] are offset by 4 bytes, and start at 544. Is that right? Do you agree that they should start at 540 instead? Thanks a lot, Matthew _______________________________________________ HCP-Users mailing list [email protected] http://lists.humanconnectome.org/mailman/listinfo/hcp-users
