FiberSight

What is FiberSight? Link to heading

FiberSight is software I designed to bridge the gap between open-source imaging, machine learning, and muscle image analysis. It was built as a plugin to FIJI/ImageJ, but with functionality driven by machine-learning from Cellpose via Python. Multiple deep-learning models were finetuned according to specific typical stainings of muscle fibers borders (PSR, H&E, and WGA) in order to produce accurate segmentations of whole-slide images.

Launcher from FIJI/ImageJ

Launcher from FIJI/ImageJ

What can FiberSight do? Link to heading

FiberSight combines 3 processes into a single pipeline:

  1. Muscle Fiber Segmentation (via custom Cellpose)
Segmentation of PSR-Stained Muscle Fibers

Segmentation of PSR-Stained Muscle Fibers

  1. Muscle Fiber Nucleation-State (via ROI erosion)

    Muscle Fibers co-stained with DAPI and Laminin. Red = More centrally nucleated, Green = More Peripherally Nucleated

    Muscle Fibers co-stained with DAPI and Laminin. Red = More centrally nucleated, Green = More Peripherally Nucleated

  2. Muscle Fiber Type (via Thresholding and Custom Nearest-Neighbor Determination)

    Immunostained Fluorescence Muscle Fiber-Typing

    Immunostained Fluorescence Muscle Fiber-Typing

Finally, FiberSight combines all of these operations to produce and save a single spreadsheet for each image, quantifying each fiber by its detected morphological and phenotypic properties

Results combined into a spreadsheet

Results combined into a spreadsheet

Check out the FiberSight Project on GitHub for more details on usage and installation!

The typical operation of FiberSight is below:

--- title: FiberSight --- %%{init:{"theme": "dark", "fontFamily":"monospace", "sequence":{"showSequenceNumbers":true}}}%% flowchart TD subgraph Segmentation A[Start FiberSight] --> |Cellpose| B(Stain-Specific Segmentation) B-->|Manual Editing| C{Quality Control} C-->|Yes|D[Remove small fibers] D-->E[Remove fibers outside border] E-->F[Get Fiber Morphology] end C-->|No|F subgraph Nucleation F-->G{DAPI Stain?} G-->|Yes|H[Quantify Nucleation] end G-->|No|I{Fiber-Type Markers?} H-->I subgraph Fiber-Typing I-->|Yes|J[Quantify Fiber Types] end I-->|No|K[Make Figures] J-->K K-->L[Record and Save Quantifications]