Included Decision Trees
Two decision trees are currently distributed with tedana
.
kundu
is the decision tree that is based on MEICA version 2.5
and has been included with tedana
since the start of this project.
While multiple publications have used and benefits from this decision,
tree, but it includes many steps with arbitrary thresholds and, when
components seem misclassified, it’s often hard to understand why.
minimal
is a simplified version of that decision tree with fewer
steps and arbitrary thresholds. Minimal is designed to be more stable
and comprehensible, but it has not yet be extensively validated and
parts of the tree may change in response to additional tests on a
wider range of data sets.
Flowcharts describing the steps in both trees are below.
As documented more in Understanding and building a component selection process, the input to each tree
is a table with metrics, like or , for each
component. Each step or node in the decision tree either calculates
new values or changes component classifications based on these metrics.
When a component classification changes to accept
or reject
, a
classification_tag
is also assigned which may help understand why
a component was given a specific classification.
Each step in the flow chart is labeled with a node
number.
If tedana
is run using one of these trees, those node
numbers will match the numbers in the ICA status table
and the
ICA decision tree
that are described in
Output filename descriptions. These node numbers can be used
to see when in the process a component’s classifiation changed.
Kundu decision tree
Nodes 1-5 reject components that are very unlikely to be BOLD.
In nodes 9-10 components where >
elbow and <
elbow are classified as provisional accept. A non-obvious aspect
of this decision tree is that no decision node below this point distinguishes
components that are provisional accept from components that are still
unclassified and nothing that does not cross the and
elbow thresholds is inherantly rejected. The number of
provisional accept components is used to see if the process should
be restarted (node 11) and calculate other thresholds (nodes 12-16 & 20),
but nothing is directly accepted or rejected based on the elbow thresholds.
Several additional criteria are used to reject components (nodes 17, 21, & 22).
In older versions of tedana
components were classified as ignored.
This meant too small/minor to lose a degree of freedom by rejecting so treat
like the accepted components. This was widely confusing to many users so they
are now classified as accepted but with classification tags low variance
(node 18) or accept borderline (nodes 24 & 25).
Minimal decision tree
The minimal tree starts similarly to the kundu tree by rejecting components that are very unlikely to be BOLD (nodes 1-5). Then all components where > elbow and < elbow are provisional accept and otherwise are provisional reject (nodes 8 & 10). The only expection to this is if > elbow and > 2* than it is provisional accept regardless of the elbow under the assumption that there is enough T2* weighted signal the component should not be rejected even if it also contains noise (node 9). If provisional reject components have very low variance they are accepted rather than losing degrees of freedom, but no more than 1% of the total variance can be accepted this way (node 11). After that point, everything that is provisional accept is accepted (node 12) and everything that is provisional reject is rejected (node 13)