Skip to content

synthesize

Classes

Functions

synthesize(signal_length=10000, sample_rate=1000, respiratory_rate=15)

Generate synthetic respiratory signal using breathmetrics method.

Utilize pk.signal.noise methods to make more realistic.

Parameters:

  • signal_length (int, default: 10000 ) –

    Signal length in samples. Defaults to 10000.

  • sample_rate (float, default: 1000 ) –

    Sample rate in Hz. Defaults to 1000 Hz.

  • respiratory_rate (float, default: 15 ) –

    Respiratory rate in breaths per minute. Defaults to 15 bpm.

Returns:

  • tuple[NDArray, NDArray, NDArray]

    tuple[npt.NDArray, npt.NDArray, npt.NDArray]: Synthetic respiratory signal, segmentation mask, fiducial mask

Source code in physiokit/rsp/synthesize.py
def synthesize(
    signal_length: int = 10000,
    sample_rate: float = 1000,
    respiratory_rate: float = 15,
) -> tuple[npt.NDArray, npt.NDArray, npt.NDArray]:
    """Generate synthetic respiratory signal using breathmetrics method.

    Utilize pk.signal.noise methods to make more realistic.

    Args:
        signal_length (int, optional): Signal length in samples. Defaults to 10000.
        sample_rate (float, optional): Sample rate in Hz. Defaults to 1000 Hz.
        respiratory_rate (float, optional): Respiratory rate in breaths per minute. Defaults to 15 bpm.

    Returns:
        tuple[npt.NDArray, npt.NDArray, npt.NDArray]: Synthetic respiratory signal, segmentation mask, fiducial mask
    """

    rsp, segs, fids = _simulate_breathmetrics_core(
        signal_length=signal_length,
        sample_rate=sample_rate,
        breathing_rate=respiratory_rate / 60,
        signal_noise=0,
    )
    return rsp, segs, fids