How to run MorphoStack day-to-day: browser UI and CLI. For install, see getting-started.md.
| Profile | Use when | Notes |
|---|---|---|
vesicle |
GUVs / membrane vesicles | Default threshold-contour path |
rbc |
Red blood cell stacks | Same engine; RBC-specific metrics still evolving |
active_surfaces |
Threshold leaks or weak edges | Experimental; requires object seed — details |
Start with morphostack dev (port 5173) or morphostack app (port 8000).
- Choose a
.tif,.tiff,.lsm, or.czifile. - Calibration:
- Auto — metadata when present
- Manual override — known microscope spacing
- Default 1×1×1 µm — UI marks this as uncalibrated; do not treat µm values as biology
- Click Inspect — confirm shape and voxel source badge.
- Pick a profile.
- Optional object seed (crowded fields): Select Object, then circle-drag or polygon on the preview. Set radius / max track distance if needed.
- Optional Z range (
startinclusive,stopexclusive) to drop empty top/bottom slices. - Optional XY ROI — type bounds or drag a rectangle on preview.
- Scrub the frame slider; Suggest Threshold → Preview.
- Analyze — read warnings (
default_voxel_size, tracking loss, neighbor merge). - Optional Include 3D mesh → View 3D Mesh (Plotly; may be decimated for speed).
- Download CSV, manifest, and report.
- After analyze, Show tracked-object debug overlay to review centroids.
- Batch — same settings, many stacks → summary CSV/report.
- Threshold sweep — start/stop/step → pick a stable threshold from the sweep table.
morphostack and mst are equivalent.
morphostack inspect stack.tif
morphostack threshold stack.tif --method auto
morphostack sweep stack.tif --start 50 --stop 200 --step 10 --out sweep.csv \
--voxel-x 0.1 --voxel-y 0.1 --voxel-z 0.5morphostack analyze stack.tif \
--threshold 100 \
--profile vesicle \
--voxel-x 0.1 --voxel-y 0.1 --voxel-z 0.5 \
--z-range 5 30 \
--out metrics.csv --report --mesh \
--mesh-export mesh.objCrowded object:
morphostack analyze crowded.czi \
--threshold 190 \
--seed-x 360 --seed-y 517 --seed-frame 105 \
--seed-radius 10 \
--mesh --mesh-export mesh.obj \
--bundle-dir runsExclude bad frames:
morphostack analyze stack.tif --threshold 100 --exclude-frame 3 --exclude-frame 12 --out metrics.csvmorphostack project init --out morphostack.project.json \
--profile vesicle --threshold 100 \
--voxel-x 0.1 --voxel-y 0.1 --voxel-z 0.5
morphostack analyze stack.tif --project morphostack.project.json --out metrics.csv --reportCLI flags override project file values.
morphostack batch path/to/stacks --threshold 100 --out batch_summary.csv --bundle-dir runs
# add --recursive for subfoldersmorphostack validate reference_metrics.csv new_metrics.csv --tolerance 0.000001
morphostack validate ref_batch.csv new_batch.csv --key-column source_path --all-columns| File | Purpose |
|---|---|
metrics.csv |
Per-frame metrics (definitions) |
*.manifest.json |
SHA-256, profile, threshold, seed, voxel source, warnings |
*.report.md |
Lab-readable summary |
mesh.obj / STL / PLY / GLB |
3D surface geometry |
| mask TIFF | Binary contour stack export |
MorphoStack is a local morphometry toolkit: inspect stacks, set calibration, seed objects in crowded fields, preview thresholds, export quantitative CSVs, manifests, and 3D meshes.
Be explicit about RBC:
The RBC profile currently shares the vesicle threshold-contour engine. Domain-specific RBC metrics still need lab validation.
Be explicit about default voxels:
Without metadata or overrides, physical units use 1×1×1 µm placeholders and must not be reported as calibrated biology.
