hmrR_PCAFilter - BUNPC/Homer3 GitHub Wiki

UI Name :
PCA_Filter

Syntax :
[data_yc, svs, nSV] = hmrR_PCAFilter( data_y, mlAct, tInc, nSV )

Description :
Perform a PCA filter on the data matrix y.

Inputs :

  • data_y: SNIRF object containing data matrix where rows are time points. If y is wavelength data, then the columns are channels as described in ml. If y is concentration data, then the third dimension is channels and the second dimension indicates HbO and HbR.
  • mlAct:
  • tInc: This is a vector of length number of time points and is 1 to indicate that a time point is included in the analysis and 0 if it is to be excluded. This is useful for ignoring periods of time with strong artifacts.
  • nSV: This is the number of principal components to remove filter from the data. This can be an integer to indicate the number of components to remove. Or it can be a fraction less than 1 to indicate that enough components should be removed to remove up to that fraction of the variance in the data. If nSV is a single number it is applied to all channels of data. This is useful for filtering motion artifacts. If it is 2 or more numbers, then it is applied to each wavelength or concentration separately using the corresponding number.

Outputs :

  • data_yc: SNIRF object containing the filtered data matrix.
  • svs: Cell array for each data block with the singular value spectrum from the PCA.
  • nSV: Cell array for each data block with the number of components filtered from the data.

Usage Options :

  • PCA_Filter_Delta_OD: [dod, svs, nSV] = hmrR_PCAFilter( dod, mlActAuto, tIncAuto, nSV)
  • PCA_Filter_Concentration_Data: [dc, svs, nSV] = hmrR_PCAFilter( dc, mlActAuto, tIncAuto, nSV)

Default Parameters :

  • nSV: 0.00

Prerequisites :

  • For the PCA_Filter_Concentration_Data Usage Option
    • Delta_OD_to_Conc: dc = hmrR_OD2Conc( dod, probe, ppf )
  • For the PCA_Filter_Delta_OD Usage Option
    • Intensity_to_Delta_OD: dod = hmrR_Intensity2OD( intensity )
⚠️ **GitHub.com Fallback** ⚠️