Skip to content

Commit

Permalink
Incorporating Eneko's comments
Browse files Browse the repository at this point in the history
Co-authored-by: Eneko Uruñuela <[email protected]>
  • Loading branch information
BahmanTahayori and eurunuela authored Sep 20, 2024
1 parent 3d88eb4 commit 1aac94a
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 9 deletions.
13 changes: 6 additions & 7 deletions docs/faq.rst
Original file line number Diff line number Diff line change
Expand Up @@ -122,8 +122,8 @@ For example, smaller voxels will results in more thermal noise and less total va
A dataset with more head motion artifacts will have more variance explained,
since more structured signal is within the head motion artifacts.
The clear failure cases are extreme. That is getting less than 1/5 the number of components
compared to time points or having nearly has many components as time point.
We are working on identifying why this happens and adding get better solutions.
compared to time points or having nearly as many components as time points.
We are working on identifying why this happens and adding better solutions.
Our current guess is that most of the above methods assume data are
independant and identically distributed (IID),
and signal leakage from in-slice and multi-slice accelleration may violate this assumption.
Expand All @@ -142,25 +142,24 @@ This means, even if the initial PCA component estimate is a bit off,
the number of resulting robust ICA components will represent stable information in the data.
For a dataset where the PCA comoponent estimation methods are failing,
one could use ``--tedpca`` with a fixed integer for a constant number of components,
that is on the high end of typical for a study,
that is on the high end of the typical number of components for a study,
and then `robustica`_ will reduce the number of components to only find stable information.
That said, if the fixed PCA component number is too high,
then the method will have too many unstable components,
and if the fixed PCA component number is too low, then there will be even fewer ICA components.
The number of ICA components is more consisent,
With this approach, the number of ICA components is more consistent,
but is still sensitive to the intial number of PCA components.
For example, for a single dataset 60 PCA components might result in 46 stable ICA components,
while 55 PCA components might results in 43 stable ICA components.
We are still testing how these interact and give better recommendations and even more stable results.
At that point, ``--ica_method robustica`` might become the default setting,
We are still testing how these interact to give better recommendations for even more stable results.
While the TEDANA developers expect that ``--ica_method robustica`` may become
the default configuration in future TEDANA versions,
it is first being released to the public as a non-default option
in hope of gaining insight into its behaviour
across a broader range of multi-echo fMRI data.
If users are having trouble with PCA component estimation failing on a dataset,
we recommend using RobustICA;
we also invite user feedback on its behaviour and efficacy.
and we invite users to send us feedback on its behavior and efficacy.


.. _MAPCA: https://github.com/ME-ICA/mapca
Expand Down
2 changes: 1 addition & 1 deletion tedana/decomposition/ica.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ def tedica(
fixed_seed : :obj:`int`
Seed for ensuring reproducibility of ICA results.
ica_method : :obj: `str`
slected ICA method, can be fastica or robutica.
selected ICA method, can be fastica or robustica.
n_robust_runs : :obj: `int`
selected number of robust runs when robustica is used. Default is 30.
maxit : :obj:`int`, optional
Expand Down
2 changes: 1 addition & 1 deletion tedana/workflows/tedana.py
Original file line number Diff line number Diff line change
Expand Up @@ -457,7 +457,7 @@ def tedana_workflow(
The file must be a TSV file with the same number of rows as the number of volumes in
the input data. Each column in the file will be treated as a separate regressor.
Default is None.
ica_method : {'robustica', 'fastica'}, optional
ica_method : {'fastica', 'robustica'}, optional
The applied ICA method. fastica runs FastICA from sklearn
once with the seed value. 'robustica' will run
'FastICA' n_robust_runs times and uses clustering methods to overcome
Expand Down

0 comments on commit 1aac94a

Please sign in to comment.