I have a list of 3D MRI images (70-step time series of 41 slices each) that I combine into a 4D sequence with the JoinSeriesImageFilter by:
img4d = sitk.JoinSeries(series)
Everything seems to work, series[0].GetSize()
as expected returns (128, 128, 41)
and img4d.GetSize()
correctly returns (128, 128, 41, 70)
I save my image to .nrrd:
sitk.WriteImage(img4d, 'img4D.nrrd')
The header looks ok to me:
NRRD0004
# Complete NRRD file format specification at:
# http://teem.sourceforge.net/nrrd/format.html
type: unsigned short
dimension: 4
space dimension: 4
sizes: 128 128 41 70
space directions: (1.71407600550601,-0.068471672259036137,-0.10656753702048134,0) (0.0059831519064795693,1.4881492724538934,-0.85992878035812514,0) (0.29446403003947097,1.9949830942955855,3.4544656850761313,0) (0,0,0,1)
kinds: domain domain domain domain
endian: little
encoding: raw
space origin: (-104.3200603168,-110.66393947156,-2.9187184148237999,0)
Yet when I try to load it to slicer as a Sequence I get the following error:
Error: Loading H:/Dokument/Data/dsc/Derived/img4D.nrrd - Failed to read node img4D (vtkMRMLSequenceNode4) from filename='H:/Dokument/Data/Derived/img4D.nrrd'
EDIT: I should also mention that I can load the file as a Volume but then, as expected, only a single 3D volume node is presented.
EDIT2: My Slicer version is 4.11.20210226 and I am on Windows 10 if that is important.