Modelling the Anterior Muscle Compartment

Hi there. I’m completely new to 3D slicer, let me preface that. My objective is to create a model of the anterior muscle compartment of the leg. I have found an MRI scan of the lower leg, shown in the attached image.

My question: how would I go about isolating the anterior muscle from the leg so that I can model it. Any general tips or advice is very much appreciated!

EdScreenshot 2021-11-09 at 20.49.08

The most commonly used tool for segmenting an individual muscle is “Fill between slices” effect in Segment Editor module. One reason is that there is no contrast difference between adjacent muscles, therefore automatic separation would be challenging. The other reason is that muscles tend to be long structures with a cross-section shape that changes slowly along the long axis, therefore, it is often enough to just segment 6-8 cross sections to get a complete reconstruction of the entire muscle shape in 3D.

I would recommend to get started with this page, then learn about segmentation in general on this page. If you have any questions or run into any problems you can post follow-up questions here.

Thank you so much for your helpful reply, I was able to create an approximate model of the compartment. The problem is, it’s very approximate, and I’m trying to get it a bit more accurate. To do this I had the idea of either highlighting the compartment itself somehow, or find a way to highlight the membrane that surrounds the compartment - that being the interosseous membrane and the anterior intermuscular septum. If I could do either of these things I could then accurately use the draw tool to create a model of the anterior compartment. Do you have any suggestions?

Thanks in advance!
Ed

In Segment Editor, the current segment is shown in all the views (with filled contour). Do you have some other highlighting in mind?

You can be as accurate as needed. After you click “Preview” in “Fill between slices” effect, you can browse the slices and if you find that the interpolated segmentation is not accurate enough on any of the slices then you can modify the segmentation using Paint or Draw effects and the interpolated slices are immediately recomputed.

Yes, it sometimes it is worth segmenting adjacent structures, just to get some more context for segmenting a challenging object. For this, I would recommend to paint multiple compartments on each frame, for example, anterior, lateral, deep posterior, each using a different segment. Paint on those frames where you are confident that you can identify them, and then use “Fill between slices” effect to simultaneously interpolate all of them on all frames.

If you find a frame where interpolation did not provide sufficient accuracy, you can segment the compartments manually (using the existing estimation). Tips:

  1. If you segment multiple compartments, then you need to segment all compartments that are visible on a slice.
  2. You can temporarily disable automatic update in “Fill between slices” effect to keep the preview result unchanged while you are painting the accurate boundaries.

Thanks for getting back to me, much appreciated!

When I say I want to highlight the compartment or the membrane that surrounds it, it is because I want to have a ‘template’ of the anterior compartment to draw around using the draw tool. I find it difficult to identify the specific compartments when looking at some slices such as the attached image.

I will have a go with painting multiple compartments and see if that makes a difference, and in the meantime, any suggestions you have for creating this ‘template’ would be greatly received.

Thanks again!

Ed

You can use any single case at template. You can align and warp the template to a patient image using either point-based semi-automatic registration or automatic intensity based image registration - Registration — 3D Slicer documentation

That sounds like it could be helpful, could you explain that a little further though please as the linked document has only left me with more questions!

Thanks,

Ed

This video tutorial may help: