Opening a Siemens MPR CT series

Operating system: Windows
Slicer version:18/01/14 nightly
Expected behavior:
Actual behavior:

Hello,

I have a series of animal cardiac CT made on a Siemens Somatom Sensation Cardiac. Since the ECG differs from the humans I made an MPR from 0-100% of the cardiac cycle. If I want to open this series only a small wave like series appears and I can’t select any special timepoint of the cardiac cycle.
Do you now a soultion for that?

Thanks in advance,

Ors

I don’t know if anyone has experience with this. Since it’s not human data maybe you could share it and maybe someone could have a look?

Dear Steve,

Thank you forthe idea. How can I share the dataset? It says the file format is not authorised. It’s a zipped folder

Ors

Hi Ors - Usually we use google drive, dropbox, or similar service and then post the link here.
-Steve

Dear Steve,

Here is the link. I hope it works.
https://tinyurl.com/y7zjc23q

Best,

Ors

Hi Ors -

Interesting data - I can import it via the dicom module but not with the Add Data menu. As far as I can see there’s just one volume here (1051 slices). If you export a time series it might load as a multivolume.

The image positions are not in a form Slicer can use, so you get warnings when loading the volume and it uses a default spacing of 1mm. If I manually change that to .13mm (edit in the Volumes module as shown in the image) I get something that looks better, but perhaps you know the correct value.

HTH,
Steve

Dear Steve,

The dataset comes from a turkey cardiac CT series and contains the images
of the whole cardiac cycle. The “funny” appearance comes from this
phenomena, I think. Since the ECG and the triggering is adapted for the
human ECG the timepoints saved by the machine doesn’t represent the real
systole or diastole of the turkey. It is very complicated to save the raw
data from the CT directly this is why I saved the cardiac cycle from 0 to
100%.
There is an option if I upload this series to the syngovia software and
reconstruct it at certain cycle phase and save it again. I was wondering if
I could do this with the Slicer without this step. The other question is if
I could make a video out of it with the Slicer?

Ors

Hi Ors -

Ah, yes, that explains a little more about the why it loaded the way it did and looks “funny”.

You may be able to use the MultiVolumeImporter module if you know the dicom tags that differentiate the frames of the cine sequence. (See the Advanced section, I know the default ones don’t recognize this as a time series). If you find a tag that works of this data it might make sense to add it as another default.

https://www.slicer.org/wiki/Documentation/4.8/Modules/MultiVolumeImporter

You can also look at the Sequences extension:

https://www.slicer.org/wiki/Documentation/Nightly/Extensions/Sequences

Once you have the data loaded you can make a movie with ScreenCapture.

https://www.slicer.org/wiki/Documentation/4.8/Modules/ScreenCapture

HTH,
Steve

Dear Steve,

Sorry for being a bad padavan but I couldn’t open it with anything you
suggested. The multivolume importer doesn’t do anything. I checked the
metadata of the image series but there were not such data the module
requires (this is a CT series, so no echo and repetition time and flip
angle).
It would be realy nice to be able to open the series somehow and make a
video out of it to check the best timepoint for diastole and systole.

Best,

Ors

Hi Ors -

Right - the MultiVolumeImporter only sees a single frame here (see the error log after clicking import), I hope @fedorov can advise on this.

With the data imported and selected in the Slicer dicom database you can bring up the metadata as shown below and see which tags are changing and ImageComments seems like it would work to delineate the frames, but it’s not clear how to make this work for the MultiVolumeImporter.

-Steve

image

@opetne indeed, the dataset, as is, cannot be parsed as a multivolume node, but looking at the dataset - this is expected.

Multivolume DICOM plugin makes certain assumptions about the dataset to be able to parse it:

  1. The dataset has a fourth dimension, and the frames in the dataset can be sorted into groups by that fourth dimension. The result of this sorting should be such that each group have the same number of frames, and that group of frames should be possible to reconstruct into a valid 3-d volume.

  2. The heuristics of how frames should be sorted into groups is defined by the DICOM tags that will be examined for sorting as defining the 4th dimension. The current list of tags that will be examined are here: https://github.com/fedorov/MultiVolumeImporter/blob/master/MultiVolumeImporterPlugin.py#L35-L53

Looking at your dataset, the multivolume frames are identified by “ImageComments”, but also “ScanOptions”. And conveniently, cardiac cycle is already parsed out of the first item in the “ScanOptions” tag (contributed by @lassoan!).

However, your dataset does not satisfy the first assumption. After I sorted the files in your dataset by “ImageComments”, I see that the number of frames is not identical for every unique value of “ImageComments” (compare 0% and 10%, for example)

image

To fix this, I did the following:

  1. ran this script to sort by “ImageComments”
  2. removed the folder that corresponds to 0%, as it was the only one with the inconsistent number of frames (of course, a better way is to find the specific offending frame, and remove that one file, but I didn’t have a handy tools to do this quickly)
  3. used “DICOM Patcher” module of Slicer to normalize the file path, since “ImageComments” has special characters and import was failing.
  4. Imported the “clean” dataset from the output folder produced by DICOM Patcher.

Once this is done, I am able to load the dataset (minus 0% frame) into Slicer as a multivolume - see a demo here: https://www.screencast.com/t/ggcHB3Z1

1 Like

Dear Andrey,

I am totaly impressed, thank you! That is a very promising result.

Thanks,

Ors

Dear Andrey,

Thank you for your help. I don’t have such developed skills in script
running, so I asked onee of my colleagues. He modified the script a bit,
like the output path and we experineced that the 0% folder conatins always
1 more image than the others. I could open the series successfuly.
One more question of course, if you have time to anser it. At some of the
animals I’m not sure wether the systole or diastole was saved at the
correct timepoint. As stepping through the frames, I can see exactly what
the real systole or diastole is. Is there a chance to see what cardiac
cycle they belong? I mean which phase (%) between 0 and 100%? On the graph
there is only the signal intensity showed.

Best,

Ors

In the MultiVolumeExplorer there is a slider for selecting the frame to be shown, and the frame number. Knowing that your frames are in 5% increments, you can calculate the phase %.

image

Thank you! I was not sure that there is a direct link between the frame
number and the cardiac cycle.

Ors

Andrey Fedorov slicer@discoursemail.com (időpont: 2018. febr. 7., Sze,
16:07) ezt írta: