v1.6.0
[1.6.0] - 2025-10-16
Added
-
Critical UX Improvements: Comprehensive input validation to prevent common user errors
- Speed units validation: Warns when speed appears to be in m/s instead of cm/s, preventing silent data loss
- Time units validation: Errors when time array appears to be in samples instead of seconds
- Sampling frequency validation: Warns when time step doesn't match expected sampling rate
- Array shape validation: Clear error messages for wrong LFP dimensions (1D, 0D, >2D arrays)
- Array length validation: Detailed error showing exact sample counts when arrays don't match
- Data length validation: Checks minimum data length required for filtering (954 samples)
- Filter sampling frequency validation: Prevents crashes with incompatible sampling rates (<1200 Hz)
-
Enhanced Documentation
- Added comprehensive Troubleshooting section to README with solutions for common errors
- Added Parameter Selection Guide table with recommended adjustment strategies
- Added complete workflow example to
Kay_ripple_detectordocstring showing filtering → detection steps - Clarified that
multiunit_HSE_detectoraccepts both binary (0/1) and spike count formats - Added amplitude units documentation to
simulate_LFP(arbitrary units with SNR guidance) - Bolded all unit specifications in docstrings (seconds, cm/s, Hz) for clarity
-
Improved Error Messages
- All new error messages follow WHAT/WHY/HOW pattern with actionable solutions
- Errors include working code examples for fixing issues
- Validation errors provide specific details (array shapes, sample counts, expected values)
Changed
- BREAKING:
_preprocess_detector_inputs()now requiressampling_frequencyandspeed_thresholdparameters for validation (internal function, unlikely to affect users) - Enhanced parameter descriptions across all detector functions with clearer units and adjustment guidance
- Improved
filter_ripple_band()error handling to catch issues before scipy crashes
Fixed
- Prevented cryptic numpy errors (
axis 1 is out of bounds,operands could not be broadcast) with clear validation errors - Fixed misleading filter warning-then-crash behavior for incompatible sampling frequencies
- Improved empty result guidance - docstrings now suggest specific parameter adjustments