Stories

Psoas MRI and muscle strength

Open the research page

From an orthopaedic question to a U-Net, its masks, and measurements of the psoas.

MRI: Sudirman et al. 2019, Lumbar Spine MRI Dataset,CC BY 4.0, croppedDiscMultifidusPsoasSpinalMultifidusPsoasAortaBackgroundPsoasPsoasDiscSpinal regionAortaMultifidusMultifidusMultifidusColour hueImage halfEight masksInput 256 x 256Skip connections16 x 161 x 1 conv, 8 softmax channelsAlignment guideDisc boxPsoas boxCorridorAreaWidth and thicknessPatient factsHip-flexion force, N?32641282565122561286432Rationale1 / 17
  1. Rationale

    1The orthopaedic team asked us whether one axial lumbar MRI slice at L4 to L5, together with a few patient facts, could tell us how strongly a muscle can pull.From Sudirman et al. 2019, CC BY 4.0

  2. 2We focused on the psoas because hip flexion depends on it, and its broad shape appears on each side of this axial image.From Sudirman et al. 2019, CC BY 4.0 · Model run on cuaim, job 406149

  3. 3We planned to test that idea against hip flexion force measured with a dynamometer, in newtons, so an image feature would face a physical reference.From Full Protocol, strength measurement · Model run on cuaim, job 406149

  4. 4To locate psoas consistently, we also separated the disc, spinal region and posterior muscle; those neighbouring regions gave the model anatomical boundaries to learn.From Preprocessing notebooks, annotation color keys · Model run on cuaim, job 406149

  5. Progress

    5Each training image carried painted regions, one colour per structure, while everything unpainted became background; we used those colours to define the segmentation targets.From Preprocessing notebooks, annotation color keys · Model run on cuaim, job 406149

  6. 6We first separated the paint by hue, then used image half to distinguish paired muscles, because a shared colour alone could not name each output channel.From Preprocessing notebooks, get_components · Model run on cuaim, job 406149

  7. 7We turned that preprocessing into one black and white target per class, so the network could learn eight mutually exclusive pixel categories from the painted training images.From 08_CNN_multi, input and target code · Model run on cuaim, job 406149

  8. 8We trained one U-Net on 256 by 256 inputs through four encoder levels and a 16 by 16 bottleneck, with eight channels, including the aorta and background.From 08_CNN_multi, model definition · Model run on cuaim, job 406149

  9. 9We concatenated each encoder level with its matching decoder level through four skip connections, preserving spatial detail while the eight softmax channels stayed on the original pixel grid.From 08_CNN_multi, model definition · Model run on cuaim, job 406149

  10. 10For our final outlines, we averaged two archived networks over flipped and rescaled copies of the slice; the aorta came from the 256 network's own probability channel.From 08_CNN_multi, model definition · 09_CNN_512_multi, model definition · Model run on cuaim, job 406149

  11. Findings

    11On this public MRI, our final outlines mark the psoas, disc, spinal region, back muscles and aorta, and every measurement that follows starts from these contours.From Sudirman et al. 2019, CC BY 4.0 · Model run on cuaim, job 406149

  12. 12Our later measurement code rotated each patch along a hand-drawn pink alignment guide, so that width and thickness followed the muscle's own orientation.From measurement/geometry.py · Model run on cuaim, job 406149

  13. 13We calculated minimum area rectangles from the model contours, then used the psoas region for area and its rotated box for width and thickness.From measurement/geometry.py · Model run on cuaim, job 406149

  14. 14We measured the corridor as the vertical separation between the rotated box tops; on this public slice they almost coincide, so the marked gap is small.From measurement/geometry.py · Model run on cuaim, job 406149

  15. Impact

    15We brought psoas area, rotated width and thickness, and basic patient facts toward a force model because anatomy alone may not capture muscle performance.From Full Protocol, objectives · prediction/run_predict.py · Model run on cuaim, job 406149

  16. 16Against that dynamometer reading in newtons, we ask whether psoas area, rotated width and thickness, and the patient facts predict the observed pull.From Full Protocol, strength measurement · prediction/run_predict.py · Model run on cuaim, job 406149

  17. 17Whether one MRI slice and a few facts can tell us how strong this muscle is remains the open question we built this work toward.From Full Protocol, objectives · Model run on cuaim, job 406149

Open the research page