Caleb J. Gammon

MyoMeasure

Operator-independent myotube measurement

MyoMeasure measures myotube diameter in fluorescence microscopy images without an operator tracing lines by hand. It segments each myotube, skeletonizes it, and samples the width perpendicular to that skeleton.

  • 9 points per myotube
Method

How it works

  1. Segmentation. Cellpose-SAM instance segmentation, using the cpsam model, labels every myotube in the field as a separate object.
  2. Morphological filtering. Each object is filtered on area, aspect ratio, circularity, and solidity. Objects that fail the filter are dropped before anything is measured.
  3. Skeleton and chords. Each surviving mask is skeletonized. Diameter is measured by casting perpendicular rays at nine equidistant points along the longest skeletal path. The nine-point sampling density follows TRUEFAD (Brun et al. 2024).
  4. Output. A per-myotube CSV, group summaries, and a QC overlay for every field. The overlay draws the filtered mask, the skeleton and the measurement chords back onto the field, so a number can be checked against the object it came from.

The overlays and the other figures from this work are held back until the manuscript is published.

Rationale

Why it exists

Myotube diameter is usually measured by hand in ImageJ. An operator draws lines across each myotube and records the widths. That is slow, and it is operator-dependent: different raters produce different distributions from the same images.

An automated pass removes the operator from the measurement.

The decision rules sit in code rather than in a rater's judgment, so the result is reproducible and a reader can see exactly how a number was produced.

Implementation

Stack

Language
Python
Segmentation
Cellpose-SAM (cpsam)
Image analysis
scikit-image, OpenCV
Numerics and tables
NumPy, SciPy, pandas
Reproducibility
Docker, locked conda env
Status

Not published yet

The manuscript describing this pipeline is in preparation, so what is on this page is a description of the method rather than a published account of it.

The repository is not public yet, and there is no DOI to cite. Questions about the method are welcome.

Ask about the method