feat: Enhance v2 analysis, fix CI issues, and update dependencies#19
feat: Enhance v2 analysis, fix CI issues, and update dependencies#19ezhil384 wants to merge 10 commits into
Conversation
- README: remove HuggingFace Spaces YAML frontmatter (was rendering as raw text on GitHub) - packages.txt: replace libgl1-mesa-glx (removed in Debian bookworm/trixie) with libgl1 - requirements.txt: use -e ".[gui]" to include matplotlib and seaborn for the Streamlit Cloud visualizations tab - streamlit_app.py: replace main() call (removed in new app.py) with exec() pattern so Streamlit's re-run model works correctly - test.yaml: drop poetry in favour of plain pip (avoids poetry.lock sync issues after adding opencv-python-headless); add libgl1/libglib2.0-0 apt step; run tests on feature/** branches too - conventional-prs.yaml: mark title check continue-on-error in fork (advisory only; lasisilab enforces it on the upstream PR) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…flict libglib2.0-0 from Bullseye repos requires libffi7 which is not available on the Trixie-based Streamlit Cloud image. opencv-python-headless needs no system GL libraries, so packages.txt can be empty. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…as package names apt-get was trying to install each word of the comment as a package.
Streamlit Cloud now runs Python 3.14.4. The previous caret constraints (^1.26.4 for numpy, ^0.22 for scikit-image, ^10.2 for pillow) forced pip to use source distributions that fail to compile on Python 3.14. Widening to >=X allows pip to resolve pre-built wheels for newer minor versions. Also remove quotes around .[gui] in requirements.txt for uv compatibility.
app.py was calling segment_section() with sam2_checkpoint=/sam2_cfg= (hair_analysis names) but section_sam2.py defines checkpoint=/model_cfg=.
- TestComputeEFD: access efd["efd_coeffs"] instead of treating return value as ndarray directly - TestComputeRadialProfile: update key names to radial_* prefix, replace missing radius_range_mu with computed radial_max - radial_min, add n_radial_peaks to expected key set - TestExtractFeaturesFromArray: fix call signature (resolution_mu=, source_name=), adapt assertions for dict return type, fix efd key count (51 not 40), fix hu prefix (no underscore) - TestClassifyShape: add n_radial_peaks and asymmetry_index to all feature dicts (now required by classify_shape) - test_section_pipeline: fix hu column prefix from hu_ to hu - TestCurlIndex: make _curved_skel dense enough to avoid disconnected segments causing nan; fix assertion direction (chord/arc metric gives lower values for curved lines, not higher) Agent-Logs-Url: https://github.com/ezhil384/fibermorph/sessions/86945c40-fef0-4344-97fa-c44ac3c5e80d Co-authored-by: ezhil384 <80913303+ezhil384@users.noreply.github.com>
…ctored-version fix(tests): align test suite with refactored v2 API
Feature/v2 enhanced analysis
fibermorph-architectureNo changes detected to the diagram Updated as of commit: d06b3eca317f09837f12408764774c56dba5a92c |
|
Hi @ezhil384 — thanks for putting this together! I think our wires got crossed on this. Your v2 work is already merged — it went into fibermorph-dev on July 3 (#16), and has had refinements layered on since (per-fragment curvature, either-direction resolution units, a GUI redesign, metric changes). Since your fork's main hasn't changed since that merge, everything here is already in fibermorph-dev — and this PR now also conflicts with main, which is our released branch (it only advances when I promote fibermorph-dev after review). So I'm closing this — nothing is lost. For your next contribution: (1) sync your fork from lasisilab/fibermorph-dev, (2) branch off it, (3) open the PR against fibermorph-dev with a Conventional-Commits title (e.g. feat: …). I've added a CONTRIBUTING.md with the details. Thanks again! 🙏🏾 |
Adding new features - SAM and EFD to existing fibermorph