Releases: talmolab/sleap
SLEAP v1.3.2
SLEAP 1.3.2 adds some nice usability features thanks to both the community ideas and new contributors! See 1.3.0 and 1.3.1 for previous notable changes.
From 1.3.2+, to install SLEAP through PyPI use pip install sleap[pypi] to ensure all dependencies are gathered.
As a reminder:
The 1.3.1 dependency update requires Mamba for faster dependency resolution. If you already have anaconda installed, then you can set the solver to libmamba in the base environment:
conda update -n base conda conda install -n base conda-libmamba-solver conda config --set solver libmambaAny subsequent
mambacommands in the docs will need to be replaced withcondaif you choose to use your existing Anaconda installation.Otherwise, follow the recommended installation instruction for Mamba.
Quick install
mamba (Windows/Linux/GPU):
mamba create -y -n sleap -c conda-forge -c nvidia -c sleap -c anaconda sleap=1.3.2
mamba (Mac):
mamba create -y -n sleap -c conda-forge -c anaconda -c sleap sleap=1.3.2
pip (any OS except Apple Silicon):
pip install sleap[pypi]==1.3.2
Highlights
- Limit max tracks via track-local queues by @shrivaths16 and @talmo in #1447
- Add option to remove videos in batch by @gitttt-1234 in #1382 and #1406
- Add shortcut to export analysis for current video by @KevinZ0217 in #1414 and #1444
- Add video path and frame indices to metrics by @roomrys in #1396
- Add a button for copying model config to clipboard by @KevinZ0217 in #1433
- Add Option to Export CSV by @gitttt-1234 in #1438
Full Changelog
Enhancements
- Add option to remove videos in batch by @gitttt-1234 in #1382 and #1406
- Add
Trackwhen addInstanceby @roomrys in #1408 - Add
Videoto cache when addingTrackby @roomrys in #1407 - Add shortcut to export analysis for current video by @KevinZ0217 in #1414 and #1444
- Add video path and frame indices to metrics by @roomrys in #1396
- Improve error message for detecting video backend by @roomrys in #1441
- Add a button for copying model config to clipboard by @KevinZ0217 in #1433
- Add Option to Export CSV by @gitttt-1234 in #1438
- Limit max tracks via track-local queues by @shrivaths16 and @talmo in #1447
Fixes
- Minor fix in computation of OKS by @shrivaths16 in #1383 and #1399
- Fix
Filedialogto work across (mac)OS by @roomrys in #1393 - Fix panning bounding box by @gitttt-1234 in #1398
- Fix skeleton templates by @roomrys in #1404
- Fix labels export for json by @roomrys in #1410
- Correct GUI state emulation by @roomrys in #1422
- Update status message on status bar by @shrivaths16 in #1411
- Fix error thrown when last video is deleted by @shrivaths16 in #1421
- Add model folder to the unzip path by @roomrys in #1445
- Fix drag and drop by @talmo in #1449
Dependencies
New Contributors
- @shrivaths16 made their first contribution in #1383
- @gitttt-1234 made their first contribution in #1382
- @KevinZ0217 made their first contribution in #1414
Full Changelog: v1.3.1...v1.3.2
SLEAP v1.3.1
After the massive 1.3.0 release, SLEAP 1.3.1 underwent a much needed dependency and build update. SLEAP 1.3.1 has conda packages for Mac OS X and Apple Silicon 🎉. In terms of features, 1.3.1 has just a few small upgrades/fixes. Be sure to check back in for bigger features still in the works! 🚧 🔨 👀
The 1.3.1 dependency update requires Mamba for faster dependency resolution. If you already have anaconda installed, then you can install Mamba in the base environment:
conda install mamba -n base -c conda-forgeOtherwise, follow the recommended installation instruction for Mamba.
Quick install
mamba (Windows/Linux/GPU):
mamba create -y -n sleap -c conda-forge -c nvidia -c sleap -c anaconda sleap=1.3.1
mamba (Mac):
mamba create -y -n sleap -c conda-forge -c anaconda -c sleap sleap=1.3.1
pip (any OS except Apple Silicon):
pip install sleap==1.3.1
Highlights
- Update environment creation by @roomrys in #1366
- Add
--max_instancestosleap-trackand GUI by @roomrys in #1305 - Increase GUI crop size range from 512 to 832 by @roomrys in #1295
- Allow returning PAF graph during low level inference by @calebweinreb in #1329
- Fix GUI resume training by @roomrys in #1314
- Fixes GPU memory polling using environment variable filtering by @ericleonardis in #1272
Full Changelog
Enhancements
- Centralize video extensions by @talmo in #1244
- Organize docks by @roomrys in #1265
- Increase GUI crop size range from 512 to 832 by @roomrys in #1295
- Add
--max_instancestosleap-trackand GUI by @roomrys in #1305 - Allow returning PAF graph during low level inference by @calebweinreb in #1329
Fixes
- Disable data caching by default for SingleImageVideos by @talmo in #1243
- Fix single frame GUI increment by @roomrys in #1254
- Fix conversion to numpy array when last frame(s) do not have labels by @talmo in #1307
- Ensure frames to predict list is unique by @roomrys in #1293
- Fix GUI resume training by @roomrys in #1314
- Do not choose
top_kinstances ifmax_instances< num centroids by @roomrys in #1313 - Remove
--labelsand redundantdata_pathby @roomrys in #1326 - Create copy of config info to modify (gui) by @roomrys in #1325
- Fixes GPU memory polling using environment variable filtering by @ericleonardis in #1272
- Set
split_by_inds,test_labels, andvalidation_labelsto default (GUI) by @roomrys in #1331 - Fix (remove)
SingleImageVideocaching by @roomrys in #1330
Dependencies
New Contributors
- @ericleonardis made their first contribution in #1272
- @calebweinreb made their first contribution in #1329
Full Changelog: v1.3.0...v1.3.1
SLEAP v1.3.0
For 1.3.0 we want to give our users some cool new features worth upgrading for! This release includes a many enhancements we hope our users will enjoy as well as its fair share of bug fixes.
Quick install
conda (Windows/Linux/GPU):
conda create -y -n sleap -c sleap -c nvidia -c conda-forge sleap=1.3.0
pip (any OS except Apple Silicon):
pip install sleap==1.3.0
What's Changed
Highlights
- Added scaling functionality for both the instances and bounding box. by @sean-afshar in #1133
- Add Skeleton Templates by @aaprasad in #1122
- Resumable Training by @jimzers in #1130
- Tracking: robust assignment of the best score to an instance by @getzze in #1062
- Set max instances for top down models by @sheridana in #1070
- Flexibly resize input layer of
tf.keras.Modelupon loading trained model by @roomrys in #1084 - GUI Training: Use hidden params from loaded config by @roomrys in #1053
- Nix export of tracking results by @jgrewe in #1068
- Expose MoveNet to the Inference GUI by @sheridana in #1190
- Add option to "Add Videos..." from single image files by @eberrigan in #1183
- Add GUI and API option to remove unused tracks by @roomrys in #1210
- Add instance and track copy/pasting by @talmo in #1206
- Expose supervised ID models to GUI by @sheridana in #1213
- Ensure data format compatibility by @roomrys in #1222
Full Changelog
Documentation
- Change 'M1' to 'Apple Silicon' by @roomrys in #1188
- Update the Documentation badge by @roomrys in #1211
Enhancements
- GUI Training: Use hidden params from loaded config by @roomrys in #1053
- Add optional unragging arg to model export by @sheridana in #1054
- Tracking: robust assignment of the best score to an instance by @getzze in #1062
- Set max instances for top down models by @sheridana in #1070
- Flexibly resize input layer of
tf.keras.Modelupon loading trained model by @roomrys in #1084 - Add Option to Make Trail Shade Darker/Lighter by @roomrys in #1103
- Nix export of tracking results by @jgrewe in #1068
- Added scaling functionality for both the instances and bounding box. by @sean-afshar in #1133
- Add better error message for top down by @roomrys in #1121
- Add central padding to SizeMatcher by @jiayinghsu in #1129
- Added MoveNet as an external model reference by @jiayinghsu in #1141
- Resumable Training by @jimzers in #1130
- GenericTableModel/View improvements by @jgrewe in #1163
- Add Skeleton Templates by @aaprasad in #1122
- Add better error message for top down by @roomrys in #1121
- Add option of 2 for marker size by @roomrys in #1205
- Support new DLC multi-animal configs by @roomrys in #1204
- Expose MoveNet to the Inference GUI by @sheridana in #1190
- Add option to "Add Videos..." from single image files by @eberrigan in #1183
- Add GUI and API option to remove unused tracks by @roomrys in #1210
- Add instance and track copy/pasting by @talmo in #1206
- Expose supervised ID models to GUI by @sheridana in #1213
- Toggle grayscale of all videos using "Toggle Grayscale" button by @roomrys in #1215
Fixes
- Fix config option to
split_by_indsby @roomrys in #1060 - Don't create instances during inference if no points were found by @talmo in #1073
- Add one-line fix to VideoWriterSkyvideo by @roomrys in #1082
- Fix parser for sleap-export by @roomrys in #1085
- Refactor commands to load project as
AppCommands by @roomrys in #1098 - Create signal that updates plot instead of removing and replotting items by @roomrys in #1134
- Fix symmetric skeletons (via table input) by @roomrys in #1136
- Fix body vs symmetry subgraph filtering by @talmo in #1142
- Handle changing backbones in training editor GUI by @talmo in #1140
- Hotfix for video save #1098 by @roomrys in #1148
- Update no-cuda-env to fix pillow errors by @roomrys in #1201
- Fix environment.yml by @talmo in #1202
- Fix typo in
Skeleton.__repr__by @roomrys in #1200 - Split trainer cli function into two functions by @roomrys in #1197
- Threaded inference by @talmo in #1203
- Emit the signals to reset table views when data is empty by @talmo in #1207
- Ensure data format compatibility by @roomrys in #1222
New Contributors
- @jgrewe made their first contribution in #1068
- @sean-afshar made their first contribution in #1133
- @eberrigan made their first contribution in #1183
Full Changelog: v1.2.9...v1.3.0
SLEAP v1.3.0a0
Pre-release of SLEAP v1.3.0.
For 1.3.0 we want to give our users some cool new features worth upgrading for! This pre-release includes lots of enhancements and it's fair share of bug fixes.
Warning: This is a pre-release! Expect bugs and strange behavior when testing.
Quick install
conda (Windows/Linux/GPU):
conda create -y -n sleap -c sleap -c sleap/label/dev -c nvidia -c conda-forge sleap=1.3.0a0
pip (any OS except Apple Silicon):
pip install sleap==1.3.0a0
Highlights
- Added scaling functionality for both the instances and bounding box. by @sean-afshar in #1133
- Add Skeleton Templates by @aaprasad in #1122
- Resumable Training by @jimzers in #1130
- Tracking: robust assignment of the best score to an instance by @getzze in #1062
- Set max instances for top down models by @sheridana in #1070
- Flexibly resize input layer of
tf.keras.Modelupon loading trained model by @roomrys in #1084 - GUI Training: Use hidden params from loaded config by @roomrys in #1053
- Nix export of tracking results by @jgrewe in #1068
Full changelog
Documentation
Enhancements
- GUI Training: Use hidden params from loaded config by @roomrys in #1053
- Add optional unragging arg to model export by @sheridana in #1054
- Tracking: robust assignment of the best score to an instance by @getzze in #1062
- Set max instances for top down models by @sheridana in #1070
- Flexibly resize input layer of
tf.keras.Modelupon loading trained model by @roomrys in #1084 - Add Option to Make Trail Shade Darker/Lighter by @roomrys in #1103
- Nix export of tracking results by @jgrewe in #1068
- Added scaling functionality for both the instances and bounding box. by @sean-afshar in #1133
- Add better error message for top down by @roomrys in #1121
- Add central padding to SizeMatcher by @jiayinghsu in #1129
- Added MoveNet as an external model reference by @jiayinghsu in #1141
- Resumable Training by @jimzers in #1130
- GenericTableModel/View improvements by @jgrewe in #1163
- Add Skeleton Templates by @aaprasad in #1122
- Add better error message for top down by @roomrys in #1121
Fixes
- Fix config option to
split_by_indsby @roomrys in #1060 - Don't create instances during inference if no points were found by @talmo in #1073
- Add one-line fix to VideoWriterSkyvideo by @roomrys in #1082
- Fix parser for sleap-export by @roomrys in #1085
- Refactor commands to load project as
AppCommands by @roomrys in #1098 - Create signal that updates plot instead of removing and replotting items by @roomrys in #1134
- Fix symmetric skeletons (via table input) by @roomrys in #1136
- Fix body vs symmetry subgraph filtering by @talmo in #1142
- Handle changing backbones in training editor GUI by @talmo in #1140
- Hotfix for video save #1098 by @roomrys in #1148
New Contributors
- @jgrewe made their first contribution in #1068
- @sean-afshar made their first contribution in #1133
SLEAP v1.2.9
Stable release of SLEAP v1.2.9. This release has lots of bug fixes, a few GUI enhancements, and one CLI fix.
See the release notes for v1.2.0, v1.2.1, v1.2.2, v1.2.7 for previous major changes.
Quick install
conda (Windows/Linux/GPU):
conda create -y -n sleap -c sleap -c nvidia -c conda-forge sleap=1.2.9
pip (any OS):
pip install sleap==1.2.9
See the Installation page in the docs for more info.
Highlights
- Prefer user instances when calling Labels.numpy() (#996)
- Add upper limit of the instance count in prediction score labeling suggestion method (#981)
- Add more options to render video: wedges, palette, and distinctly color (#998)
- Always draw user instances even if all nodes marked as not visible (#1002)
- Add frame chunk method in labeling suggestions (#1007)
Full changelog
Documentation
Enhancements
- Prefer user instances when calling Labels.numpy() (#996)
- Add more options to render video: wedges, palette, and distinctly color (#998)
- Add upper limit of the instance count in prediction score labeling suggestion method (#981)
- Speed-up cache for multi-video projects (#1017)
- Increase max number for target instances in simple tracker form (#1037)
- Share usage data #1038
- Add frame chunk method in labeling suggestions (#1007)
Fixes
- Fix printing of auto-selected GPU free memory (#955)
- Fix add suggestions when target is current video (#956)
- Fix
sleap-exportcli arg parsing (#962) - Fix cattr in Python 3.9 (#967)
- Fix editing track name clears the old entry on double-click (#980)
- Prune saved shifted instances (#1001)
- Update suggestions upon video removal (#1009)
- Correctly add .h5 extension to analysis files on Linux (#1010)
- GUI Table: Do not set item value if same as current value (#1022)
- Always draw user instances even if all nodes marked as not visible (#1002)
- Shifted instances: make sure ref_instances is not empty (#1029)
- Trails prefer user instances over predicted (#1036)
SLEAP v1.2.8
Stable release of SLEAP v1.2.8. This release is a hotfix for a couple of issues in v1.2.7.
See the release notes for v1.2.0, v1.2.1, v1.2.2, v1.2.7 for previous major changes.
Quick install
conda (Windows/Linux/GPU):
conda create -y -n sleap -c sleap -c nvidia -c conda-forge sleap=1.2.8
pip (any OS):
pip install sleap==1.2.8
See the Installation page in the docs for more info.
Full changelog
Fixes
SLEAP v1.2.7
Stable release of SLEAP v1.2.7. This release merges the m1 branch with the main branch along with the usual bug fixes, new feature enhancements, and documentation updates.
See the release notes for v1.2.0, v1.2.1, and v1.2.2 for previous major changes.
Quick install
conda (Windows/Linux/GPU):
conda create -y -n sleap -c sleap -c nvidia -c conda-forge sleap=1.2.7
pip (any OS):
pip install sleap==1.2.7
See the Installation page in the docs for more info.
Highlights
- M1 Mac support (#886)
- Fix shifted predictions on multi-resolution projects (#902)
- Add GPU Memory Polling Function (#911)
- Run sleap-track on video using index (#920)
Full changelog
Documentation
- Add more documentation for nwb extension (#861)
- Add conda downloads badge to README (#869)
- Update link to contributing guideline
- Update CLA
Enhancements
- Integrate retracking into sleap-track (#898)
- M1 Mac support (#886)
- Run sleap-track on video using index (#920)
- Use saved optical flow to use only on adjacent frames (#870)
- Modify inference and centroid model to allow Bonsai ingestion (#850)
- Append Unique Suggestions (#874)
- Add GPU Memory Polling Function (#911)
Fixes
- Add new track to linked predicted instance (#879)
- Edit CI workflow to run on forked PRs
- Fix naming convention for sleap-convert (#881)
- Fix cropping when rendering video (#842)
- Fix shifted predictions on multi-resolution projects (#902)
- Redraw plot to update trails after moving node (#910)
- Force node to be placed w/in video (#912)
SLEAP v1.2.6
Stable release of SLEAP v1.2.6. This release is a hotfix for a conda packaging issue introduced in v1.2.5.
See the release notes for v1.2.0, v1.2.1, v1.2.2, v1.2.3, v1.2.4, v1.2.5 for previous major changes.
Quick install
conda (Windows/Linux/GPU):
conda create -y -n sleap -c sleap -c nvidia -c conda-forge sleap=1.2.6
pip (any OS):
pip install sleap==1.2.6
See the Installation page in the docs for more info.
Highlights
N/A
Full changelog
Documentation
N/A
Enhancements
N/A
Fixes
- Fix conda packaging for
pynwbandndx-pose(#860)
SLEAP v1.2.5
Stable release of SLEAP v1.2.5. This release contains an adaptor for reading/writing NWB Files using ndx-pose, some bug fixes, and minor documentation update.
See the release notes for v1.2.0, v1.2.1, and v1.2.2 for previous major changes.
Quick install
conda (Windows/Linux/GPU):
conda create -y -n sleap -c sleap -c nvidia -c conda-forge sleap=1.2.5
pip (any OS):
pip install sleap==1.2.5
See the Installation page in the docs for more info.
Highlights
Add read/write adaptor for ndx-pose (#835, #845)
Full changelog
Documentation
Update assisted-labeling docs, installation docs, and environment_no_cuda.yml (#847)
Enhancements
Add read/write adaptor for ndx-pose (#835, #845)
Expose attributes of NWBFile and create Labels API for exporting to NWB (#855)
Fixes
Change existing skeleton to match loaded skeleton (#840)
Recalculate crop size if user-specified crop size indivisible by max stride (#841)
SLEAP v1.2.4
Stable release of SLEAP v1.2.4. This release contains some bug fixes, new feature enhancements, and documentation updates.
See the release notes for v1.2.0, v1.2.1, and v1.2.2 for previous major changes.
Quick install
conda (Windows/Linux/GPU):
conda create -y -n sleap -c sleap -c nvidia -c conda-forge sleap=1.2.4
pip (any OS):
pip install sleap==1.2.4
See the Installation page in the docs for more info.
Highlights
- Add option to predict on all videos (#749)
- Add dropdown to choose video to generate suggestions on (#786)
- Add button to toggle grayscale of current video (#788)
Full changelog
Documentation
- Add links to discussion (#748)
- Contributing Guide, Code of Conduct, and Issues Template (#746)
- Update tracking docs (#761)
Enhancements
- Add option to predict on all videos (#749)
- Create multiple analysis files for multi-video projects (#768)
- Add button to toggle grayscale of current video (#788)
- Choose video to generate suggestions (#786)
- Add CLI sleap-render command to render videos (#796)
- Allow user to set grayscale when replacing videos (mp4/avi only) (#787)
- Support grayscale for SingleImageVideo backend (#789)