Segmenting on an oblique plane 2D image

I would like to do segmentation of a single slice of MRI, that has been acquired in an oblique angle.
If I load it into 3D slicer, I only get some lines in different directions, since it shows the X Y and Z plane cross sections. I can manually copy the rotation information from the MRI metadata, but it’s a huge effort, since I will eventually have to work with around 1000 images.
Is there any way, I can automatically get the plane to be displayed as in a dicom viewer, like Osirix?

I believe this button will do the trick

1 Like

Hi Mr. Pinter.
I’m having a similar issue, I think, based on the description. But the button suggested causes my screen just to revert back to the original slice, not the oblique slice I need.

I have a CT scan, and need to measure the area of the end plate on a vertebral body. The spine is not always in line with the orientation of the slice, so I used an oblique slice to view the end plate and take a measurement like so:

  1. Reformat module - select red slice, then adjust A-P and L-R until the red slice is aligned as best I can
  2. Markups module - draw a closed loop around the area of interest. Then use the code from Mr. Lasso in another question to calculate the area within the loop. How can I calculate an area on a CT image. I can calculate volumes (mm^3) but not areas (mm^2) - #4 by lassoan

I would prefer to make a more consistent calculation based on threshold of the bone, vs my eye drawing a loop. I repeated the process a few times, and I get slightly different values. I have about 90 of these measurements to take, so I don’t want to introduce variation from my own ability to draw on the screen. And it’s quite a lot of measures to do multiple times and take an average.
I was hoping to use the segment function for a single oblique slice. I have tried to take a segment on the oblique plane, but 3D slicer always shows the segment across all of the original slices when I try this. I get a short volume, rather than the 2D segment on the oblique plane.

I was hoping your solution to this question would work for me, but when I click the button you highlighted, it just reverts the view back to an axial slice, rather than the oblique one. For me, it acts as a “undo reformat” button.

Is there another way?

Below is an image of the oblique plane. I’m using a sample data set from Slicer rather than my actual data but it is the same part of the body.

There are multiple approaches that you can use, see detailed description of basic techniques on oblique image segmentation: Overview | 3D Slicer segmentation recipes

If you need to quantify many end plates on a single image then I would recommend to define a spine curve by placing 10-20 markups open curve control points on axial slices, then use this curve to reformat (straighten) the entire volume at once using Curved Planar Reformat module (in Sandbox extension):

Each axial slice of the reformatted volume is cut out from the original image with a plane, so there is no distortion of any kind, you can make measurements with full accuracy.

You can choose to segment the straightened volume or measure cross section area directly using markups.

Probably measuring cross-sectional area using closed markups curve is as accurate as it gets. You could of course do the measurement based on segmentation, but that relies on visual assessment, too (what threshold do you choose, how do you deal with intensity variations, etc.).

If one person performs all the measurements then it is not hard to achieve consistent measurements, so the real challenge is inter-operator variability. You can do little experiment with 4-5 operators to see if you get reduced variability with segmentation based methods.


FYI, in latest Slicer Preview Release area of markups closed contour can be computed without scripting, just by enabling “area” in Markups module “Measurements” section.

Mr. Lasso,
Thank you, I will try your suggested methods to find what will work best for my issue.

Prior to your replies, I may have also stumbled upon a method using Transform to rotate the image to the standard slice, rather than rotating the slice angle. This seems to allow segmentation that does not take a volume, but the single slice.

Glad there seem to be a few options.

Thank you!

1 Like