Releases: LaubachLab/i-rocket
0.6.1: Update interp_rocket.py
Fixed version number in interp_rocket.py; no other changes
v0.6: LFP extensions, revised demos, interp_rocket updates
v0.6: LFP extensions, revised demos, interp_rocket updates
New:
- lfp_tools module in extensions/ for event-aligned LFP analysis (Hilbert-based ERSP and PPC; PSD and PAC via tensorpac integration; EMD-based PSD via EMD integration)
- LFP demo notebook with Amarante et al. (2017) dataset
Changed:
- plot_top_kernels: show_difference defaults to False; new colors kwarg
- demo_waveform: FIG_WIDTH=8 throughout, removed temporal occlusion and pre-FSA cells
- demo_gunpoint, demo_fordb, demo_three_bumps: reduced complexity in content based on user feedback
- Clarified max_dilations_per_kernel as a ceiling, not a target, in CHANGELOG and README
- Temporal occlusion retained in package but removed from demos
0.5.0: Add files via upload
v0.5 (2026-03-27)
- All demonstration notebooks in
examples/andextensions/have been finalized and posted. - The default for
max_dilations_per_kernelwas changed from 32 to 16 inInterpRocket. Extensive testing across the benchmark datasets showed that 16 dilations produces sharper temporal importance profiles and more interpretable receptive field maps, with minimal effect on classification accuracy. The previous default of 32 often produces stable features with receptive fields spanning the entire series, which dilutes temporal localization. Users can set any value via themax_dilations_per_kernelkeyword argument. - The headers of
interp_rocket.pyandinterp_rocket_regressor.pywere revised to reflect all changes from v0.3 through v0.5, including updated feature selection recommendations, interpretability tool listings, and usage examples. interp_rocket_regressorwas updated with all recent changes tointerp_rocket. The regression module is provided as a demonstration of the framework's capabilities. It has received less testing than the classifier module, and the simpleRidgeCVmodel may be insufficient for scientific applications where non-linear target relationships are expected.- With this release, I-ROCKET is considered ready for practical use in research and teaching. The core classifier, feature selection methods, and visualization tools have been tested across multiple benchmark datasets and are in active use in the Laubach Lab. Bug reports and feature requests can be submitted via GitHub Issues.
0.4.0
v0.4 (2026-03-25)
New extensions/ directory with four modules integrating I-ROCKET with the broader TSC explanation ecosystem:
- AMEE evaluation: Perturbation-based saliency map ranking (Nguyen et al., 2024) with four perturbation strategies and visualization
- TSHAP integration: Instance-level Shapley value attributions via the TSHAP package (Le Nguyen and Ifrim, 2025)
- Channel selection: Classifier-agnostic channel selection for multivariate time series (Dhariyal et al., 2023)
- Kernel explorer: Standalone interactive tool for exploring kernels, dilations, bias, and pooling operators
New demo notebooks for receptive field mapping (single-bump dataset), TSHAP + AMEE evaluation (waveform and single-bump datasets), and channel selection (synthetic multivariate data).
Core changes: temporal_occlusion now accepts sample_indices for per-trial analysis of misclassified instances. Minor fixes to plot_permutation_importance (y-axis padding) and plot_multi_kernel_summary (colormap consistency).
Regression module: Added plot_receptive_field_diagram, plot_feature_stability compatibility, and aggregate_temporal_occlusion.
See CHANGELOG.md for full details. v0.5 will finalize all demonstration notebooks and address any issues from testers.
Minor change in `plot_receptive_field_diagram`
plot_receptive_field_diagram in 'interp_rocket.py' updated to sort the receptive fields by classifier importance instead of dilation
Version 0.3
0.3.0 (2026-03-21)
- Permutation importance (PIMP): Added
permutation_importance_test()andplot_permutation_importance()implementing the PIMP algorithm (Altmann et al., 2010) for statistically corrected feature importance with p-values. Uses RandomForestClassifier by default, which produces meaningful null distributions for ROCKET features (Ridge coefficients cause all features to appear significant). - Font size fixes: Increased y-axis label font size to 8 in
plot_kernel_similarityandplot_multi_kernel_summaryfor readability in notebooks and exported figures. - Subplot revision:
plot_temporal_importancewas changed from having one subplot per class to using a single subplot for all classes. - PIMP demo notebook: Added
demo_pimp.ipynbdemonstrating PIMP on the waveform-5000 dataset, including comparison with feature stability analysis. - Remaining updates include incorporating code for the extensions into interp_rocket (planned for version 0.4.0) and the full set of demonstration and extension notebooks (planned for version 0.5.0).
v0.2.0
0.2.0 (2026-03-18)
- Feature stability selection: Added
get_stable_features()as a robust alternative to RFE for identifying important features across CV folds. - Class-mean visualization functions: Added
plot_class_mean_activation()(side-by-side activation and convolution output),plot_multi_kernel_summary()(heatmap across classes), andplot_aggregate_activation()(importance-weighted sum with differential). - Aggregate temporal occlusion: Added
aggregate_temporal_occlusion()for computing occlusion sensitivity over all trials grouped by class. - RF diagram font size: Increased y-axis label font size from 5.5 to 8 for readability.
- Public kneedle: Renamed
_kneedletokneedle(public API). - CI fix: Corrected
tests.ymlto usepip install -e .(removed nonexistent[viz]extra). - pyproject.toml: Added
three_bumpsto py-modules. - Demonstration notebooks for Receptive Field Mapping (
demo_RF_mapping.ipynb) and the Breiman waveform dataset (demo_waveform.ipynb) and two benchmark scripts (benchmark_waveform.pyandbenchmark_ucr.py) were added to theexamplesdirectory.
v0.1.0
Changelog
0.1.0 (2026-03-18)
- Initial release