iman / README.md
stevafernandes's picture
Upload 6 files
d487db0 verified
|
Raw
History Blame Contribute Delete
2.95 kB

A newer version of the Gradio SDK is available: 6.20.0

Upgrade
metadata
title: Cochlear Neurofilament Tracer
emoji: 🧠
colorFrom: indigo
colorTo: purple
sdk: gradio
sdk_version: 5.49.1
app_file: app.py
pinned: false
license: mit

🧠 Cochlear Neurofilament Tracer

A HuggingFace app that traces auditory-nerve fibers in confocal z-stacks of the organ of Corti and quantifies them per frequency region, separating IHC-innervating from OHC-innervating fibers.

It is an alternative to IMARIS filament tracing that keeps each neuron as a single continuous traced element instead of splitting it into many threshold-dependent segments.

Input

  • File type: Zeiss .czi 3D z-stacks. Generic .tif/.tiff stacks are also accepted for flexibility.
  • Channels:
    • Neurofilament — traces the neuron.
    • Myo7a — marks hair cells; used as a reference to separate IHC- vs OHC-innervating fibers. IHCs form a single row and OHCs form three adjacent rows, so the Myo7a band is used to place the IHC/OHC boundary.
  • Frequency region: selectable (8/16/22/32/64 kHz), auto-detected from the file name when possible.
  • Channels are auto-detected from CZI metadata (Alexa-555 → Neurofilament, Alexa-405 → Myo7a) but can be reassigned in the UI.

What it does

  1. Segments and skeletonises the Neurofilament network in 3D using physical voxel spacing (from CZI metadata, or entered for TIFF).
  2. Uses the Myo7a channel to place an IHC/OHC boundary. This can be set manually (ROI 1 vs ROI 2) by moving the boundary slider while viewing the Myo7a preview, choosing the split axis, and choosing which side is IHC.
  3. Computes, per region (Whole field / IHC / OHC):
    • Number of fibers (continuous skeleton components above a minimum length)
    • Thickness / diameter (from the 3D distance transform)
    • Length (µm, spacing-aware)
    • Branching (number of branch points)
    • Area covered within the field of view (µm² and % of FOV)

Output

  • A black-background image of the traced neurons in white (skeletonised trace), plus a colour-coded IHC/OHC overlay.
  • An Excel workbook with all quantification, organized by frequency region, with IHC and OHC fibers reported separately (tidy "Per region" sheet plus per-metric frequency × region summary sheets).

The Batch tab processes several stacks at once (e.g. all frequency regions of one cochlea) and compiles one Excel workbook plus a ZIP of skeleton images.

Notes on method

Confocal images of the organ of Corti are dense, so fully separating every individual axon is inherently ambiguous. This tool traces the network continuously and reports metrics per region surrounding the IHCs / OHCs, with a human-in-the-loop boundary for reliable IHC vs OHC assignment. The sensitivity control scales the segmentation threshold to capture more or fewer thin fibers.

Local run

pip install -r requirements.txt
python app.py