44
55from specparam .core .errors import NoModelError
66from specparam .data .utils import get_periodic_labels
7- from specparam .utils .data import compute_presence
7+ from specparam .utils .data import compute_arr_desc , compute_presence
88from specparam .version import __version__ as MODULE_VERSION
99
1010###################################################################################################
@@ -384,10 +384,10 @@ def gen_group_results_str(group, concise=False):
384384 '' ,
385385 'Aperiodic Fit Values:' ,
386386 * [el for el in [' Knees - Min: {:6.2f}, Max: {:6.2f}, Mean: {:5.2f}'
387- .format (np . nanmin ( kns ), np . nanmax ( kns ), np . nanmean (kns )),
387+ .format (* compute_arr_desc (kns )),
388388 ] if group .aperiodic_mode == 'knee' ],
389389 'Exponents - Min: {:6.3f}, Max: {:6.3f}, Mean: {:5.3f}'
390- .format (np . nanmin ( exps ), np . nanmax ( exps ), np . nanmean (exps )),
390+ .format (* compute_arr_desc (exps )),
391391 '' ,
392392
393393 # Peak Parameters
@@ -398,9 +398,9 @@ def gen_group_results_str(group, concise=False):
398398 # Goodness if fit
399399 'Goodness of fit metrics:' ,
400400 ' R2s - Min: {:6.3f}, Max: {:6.3f}, Mean: {:5.3f}'
401- .format (np . nanmin ( r2s ), np . nanmax ( r2s ), np . nanmean (r2s )),
401+ .format (* compute_arr_desc (r2s )),
402402 'Errors - Min: {:6.3f}, Max: {:6.3f}, Mean: {:5.3f}'
403- .format (np . nanmin ( errors ), np . nanmax ( errors ), np . nanmean (errors )),
403+ .format (* compute_arr_desc (errors )),
404404 '' ,
405405
406406 # Footer
@@ -469,14 +469,11 @@ def gen_time_results_str(time_model, concise=False):
469469 '' ,
470470 'Aperiodic Fit Values:' ,
471471 * [el for el in [' Knees - Min: {:6.2f}, Max: {:6.2f}, Mean: {:6.2f}'
472- .format (np .nanmin (time_model .time_results ['knee' ] if has_knee else 0 ),
473- np .nanmax (time_model .time_results ['knee' ] if has_knee else 0 ),
474- np .nanmean (time_model .time_results ['knee' ] if has_knee else 0 )),
472+ .format (* compute_arr_desc (time_model .time_results ['knee' ]) \
473+ if has_knee else [0 , 0 , 0 ]),
475474 ] if has_knee ],
476475 'Exponents - Min: {:6.3f}, Max: {:6.3f}, Mean: {:5.3f}'
477- .format (np .nanmin (time_model .time_results ['exponent' ]),
478- np .nanmax (time_model .time_results ['exponent' ]),
479- np .nanmean (time_model .time_results ['exponent' ])),
476+ .format (* compute_arr_desc (time_model .time_results ['exponent' ])),
480477 '' ,
481478
482479 # Periodic parameters
@@ -486,21 +483,16 @@ def gen_time_results_str(time_model, concise=False):
486483 np .nanmean (time_model .time_results [pe_labels ['cf' ][ind ]]),
487484 np .nanmean (time_model .time_results [pe_labels ['pw' ][ind ]]),
488485 np .nanmean (time_model .time_results [pe_labels ['bw' ][ind ]]),
489- 100 * sum (~ np .isnan (time_model .time_results [pe_labels ['cf' ][ind ]])) \
490- / len (time_model .time_results [pe_labels ['cf' ][ind ]])) \
486+ compute_presence (time_model .time_results [pe_labels ['cf' ][ind ]]))
491487 for ind , label in enumerate (band_labels )],
492488 '' ,
493489
494490 # Goodness if fit
495491 'Goodness of fit (mean values across windows):' ,
496492 ' R2s - Min: {:6.3f}, Max: {:6.3f}, Mean: {:5.3f}'
497- .format (np .nanmin (time_model .time_results ['r_squared' ]),
498- np .nanmax (time_model .time_results ['r_squared' ]),
499- np .nanmean (time_model .time_results ['r_squared' ])),
493+ .format (* compute_arr_desc (time_model .time_results ['r_squared' ])),
500494 'Errors - Min: {:6.3f}, Max: {:6.3f}, Mean: {:5.3f}'
501- .format (np .nanmin (time_model .time_results ['error' ]),
502- np .nanmax (time_model .time_results ['error' ]),
503- np .nanmean (time_model .time_results ['error' ])),
495+ .format (* compute_arr_desc (time_model .time_results ['error' ])),
504496 '' ,
505497
506498 # Footer
@@ -567,17 +559,11 @@ def gen_event_results_str(event_model, concise=False):
567559 '' ,
568560 'Aperiodic params (values across events):' ,
569561 * [el for el in [' Knees - Min: {:6.2f}, Max: {:6.2f}, Mean: {:6.2f}'
570- .format (np .nanmin (np .mean (event_model .event_time_results ['knee' ], 1 ) \
571- if has_knee else 0 ),
572- np .nanmax (np .mean (event_model .event_time_results ['knee' ], 1 ) \
573- if has_knee else 0 ),
574- np .nanmean (np .mean (event_model .event_time_results ['knee' ], 1 ) \
575- if has_knee else 0 )),
562+ .format (* compute_arr_desc (np .mean (event_model .event_time_results ['knee' ], 1 ) \
563+ if has_knee else [0 , 0 , 0 ])),
576564 ] if has_knee ],
577565 'Exponents - Min: {:6.3f}, Max: {:6.3f}, Mean: {:5.3f}'
578- .format (np .nanmin (np .mean (event_model .event_time_results ['exponent' ], 1 )),
579- np .nanmax (np .mean (event_model .event_time_results ['exponent' ], 1 )),
580- np .nanmean (np .mean (event_model .event_time_results ['exponent' ], 1 ))),
566+ .format (* compute_arr_desc (np .mean (event_model .event_time_results ['exponent' ], 1 ))),
581567 '' ,
582568
583569 # Periodic parameters
@@ -587,21 +573,18 @@ def gen_event_results_str(event_model, concise=False):
587573 np .nanmean (event_model .event_time_results [pe_labels ['cf' ][ind ]]),
588574 np .nanmean (event_model .event_time_results [pe_labels ['pw' ][ind ]]),
589575 np .nanmean (event_model .event_time_results [pe_labels ['bw' ][ind ]]),
590- 100 * sum ( sum ( ~ np . isnan ( event_model .event_time_results [pe_labels ['cf' ][ind ]]))) \
591- / event_model . event_time_results [ pe_labels [ 'cf' ][ ind ]]. size )
576+ compute_presence ( event_model .event_time_results [pe_labels ['cf' ][ind ]],
577+ average = True , output = 'percent' ) )
592578 for ind , label in enumerate (band_labels )],
593579 '' ,
594580
595581 # Goodness if fit
596582 'Goodness of fit (values across events):' ,
597583 ' R2s - Min: {:6.3f}, Max: {:6.3f}, Mean: {:5.3f}'
598- .format (np .nanmin (np .mean (event_model .event_time_results ['r_squared' ], 1 )),
599- np .nanmax (np .mean (event_model .event_time_results ['r_squared' ], 1 )),
600- np .nanmean (np .mean (event_model .event_time_results ['r_squared' ], 1 ))),
584+ .format (* compute_arr_desc (np .mean (event_model .event_time_results ['r_squared' ], 1 ))),
585+
601586 'Errors - Min: {:6.3f}, Max: {:6.3f}, Mean: {:5.3f}'
602- .format (np .nanmin (np .mean (event_model .event_time_results ['error' ], 1 )),
603- np .nanmax (np .mean (event_model .event_time_results ['error' ], 1 )),
604- np .nanmean (np .mean (event_model .event_time_results ['error' ], 1 ))),
587+ .format (* compute_arr_desc (np .mean (event_model .event_time_results ['error' ], 1 ))),
605588 '' ,
606589
607590 # Footer
0 commit comments