Releases: NsquaredLab/MyoVerse
Releases · NsquaredLab/MyoVerse
v2.0.0
Breaking Changes
- Transform System: Complete refactor to PyTorch named tensors for GPU acceleration. Transforms now use
('channel', 'time')or('batch', 'channel', 'time')tensor conventions - Dataset Architecture: Refactored datasets module with layered architecture (
WindowedDataset,DataModule,DatasetCreator) - Models Restructure: Flattened model hierarchy from 4 levels to 2 (
models/raul_net/v16.py). Removed deprecated models (V1, V4, V9 variants, classification), removed online/offline distinction - Datatypes Package: Split
datatypes.pyinto organized package structure - Storage Format: Enforced
.zipformat for datasets, removed GPU Direct Storage support
Added
SlidingWindowTransformbase class for consistent transform implementations- MLflow experiment tracking and visualization (
myoverse/tracking.py) - RAM caching and multiprocessing support in
ContinuousDataset - Lazy dataloader initialization for faster startup
- Cache pre-loading in main process before spawning workers
- Nested dataset storage structure (split/modality/task)
ZipStorefor faster dataset I/O on Windowspy.typedmarker for PEP 561 compliance
Changed
- Lazy import of heavy dependencies in datasets module for faster imports
- Modernized codebase to Python 3.12+ type hints and modern
super()calls - Ran ruff format across entire codebase
- Removed graph visualization from
_Dataclass - Removed Rich auto-coloring of numbers and text for cleaner output
- Moved
emg_xarrayandemg_tensorto datatypes module
Removed
- Unused
utilsmodule tests/workflow.py- icecream dependency
- Deprecated model variants (V1, V4, V9, classification models)
- GPU Direct Storage (GDS) support
Fixed
- MedianFilter padding
- Tests updated to match simplified
_DataAPI
Full Changelog: v1.1.6...v2.0.0
v1.1.6
Added
- GitHub Actions workflow for automated PyPI publishing using trusted publishing
Changed
- Fixed numcodecs dependency specification to
>=0.13.0,<0.16to avoidcbuffer_sizesimport errors - Renamed
__add_data_to_datasetto_add_data_to_datasetin EMGDataset to fix Sphinx documentation generation
Fixed
- Resolved Sphinx autosummary import error caused by Python name mangling of double-underscore methods
Full Changelog: v1.1.5...v1.1.6
v1.1.5
Changed
- Fixed numba dependency specification from
<=0.61.0to>=0.61.0for improved compatibility - Updated documentation structure with enhanced README in docs/source
- Updated dependency lock file (uv.lock) to reflect current dependencies
Added
- .gitignore entry for version_* files to prevent tracking temporary version files
Full Changelog: v1.1.4...v1.1.5
v1.1.4
Added
- Added description to pyproject.toml
Changed
- Version bump from 1.1.3 to 1.1.4
Full Changelog: v1.1.3...v1.1.4
v1.1.3
Added
- Package
__version__attribute inmyoverse/__init__.pythat dynamically reads from pyproject.toml - Version number included in logging timestamp prefix
Changed
- PyPI compatible dependency specifications for PyTorch with separate configurations for Linux and Windows
- Updated installation instructions in README for clarity on platform-specific PyTorch installations
- Enhanced GitHub links in project.urls section
Full Changelog: v1.1.2...v1.1.3
v1.1.2
Changed
- Updated README logo URL to use raw GitHub link for better cross-platform compatibility
- Revised Lightning to version 2.5.0.post0
- Removed PyQt5 and related packages from development dependencies
- Streamlined dependency list while maintaining compatibility
Full Changelog: v1.1.1...v1.1.2
v1.1.1
Changed
- Removed unnecessary string handling in
EMGDatasetclass - Mean and standard deviation are no longer nn.Parameter objects in
RaulNetV17model. They should have been regular tensors - Fix version of
lightningto 2.5.0.post0 inpyproject.tomlto avoid bug withmlflowintegration
Full Changelog: v1.1.0...v1.1.1
v1.1.0
Added
- RaulNetV17 model for decoding kinematics from EMG data
- Workflow module for EMG data processing, model training, and result visualization
- New reStructuredText files for data types and functions documentation
- Unit tests for EMG data augmentation filters and default datasets
Changed
- Refactored code for improved readability and consistency in optimizer configuration, visualization functions, and data class initializations
- Updated test data class to include dimensions when unchunked
- Downgraded zarr version from 3 to 2 in loader and supervised modules
- Refactored optimizer configuration and updated ground truth handling in training steps
- Refactored EMG and kinematics data classes to include dimensions when unchunked and streamlined chunk checking logic
- Enhanced kinematics visualization with interactive features and improved styling
- Updated zarr version and added mlflow and pyqt5 dependencies
- Renamed
AveragingSpatialFiltertoApplyFunctionSpatialFilterin documentation - Refactored spatial filters simplifying parameters and type hints
- Refactored
SOSFrequencyFilterfor easier usability - Enhanced grid layout documentation and validation in
EMGDataclass
Removed
ElectrodeSelectorandGridReshaperfilters mentioned in documentation- Unnecessary spatial filters
Full Changelog: v1.0.0...v1.1.0
v1.0.0
Added
- Examples for documentation
- Sections for Filters and Tutorials in README
- Example scripts for training models and dataset creation
- Enhanced documentation structure with autosummary for datasets and filters
- Unit tests for core functionality
Changed
- Bump version to 1.0.0 and add pydata-sphinx-theme dependency
- Updated model definitions to indicate archival status
- Replaced pytorch_lightning with lightning
- Enhanced documentation for VirtualHandKinematics class by adding reference to MyoGestic
- Refactored activation function documentation and improved loss calculation formatting
- Enhanced dataset creation and loading by improving EMG dataset handling
- Added empty data checks and refined augmentation pipelines
- Refactored dataset creation with new CustomDataClass
- Enhanced EMG dataset loading to support Zarr files with improved validation
- Enhanced filter configurations by adding input_is_chunked parameter
- Improved EMGAugmentation class with additional parameters and better documentation
- Improved spatial filter API
- Enhanced filter methods to accept additional keyword arguments
- Enhanced layout algorithm for EMG visualizations with topological sorting and improved node positioning
Full Changelog: v0.1.0...v1.0.0