Skip to content

Commit 626479f

Browse files
committed
update string gen with new helpers
1 parent 6e641a4 commit 626479f

File tree

1 file changed

+19
-36
lines changed

1 file changed

+19
-36
lines changed

specparam/core/strings.py

Lines changed: 19 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
from specparam.core.errors import NoModelError
66
from 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
88
from 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

Comments
 (0)