Pipeline Architecture: Lab vs Simulation
The package provides two distinct processing pipelines designed for different stages of the research workflow.
Lab Mode (Post-Facto)
High-Precision Analysis & Validation
The Lab Mode pipeline is designed for batch analysis where the complete dataset is available. It aims for parity with the legacy R implementation.
Characteristics
Memory: Full dataset loaded into memory.
Processing: Acausal algorithms (e.g., filtfilt, centered moving averages).
Calibration: Batch computation from the full dataset.
Depth: Acausal interpolation of missing values.
Configuration
To enable Lab Mode, set the following in your YAML config:
pipeline:
mode: "LAB"
calibration:
attachment_angle: "batch_compute"
magnetometer: "batch_compute"
depth:
mode: "interpolate"
Simulation Mode (Real-Time)
On-Tag Algorithm Development
The Simulation Mode pipeline is designed for real-time processing where data arrives sample-by-sample. It uses fully causal algorithms with no lookahead.
Characteristics
Memory: Fixed memory footprint (O(1)).
Processing: Causal algorithms (e.g., lfilter, EMA).
Calibration: Online adaptive calibration or fixed parameters.
Depth: Real-time estimation (hold last value or predict).
Configuration
To enable Simulation Mode, set the following in your YAML config:
pipeline:
mode: "SIMULATION"
calibration:
attachment_angle: "fixed" # or "progressive" (future)
magnetometer: "fixed"
depth:
mode: "realtime"