Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

labeltool: implement the LabelMe region-selector tool (entry point shipped without it)

Open
#117 0 comments 0 reactions 0 assignees View on GitHub

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

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

tech-debt

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 the labelme package dependency). There is no writer.
  • When implemented: matplotlib RectangleSelector / PolygonSelector over an Image, write the LabelMe schema (version, shapes[] with label, points, shape_type, imagePath, imageHeight, imageWidth), round-trip test against LabelMeReader, and then restore the labeltool entry 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from petercorke/machinevision-toolbox-python

All issues in petercorke/machinevision-toolbox-python

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.