Skip to content
Merged
Show file tree
Hide file tree
Changes from 59 commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
778d763
feat: several fixes to config yml overwrite and add feat
MilagrosMarin Aug 26, 2025
558b6f5
Update CHANGELOG and bump version
MilagrosMarin Aug 26, 2025
442a718
update CHANGELOG
MilagrosMarin Aug 26, 2025
fc68fa0
refactor:`Inference` paths
MilagrosMarin Sep 4, 2025
e10b771
feat(VideoFile): add new attributes for downstream statistics
MilagrosMarin Sep 4, 2025
2ded339
feat(PCATask): add new attribute and update docstrings
MilagrosMarin Sep 4, 2025
cbe4944
docs(PreProcessing): update docstrings
MilagrosMarin Sep 4, 2025
aa28e67
feat(PreProcessing): add computation of FPS and video duration
MilagrosMarin Sep 4, 2025
3982816
docs(PCAFit): update docstring
MilagrosMarin Sep 4, 2025
57d5117
docs(LatentDimension): udpate docstring
MilagrosMarin Sep 4, 2025
3e0c60a
docs(PreFitTask, PreFit): update docstrings
MilagrosMarin Sep 4, 2025
5bbdd4f
feat(PreFit): add `estimate_sigmasq_loc` from the latest KPMS version
MilagrosMarin Sep 4, 2025
185e78d
fix(PreFit): change folder name to match primary attributes instead o…
MilagrosMarin Sep 4, 2025
5a0c254
docs(FullFitTask): update docstring
MilagrosMarin Sep 4, 2025
742249d
docs(FullFit): udpate docstrings
MilagrosMarin Sep 4, 2025
76015c3
feat(FullFit): add `estimate_sigmasq_loc` from the latest version of …
MilagrosMarin Sep 4, 2025
b343e1c
fix(FullFit): update folder name to primary attributes instead of dat…
MilagrosMarin Sep 4, 2025
b2d2013
docs(SelectedFullFit): update docstring
MilagrosMarin Sep 4, 2025
bbd3a01
fix(devcontainer): update Dockerfile, update python version for KPMS …
MilagrosMarin Sep 4, 2025
9bcf9a3
feat(pyproject): update version of KPMS from 0.4.8 to the latest vers…
MilagrosMarin Sep 4, 2025
e8e51f1
update CHANGELOG
MilagrosMarin Sep 4, 2025
317c51a
update CHANGELOG
MilagrosMarin Sep 4, 2025
911546f
fix(pyproject): update version
MilagrosMarin Sep 4, 2025
3f782b7
Minor update to attribute defaults
MilagrosMarin Sep 4, 2025
0684a29
fix model_name_str
MilagrosMarin Sep 4, 2025
0650b36
review: update filename to `conda_env.yml`
MilagrosMarin Sep 9, 2025
cc50492
feat: add `report` schema
MilagrosMarin Sep 9, 2025
6961f1e
review: apply suggestions to `moseq_train`
MilagrosMarin Sep 9, 2025
fcd29ee
refactor(moseq_infer)
MilagrosMarin Sep 9, 2025
5d8f036
feat(plotting): move and refactor `viz_utils`
MilagrosMarin Sep 9, 2025
0259b3a
refactor(kpms_reader)
MilagrosMarin Sep 9, 2025
9e8bb3e
update(tutorial_pipeline)
MilagrosMarin Sep 9, 2025
25b427f
minor fix in viz_utils
MilagrosMarin Sep 9, 2025
0a46a63
update images
MilagrosMarin Sep 9, 2025
cca9f4d
update CHANGELOG
MilagrosMarin Sep 9, 2025
422c2bd
updated `model_name` varchar from 100 to 1000
MilagrosMarin Sep 9, 2025
5b5d305
update(report): new funciton name for `load_kpms_dj_config`
MilagrosMarin Sep 9, 2025
cfe7de7
refactor(PreProcessing): remove redundancy of variables
MilagrosMarin Sep 10, 2025
a067ce9
update docstrings
MilagrosMarin Sep 10, 2025
8d1ff5d
docs(moseq_train)
MilagrosMarin Sep 10, 2025
9e37ca9
refactor(moseq_infer): apply 3-part make function and update docstrings
MilagrosMarin Sep 10, 2025
ebba3e7
Update element_moseq/readers/kpms_reader.py
MilagrosMarin Sep 10, 2025
7dfc208
udpate CHANGELOG and bump version to 1.0.0 instead and according to a…
MilagrosMarin Sep 10, 2025
b34404b
minor refactor in PreProcessing
MilagrosMarin Sep 10, 2025
e5f279b
update docstrings in kpms_reader
MilagrosMarin Sep 10, 2025
d7f503b
update CHANGELOG
MilagrosMarin Sep 10, 2025
2603729
Update element_moseq/report.py
MilagrosMarin Sep 15, 2025
ec6ad58
from `report` to `moseq_report` and refactor path exists
MilagrosMarin Sep 16, 2025
70210fa
reafactor `inference`
MilagrosMarin Sep 16, 2025
e837f34
update CHANGELOG
MilagrosMarin Sep 16, 2025
4dc17e4
Merge remote-tracking branch 'refs/remotes/origin/feat_outliers_remov…
MilagrosMarin Sep 16, 2025
684ebe6
update tutorial_pipeline
MilagrosMarin Sep 16, 2025
2954d51
black formatting in `tutorial_pipeline`
MilagrosMarin Sep 16, 2025
ddf2eea
refactor(inference): from `insert` to `insert1` in a loop to prevent …
MilagrosMarin Sep 16, 2025
971fd38
refactor(inference): rename attributes `file_h5` and `file_csv`
MilagrosMarin Sep 16, 2025
5c5b8e3
update docstring in inference
MilagrosMarin Sep 16, 2025
8864be2
update `images`
MilagrosMarin Sep 16, 2025
4cb957c
minor fix
MilagrosMarin Sep 16, 2025
547e124
fix(inference): add `overwrite=True` in `apply_model` to better handl…
MilagrosMarin Sep 16, 2025
468b817
Update element_moseq/moseq_train.py
MilagrosMarin Sep 16, 2025
01e9fe2
Update element_moseq/moseq_report.py
MilagrosMarin Sep 16, 2025
c2f7bbc
Update element_moseq/moseq_report.py
MilagrosMarin Sep 16, 2025
59d5728
Merge branch 'datajoint:main' into feat_outliers_removal
MilagrosMarin Sep 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 12 additions & 17 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
FROM python:3.9-slim@sha256:5f0192a4f58a6ce99f732fe05e3b3d00f12ae62e183886bca3ebe3d202686c7f
ARG PY_VER=3.11
ARG DISTRO=bullseye
FROM mcr.microsoft.com/devcontainers/python:${PY_VER}-${DISTRO}

