Skip to content

feat: Enhance v2 analysis, fix CI issues, and update dependencies#19

Closed
ezhil384 wants to merge 10 commits into
lasisilab:mainfrom
ezhil384:main
Closed

feat: Enhance v2 analysis, fix CI issues, and update dependencies#19
ezhil384 wants to merge 10 commits into
lasisilab:mainfrom
ezhil384:main

Conversation

@ezhil384

@ezhil384 ezhil384 commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

Adding new features - SAM and EFD to existing fibermorph

ezhil384 and others added 10 commits March 14, 2026 16:34
- 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
@eraser-labs

eraser-labs Bot commented Jul 8, 2026

Copy link
Copy Markdown

fibermorph-architecture

No changes detected to the diagram

View in eraser

Updated as of commit: d06b3eca317f09837f12408764774c56dba5a92c

@tinalasisi

Copy link
Copy Markdown
Member

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! 🙏🏾

@tinalasisi tinalasisi closed this Jul 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants