Volume sequence registration for 3D Slicer
This extension registers a sequence of volumes (3D+t a.k.a. 4D image data) to a selected volume. Processing results is a transform sequence (3D displacement field changing in time) and motion-compensated volume sequence. The transform sequence can be used for deforming point targets or structures.
Applications include motion-compensation for volume comparison and analysis of organ motion.
The module uses Elastix registration toolkit through SlicerElastix extension.
See full result here (animated gif; top row: before registration, bottom row: motion-compensated output): http://wiki.imaging.robarts.ca/images/e/eb/14.gif
Usage:
Simple example
-
Load sample 4D cardiac sequence by opening SampleData module and clicking on
CTPCardio
data set. The sequence browser toolbar will appear that can be used to play/pause/browse the volume sequence. -
Perform registration
- Switch to Sequence registration module (in Sequences category in the module list)
- Input volume sequence: CTP-cardio
- Output volume sequence: Create new sequence
- Output transform sequence: Create new sequence
- Advanced section / Fixed frame at timepoint: 7 (the first frame does not contain contrast agent, so registering all the contrasted frames to it would not provide optimal results)
- Click Register -- and wait about 10 minutes
- Review results
- After the registration is completed, the motion-compensated output volume sequence is shown in slice viewers.
- Use the sequence browser toolbar to replay the sequence.
- Transform can be visualized by switching to Transforms module, selecting the output transform, and adjusting options in Display section.
How to register your own data
All the required input is a volume sequence node in Slicer. In the future, the module will support specifying masks for specifying a region of interest for registration.
Create volume sequence from 4D DICOM image:
- Load up the
DICOM Browser
in Slicer
- Make sure the
Advanced
checkbox is checked, and theMultiVolumeImporterPlugin
is also checked
- Import your dataset
- Select your dataset and click
Examine
- Select the one with the reader
MultiVolume
and clickLoad
- Click the
Save
button in the top pane of Slicer
- Check the MultiVolume that was chosen in step 5 and choose a folder to save it in
-
Edit the file name by double-clicking on it, and append
.seq
to the end of the filename (when you load this image into Slicer later, this .seq.nrrd file extension gives a hint to Slicer that the file should be interpreted as a volume sequence) -
Click
Save
- Close the Scene by clicking
File -> Close Scene
- Click the
Data
button at the top of Slicer
- Choose the file you saved in step 8 and click
Open
, then clickOk
to load the MultiVolume Sequence
- Now you can choose the sequence as input in the Sequence Registration Module
Create volume sequence from 4D NRRD image:
- Perform steps 8-13 above
Create volume sequence from many scalar volumes
- Open the Sequences module
- Create a new Sequence
- Add scalar volumes by selecting them and clicking the green left arrow