Preprocessing¶
PPG-specific preprocessing, augmentation, and synthetic data generation using heliaEDGE.
compressionkit.preprocessing.ppg.build_preprocessor(frame_size, epsilon=0.001)
¶
Create preprocessing pipeline: random crop + layer normalization.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
frame_size
|
int
|
Number of samples per frame after cropping. |
required |
epsilon
|
float
|
LayerNorm epsilon for numerical stability. |
0.001
|
Source code in compressionkit/preprocessing/ppg.py
compressionkit.preprocessing.ppg.build_augmenter(noise_factor=(0.01, 0.1))
¶
Create augmentation pipeline: Gaussian noise injection.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
noise_factor
|
tuple[float, float]
|
Range |
(0.01, 0.1)
|
Source code in compressionkit/preprocessing/ppg.py
compressionkit.preprocessing.ppg.generate_synthetic_ppg_batch(*, num_segments, signal_length, sample_rate, heart_rate_bpm=None, frequency_modulation=None, ibi_randomness=None, seed=1337)
¶
Generate synthetic PPG segments via physiokit.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
num_segments
|
int
|
Number of synthetic segments to generate. |
required |
signal_length
|
int
|
Samples per segment. |
required |
sample_rate
|
int
|
Sampling rate in Hz. |
required |
heart_rate_bpm
|
list[float] | None
|
Range |
None
|
frequency_modulation
|
list[float] | None
|
Range |
None
|
ibi_randomness
|
list[float] | None
|
Range |
None
|
seed
|
int
|
Random seed for reproducibility. |
1337
|
Returns:
| Type | Description |
|---|---|
ndarray
|
Array of shape |