Releases: dattalab/keypoint-moseq
Keypoint MoSeq 0.5.2
Keypoint MoSeq 0.5.1
- Refactored installation to remove backwards compatibility with CUDA11 - CUDA12 is now the only option.
- Removed conda environment yaml files - installation should now happen only with pip. Installation instructions here: https://github.com/dattalab/keypoint-moseq/blob/main/docs/source/install.rst
- Keypoint-moseq now requires python 3.10 or greater instead of python 3.9 or greater.
What's Changed
- setup.cfg updated to match jax-moseq's refactored installation by @JRJacoby in #200
- Installation documentation was updated to match the new setup.cfg by @JRJacoby in #200
Keypoint MoSeq 0.5.0
- Refactored installation to work with CUDA12 and any jax version. Installation pathways for different setups are described here https://github.com/dattalab/keypoint-moseq/blob/main/docs/source/install.rst
- Bug fix related to video extensions
- Other small tweaks to docs
What's Changed
- pass video_extension in calibration by @calebweinreb in #175
Full Changelog: 0.4.10...0.5.0
Keypoint MoSeq 0.4.10
What's Changed
- refactored downsampling and added trimming options by @calebweinreb in #172
New downsampling/trimming API documented here: https://keypoint-moseq.readthedocs.io/en/latest/advanced.html#temporal-downsampling
Full Changelog: 0.4.9...0.4.10
Keypoint MoSeq 0.4.9
What's Changed
- try except in keypoint loader reraises exception by @calebweinreb in #162
- correct processing of axis order from sleap_io.Labels.numpy() by @calebweinreb in #163
Full Changelog: 0.4.8...0.4.9
Keypoint MoSeq 0.4.8
- Added support for DANNCE
- Updated link to keypoint moseq paper
Full Changelog: 0.4.7...0.4.8
Keypoint MoSeq 0.4.7
Pin etils and scipy versions
Keypoint MoSeq 0.4.6
What's Changed
- fix: fixing running kruskal wallis and plotting sig syllables by @versey-sherry in #137
- Analysis fix by @versey-sherry in #144
- merge dev into main by @versey-sherry in #145
- Better error catching + change default iters for apply_model by @calebweinreb in #146
Full Changelog: 0.4.5...0.4.6
Keypoint MoSeq 0.4.5
Added FreiPose loader and function for saving keypoints.
Loading keypoints from FreiPose
To load keypoints output by FreiPose, use:
coordinates, confidences, bodyparts = kpms.load_keypoints(filepath_pattern, "freipose")
Note that confidences
is set uniformly to 1, since the FreiPose scores range from <0 to >1 and therefore can't be used for modeling. Also bodyparts
is None because these are not stored in the FreiPose output.
Initializing a config from FreiPose
Its also possible to setup a kpms config using a FreiPose config:
kpms.setup_project('test', freipose_config="path/to/skeleton_config.cfg.json")
The FreiPose config will be used to populate "bodyparts", "use_bodyparts" and "skeleton" in the kpms config. In some cases, the FreiPose skeleton may use a pair of keypoints to define one end of a limb. In FreiPose, this is used to indicate a limb midpoint. Since the same option is not available in kpms, the first bodypart in the pair is selected as the end of the limb.
Export keypoints
A new convenience function has been added for exporting keypoints:
kpms.save_keypoints(save_dir, coordinates, confidences=confidences, bodyparts=bodyparts)
One csv file is saved for each recording in coordinates
. Each row in the csv corresponds to one frame and the columns are named
"BODYPART1_x", "BODYPART1_y", "BODYPART1_conf", "BODYPART2_x", ...
Columns with confidence scores are ommitted if confidences
is not provided. Besides confidences, there can be 2 or 3 columns for each bodypart, depending on whether the keypoints are 2D or 3D.
Keypoint MoSeq 0.4.4
Added support for loading DLC files with unique bodyparts