Segmentation and Volume Misaligned After Using Biomedisa

The problem is the following: I segment nasal turbinates in rodents and use Biomedisa. When I take my CT scans, I need to orient them in 3D Slicer, so I create a Transform and adjust the orientation. After that, I generate the slices that will be used by Biomedisa.

After this step, I upload them to Biomedisa, retrieve the file it generates, and load it into 3D Slicer. I click on the option in Data, “convert labelmap to segmentation node.” Then, I use ImageStack from SlicerMorph to upload the CT scans.

I then take the Transform I created earlier with the slices and, in another scene, apply it to the segmentation that came from Biomedisa and to the volume I uploaded—but they end up completely separated.

What am I doing wrong?

Have you tried using the Biomedisa extension? This would keep everything in Slicer. I’m guessing that perhaps your issue is related to rearranging image axes in the export-import process.

Hi,

take a look at this information:

Maybe that´s also the case in your situation?

Best,
Markus

This is a classic RAS/LPS coordinate mismatch.

Looking at your screenshots, the segmentation labels are spatially correct relative to each other but displaced and rotated relative to the scan volume. That is the exact signature of an axis flip happening during export or import, not a segmentation error.

A few things to check in order:

  1. What format did you export and reimport the segmentation through? STL, OBJ, and PLY historically had this issue in Slicer versions before 4.11 revision 28794
  2. If you are on a current Slicer version, check whether your transform matrix has any negative diagonal values, which would indicate an axis inversion is baked into the transform
  3. The transform matrix visible in your screenshot shows 0.99, -0.99 values which suggests a near-180 degree rotation is already applied, worth checking if that is intentional or a symptom

The fix depends on exactly where in your pipeline the flip is introduced. It is a quick solve once you identify the step.