Implement ilabel: fast pixel-based region labelling (from the MATLAB MVTB C extension)
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Feature
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Aktiv
- Bereich
- computer-vision
Rechercherichtung
Start by inspecting wip/ilabel/ilabel.c and wip/ilabel/ilabel.py-unopt, then read the existing blob/label functions and the TODO in tests/test_image_processing.py. Decide and document the Python API and implementation route, with tests comparing shared examples to the contour-based blob code. Done means ilabel is implemented, its return values are tested, and the build and Python-only support implications are addressed.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Parked work, to be implemented later. The files are on branch feat/fast-label under wip/ilabel/ (not in main).
What it is
A pixel-based, rather than contour-based, approach to segmentation / region labelling, based on the ilabel C extension (Copyright 1995-2009 Peter Corke) from the MATLAB Machine Vision Toolbox. The MATLAB signature was [l, m, parents, color] = ilabel(im).
What exists
wip/ilabel/ilabel.c: Cython 3.0.11 output (2024-12), 592 KB. It was generated from anilabel.pyxthat is not in the repo, but Cython embeds the source as/* "ilabel.pyx":NN */comments, so the.pyxcan be reconstructed from this file.wip/ilabel/ilabel.py-unopt: unoptimised pure-Python port, produced with Copilot (2024-12).- The Python toolbox has no implementation. The only reference is a TODO in
tests/test_image_processing.py(# TODO [l,ml,p,c] = ilabel(im);).
To do
- Reconstruct
ilabel.pyxfrom the embedded comments inilabel.c(or port afresh), and decide the implementation route (Cython extension vs numba vs NumPy/SciPy). Note this package is pure Python and builds with hatchling, so a compiled extension changes the build/wheel story (and Pyodide/JupyterLite support); a pure-Python/NumPy route avoids that. - Define the Python API (
Imagemethod, return values), consistent with the existing blob/label functions. - Tests, including a comparison with the existing contour-based blob code on shared examples, and the TODO above.
Related: #45
- Vorherrschende Sprache
- Python
- Sterne
- 223
- Forks
- 30
- Ø Merge
- 1 Std. 4 Min.
- Gemergte PRs (30 T.)
- 9
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus petercorke/machinevision-toolbox-python
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 25/100
petercorke/machinevision-toolbox-python#125 ·
Maintainer antworten meist innerhalb von 1 Tag
-
tech-debt
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
petercorke/machinevision-toolbox-python#122 ·
Maintainer antworten meist innerhalb von 1 Tag
-
tech-debt
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 30/100
petercorke/machinevision-toolbox-python#117 ·
Maintainer antworten meist innerhalb von 1 Tag
-
tech-debt
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 45/100
petercorke/machinevision-toolbox-python#115 ·
Maintainer antworten meist innerhalb von 1 Tag
-
tech-debt
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 62/100
petercorke/machinevision-toolbox-python#113 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in petercorke/machinevision-toolbox-python
Ähnliche Issues
-
changelog investigate
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
ramnes/notion-sdk-py#409 ·
-
good first issue help wanted
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
lindicaphxag-tech/kaggle#28 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
BSData/horus-heresy-3rd-edition#3211 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug needs-triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug tests
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Maintainer antworten meist innerhalb von 1 Tag