I am trying to load in DICOM frames as a volume; there is no change in position but they are taken at different times to see cardiac muscle contraction. I can’t seem to load the set as a volume through any Slicer methods. I am coding my module in Python. How might I go about this issue in Slicer or Python?
I am using an OSIRIX “cine” DICOM set if that helps!
The normal Slicer DICOM load results in this:
It all looks good, but since it is a single slice, you probably want to align a slice view to the image plane instead of showing the default orthogonal slices, by clicking “Rotate to volume plane” button in the slice view controller.
What do you plan to do with this 2D+t cine image sequence? Just visualize in a slice viewer or segment, quantify, fuse with other images?
By the way, Slicer’s readthedocs has a lot of useful information but is still missing key points.
I noticed that the Rotate to Volume Plane info wasn’t described, so I added more documentation in hopes that people will be able to figure it out more easily in the future.
It would be great if anyone who learns something new that’s not in the readthedocs would write up a pull request to improve the material. All you need is a github account and you can edit the files directly in the browser.
Thank you for the help! I can see the single slice now which is good. However, I didn’t explain what I’m trying to do very well. I want to place markups on each frame within Slicer, so I need to load the 2D slices with the time component acting as the third axis. Essentially stacking the DICOM images along an axis so that I could scroll through the set on a slice view and place markups onto each frame. Then I could export the markups with each position along the time axis corresponding to a specific frame.
If you load this volume as a volume sequence (by setting in menu: Edit / Application settings -> DICOM / Preferred multi-volume format -> volume sequence, then loading the sequence again), then you can replay it as a volume and create time-varying markups on them.
To create a markup that changes in sync with the volume, go to Sequences module, add a new sequence by clicking the green “+” button, choose your markup node as “Proxy node” in the table, and check “Save changes” (to automatically save markups modifications into the time sequence).
Fantastic, thank you! This is very helpful.
@lassoan 's solution works if the DICOM is loaded with the multi volume plugin. Or the DICOM can be loaded with the scalar volume plugin and check “Allow loading subseries by time” in settings. Then frames can be moved through spatially. Both are great tools!