Search for a command to run...
To update movement to the latest version, see the update guide. What's Changed ⚡️ Highlight: unified data loading interface Unify loaders by @lochhh in https://github.com/neuroinformatics-unit/movement/pull/722 Thanks to @lochhh's tireless efforts, loading poses and bounding boxes is now handled by a single entry point, movement.io.load_dataset. The new load_dataset function works for all our supported third-party formats. For example: from movement.io import load_dataset # DeepLabCut -> poses dataset ds = load_dataset("path/to/file.h5", source_software="DeepLabCut", fps=30) # SLEAP -> poses dataset ds = load_dataset("path/to/file.slp", source_software="SLEAP") # NWB -> poses dataset ds = load_dataset("path/to/file.nwb", source_software="NWB") # VGG Image Annotator tracks -> bounding boxes dataset ds = load_dataset("path/to/file.csv", source_software="VIA-tracks") Similarly, movement.io.load_multiview_dataset replaces the old movement.io.load_poses.from_multiview_files, with added support for bounding boxes: from movement.io import load_multiview_dataset # Load LightningPose pose predictions from two cameras. ds = load_multiview_dataset( {"cam1": "path/to/cam1.csv", "cam2": "path/to/cam2.csv"}, source_software="LightningPose", fps=30, ) Software-specific loaders (e.g. load_poses.from_dlc_file, load_bboxes.from_via_tracks_file) remain available for users who want full control over the loading process. [!WARNING] The following functions are deprecated and will be removed in a future release: load_poses.from_file → use load_dataset instead load_bboxes.from_file → use load_dataset instead load_poses.from_multiview_files → use load_multiview_dataset instead Migrating from deprecated functions: # Before from movement.io import load_poses, load_bboxes ds = load_poses.from_file("file.h5", source_software="DeepLabCut", fps=30) ds = load_bboxes.from_file("file.csv", source_software="VIA-tracks", fps=30) ds = load_poses.from_multiview_files( {"cam1": "cam1.csv", "cam2": "cam2.csv"}, source_software="LightningPose", fps=30, ) # After from movement.io import load_dataset, load_multiview_dataset ds = load_dataset("file.h5", source_software="DeepLabCut", fps=30) ds = load_dataset("file.csv", source_software="VIA-tracks", fps=30) ds = load_multiview_dataset( {"cam1": "cam1.csv", "cam2": "cam2.csv"}, source_software="LightningPose", fps=30, ) 🐛 Bug fixes Adapt savgol_filter for compatibility with Scipy >= 1.17 by @niksirbi in https://github.com/neuroinformatics-unit/movement/pull/761 Fix coordinate assignment for elem2 in _cdist by @HARSHDIPSAHA in https://github.com/neuroinformatics-unit/movement/pull/776 Hide _factorized properties from Points layer tooltips by @niksirbi in https://github.com/neuroinformatics-unit/movement/pull/781 🤝 Improving the contributor experience Docs: restructure contributing guide and add community cards by @ishan372or in https://github.com/neuroinformatics-unit/movement/pull/764 Add preliminary benchmarks by @sfmig in https://github.com/neuroinformatics-unit/movement/pull/772 Use tox-uv in test action by @niksirbi in https://github.com/neuroinformatics-unit/movement/pull/766 Move docs dependencies to pyproject.toml by @AlgoFoe in https://github.com/neuroinformatics-unit/movement/pull/774 📚 Documentation Fix docstring Raises formatting in LineOfInterest.normal by @AlgoFoe in https://github.com/neuroinformatics-unit/movement/pull/771 Added link to FOSDEM 2026 talk by @niksirbi in https://github.com/neuroinformatics-unit/movement/pull/797 Fix broken 404 page by @AlgoFoe in https://github.com/neuroinformatics-unit/movement/pull/785 Fix links to SLEAP analysis h5 docs by @niksirbi in https://github.com/neuroinformatics-unit/movement/pull/807 Add code snippets for verifying sample data loading by @Edu92337 in https://github.com/neuroinformatics-unit/movement/pull/759 🧹 Housekeeping Restrict sphinx version to < 9 by @niksirbi in https://github.com/neuroinformatics-unit/movement/pull/768 Unpin sphinx and pin ablog>=0.11.13 by @niksirbi in https://github.com/neuroinformatics-unit/movement/pull/811 Fix deprecated license syntax by @sfmig in https://github.com/neuroinformatics-unit/movement/pull/549 Ignore Docutils URL in linkcheck by @lochhh in https://github.com/neuroinformatics-unit/movement/pull/793 Ignore ISO URL in linkcheck by @lochhh in https://github.com/neuroinformatics-unit/movement/pull/815 Authenticate with GitHub token during linkcheck by @niksirbi in https://github.com/neuroinformatics-unit/movement/pull/800 [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in https://github.com/neuroinformatics-unit/movement/pull/795 Contributors-Readme-Action: Update contributors list by @github-actions[bot] in https://github.com/neuroinformatics-unit/movement/pull/787 Bump conda-incubator/setup-miniconda from 3.2.0 to 3.3.0 by @dependabot[bot] in https://github.com/neuroinformatics-unit/movement/pull/788 New Contributors @AlgoFoe made their first contribution in https://github.com/neuroinformatics-unit/movement/pull/771 @HARSHDIPSAHA made their first contribution in https://github.com/neuroinformatics-unit/movement/pull/776 @ishan372or made their first contribution in https://github.com/neuroinformatics-unit/movement/pull/764 @Edu92337 made their first contribution in https://github.com/neuroinformatics-unit/movement/pull/759 Full Changelog: https://github.com/neuroinformatics-unit/movement/compare/v0.13.0...v0.14.0