Skip to main content

GUI for guided data labeling

Project description

BBO-labelgui

GUI for guided data labeling

Installation

(You do not need to clone this repository.)

  1. Install Anaconda
  2. Start Anaconda Prompt (Windows) / terminal (linux) and navigate into repository directory
  3. Create conda environment conda env create -f https://raw.githubusercontent.com/bbo-lab/ACM-traingui/master/environment.yml

Update

  1. Start Anaconda Prompt (Windows) / terminal (linux) and navigate into repository directory
  2. Update with conda env update -f https://raw.githubusercontent.com/bbo-lab/ACM-traingui/master/environment.yml --prune.

Running

  1. Start Anaconda Prompt (Windows) / terminal (linux) and navigate into repository directory
  2. Switch to environment conda activate bbo_acm-traingui
  3. Run with python -m labelgui [options ...]

Options

Labeling mode

Run with python -m labelgui [base data directory]. This starts a GUI in drone mode, for the use by assistants with limited options to influence how the program runs and were it saves. This expects the following file structure:

[base data directory]/pose/data/users/{user1,user2,...}/labeling_gui_cfg.py
[base data directory]/pose/users/

{user1,user2,...} will be presented in a selection dialog on startup. Marking results will be placed in [base data directory]/users/

Check mode

Run with

python -m labelgui [directory of labels.npz] --check [bbo_calibcam calibration npy] # to use specified npy or
python -m labelgui [directory of labels.npz] --check [labeling_gui_cfg.py folder] # to use standardCalibrationFile from labeling_gui_cfg.py or
python -m labelgui [directory of labels.npz] --check '-' # or
python -m labelgui [directory of labels.npz] --check # to use backup labeling_gui_cfg.py in labels.npy folder. (Will often fail due to different paths between checker und labeler, as relative pathes are resolved, here).

This gives sorted text output of 3d and reprojections errors. Reporjection errors above 5-10px usually indicate errors in labeling and respective frames have to be checked.

Join mode

Run with python -m labelgui [configdir of ACM-dlcdetect] --check [multiple directories containing labels.npz files] [--strict]. This joins all marked labels in the labels.npz files into the labels.npz file in the dlcdetect configuration. Marked labels overwrite existing labels framewise.

--strict only merges frames where all cameras have marked points.

Compile to exe

  1. conda activate bbo_acm-traingui.
  2. Install pyinstaller: `pip install pyinstaller.
  3. If present, empty dist/ dirctory.
  4. pyinstaller --onefile traingui.py.
  5. Distribute exe file in dist/ folder.

Note: It might be necessary to remove mkl: conda install -c conda-forge nomkl.

TODO

  • Document config
  • Document sketch file (2d sketch of animal. If not presented, 3d wireframe is shown instead)
  • Document model file

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bbo-labelgui-0.15.1.tar.gz (27.6 kB view details)

Uploaded Source

Built Distribution

bbo_labelgui-0.15.1-py3-none-any.whl (29.3 kB view details)

Uploaded Python 3

File details

Details for the file bbo-labelgui-0.15.1.tar.gz.

File metadata

  • Download URL: bbo-labelgui-0.15.1.tar.gz
  • Upload date:
  • Size: 27.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for bbo-labelgui-0.15.1.tar.gz
Algorithm Hash digest
SHA256 44aebacbe86b30211301ccafb2857c0875e19a88e0395a5dd43e7dc3ec2b7248
MD5 91716fc668d1588b6ef45d2804dd2deb
BLAKE2b-256 1f4b372f1e8ce8d220029d55f98c0574ae9bd5ba30668bd42f1caf0863191c95

See more details on using hashes here.

File details

Details for the file bbo_labelgui-0.15.1-py3-none-any.whl.

File metadata

File hashes

Hashes for bbo_labelgui-0.15.1-py3-none-any.whl
Algorithm Hash digest
SHA256 567b18eb7960f193ac50a77b49c230e8bee8380d81c4021a180d5cda950b6f6b
MD5 e37d2e1809a60b11b5f2914d02137ace
BLAKE2b-256 fead7f09fc5daf8833b843eea4d10a78ed3cb5a71a88853e79c731afefc14f8d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page