Implement ilabel: fast pixel-based region labelling (from the MATLAB MVTB C extension)
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
- Type d'issue
- Fonctionnalité
- Clarté
- À clarifier
- Activité
- Active
- Domaine
- computer-vision
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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
- Langage dominant
- Python
- Étoiles
- 223
- Forks
- 30
- Merge moyen
- 1 h 4 min
- PR mergées (30 j)
- 9
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de petercorke/machinevision-toolbox-python
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 25/100
petercorke/machinevision-toolbox-python#125 ·
Les mainteneurs répondent en général sous 1 jour
-
tech-debt
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
petercorke/machinevision-toolbox-python#122 ·
Les mainteneurs répondent en général sous 1 jour
-
tech-debt
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 30/100
petercorke/machinevision-toolbox-python#117 ·
Les mainteneurs répondent en général sous 1 jour
-
Remaining bare `except:` / swallowed exceptions in tests/ and src/ (Codacy + hidden failures)Ouvertetech-debt
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 45/100
petercorke/machinevision-toolbox-python#115 ·
Les mainteneurs répondent en général sous 1 jour
-
tech-debt
Difficulté 4/5 3-5 jours Accessibilité débutants 62/100
petercorke/machinevision-toolbox-python#113 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de petercorke/machinevision-toolbox-python
Issues similaires
-
changelog investigate
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
ramnes/notion-sdk-py#409 ·
-
good first issue help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
lindicaphxag-tech/kaggle#28 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
BSData/horus-heresy-3rd-edition#3211 ·
Les mainteneurs répondent en général sous 1 jour
-
bug needs-triage
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
Les mainteneurs répondent en général sous 1 jour
-
bug tests
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Les mainteneurs répondent en général sous 1 jour