Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Implement ilabel: fast pixel-based region labelling (from the MATLAB MVTB C extension)

オープン
#119 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
25/100
issue の種類
機能追加
明瞭さ
説明が足りない
活発さ
活発
技術スタック
c, python

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

tech-debt

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 an ilabel.pyx that is not in the repo, but Cython embeds the source as /* "ilabel.pyx":NN */ comments, so the .pyx can 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

  1. Reconstruct ilabel.pyx from the embedded comments in ilabel.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.
  2. Define the Python API (Image method, return values), consistent with the existing blob/label functions.
  3. Tests, including a comparison with the existing contour-based blob code on shared examples, and the TODO above.

Related: #45

主要言語
Python
スター
223
フォーク
30
平均マージ
1時間 4分
マージ済み PR(30日)
9

環境構築

  • Dockerfile・Docker Compose ファイルなし
  • プルリクエストのテンプレートあり
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

petercorke/machinevision-toolbox-python のほかの issue

petercorke/machinevision-toolbox-python の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。