2024-11-23T19:26:55 tedana.tedana_workflow INFO Using output directory: /Users/handwerkerd/data/MayWei_help/testsbj.results/tedana_r01 2024-11-23T19:26:55 tedana.tedana_workflow INFO Initializing and validating component selection tree 2024-11-23T19:26:55 component_selector.validate_tree WARNING Decision tree includes fields that are not used or logged ['_comment'] 2024-11-23T19:26:55 component_selector.__init__ INFO Performing component selection with tedana_orig_decision_tree 2024-11-23T19:26:55 component_selector.__init__ INFO Very similar to the decision tree designed by Prantik Kundu 2024-11-23T19:26:55 tedana.tedana_workflow INFO Loading input data: ['pb02.testsbj.r01.e01.volreg+orig.HEAD', 'pb02.testsbj.r01.e02.volreg+orig.HEAD', 'pb02.testsbj.r01.e03.volreg+orig.HEAD'] 2024-11-23T19:27:03 io.__init__ INFO Generating figures directory: /Users/handwerkerd/data/MayWei_help/testsbj.results/tedana_r01/figures 2024-11-23T19:27:03 tedana.tedana_workflow INFO Using user-defined mask 2024-11-23T19:27:04 utils.make_adaptive_mask INFO Echo-wise intensity thresholds for adaptive mask: [4302.54454615 3062.34521255 2098.15495417] 2024-11-23T19:27:04 utils.make_adaptive_mask WARNING 56 voxels in user-defined mask do not have good signal. Removing voxels from mask. 2024-11-23T19:27:04 tedana.tedana_workflow INFO Computing T2* map 2024-11-23T19:27:10 combine.make_optcom INFO Optimally combining data with voxel-wise T2* estimates 2024-11-23T19:27:16 tedana.tedana_workflow INFO Writing optimally combined data set: /Users/handwerkerd/data/MayWei_help/testsbj.results/tedana_r01/ts_OC.nii.gz 2024-11-23T19:27:16 pca.tedpca INFO Computing PCA of optimally combined multi-echo data with selection criteria: aic 2024-11-23T19:27:25 pca.tedpca INFO Optimal number of components based on different criteria: 2024-11-23T19:27:25 pca.tedpca INFO AIC: 32 | KIC: 29 | MDL: 19 | 90% varexp: 268 | 95% varexp: 305 2024-11-23T19:27:25 pca.tedpca INFO Explained variance based on different criteria: 2024-11-23T19:27:25 pca.tedpca INFO AIC: 0.51% | KIC: 0.501% | MDL: 0.466% | 90% varexp: 0.901% | 95% varexp: 0.95% 2024-11-23T19:27:25 pca.tedpca INFO Plotting maPCA optimization curves 2024-11-23T19:27:26 collect.generate_metrics INFO Calculating weight maps 2024-11-23T19:27:28 collect.generate_metrics INFO Calculating parameter estimate maps for optimally combined data 2024-11-23T19:27:28 collect.generate_metrics INFO Calculating z-statistic maps 2024-11-23T19:27:28 collect.generate_metrics INFO Calculating F-statistic maps 2024-11-23T19:27:31 collect.generate_metrics INFO Thresholding z-statistic maps 2024-11-23T19:27:32 collect.generate_metrics INFO Calculating T2* F-statistic maps 2024-11-23T19:27:32 collect.generate_metrics INFO Calculating S0 F-statistic maps 2024-11-23T19:27:33 collect.generate_metrics INFO Counting significant voxels in T2* F-statistic maps 2024-11-23T19:27:33 collect.generate_metrics INFO Counting significant voxels in S0 F-statistic maps 2024-11-23T19:27:33 collect.generate_metrics INFO Thresholding optimal combination beta maps to match T2* F-statistic maps 2024-11-23T19:27:37 collect.generate_metrics INFO Thresholding optimal combination beta maps to match S0 F-statistic maps 2024-11-23T19:27:40 collect.generate_metrics INFO Calculating kappa and rho 2024-11-23T19:27:40 collect.generate_metrics INFO Calculating variance explained 2024-11-23T19:27:40 collect.generate_metrics INFO Calculating normalized variance explained 2024-11-23T19:27:40 collect.generate_metrics INFO Calculating DSI between thresholded T2* F-statistic and optimal combination beta maps 2024-11-23T19:27:40 utils.dice WARNING 2 of 32 components have empty maps, resulting in Dice values of 0. Please check your component table for dice columns with 0-values. 2024-11-23T19:27:40 collect.generate_metrics INFO Calculating DSI between thresholded S0 F-statistic and optimal combination beta maps 2024-11-23T19:27:40 utils.dice WARNING 6 of 32 components have empty maps, resulting in Dice values of 0. Please check your component table for dice columns with 0-values. 2024-11-23T19:27:40 collect.generate_metrics INFO Calculating signal-noise t-statistics 2024-11-23T19:27:40 collect.generate_metrics INFO Counting significant noise voxels from z-statistic maps 2024-11-23T19:27:40 collect.generate_metrics INFO Calculating decision table score 2024-11-23T19:27:41 pca.tedpca INFO Selected 32 components with 50.96% normalized variance explained using aic dimensionality estimate 2024-11-23T19:27:52 ica.f_ica INFO ICA with random seed 42 converged in 73 iterations 2024-11-23T19:27:52 collect.generate_metrics INFO Calculating weight maps 2024-11-23T19:27:54 collect.generate_metrics INFO Calculating parameter estimate maps for optimally combined data 2024-11-23T19:27:55 collect.generate_metrics INFO Calculating z-statistic maps 2024-11-23T19:27:55 collect.generate_metrics INFO Calculating F-statistic maps 2024-11-23T19:27:58 collect.generate_metrics INFO Thresholding z-statistic maps 2024-11-23T19:27:59 collect.generate_metrics INFO Calculating T2* F-statistic maps 2024-11-23T19:27:59 collect.generate_metrics INFO Calculating S0 F-statistic maps 2024-11-23T19:28:00 collect.generate_metrics INFO Counting significant voxels in T2* F-statistic maps 2024-11-23T19:28:00 collect.generate_metrics INFO Counting significant voxels in S0 F-statistic maps 2024-11-23T19:28:00 collect.generate_metrics INFO Thresholding optimal combination beta maps to match T2* F-statistic maps 2024-11-23T19:28:02 collect.generate_metrics INFO Thresholding optimal combination beta maps to match S0 F-statistic maps 2024-11-23T19:28:05 collect.generate_metrics INFO Calculating kappa and rho 2024-11-23T19:28:05 collect.generate_metrics INFO Calculating variance explained 2024-11-23T19:28:05 collect.generate_metrics INFO Calculating normalized variance explained 2024-11-23T19:28:05 collect.generate_metrics INFO Calculating DSI between thresholded T2* F-statistic and optimal combination beta maps 2024-11-23T19:28:05 utils.dice WARNING 2 of 32 components have empty maps, resulting in Dice values of 0. Please check your component table for dice columns with 0-values. 2024-11-23T19:28:05 collect.generate_metrics INFO Calculating DSI between thresholded S0 F-statistic and optimal combination beta maps 2024-11-23T19:28:05 utils.dice WARNING 15 of 32 components have empty maps, resulting in Dice values of 0. Please check your component table for dice columns with 0-values. 2024-11-23T19:28:05 collect.generate_metrics INFO Calculating signal-noise t-statistics 2024-11-23T19:28:05 collect.generate_metrics INFO Counting significant noise voxels from z-statistic maps 2024-11-23T19:28:05 collect.generate_metrics INFO Calculating decision table score 2024-11-23T19:28:05 tedana.tedana_workflow INFO Selecting components from ICA results 2024-11-23T19:28:05 tedica.automatic_selection INFO Performing ICA component selection with tree: tedana_orig 2024-11-23T19:28:05 selection_nodes.manual_classify INFO Step 0: manual_classify: Set all to unclassified 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 0: manual_classify applied to 32 components. 32 True -> unclassified. 0 False -> nochange. 2024-11-23T19:28:05 selection_nodes.manual_classify INFO Step 0: manual_classify component classification tags are cleared 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 0: Total component classifications: 32 unclassified 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 1: left_op_right: rejected if rho>kappa, else nochange 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 1: left_op_right applied to 32 components. 9 True -> rejected. 23 False -> nochange. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 1: Total component classifications: 9 rejected, 23 unclassified 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 2: left_op_right: rejected if ['countsigFS0>countsigFT2 & countsigFT2>0'], else nochange 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 2: left_op_right applied to 32 components. 9 True -> rejected. 23 False -> nochange. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 2: Total component classifications: 10 rejected, 22 unclassified 2024-11-23T19:28:05 selection_nodes.calc_median INFO Step 3: calc_median: Median(median_varex) 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 3: calc_median calculated: median_varex=1.3796085155350806 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 3: Total component classifications: 10 rejected, 22 unclassified 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 4: left_op_right: rejected if ['dice_FS0>dice_FT2 & variance explained>1.38'], else nochange 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 4: left_op_right applied to 32 components. 5 True -> rejected. 27 False -> nochange. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 4: Total component classifications: 10 rejected, 22 unclassified 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 5: left_op_right: rejected if ['0>signal-noise_t & variance explained>1.38'], else nochange 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 5: left_op_right applied to 32 components. 4 True -> rejected. 28 False -> nochange. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 5: Total component classifications: 11 rejected, 21 unclassified 2024-11-23T19:28:05 selection_nodes.calc_kappa_elbow INFO Step 6: calc_kappa_elbow: Calc Kappa Elbow 2024-11-23T19:28:05 selection_utils.kappa_elbow_kundu INFO Calculating kappa elbow based on min of all and nonsig components. 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 6: calc_kappa_elbow calculated: kappa_elbow_kundu=40.39919712644585, kappa_allcomps_elbow=67.23747082885856, kappa_nonsig_elbow=40.39919712644585, varex_upper_p=1.7243122399709403 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 6: Total component classifications: 11 rejected, 21 unclassified 2024-11-23T19:28:05 selection_nodes.dec_reclassify_high_var_comps INFO Step 7: reclassify_high_var_comps: Change unclassified to unclass_highvar for the top couple of components with the highest jumps in variance 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 7: reclassify_high_var_comps applied to 21 components. 3 True -> unclass_highvar. 18 False -> nochange. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 7: Total component classifications: 11 rejected, 3 unclass_highvar, 18 unclassified 2024-11-23T19:28:05 selection_nodes.calc_rho_elbow INFO Step 8: calc_rho_elbow: Calc Rho Elbow 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 8: calc_rho_elbow calculated: rho_elbow_kundu=19.663154918638874, rho_allcomps_elbow=25.52157720342539, rho_unclassified_elbow=14.955067039670734, elbow_f05=18.512820512820497 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 8: Total component classifications: 11 rejected, 3 unclass_highvar, 18 unclassified 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 9: left_op_right: provisionalaccept if kappa>=40.4, else nochange 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 9: left_op_right applied to 18 components. 13 True -> provisionalaccept. 5 False -> nochange. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 9: Total component classifications: 13 provisionalaccept, 11 rejected, 3 unclass_highvar, 5 unclassified 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 10: left_op_right: unclassified if rho>19.66, else nochange 2024-11-23T19:28:05 selection_utils.comptable_classification_changer INFO Step 10: No components fit criterion True to change classification 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 10: left_op_right applied to 13 components. 0 True -> unclassified. 13 False -> nochange. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 10: Total component classifications: 13 provisionalaccept, 11 rejected, 3 unclass_highvar, 5 unclassified 2024-11-23T19:28:05 selection_nodes.dec_classification_doesnt_exist INFO Step 11: classification_doesnt_exist: Change ['provisionalaccept', 'unclassified', 'unclass_highvar'] to accepted if less than 2 components with provisionalaccept exist 2024-11-23T19:28:05 selection_nodes.dec_classification_doesnt_exist INFO Step 11: classification_doesnt_exist If nothing is provisionally accepted by this point, then rerun ICA & selection. If max iterations of rerunning done, then accept everything not already rejected 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 11: classification_doesnt_exist applied to 21 components. None True -> 0. None False -> 21. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 11: Total component classifications: 13 provisionalaccept, 11 rejected, 3 unclass_highvar, 5 unclassified 2024-11-23T19:28:05 selection_nodes.calc_varex_thresh INFO Step 12: calc_varex_thresh: Calc varex_upper_thresh, 90th percentile threshold 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 12: calc_varex_thresh calculated: varex_upper_thresh=1.90969332113405, upper_perc=90 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 12: Total component classifications: 13 provisionalaccept, 11 rejected, 3 unclass_highvar, 5 unclassified 2024-11-23T19:28:05 selection_nodes.calc_varex_thresh INFO Step 13: calc_varex_thresh: Calc varex_lower_thresh, 25th percentile threshold 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 13: calc_varex_thresh calculated: varex_lower_thresh=0.7776014563804439, lower_perc=25 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 13: Total component classifications: 13 provisionalaccept, 11 rejected, 3 unclass_highvar, 5 unclassified 2024-11-23T19:28:05 selection_utils.get_extend_factor INFO extend_factor=2.0, based on number of fMRI volumes 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 14: calc_extend_factor calculated: extend_factor=2.0 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 14: Total component classifications: 13 provisionalaccept, 11 rejected, 3 unclass_highvar, 5 unclassified 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 15: calc_max_good_meanmetricrank calculated: max_good_meanmetricrank=26.0 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 15: Total component classifications: 13 provisionalaccept, 11 rejected, 3 unclass_highvar, 5 unclassified 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 16: calc_varex_kappa_ratio calculated: kappa_rate=35.491548367310074 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 16: Total component classifications: 13 provisionalaccept, 11 rejected, 3 unclass_highvar, 5 unclassified 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 17: left_op_right: rejected if ['d_table_score>26.0 & variance explained>2.0*1.91'], else nochange 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 17: left_op_right If variance and d_table_scores are high, then reject 2024-11-23T19:28:05 selection_utils.comptable_classification_changer INFO Step 17: No components fit criterion True to change classification 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 17: left_op_right applied to 21 components. 0 True -> rejected. 21 False -> nochange. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 17: Total component classifications: 13 provisionalaccept, 11 rejected, 3 unclass_highvar, 5 unclassified 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 18: left_op_right: accepted if ['d_table_score>26.0 & variance explained<=0.78 & kappa<=40.4'], else nochange 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 18: left_op_right If low variance, accept even if bad kappa & d_table_scores 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 18: left_op_right applied to 21 components. 1 True -> accepted. 20 False -> nochange. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 18: Total component classifications: 1 accepted, 13 provisionalaccept, 11 rejected, 3 unclass_highvar, 4 unclassified 2024-11-23T19:28:05 selection_nodes.dec_classification_doesnt_exist INFO Step 19: classification_doesnt_exist: Change ['provisionalaccept', 'unclassified', 'unclass_highvar'] to accepted if ['unclassified', 'unclass_highvar'] doesn't exist 2024-11-23T19:28:05 selection_nodes.dec_classification_doesnt_exist INFO Step 19: classification_doesnt_exist If nothing left is unclassified, then accept all 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 19: classification_doesnt_exist applied to 20 components. None True -> 0. None False -> 20. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 19: Total component classifications: 1 accepted, 13 provisionalaccept, 11 rejected, 3 unclass_highvar, 4 unclassified 2024-11-23T19:28:05 selection_nodes.calc_revised_meanmetricrank_guesses INFO Step 20: calc_revised_meanmetricrank_guesses: Calc revised d_table_score & num accepted component guesses 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 20: calc_revised_meanmetricrank_guesses calculated: num_acc_guess=13, conservative_guess=6.5, restrict_factor=2 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 20: Total component classifications: 1 accepted, 13 provisionalaccept, 11 rejected, 3 unclass_highvar, 4 unclassified 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 21: left_op_right: rejected if ['d_table_score_node20>6.5 & varex kappa ratio>2*2.0 & variance explained>2.0*1.91'], else nochange 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 21: left_op_right Reject if a combination of kappa, variance, and other factors are ranked worse than others 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 21: left_op_right applied to 20 components. 3 True -> rejected. 17 False -> nochange. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 21: Total component classifications: 1 accepted, 13 provisionalaccept, 14 rejected, 4 unclassified 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 22: left_op_right: rejected if ['d_table_score_node20>0.9*13 & variance explained>2.0*0.78'], else nochange 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 22: left_op_right Reject if a combination of variance and ranks of other metrics are worse than others 2024-11-23T19:28:05 selection_utils.comptable_classification_changer INFO Step 22: No components fit criterion True to change classification 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 22: left_op_right applied to 17 components. 0 True -> rejected. 17 False -> nochange. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 22: Total component classifications: 1 accepted, 13 provisionalaccept, 14 rejected, 4 unclassified 2024-11-23T19:28:05 selection_nodes.calc_varex_thresh INFO Step 23: calc_varex_thresh: Calc varex_new_lower_thresh, 25th percentile threshold 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 23: calc_varex_thresh calculated: varex_new_lower_thresh=0.7776014563804439, new_lower_perc=25 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 23: Total component classifications: 1 accepted, 13 provisionalaccept, 14 rejected, 4 unclassified 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 24: left_op_right: accepted if ['d_table_score_node20>13 & variance explained>0.78'], else nochange 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 24: left_op_right Accept components with a bad d_table_score, but are at the higher end of the remaining variance so more cautious to not remove 2024-11-23T19:28:05 selection_utils.comptable_classification_changer INFO Step 24: No components fit criterion True to change classification 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 24: left_op_right applied to 17 components. 0 True -> accepted. 17 False -> nochange. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 24: Total component classifications: 1 accepted, 13 provisionalaccept, 14 rejected, 4 unclassified 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 25: left_op_right: accepted if ['kappa<=40.4 & variance explained>0.78'], else nochange 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 25: left_op_right For not already rejected components, accept ones below the kappa elbow, but at the higher end of the remaining variance so more cautious to not remove 2024-11-23T19:28:05 selection_utils.comptable_classification_changer INFO Step 25: No components fit criterion True to change classification 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 25: left_op_right applied to 17 components. 0 True -> accepted. 17 False -> nochange. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 25: Total component classifications: 1 accepted, 13 provisionalaccept, 14 rejected, 4 unclassified 2024-11-23T19:28:05 selection_nodes.manual_classify INFO Step 26: manual_classify: Set ['provisionalaccept', 'unclassified', 'unclass_highvar'] to accepted 2024-11-23T19:28:05 selection_nodes.manual_classify INFO Step 26: manual_classify Anything still provisional (accepted or rejected) or unclassified should be accepted 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 26: manual_classify applied to 17 components. 17 True -> accepted. 0 False -> nochange. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 26: Total component classifications: 18 accepted, 14 rejected 2024-11-23T19:28:05 tedana.tedana_workflow INFO Selecting components from ICA results 2024-11-23T19:28:05 tedica.automatic_selection INFO Performing ICA component selection with tree: tedana_orig 2024-11-23T19:28:05 selection_nodes.manual_classify INFO Step 0: manual_classify: Set all to unclassified 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 0: manual_classify applied to 32 components. 32 True -> unclassified. 0 False -> nochange. 2024-11-23T19:28:05 selection_nodes.manual_classify INFO Step 0: manual_classify component classification tags are cleared 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 0: Total component classifications: 32 unclassified 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 1: left_op_right: rejected if rho>kappa, else nochange 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 1: left_op_right applied to 32 components. 9 True -> rejected. 23 False -> nochange. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 1: Total component classifications: 9 rejected, 23 unclassified 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 2: left_op_right: rejected if ['countsigFS0>countsigFT2 & countsigFT2>0'], else nochange 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 2: left_op_right applied to 32 components. 9 True -> rejected. 23 False -> nochange. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 2: Total component classifications: 10 rejected, 22 unclassified 2024-11-23T19:28:05 selection_nodes.calc_median INFO Step 3: calc_median: Median(median_varex) 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 3: calc_median calculated: median_varex=1.3796085155350806 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 3: Total component classifications: 10 rejected, 22 unclassified 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 4: left_op_right: rejected if ['dice_FS0>dice_FT2 & variance explained>1.38'], else nochange 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 4: left_op_right applied to 32 components. 5 True -> rejected. 27 False -> nochange. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 4: Total component classifications: 10 rejected, 22 unclassified 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 5: left_op_right: rejected if ['0>signal-noise_t & variance explained>1.38'], else nochange 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 5: left_op_right applied to 32 components. 4 True -> rejected. 28 False -> nochange. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 5: Total component classifications: 11 rejected, 21 unclassified 2024-11-23T19:28:05 selection_nodes.calc_kappa_elbow INFO Step 6: calc_kappa_elbow: Calc Kappa Elbow 2024-11-23T19:28:05 selection_utils.kappa_elbow_kundu INFO Calculating kappa elbow based on min of all and nonsig components. 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 6: calc_kappa_elbow calculated: kappa_elbow_kundu=40.39919712644585, kappa_allcomps_elbow=67.23747082885856, kappa_nonsig_elbow=40.39919712644585, varex_upper_p=1.7243122399709403 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 6: Total component classifications: 11 rejected, 21 unclassified 2024-11-23T19:28:05 selection_nodes.dec_reclassify_high_var_comps INFO Step 7: reclassify_high_var_comps: Change unclassified to unclass_highvar for the top couple of components with the highest jumps in variance 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 7: reclassify_high_var_comps applied to 21 components. 3 True -> unclass_highvar. 18 False -> nochange. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 7: Total component classifications: 11 rejected, 3 unclass_highvar, 18 unclassified 2024-11-23T19:28:05 selection_nodes.calc_rho_elbow INFO Step 8: calc_rho_elbow: Calc Rho Elbow 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 8: calc_rho_elbow calculated: rho_elbow_kundu=19.663154918638874, rho_allcomps_elbow=25.52157720342539, rho_unclassified_elbow=14.955067039670734, elbow_f05=18.512820512820497 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 8: Total component classifications: 11 rejected, 3 unclass_highvar, 18 unclassified 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 9: left_op_right: provisionalaccept if kappa>=40.4, else nochange 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 9: left_op_right applied to 18 components. 13 True -> provisionalaccept. 5 False -> nochange. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 9: Total component classifications: 13 provisionalaccept, 11 rejected, 3 unclass_highvar, 5 unclassified 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 10: left_op_right: unclassified if rho>19.66, else nochange 2024-11-23T19:28:05 selection_utils.comptable_classification_changer INFO Step 10: No components fit criterion True to change classification 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 10: left_op_right applied to 13 components. 0 True -> unclassified. 13 False -> nochange. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 10: Total component classifications: 13 provisionalaccept, 11 rejected, 3 unclass_highvar, 5 unclassified 2024-11-23T19:28:05 selection_nodes.dec_classification_doesnt_exist INFO Step 11: classification_doesnt_exist: Change ['provisionalaccept', 'unclassified', 'unclass_highvar'] to accepted if less than 2 components with provisionalaccept exist 2024-11-23T19:28:05 selection_nodes.dec_classification_doesnt_exist INFO Step 11: classification_doesnt_exist If nothing is provisionally accepted by this point, then rerun ICA & selection. If max iterations of rerunning done, then accept everything not already rejected 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 11: classification_doesnt_exist applied to 21 components. None True -> 0. None False -> 21. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 11: Total component classifications: 13 provisionalaccept, 11 rejected, 3 unclass_highvar, 5 unclassified 2024-11-23T19:28:05 selection_nodes.calc_varex_thresh INFO Step 12: calc_varex_thresh: Calc varex_upper_thresh, 90th percentile threshold 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 12: calc_varex_thresh calculated: varex_upper_thresh=1.90969332113405, upper_perc=90 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 12: Total component classifications: 13 provisionalaccept, 11 rejected, 3 unclass_highvar, 5 unclassified 2024-11-23T19:28:05 selection_nodes.calc_varex_thresh INFO Step 13: calc_varex_thresh: Calc varex_lower_thresh, 25th percentile threshold 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 13: calc_varex_thresh calculated: varex_lower_thresh=0.7776014563804439, lower_perc=25 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 13: Total component classifications: 13 provisionalaccept, 11 rejected, 3 unclass_highvar, 5 unclassified 2024-11-23T19:28:05 selection_utils.get_extend_factor INFO extend_factor=2.0, based on number of fMRI volumes 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 14: calc_extend_factor calculated: extend_factor=2.0 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 14: Total component classifications: 13 provisionalaccept, 11 rejected, 3 unclass_highvar, 5 unclassified 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 15: calc_max_good_meanmetricrank calculated: max_good_meanmetricrank=26.0 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 15: Total component classifications: 13 provisionalaccept, 11 rejected, 3 unclass_highvar, 5 unclassified 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 16: calc_varex_kappa_ratio calculated: kappa_rate=35.491548367310074 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 16: Total component classifications: 13 provisionalaccept, 11 rejected, 3 unclass_highvar, 5 unclassified 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 17: left_op_right: rejected if ['d_table_score>26.0 & variance explained>2.0*1.91'], else nochange 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 17: left_op_right If variance and d_table_scores are high, then reject 2024-11-23T19:28:05 selection_utils.comptable_classification_changer INFO Step 17: No components fit criterion True to change classification 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 17: left_op_right applied to 21 components. 0 True -> rejected. 21 False -> nochange. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 17: Total component classifications: 13 provisionalaccept, 11 rejected, 3 unclass_highvar, 5 unclassified 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 18: left_op_right: accepted if ['d_table_score>26.0 & variance explained<=0.78 & kappa<=40.4'], else nochange 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 18: left_op_right If low variance, accept even if bad kappa & d_table_scores 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 18: left_op_right applied to 21 components. 1 True -> accepted. 20 False -> nochange. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 18: Total component classifications: 1 accepted, 13 provisionalaccept, 11 rejected, 3 unclass_highvar, 4 unclassified 2024-11-23T19:28:05 selection_nodes.dec_classification_doesnt_exist INFO Step 19: classification_doesnt_exist: Change ['provisionalaccept', 'unclassified', 'unclass_highvar'] to accepted if ['unclassified', 'unclass_highvar'] doesn't exist 2024-11-23T19:28:05 selection_nodes.dec_classification_doesnt_exist INFO Step 19: classification_doesnt_exist If nothing left is unclassified, then accept all 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 19: classification_doesnt_exist applied to 20 components. None True -> 0. None False -> 20. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 19: Total component classifications: 1 accepted, 13 provisionalaccept, 11 rejected, 3 unclass_highvar, 4 unclassified 2024-11-23T19:28:05 selection_nodes.calc_revised_meanmetricrank_guesses INFO Step 20: calc_revised_meanmetricrank_guesses: Calc revised d_table_score & num accepted component guesses 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 20: calc_revised_meanmetricrank_guesses calculated: num_acc_guess=13, conservative_guess=6.5, restrict_factor=2 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 20: Total component classifications: 1 accepted, 13 provisionalaccept, 11 rejected, 3 unclass_highvar, 4 unclassified 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 21: left_op_right: rejected if ['d_table_score_node20>6.5 & varex kappa ratio>2*2.0 & variance explained>2.0*1.91'], else nochange 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 21: left_op_right Reject if a combination of kappa, variance, and other factors are ranked worse than others 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 21: left_op_right applied to 20 components. 3 True -> rejected. 17 False -> nochange. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 21: Total component classifications: 1 accepted, 13 provisionalaccept, 14 rejected, 4 unclassified 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 22: left_op_right: rejected if ['d_table_score_node20>0.9*13 & variance explained>2.0*0.78'], else nochange 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 22: left_op_right Reject if a combination of variance and ranks of other metrics are worse than others 2024-11-23T19:28:05 selection_utils.comptable_classification_changer INFO Step 22: No components fit criterion True to change classification 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 22: left_op_right applied to 17 components. 0 True -> rejected. 17 False -> nochange. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 22: Total component classifications: 1 accepted, 13 provisionalaccept, 14 rejected, 4 unclassified 2024-11-23T19:28:05 selection_nodes.calc_varex_thresh INFO Step 23: calc_varex_thresh: Calc varex_new_lower_thresh, 25th percentile threshold 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 23: calc_varex_thresh calculated: varex_new_lower_thresh=0.7776014563804439, new_lower_perc=25 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 23: Total component classifications: 1 accepted, 13 provisionalaccept, 14 rejected, 4 unclassified 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 24: left_op_right: accepted if ['d_table_score_node20>13 & variance explained>0.78'], else nochange 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 24: left_op_right Accept components with a bad d_table_score, but are at the higher end of the remaining variance so more cautious to not remove 2024-11-23T19:28:05 selection_utils.comptable_classification_changer INFO Step 24: No components fit criterion True to change classification 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 24: left_op_right applied to 17 components. 0 True -> accepted. 17 False -> nochange. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 24: Total component classifications: 1 accepted, 13 provisionalaccept, 14 rejected, 4 unclassified 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 25: left_op_right: accepted if ['kappa<=40.4 & variance explained>0.78'], else nochange 2024-11-23T19:28:05 selection_nodes.dec_left_op_right INFO Step 25: left_op_right For not already rejected components, accept ones below the kappa elbow, but at the higher end of the remaining variance so more cautious to not remove 2024-11-23T19:28:05 selection_utils.comptable_classification_changer INFO Step 25: No components fit criterion True to change classification 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 25: left_op_right applied to 17 components. 0 True -> accepted. 17 False -> nochange. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 25: Total component classifications: 1 accepted, 13 provisionalaccept, 14 rejected, 4 unclassified 2024-11-23T19:28:05 selection_nodes.manual_classify INFO Step 26: manual_classify: Set ['provisionalaccept', 'unclassified', 'unclass_highvar'] to accepted 2024-11-23T19:28:05 selection_nodes.manual_classify INFO Step 26: manual_classify Anything still provisional (accepted or rejected) or unclassified should be accepted 2024-11-23T19:28:05 selection_utils.log_decision_tree_step INFO Step 26: manual_classify applied to 17 components. 17 True -> accepted. 0 False -> nochange. 2024-11-23T19:28:05 selection_utils.log_classification_counts INFO Step 26: Total component classifications: 18 accepted, 14 rejected 2024-11-23T19:28:09 io.denoise_ts INFO Variance explained by decomposition: 80.47% 2024-11-23T19:28:15 io.write_split_ts INFO Writing denoised time series: /Users/handwerkerd/data/MayWei_help/testsbj.results/tedana_r01/dn_ts_OC.nii.gz 2024-11-23T19:28:16 io.writeresults INFO Writing full ICA coefficient feature set: /Users/handwerkerd/data/MayWei_help/testsbj.results/tedana_r01/ica_components.nii.gz 2024-11-23T19:28:17 io.writeresults INFO Writing denoised ICA coefficient feature set: /Users/handwerkerd/data/MayWei_help/testsbj.results/tedana_r01/betas_hik_OC.nii.gz 2024-11-23T19:28:20 io.writeresults INFO Writing Z-normalized spatial component maps: /Users/handwerkerd/data/MayWei_help/testsbj.results/tedana_r01/feats_OC2.nii.gz 2024-11-23T19:28:20 tedana.tedana_workflow INFO Making figures folder with static component maps and timecourse plots. 2024-11-23T19:28:21 io.denoise_ts INFO Variance explained by decomposition: 80.47% 2024-11-23T19:28:53 tedana.tedana_workflow INFO Generating dynamic report 2024-11-23T19:28:54 tedana.tedana_workflow INFO Workflow completed