Skip to content

jlulloaa/SlicerSequenceRegistration

 
 

Repository files navigation

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.

Alt text

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

  1. 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.

  2. 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
  1. 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:

  1. Load up the DICOM Browser in Slicer

Alt text

  1. Make sure the Advanced checkbox is checked, and the MultiVolumeImporterPlugin is also checked

Alt text

  1. Import your dataset

Alt text

  1. Select your dataset and click Examine

Alt text

  1. Select the one with the reader MultiVolume and click Load

Alt text

  1. Click the Save button in the top pane of Slicer

Alt text

  1. Check the MultiVolume that was chosen in step 5 and choose a folder to save it in

Alt text

  1. 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)

  2. Click Save

Alt text

  1. Close the Scene by clicking File -> Close Scene

Alt text

  1. Click the Data button at the top of Slicer

Alt text

  1. Choose the file you saved in step 8 and click Open, then click Ok to load the MultiVolume Sequence

Alt text

  1. Now you can choose the sequence as input in the Sequence Registration Module

Alt text

Create volume sequence from 4D NRRD image:

  • Perform steps 8-13 above

Create volume sequence from many scalar volumes

  1. Open the Sequences module

Alt text

  1. Create a new Sequence

Alt text

  1. Add scalar volumes by selecting them and clicking the green left arrow

Alt text

Help & Support

Please write any questions about how to use the extension to the Slicer Forum. View list of open issues or report new issues in the project's issue tracker.

About

Local copy of SlicerSequenceRegistration

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 92.6%
  • CMake 7.4%