You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A recent NeuroStars post uncovered a bug in the component selection decision tree in which it attempts to find an elbow on an empty array (ncls). I think that this probably occurs when no potential BOLD components based on the absolute measures in Step 1, which leads to no non-outlier varex components (ncls). Then the decision tree tries to find an elbow on what ends up being an empty array here, raising an exception.
I think that we should include the linked snippet in Step 1 as well as where it's currently implemented.
Additional Detail
Here is the output and error originally posted:
/u/local/apps/python/3.6.1/lib/python3.6/site-packages/h5py/init.py:34: FutureWarning: Conversion of the second argument of issubdtype from float to np.floating is deprecated. In future, it will be treated as np.float64 == np.dtype(float).type.
from ._conv import register_converters as _register_converters
/u/home/d/darag/.local/lib/python3.6/site-packages/sklearn/externals/joblib/init.py:15: DeprecationWarning: sklearn.externals.joblib is deprecated in 0.21 and will be removed in 0.23. Please import this functionality directly from joblib, which can be installed with: pip install joblib. If this warning is raised when loading pickled models, you may need to re-serialize those models with scikit-learn 0.21+.
warnings.warn(msg, category=DeprecationWarning)
INFO:tedana.workflows.tedana:Using output directory: /u/scratch/d/darag/multiecho/11055_2/TED.mcf_ts_brain
INFO:tedana.workflows.tedana:Loading input data: [‘te1_mcf_ts_brain.nii’, ‘te2_mcf_ts_brain.nii’, ‘te3_mcf_ts_brain.nii’]
INFO:tedana.workflows.tedana:Computing EPI mask from first echo
WARNING:tedana.utils:279 voxels in user-defined mask do not have good signal. Removing voxels from mask.
INFO:tedana.workflows.tedana:Computing T2* map
INFO:tedana.combine:Optimally combining data with voxel-wise T2 estimates
INFO:tedana.decomposition.eigendecomp:Computing PCA of optimally combined multi-echo data
INFO:tedana.decomposition.eigendecomp:Making initial component selection guess from PCA results
INFO:tedana.combine:Optimally combining data with voxel-wise T2 estimates
INFO:tedana.model.fit:Fitting TE- and S0-dependent models to components
INFO:tedana.decomposition.eigendecomp:Saving PCA results to: /u/scratch/d/darag/multiecho/11055_2/TED.mcf_ts_brain/pcastate.pkl
INFO:tedana.decomposition.eigendecomp:Selected 283 components with MLE dimensionality detection
WARNING:tedana.decomposition.eigendecomp:ICA attempt 1 failed to converge after 500 iterations
WARNING:tedana.decomposition.eigendecomp:Random seed updated to 43
WARNING:tedana.decomposition.eigendecomp:ICA attempt 2 failed to converge after 500 iterations
WARNING:tedana.decomposition.eigendecomp:Random seed updated to 44
WARNING:tedana.decomposition.eigendecomp:ICA attempt 3 failed to converge after 500 iterations
WARNING:tedana.decomposition.eigendecomp:Random seed updated to 45
WARNING:tedana.decomposition.eigendecomp:ICA attempt 4 failed to converge after 500 iterations
WARNING:tedana.decomposition.eigendecomp:Random seed updated to 46
WARNING:tedana.decomposition.eigendecomp:ICA attempt 5 failed to converge after 500 iterations
WARNING:tedana.decomposition.eigendecomp:Random seed updated to 47
WARNING:tedana.decomposition.eigendecomp:ICA attempt 6 failed to converge after 500 iterations
WARNING:tedana.decomposition.eigendecomp:Random seed updated to 48
WARNING:tedana.decomposition.eigendecomp:ICA attempt 7 failed to converge after 500 iterations
WARNING:tedana.decomposition.eigendecomp:Random seed updated to 49
WARNING:tedana.decomposition.eigendecomp:ICA attempt 8 failed to converge after 500 iterations
WARNING:tedana.decomposition.eigendecomp:Random seed updated to 50
WARNING:tedana.decomposition.eigendecomp:ICA attempt 9 failed to converge after 500 iterations
WARNING:tedana.decomposition.eigendecomp:Random seed updated to 51
WARNING:tedana.decomposition.eigendecomp:ICA attempt 10 failed to converge after 500 iterations
INFO:tedana.workflows.tedana:Making second component selection guess from ICA results
INFO:tedana.combine:Optimally combining data with voxel-wise T2 estimates
INFO:tedana.model.fit:Fitting TE- and S0-dependent models to components
INFO:tedana.model.fit:Performing spatial clustering of components
Traceback (most recent call last):
File “/u/home/d/darag/.local/bin/tedana”, line 11, in
sys.exit(_main())
File “/u/home/d/darag/.local/lib/python3.6/site-packages/tedana/workflows/tedana.py”, line 453, in _main
tedana_workflow(**vars(options))
File “/u/home/d/darag/.local/lib/python3.6/site-packages/tedana/workflows/tedana.py”, line 379, in tedana_workflow
n_echos)
File “/u/home/d/darag/.local/lib/python3.6/site-packages/tedana/selection/select_comps.py”, line 250, in selcomps
rho_elbow = np.mean((getelbow(comptable.loc[ncls, ‘rho’], return_val=True),
File “/u/home/d/darag/.local/lib/python3.6/site-packages/tedana/selection/_utils.py”, line 71, in getelbow
p = coords - coords[:, 0].reshape(2, 1)
IndexError: index 0 is out of bounds for axis 1 with size 0
The text was updated successfully, but these errors were encountered:
tsalo
added
the
bug
issues describing a bug or error found in the project
label
May 25, 2019
Summary
A recent NeuroStars post uncovered a bug in the component selection decision tree in which it attempts to find an elbow on an empty array (
ncls
). I think that this probably occurs when no potential BOLD components based on the absolute measures in Step 1, which leads to no non-outlier varex components (ncls
). Then the decision tree tries to find an elbow on what ends up being an empty array here, raising an exception.I think that we should include the linked snippet in Step 1 as well as where it's currently implemented.
Additional Detail
Here is the output and error originally posted:
The text was updated successfully, but these errors were encountered: