Changelog
All notable changes to FACETpy are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[2.0.0] - 2025-10-31
Major refactoring and modernization of FACETpy.
Added
Core Architecture
New processor-based architecture with
Processorbase classProcessingContextfor immutable data flowPipelinefor composing processing workflowsProcessorRegistryfor plugin discoveryParallelExecutorfor automatic parallelization
Processors
I/O:
Loader- Load EEG data with automatic format detection (EDF, BDF, GDF, BrainVision, EEGLAB, FIF)BIDSLoader- Load BIDS format dataEDFExporter- Export to EDF formatBIDSExporter- Export to BIDS format
Preprocessing:
HighPassFilter,LowPassFilter,BandPassFilter,NotchFilterUpSample,DownSample,ResampleTriggerDetector,QRSTriggerDetector,MissingTriggerDetectorTriggerAligner,SubsampleAligner
Correction:
AASCorrection- Averaged Artifact Subtraction (refactored)ANCCorrection- Adaptive Noise Cancellation (refactored)PCACorrection- PCA-based correction (refactored)
Evaluation:
SNRCalculator- Signal-to-noise ratioRMSCalculator- RMS ratioMedianArtifactCalculator- Median artifact amplitudeMetricsReport- Formatted metrics output
Composite:
SequenceProcessor- Sequential executionConditionalProcessor- Conditional executionSwitchProcessor- Switch between processorsNoOpProcessor- No-op placeholderLambdaProcessor- Lambda function wrapper
Features
Full type hints throughout codebase
Parallel processing support (channel-wise parallelization)
Plugin system with decorator-based registration
Processing history tracking
Immutable context pattern
First-class MNE integration
Detailed logging with loguru
Documentation
Complete API reference
User guide (architecture, pipelines, processors, parallel processing, custom processors)
Migration notes in examples and updated API docstrings
Tutorial and examples
Comprehensive docstrings (NumPy style)
Testing
Unit tests for all processors
Integration tests for workflows
Test fixtures and utilities
Coverage tracking
Pytest markers for test organization