ENV PATH /usr/local/bin:$PATH
ENV PYTHON_VERSION 3.9.17
# Avoid warnings by switching to noninteractive
ENV DEBIAN_FRONTEND=noninteractive

USER root

RUN \
adduser --system --disabled-password --shell /bin/bash vscode && \
# install docker
apt-get update && \
apt-get install ca-certificates curl gnupg lsb-release -y && \
Expand All @@ -31,27 +34,19 @@ COPY ./ /tmp/element-moseq/

RUN \
# pipeline dependencies
apt-get update && \
apt-get install -y gcc ffmpeg graphviz && \
pip install ipywidgets && \
pip install --no-cache-dir -e /tmp/element-moseq[kpms,elements,tests] && \
apt-get install gcc g++ ffmpeg libsm6 libxext6 -y && \
pip install --no-cache-dir -e /tmp/element-moseq[elements,tests] && \
# clean up
rm -rf /tmp/element-moseq/ && \
rm -rf /tmp/element-moseq && \
apt-get clean

# Install CPU version for KPMS
RUN pip install "jax[cpu]==0.3.22" -f https://storage.googleapis.com/jax-releases/jax_releases.html

ENV DJ_HOST fakeservices.datajoint.io
ENV DJ_USER root
ENV DJ_PASS simple

