Manually Excluding Channels - BUNPC/Homer3 GitHub Wiki

Manually Excluding Channels

Manually excluding channels means a) marking channels that the user considers to have bad or unusable data as inactive and b) adding functions to the processing stream that use the list of channels marked inactive to exclude those them session, subject or group HRF averaging.

Here's an example with the following dataset:


Below is the HRF average for subject sub-02 for channel S10-D18, where this channel is included in the processing of all runs.

Suppose we have bad data for channel S10-D18 in the runs
sub-02_ses-left2s_task-FRESHMOTOR_nirs.snirf sub-03_ses-right2s_task-FRESHMOTOR_nirs.snirf

We want to then manually exclude the data on this channel for the above runs from HRF averaging for subject sub-02.

Creating a Processing Stream that Excludes Bad Channels


To exclude bad channels from processing it is not enough to identify and mark the bad channels. The processing stream has to be configured with functions that use the list of active/inactive channels to exclude bad channels from HRF averaging at the session, subject and group levels. The Homer3 parameter that holds the list of manually marked channels as active/inactive is called mlActMan.
It is important to note that currently manually marking channels as bad is done at the run level only. While the actual exclusion of channels from HRF averaging is done at all levels, that is, run, session, subject and group. At the run level it means not producing an HRF for that channel and that run. At the non run level it means the HRF there will be one less HRF to average for that channel.
To use the parameter mlActMan to excude bad channels from processing
  1. Choose a run level function that accepts mlActMan as input and outputs mlActAuto. So one such run-level function is hmrR_PruneChannels.

  2. Then add a run level HRF averaging function that accepts as input mlActAuto and uses to exclude bad channels (by not generating an HRF for the inactive/bad channels). One such function is hmrR_GLM



Marking Bad Channels

You mark bad or excluded channels by left clicking on the channel in the probe axes. Currently this excludes the channel for ALL wavelengths.
Exclude channel S10-D18 for run sub-02_ses-left2s_task-FRESHMOTOR_nirs.snirf

Exclude channel S10-D18 for run sub-03_ses-right2s_task-FRESHMOTOR_nirs.snirf

Rerun HRF processing for subject sub-02

⚠️ **GitHub.com Fallback** ⚠️