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.16.0.tar.gz (28.0 kB view details)

Uploaded Source

Built Distribution

bbo_labelgui-0.16.0-py3-none-any.whl (29.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bbo-labelgui-0.16.0.tar.gz
  • Upload date:
  • Size: 28.0 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.16.0.tar.gz
Algorithm Hash digest
SHA256 b12acd6af9aa4716972e1e0b623f4de63eb1708e6f4b2094fd11ade8f1241eed
MD5 43f0e01fd6a0a0f43979e9d395ac9518
BLAKE2b-256 c164e15e5a1b216eadd6f901960122f7764a6f02b1a5fa24ebd39eff136fa6e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bbo_labelgui-0.16.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d3e280671fe8d2851ee50b86899a11d1e42f9f3a4cab24d0afd7a97f15dc9b70
MD5 14cac2c4b4d064a8e2f268f2e64bb7ed
BLAKE2b-256 525f3af08efcec358e49ef5e03b75fba60c77e7d84b9eb6405b513ee8bebaecd

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