align two segments to each other

Operating system: Windows
Slicer version:4.9
Expected behavior: align the size of two segments to each other
Actual behavior: when i wanted to try to set the same size parameters for two different volumes the image dimensions could not be changed, so that the following created segments had different sizes. It is very time consuming and inaccurate to align them with the transformation matrix. Is there another way to set the parameters/dimensions, so that I can integrate one of them in the other?

I can only guess what you’re trying to do exactly, so can you please give us more information? Such as

  • Do you segment one anatomical image or more? If you segment more are they from the acquisition or modality?
  • Are you trying to register two different segmentations, or you have a problem with the geometry of the images that represent the segments?

Thanks for your reply!!!
I am segmenting for each segment an image sequence. They are from acquisition…
The images of those two image sequences are different in size. What I´m doing is: I´m creating out of those image sequences with ‘segment editor’ two segments. But it is hard to increase the properties of the first segment and align this perfectly to the size of the second segment (the first segment is just a part of the second segment (organ in body…)

Registration using transform slider is certainly very hard. Fortunately, there are several other registration tools in Slicer that can be applicable. For example:

  • Segment registration module (in Segment registration extension): Fully automatic registration between two segments. Supports both rigid and deformable transforms.
  • Fiducial registration wizard (in SlicerIGT extension): Landmark-based registration (you need to manually identify corresponding landmarks in the images).
  • Model registration (in SlicerIGT extension): Iterative closest point (ICP) based fully automatic rigid registration. You need to export segments to models (using Segmentations module), as this module expects model nodes as input. ICP can stuck into local minimum, so this method requires the segments to be already somewhat aligned when you start the registration.
1 Like

Thank you very much for your help!

Unfortunately I can´t find in Extensions the Segment registration module, can you maybe help me to get there?

I’ve just checked and it is available for latest stable (Slicer-4.8.1), in Registration category.

Is it maybe also available for 4.9?

Unfortunately the factory builds for 4.9 are down for a few days now. Also there is a Windows build system bug that prevents building extensions depending on other extensions (such as SegmentRegistration on SlicerRT) if there is one or more failing test in the extension, and this is why there are no SegmentRegistration builds for a while.

I can try to find you a successful build from the recent past, or I can do a custom build for you, it’s quite easy.

In the meantime, you can do the registration in Slicer-4.8.1, save the result, and load it into 4.9.x.

Good, thank you for your help!

I made a custom installer with a recent 4.9

Install Slicer, then install the extensions (SegmentRegistration last) in Extension Manager with the wrench icon in the top right. Make sure you wait a bit until it says the extension is installed, sometimes the message comes prematurely.

Thank you very much!

Is there any module that supports non-rigid ICP registration? Or something like parametric non-rigid registration with gaussian processes?

Segment Registration extension supports non-linear warping (based on b-spline registration of distance maps). We tried various approaches and this worked the best for our applications. It was tested extensively on prostate US/MRI registration, used successfully in clinical work, and worked surprisingly well for other applications, too.