labeltool: implement the LabelMe region-selector tool (entry point shipped without it)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 30/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- matplotlib, python
- Domain
- cli, computer-vision
Research direction
Start by checking Dropbox version history for src/machinevisiontoolbox/bin/labeltool.py, then read pyproject.toml and the LabelMeReader implementation in Sources.py. The work is complete when the region-selector tool writes the specified LabelMe JSON, a round-trip test passes through LabelMeReader, and the labeltool console entry point is restored.
Written by the indexing model from the issue text.
Description
Found 2026-10-03 while cleaning up untracked files (#45).
What happened
pyproject.toml has declared the console script labeltool = machinevisiontoolbox.bin.labeltool:main since commit 3735f968 (2026-04, "added new bagtool and ocrtool (placeholder)"), but src/machinevisiontoolbox/bin/labeltool.py was never committed. The published 2.4.0 wheel therefore installs a labeltool command that fails with ModuleNotFoundError. The linked PR removes the entry point so the next release stops shipping a broken command.
Intended tool
A simple image region selector that writes LabelMe-format JSON files (rectangles / polygons over an image, saved so LabelMeReader can read them back). The only file on disk (untracked, last saved 2026-04-03) is an old copy of imtool (view / metadata / pick points) with no labeling code, so it is not the intended tool. The original was not found in git history (all refs), stashes, or elsewhere under ~/code. Check Dropbox version history for labeltool.py — the repo lives in Dropbox and an earlier version may survive there.
Context
LabelMeReader(Sources.py) reads LabelMe JSON (added 2026-04-05, reworked 2026-04-12 to drop thelabelmepackage dependency). There is no writer.- When implemented: matplotlib
RectangleSelector/PolygonSelectorover anImage, write the LabelMe schema (version,shapes[]withlabel,points,shape_type,imagePath,imageHeight,imageWidth), round-trip test againstLabelMeReader, and then restore thelabeltoolentry in[project.scripts].
Related: #45
- Dominant language
- Python
- Stars
- 223
- Forks
- 30
- Avg merge
- 1h 4m
- Merged PRs (30d)
- 9
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from petercorke/machinevision-toolbox-python
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 25/100
petercorke/machinevision-toolbox-python#125 ·
Maintainers usually reply within 1 day
-
tech-debt
Difficulty 5/5 Over a week Newbie friendliness 25/100
petercorke/machinevision-toolbox-python#122 ·
Maintainers usually reply within 1 day
-
tech-debt
Difficulty 5/5 Over a week Newbie friendliness 25/100
petercorke/machinevision-toolbox-python#119 ·
Maintainers usually reply within 1 day
-
tech-debt
Difficulty 5/5 Over a week Newbie friendliness 45/100
petercorke/machinevision-toolbox-python#115 ·
Maintainers usually reply within 1 day
-
tech-debt
Difficulty 4/5 3-5 days Newbie friendliness 62/100
petercorke/machinevision-toolbox-python#113 ·
Maintainers usually reply within 1 day
All issues in petercorke/machinevision-toolbox-python
Similar issues
-
Harmony OPeNDAP SubSetter (HOSS) Geographic LARC_CLOUD PREFIRE_SAT2_AUX-SAT R01 production
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
nasa/harmony-autotester#245 ·
-
feature
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
-
L: github:actions L: php:composer
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
dependabot/dependabot-core#16493 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
DataTalksClub/machine-learning-zoomcamp#730 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 4 days