ENV DATA_MOUNTPOINT /workspaces/element-moseq/example_data
ENV KPMS_ROOT_DATA_DIR $DATA_MOUNTPOINT/inbox
ENV KPMS_PROCESSED_DATA_DIR $DATA_MOUNTPOINT/outbox
ENV KPMS_ROOT_DATA_DIR /workspaces/element-moseq/example_data
ENV DATABASE_PREFIX neuro_

USER vscode
CMD bash -c "sudo rm /var/run/docker.pid; sudo dockerd"

ENV LD_LIBRARY_PATH="/lib:/opt/conda/lib"
CMD bash -c "sudo rm /var/run/docker.pid; sudo dockerd"
33 changes: 33 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,39 @@
Observes [Semantic Versioning](https://semver.org/spec/v2.0.0.html) standard and
[Keep a Changelog](https://keepachangelog.com/en/1.0.0/) convention.

## [1.0.0] - 2025-09-10

> **BREAKING CHANGES** - This version contains breaking changes due to keypoint-moseq upgrade and API refactoring. Please review the changes below and update your code accordingly.

### Breaking Changes
+ **BREAKING**: Upgrade keypoint-moseq from pinned 0.4.8 version to the latest version from source with breaking changes adding new features that are not compatible with the previous kpms versions
+ **BREAKING**: Rename `kpms_reader` functions to generate, load, and update kpms config files
+ **BREAKING**: Rename `PCAPrep` to `PreProcessing` table and add new attributes
+ **BREAKING**: Add feature to remove outlier keypoints in `PreProcessing` table with new `outlier_scale_factor` attribute in `PCATask`, only available in latest version of kpms
+ **BREAKING**: Add `sigmasq_loc` feature in `PreFit` and `FullFit` to automatically estimate sigmasq_loc (prior controlling the centroid movement across frames), only available in latest version of kpms

### New Features and Fixes
+ Feat - Add support to load from both DLC `config.yml` and `config.yaml` file extensions
+ Feat - Add new `mosesq_report` schema with comprehensive reporting capabilities
+ Feat - Refactor `PreProcessing` table to use 3-part make function, add a new `Video` part table, and add new attributes `video_duration`, `frame_rate` and `average_frame_rate` to store these new computations
+ Feat - Move and refactor `viz_utils` into new `plotting` module
+ Feat - Update `model_name` varchar and folder naming
+ Feat - Migrate from `setup.py` to `pyproject.toml` and `conda_env.yml` for modern Python packaging standards
+ Fix - Update devcontainer to use Python 3.11 and upgrade dependencies
+ Fix - Remove JAX dependencies from `pyproject.toml`
+ Fix - Update pre-commit hooks for improved linting and consistency
+ Fix - Correct generation of `kpms_dj_config.yml` and refactor `moseq_train` and `moseq_infer` to use the renamed functions
+ Fix - Refactor `moseq_infer` and `moseq_train`, and implement a three-part make function in the most resource-intensive functions
+ Fix - Update folder naming logic to use string of combined primary attributes instead of datetime in `PreFit` and `FullFit`
+ Fix - Improve path and directory handling using `Path` objects and robust existence checks
+ Fix - Remove redundancy of variables in `PreProcessing` table
+ Fix - Update deprecated datetime usage
+ Fix - Fix filename generation in `Inference` table
+ Fix - Bugfix in `Model` imported foreign key
+ Fix - Update tutorial_pipeline
+ Add - Update docstrings across all modules
+ Add - Update pipeline images to reflect new architecture

## [0.3.2] - 2025-08-25
+ Feat - modernize packaging and environment management migrating from `setup.py` to `pyproject.toml`and `env.yml`
+ Fix - JAX compatibility issues
Expand Down
File renamed without changes.
Loading