pyavs.filter_meg

pyavs.filter_meg(raw: mne.io.Raw, l_freq: float | None = 0.2, h_freq: float | None = 200.0, picks: str | list | None = 'meg', filter_length: str = 'auto', l_trans_bandwidth: str = 'auto', h_trans_bandwidth: str = 'auto', n_jobs: int = 1, method: str = 'fir', iir_params: dict | None = None, phase: str = 'zero', fir_window: str = 'hamming', fir_design: str = 'firwin', skip_by_annotation: str | list = 'edge', pad: str = 'reflect_limited', causal: bool = False, verbose: bool = True) mne.io.Raw[source]

Apply bandpass filtering to MEG data.

Parameters:
  • raw (mne.io.Raw) – Raw MEG data

  • l_freq (float, optional) – Low-pass frequency in Hz (default: 0.2)

  • h_freq (float, optional) – High-pass frequency in Hz (default: 100.0)

  • picks (str or list, optional) – Channels to filter (default: ‘meg’)

  • filter_length (str, optional) – Length of the FIR filter (default: ‘auto’)

  • l_trans_bandwidth (str, optional) – Low transition bandwidth (default: ‘auto’)

  • h_trans_bandwidth (str, optional) – High transition bandwidth (default: ‘auto’)

  • n_jobs (int, optional) – Number of parallel jobs (default: 1)

  • method (str, optional) – Filtering method (default: ‘fir’)

  • iir_params (dict, optional) – IIR filter parameters (default: None)

  • phase (str, optional) – Phase of the filter (default: ‘zero’, ‘zero-double’, ‘minimum’) For causal filtering, use ‘minimum’

  • fir_window (str, optional) – FIR window function (default: ‘hamming’)

  • fir_design (str, optional) – FIR design method (default: ‘firwin’)

  • skip_by_annotation (str or list, optional) – Annotations to skip (default: ‘edge’)

  • pad (str, optional) – Padding method (default: ‘reflect_limited’)

  • causal (bool, optional) – Whether to apply causal filtering (default: False) If True, sets phase=’minimum’ for causal response

  • verbose (bool, optional) – Whether to print progress information (default: True)

Returns:

Filtered raw data

Return type:

mne.io.Raw

Notes

Causal filtering introduces a phase delay but preserves temporal order, which can be important for real-time applications or when temporal relationships with other signals are critical. Non-causal (zero-phase) filtering provides better frequency response but is not suitable for real-time processing.