https://github.com/royerlab/trackedit
Interactive tracks editing tool for Ultrack
https://github.com/royerlab/trackedit
Last synced: 12 months ago
JSON representation
Interactive tracks editing tool for Ultrack
- Host: GitHub
- URL: https://github.com/royerlab/trackedit
- Owner: royerlab
- License: mit
- Created: 2025-02-11T00:48:14.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-03T21:04:39.000Z (about 1 year ago)
- Last Synced: 2025-06-04T03:16:57.023Z (about 1 year ago)
- Language: Python
- Size: 409 KB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
[](https://github.com/royerlab/trackedit/actions/workflows/tests.yml)
[](https://codecov.io/gh/royerlab/trackedit)
# TrackEdit ⛓️
Set of napari widget to interactively proofread, edit, and annotate, cell tracking data tracked with [Ultrack](https://github.com/royerlab/ultrack).
-----
`TrackEdit` napari UI:

## Installation HPC 🖥️
1. Clone repo in $MYDATA and install pixi environment
```console
git clone https://github.com/royerlab/trackedit.git --recurse-submodules
cd trackedit
module load pixi
pixi install
pixi shell
```
Alternatively, you can activate the environment using conda `conda activate .pixi/envs/default` (after `pixi install`)
2. `cd` to relevant data folder (that contains `data.db` and `metadata.toml`), copy `scripts/demo.py` script, change relevant input parameters, and run inTRACKtive:
```
python demo_neuromast.py #_after changing relevant parameters
```
Note: make sure to first `pixi shell` in the $MYDATA directory, before running the python script. This is the equivalent of `conda activate ...`
### Keyboard shortcuts ⌨️
#### Napari Viewer and Layer Controls
| Mouse / Key binding | Action |
|-------------------|---------|
| Click on point/label | Select node (centers view if needed) |
| SHIFT + click | Add node to selection |
| Q | Toggle between all nodes view and selected lineages only |
#### Tree View Controls
| Mouse / Key binding | Action |
|-------------------|---------|
| Click on node | Select node (centers view if needed) |
| SHIFT + click | Add node to selection |
| Scroll | Zoom in/out |
| Scroll + X / Right click + drag horizontally | Zoom x-axis only |
| Scroll + Y / Right click + drag vertically | Zoom y-axis only |
| Mouse drag | Pan |
| SHIFT + Mouse drag | Rectangular node selection |
| Right click | Reset view |
| Q | Toggle between all lineages (vertical) and selected lineages (horizontal) |
| ~~W~~ | ~~Switch between lineage tree and object size plot~~ |
| ← | Select node to the left |
| → | Select node to the right |
| ↑ | Select parent node (vertical) or next lineage (horizontal) |
| ↓ | Select child node (vertical) or previous lineage (horizontal) |
#### Track Editing
| Mouse / Key binding | Action |
|-------------------|---------|
| D | Delete selected nodes |
| B | Break edge between selected nodes |
| A | Create edge between selected nodes (if valid) |
| Z | Undo last edit |
| R | Redo last edit |
## Credits 🙌
The `TrackEdit` widget structure is inspired by, and built upon, [Motile_tracker](https://github.com/funkelab/motile_tracker) (Funke lab, HHMI Janelia Research Campus)
## License 🔓
`trackedit` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.