Split Scalar Volume into Multiple Frames

Hello,

I am trying to split scalar-DICOM volume, with multiple frames, so that I can create multiple volumes.
I am trying to do this because the multi-volume exporter does not seem to recognize the input volume as a multi-volume.

UPDATE: Just checked, these DICOMs I am having issues with lack the “trigger time” tag on the metadata/headers. I compared them to some that do import as multi-volumes

Thoughts?

These are the fields that we currently recognize as fields that may be used to split a volume:

We are making adjustments, add more tags as we encounter valid data sets that are not recognized.
Could you try if latest Slicer Preview Release can recognize it as a time sequence?

If the latest version does not recognize your data but you believe that your data set is correct and complete (e.g., DICOM tags were removed by too aggressive anonymization) then we can see if we can add one more tag to split by.

@lassoan,

Thank you for the response!

First, let me clarify that I must have done something weird before when reading the metadata. If I import the dataset alone, I do read “trigger time” in the metadata

As expected (I believe), there are about 9 values for trigger time. I am estimating about 9 frames per slice. The values are [0, 61443, 122886, 184328, 245771, 307213.99, 368657.01, and 430099]

If I use the MultiVolumeImporter, I get a “multivolume” named “664 frames MultiVolume.” I then use the MultiVolumeExplorer to copy a specific frame, the it seems to only get a single frame and not the entire sequence!

Do not use MultiVolumeImporter module for this. You should be able to simply load the data set using DICOM module.

Can you share the data set? (make sure it is anonymized, animal, or phantom)

@lassoan,

I am adding the data here
The data is from The Cancer Image Archive
As far as I know, it has been properly anonymized

Multi-volumes can only be imported if the volumes form hypercubes (all timepoints have the same geometry). In this data set, 84 slices are found for TriggerTime=[0.0], 82 slices are found for TriggerTime=[61443.0], and 83 slices are found for TriggerTime=[122886.0, 184328.0, 245771.0, 307213.99, 368657.01, 430099.0].

There may be an issue with the data set and so it may be safer to reject it.

@lassoan,

Wow, that is very random. I think this could very well be an issue with the dataset. I have been going through other datasets and found nothing similar, everything is importing fine.

I have to go through about 10 more, so I will be sure to follow-up and tell you if the error occurred again.

Thank you!

1 Like

@lassoan,

I can confirm that it was some download error from the TCIA database. I re-downloaded the two datasets that had this issue and Slicer properly recognized them as multivolumes.

Thank you, this is very useful feedback. It indicates that (at least in some cases) it makes sense to be strict and reject suspicious data sets instead of being more tolerant for errors.

1 Like