Load Failed over multiple formats (TIFF, NRRD)

Hi

I have an image stack to load which was provided to me as a series of TIFF files. These can be successfully opened in 3rd party tools such as ImageJ (Fiji) and GIMP. However there is a warning message about the description field:

ASCII value for tag “ImageDescription” does not end in null byte

In Slicer the tiff files could be opened as individual slices but not an image volume stack.

I tried exporting to NRRD from ImageJ.

Slicer would not load this NRRD file. The error messages are below. My next steps are to try to load the sequence.

Exception from vtkITK MegaMacro:
Algorithm vtkITKArchetypeImageSeriesScalarReader (0x7f9c3d0) returned failure for request: vtkInformation (0x8a21af0)
vtkMRMLStorageNode::ReadData: Failed to read node images (vtkMRMLMultiVolumeNode1) from filename='<path>/images.nrrd'
vtkMRMLStorageNode::ReadData: Failed to read node images (vtkMRMLDiffusionWeightedVolumeNode1) from filename='<path>/images.nrrd'
vtkMRMLVolumeArchetypeStorageNode::ReadDataInternal: Reading of file '<path>/images.nrrd' failed: FileFormatError Number of files listed in the node is 0. File reader says it was able to read 1 files. File reader used the archetype file name of '<path>/images.nrrd' (first filename: '<path>/images.nrrd')
vtkMRMLVolumeArchetypeStorageNode::ReadDataInternal: Reading of file '<path>/images.nrrd' failed: FileFormatError Number of files listed in the node is 0. File reader says it was able to read 1 files. File reader used the archetype file name of '<path>/images.nrrd' (first filename: '<path>/images.nrrd')
vtkMRMLVolumeArchetypeStorageNode::ReadDataInternal: Cannot read '<path>/images.nrrd' file as a volume of type 'DiffusionTensorVolume'. Details: FileFormatError.
vtkMRMLStorageNode::ReadData: Failed to read node images (vtkMRMLDiffusionTensorVolumeNode1) from filename='<path>/images.nrrd'
ReadData: MRMLVolumeNode does not match file kind
vtkMRMLStorageNode::ReadData: Failed to read node images (vtkMRMLVectorVolumeNode1) from filename='<path>/images.nrrd'
vtkMRMLVolumeArchetypeStorageNode::ReadDataInternal: Failed to instantiate a file reader
vtkMRMLStorageNode::ReadData: Failed to read node images (vtkMRMLVectorVolumeNode2) from filename='<path>/images.nrrd'
vtkMRMLVolumeArchetypeStorageNode::ReadDataInternal: Reading of file '<path>/images.nrrd' failed: FileFormatError Number of files listed in the node is 0. File reader says it was able to read 1 files. File reader used the archetype file name of '<path>/images.nrrd' (first filename: '<path>/images.nrrd')
vtkMRMLVolumeArchetypeStorageNode::ReadDataInternal: Reading of file '<path>/images.nrrd' failed: FileFormatError Number of files listed in the node is 0. File reader says it was able to read 1 files. File reader used the archetype file name of '<path>/images.nrrd' (first filename: '<path>/images.nrrd')
vtkMRMLVolumeArchetypeStorageNode::ReadDataInternal: Cannot read '<path>/images.nrrd' file as a volume of type 'Volume'. Details: FileFormatError.
vtkMRMLStorageNode::ReadData: Failed to read node images (vtkMRMLScalarVolumeNode1) from filename='<path>/images.nrrd'
static void qSlicerIOManager::showLoadNodesResultDialog(bool, vtkMRMLMessageCollection*) Errors occurred while loading nodes: "Error: Loading <path>/images.nrrd - load failed.\n"

You didn’t tell us what kind of images these are and the data types (RGB, float etc) they contain. Also why are you trying to read the as sequence? If the images are sequentially ordered with suffixex (0001, 0002, so forth), all you have to do is to uncheck “Single File” option and read them as one file belonging to the same volume. Better yet, install the SlicerMorph extension and use the ImageStacks module in it to try to read the data.

I suspect fiji exported NRRD failed because it was saved in a data type slicer doesn’t expect or accept.

I have since found out a little more. The NRRD image is approx 20GB. I am running on a system with over 60GB. On a previous read attempt, error messages regarding memory appeared. In this case other hanging processes from image conversion had used up the memory. With those processes terminated, Slicer successfully loads the file into memory but takes a long time about it.

This discussion can be closed. Seems like there might have been some issue with the TIFF volume not matching format. Conversion to NRRD has worked.

I think the dataset can probably be reduced. Bit depth if nothing else.

I came across the discussion here in 2024 that was helpful.

Thank you for the reply.

For completeness to answer you questions, this is from a Micro CT:

  1. Image type 16bit unsigned integer grayscale
  2. Images are sequentially ordered but not starting at zero. Single file was unchecked.
  3. I did try SlicerMorph ImageStacks which allowed me to load as a preview, but not at higher resolution levels - now trying it again after clearing out the memory has worked. It maxed out the memory after reading all the files, but did work.

I think the data can probably be safely downsampled a bit, both resolution and depth.

The TIFF read through the SlicerMorph module also returned the same warning about the ImageDescription not ending in a null byte.

Thanks again for the reply.

20GB imagestack is fairly big. You can use the various functionalities (such as downsampling or simply importing a specific region of the data at full resolution) with ImageStacks. If you are new to it, here is the tutorial for its functionality: