Closed rfdougherty closed 9 years ago
Is this still an ongoing issue?
yes, but it's an edge case, so low priority right now.
I think @rfdougherty fixed for GE already. The GE slice order calculation uses trigger_times, instead of position. The GE slice order calculation only looks at one volume.
The Siemens slice order is stored as a code in the header, and then translated to the NIFTI slice order code.
The dicom slice order calculation here: https://github.com/cni/nims/blob/nimsdata/nimsdata/nimsdicom.py#L255 can fail if a scan was aborted and the last dicom happens to have the same position as the first. It would be better to just look at the slices for one volume. In fact, we should refactor so that all the metadata computations can work on just one volume of dicom slices. Then, if you just need metadata, you don't have to load a whole time series.