Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The python file temporal_filtering.py is composed of several functions:

  • Function temporal_filtering()

  1. Apply a lowpass, highpass, or bandpass filter

  2. Optionally apply a notch filter

  3. Optionally resample the data

  4. Save file

  • Function _compute_snr()

Computes a SNR before and after MaxFilter. The steps of that function are described here.

  • Function _generate_report()

  1. Plot data in time domain

  2. Plot data in frequency domain

  3. Display Create info about raw data

  4. Display SNR values

  5. Save report

  • Function main()

  1. Parse the config.json

  2. Apply temporal_filtering()

  3. Apply _compute_snr()

  4. Apply _generate_report()

...

For app-temporal-filtering, the user will be able to choose the following parameters (a default parameter will be proposed). Three different MNE Python functions are used in this App:

  • Function raw.filter()

    • l_freq

      • NUMBER

      • default: None

    • h_freq

      • NUMBER

      • default: None

    • picks

      • ENUM

      • either meg, eeg, [“meg”, “eeg”], mag, grad, or None (i.e. all channels except for the bad ones)

      • default: None

    • filter_length

      • STRING

      • default: auto

    • l_trans_bandwidth

      • NUMBER

      • default: auto

    • h_trans_bandwidth

      • NUMBER

      • default: auto

    • n_jobs

      • NUMBER

      • default: 1

    • method

      • STRING

      • either fir or iir

      • default: fir

    • iir_params

      • to be determined

    • phase

      • ENUM

      • either zero or zero-double

      • default: zero

    • fir_window

      • ENUM

      • either hamming, hann, or blackman

      • default: hamming

    • fir_design

      • ENUM

      • either firwin or firwin2

      • default: firwin

    • skip_by_annotation

      • ENUM

      • either ["edge", "bad_acq_skip"], ["edge"], ["bad_acq_skip"], or []

    • pad

      • ENUM

      • either reflect_limited or any value of numpy.pad()

      • default: reflect_limited

  • raw.filter_notch()

    • param_notch_freqs_start

      • ENUM

      • either np.arange(60, 241, 60) in the US, or np.arange(50, 251, 50) in EuropeNUMBER

      • default: 50 (in Europe power line artifact is at 50Hz, in the US it’s at 60Hz)

    • param_notch_freqs_stop

      • NUMBER

      • default: 251 (in Europe, if MEG signals were recorded in the US, change it to 251)

    • param_notch_freqs_step

      • NUMBER

      • default: 50 (in Europe, if MEG signals were recorded in the US, change it to 50)

    • picks

      • ENUM

      • either meg, eeg, [“meg”, “eeg”], mag, grad, or None (i.e. all channels except for the bad ones)

      • default: None

    • filter_length

      • STRING

      • default: auto

    • notch_widths

      • NUMBER

      • default: None

    • trans_banwidthbandwidth

      • NUMBER

      • default: 1

    • n_jobs

      • NUMBER

      • default: 1

    • method

      • STRING

      • either fir or iir

      • default: fir

    • iir_params

      • to be determined

    • mt_bandwidth

      • NUMBER

      • default: None

    • p_value

      • NUMBER

      • default: 0.05

    • phase

      • ENUM

      • either zero or zero-double

      • default: zero

    • fir_window

      • ENUM

      • either hamming, hann, or blackman

      • default: hamming

    • fir_design

      • ENUM

      • either firwin or firwin2

      • default: firwin

    • pad

      • ENUM

      • either reflect_limited or any value of numpy.pad()

      • default: reflect_limited

  • raw.resample()

    • sfreq

      • NUMBER

    • npad

      • NUMBER

      • default: auto

    • window

      • ENUM

      • see choices in scipy.signal.get_window

      • default: boxcar

    • stim_picks

      • STRING

      • default: None

    • n_jobs

      • NUMBER

      • default: 1

    • events

      • NUMBER

      • default: None

    • pad

      • ENUM

      • either reflect_limited or any value of numpy.pad()

      • default: reflect_limited

  • See if it’s possible in BL to put a default STRING value in a NUMBER parameter

  • iir_params must be a dictonarydictionary, to see how to write it for BL

  • see how to write an array of floats in BL

  • the list of parameters will be updated when the App will be registered on BL

...