Dear FSL Developers -
We are using fslmerge to combine a series of 3D fMRI volumes into a 4D volume for further processing. Unfortunately, it seems that fslmerge abandons the slice order and timing information that we so painstakingly deduced from our DICOMs and put into the NIfTI headers of the 3D files...
I did some source code diving and found that the volume<> class template has as field for "SliceOrderingCode", which for example gets transferred by the applicable "copybasicproperties()" functions. There is, however, no such field in volume4D<>, which is what fslmerge puts together.
Neither volume class appears to represent the slice timing-related header fields, which would presumably explain their absence in the 4D output file.
Since this is rather unfortunate for us, I am tempted to see if I can patch this functionality into the I/O functions and volume classes, and, by extension, into fslmerge.
But before I do, I just wanted to check whether this is actually intended behaviour or, for some other reason, a really bad idea.
Thanks! (Obviously I wouldn't be considering this hassle if we didn't find FSL tremendously useful in the first place, so a big THANKS in general at this point!)
Best
Torsten
|