Extracting muscle cross-sectional area and its centroid locatation from MRI/CT scans

Hi everyone

I’m looking for a simple option to extract paraspinal muscle cross-sectional area (CSA) and its centroid location from MRI/CT scans (horizontal vertebral mid-planes). Is there already a feature/an extension available for this?

Thanks a lot and all the best

You can segment muscles using Segment Editor module and then use “Segment Cross-Section Area” module (provided by “Sandbox” extension in “Examples” category in Extension manager):

Hi Andras

Thank you very much for your reply!

I installed the Sandbox Extension…

…and restarted the program, but cannot find the “Segment Cross-Section Area” module as indicated in the YouTube video:

Am I missing something?

Thanks and best

This feature was added to Sandbox extension not too long ago and so it is only available for recent Slicer Preview Releases.

Ok thanks! I installed the latest version and can see it now :slight_smile:

1 Like

I have a follow-up question on this. I am writing a tutorial for this, and I am wondering if the requirement is that we should have isotropic data for correct estimation. Here is why I am asking this:

If I paint a 10mm diameter circle on the MRhead and calculate the area I get 243mm2, which is incorrect. If I resample the MRhead to be isotropic via CropVolume and paint the same area with the same diameter in a new segmentation, I get 309mm2 which is within measurement error. You get approximately 243mm2, if you scale the correct measurement by the slice spacing (1.3mm) which is different from XY spacing (1mm) in this dataset.

I attached the screenshots of the both segments (red from isotropic MRhead, and yellow is the original data).

I also suggest replacing row, column, and slice wording with the usual axial, coronal, sagittal.


Good catch. Isotropic spacing was not a requirement at all, this was just a bug that the automatic test did not reveal as it only checked computation along one axis. The issue is fixed now.

Measurement currently does not happen along anatomical axis but along an image IJK axis, so we cannot use anatomical terms. Row, column, slice can be mapped to any anatomical axis or oblique directions. We could change the axis names from row, column, slice to I, J, K but I don’t think it would be much better.

Measuring along anatomical axes would require resampling of the volume along the chosen axis. I’ve added an issue to keep track of this idea: https://github.com/PerkLab/SlicerSandbox/issues/6.

Hi Andras

Another follow-up question just to make sure… Do the values in column B in the CSA output table (see below) represent the location of the centroid of the respective CSA?

Thanks and best

Actually I just realized that these values do not represent the centroids of the CSAs. Is it possible to get those somehow out?

You can hover the moues pointer over any column and wait for a few seconds without moving it then a tooltip appears that tells what that column contains. “Position” column contain slice center positions in RAS coordinate system.

You can get detailed statistics about each segment, such as centroid, oriented bounding box, etc. using Segment Statistics module.

Perfect! Again, thanks so much Andras!

1 Like