tedana.selection.selcomps

selcomps(seldict, comptable, mmix, manacc, n_echos)[source]

Classify components in seldict as “accepted,” “rejected,” “midk,” or “ignored.”

The selection process uses previously calculated parameters listed in seldict for each ICA component such as Kappa (a T2* weighting metric), Rho (an S0 weighting metric), and variance explained. See Notes for additional calculated metrics used to classify each component into one of the four listed groups.

Parameters:
  • seldict (dict) – A dictionary with component-specific features used for classification. As output from fitmodels_direct
  • comptable ((C x 5) pandas.DataFrame) – Component metric table
  • mmix ((T x C) array_like) – Mixing matrix for converting input data to component space, where C is components and T is the number of volumes in the original data
  • manacc (list) – Comma-separated list of indices of manually accepted components
  • n_echos (int) – Number of echos in original data
Returns:

comptable – Updated component table with additional metrics and with classification (accepted, rejected, midk, or ignored)

Return type:

pandas.DataFrame

Notes

The selection algorithm used in this function was originated in ME-ICA by Prantik Kundu, and his original implementation is available at: https://github.com/ME-ICA/me-ica/blob/b2781dd087ab9de99a2ec3925f04f02ce84f0adc/meica.libs/select_model.py

This component selection process uses multiple, previously calculated metrics that include: kappa, rho, variance explained, component spatial weighting maps, noise and spatial frequency metrics, and measures of spatial overlap across metrics.

Prantik began to update these selection criteria to use SVMs to distinguish components, a hypercommented version of this attempt is available at: https://gist.github.com/emdupre/ca92d52d345d08ee85e104093b81482e