Fungiform
A napari plugin and CLI for quantifying cell shape and protein distribution on micropatterned substrates. Designed for multi-channel fluorescence confocal images of cells grown on mushroom-shaped fibronectin micropatterns.
Fungiform aligns a canonical pattern template to each image via normalised cross-correlation, warps head / stem / stem-tip sub-regions into image coordinates, segments cells in the cell-border channel, and reports a rich per-cell table of region-based protein intensities, stem-axis geometry, head-region protrusions, and nuclear / cytoplasmic ratios.
Installation
pip install napari-fungiform
Or from source:
git clone https://github.com/lxfhfut/Fungiform.git
cd Fungiform
pip install -e .
Python ≥ 3.10 required.
Quick start
Napari plugin
napari
Then open Plugins → Fungiform. The widget has two sections:
- Single Input — point at a single 4-channel TIFF (merged layout) or a
folder containing per-channel siblings
*_C0.tif … *_C3.tif(split layout). - Batch — point at a folder of images; outputs go to
<folder>/results/by default.
CLI
fungiform --dir ./my_images --out ./results
Common flags:
| Flag | Default | Effect |
|---|---|---|
--split-channels |
off | Inputs are split per channel (*_C0..C3.tif) |
--channel-cell |
1 | 1-indexed cell-border channel (e.g. WGA) |
--channel-protein |
2 | Protein-of-interest channel |
--channel-nucleus |
3 | Nucleus channel (e.g. DAPI) |
--channel-pattern |
4 | Pattern channel (e.g. fibronectin) |
--ball-radius-fraction |
0.25 | Rolling-ball radius as fraction of cell's MIC |
--no-align |
off | Skip NCC alignment (use when no pattern channel) |
Run fungiform --help for the full option list.
Output
For each input image MAX_<title>.tif, Fungiform writes into the output
directory:
_allResults.csv # one row per detected cell
MAX_<title>_Cell_mask.jpg # labeled segmentation mask
MAX_<title>_mask_overlay.jpg # cell channel + segmentation overlay
MAX_<title>_image_qc.png # 3-panel per-image overview
qc_cells/<Label>_qc.png # 6-panel per-cell QC
protrusions/<Label>_protrusions.png # per-cell protrusion detail
protrusions/MAX_<title>_protrusions.png # rolling-ball multi-cell detail
protrusions/MAX_<title>_protrusions_overview.png
See docs/Results_interpretations.md for
a column-by-column description of _allResults.csv and a panel-by-panel guide
to every visualisation.
Pattern templates
Fungiform ships with default mushroom-pattern templates (perfect / head /
stem) under src/fungiform/templates/. To use your own pattern shape, supply
--pattern-template, --head-template, and --stem-template pointing at
TIFF masks.
Citation
If you use Fungiform in your research, please cite this repository:
@software{fungiform,
author = {Lin, Xufeng},
title = {Fungiform: Napari plugin for micropattern cell quantification},
url = {https://github.com/lxfhfut/Fungiform},
year = {2026}
}
License
BSD 3-Clause — see LICENSE.
Metadata
Release files for napari-fungiform 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| napari_fungiform-0.1.3.tar.gz | 91.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| napari_fungiform-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 178.1 kB
Release files / napari_fungiform-0.1.3.tar.gz
| Download URL | napari_fungiform-0.1.3.tar.gz |
|---|---|
| Size | 91.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2cb18229494446fa3d78c336e3b3803ec105e237cc0aa0fd3a1393343a81d111
|
|
BLAKE2b-256 checksum How to use checksums |
85e2c3abe86470d350dc8d6bacc72b337df60deb20ec54e572a76db761eef275
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.9
|
Release files / napari_fungiform-0.1.3-py3-none-any.whl
| Download URL | napari_fungiform-0.1.3-py3-none-any.whl |
|---|---|
| Size | 86.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9bbf2d9db10108e5a55da538b0b7f72f4abd8bca2b528021b5a18cd7fd3c0b73
|
|
BLAKE2b-256 checksum How to use checksums |
7afa3ad6ba82fc3725fcc9bdcb708ecf3c269eb954d973fb93ed2ef44132a7a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.9
|