Skip to content

Commit e872308

Browse files
committed
update bands for IO with n_bands
1 parent 93d21ef commit e872308

File tree

3 files changed

+8
-7
lines changed

3 files changed

+8
-7
lines changed

specparam/bands/bands.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,14 +175,17 @@ def check_bands(bands):
175175
----------
176176
bands : Bands or dict or int, optional
177177
How to organize peaks into bands.
178+
If None, initializes and empty Bands object.
178179
179180
Returns
180181
-------
181182
bands : Bands
182183
Bands definition.
183184
"""
184185

185-
if not isinstance(bands, Bands):
186+
if bands is None:
187+
bands = Bands()
188+
elif not isinstance(bands, Bands):
186189
if isinstance(bands, (dict, OrderedDict)):
187190
bands = Bands(bands)
188191
elif isinstance(bands, int):

specparam/io/models.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@ def save_model(model, file_name, file_path=None, append=False,
6262
mode_labels = ['aperiodic_mode', 'periodic_mode']
6363

6464
# Add bands information to saveable information
65-
obj_dict['bands'] = dict(model.results.bands.bands)
65+
obj_dict['bands'] = dict(model.results.bands.bands) \
66+
if not model.results.bands._n_bands else model.results.bands._n_bands
6667
bands_label = ['bands'] if model.results.bands else []
6768

6869
# Convert metrics results to saveable information

specparam/objs/results.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import numpy as np
77

8-
from specparam.bands import Bands
8+
from specparam.bands.bands import check_bands
99
from specparam.objs.metrics import Metrics
1010
from specparam.measures.metrics import METRICS
1111
from specparam.utils.array import unlog
@@ -103,10 +103,7 @@ def add_bands(self, bands):
103103
If None, sets bands as an empty Bands object.
104104
"""
105105

106-
if isinstance(bands, dict):
107-
bands = Bands(bands)
108-
109-
self.bands = deepcopy(bands) if bands else Bands()
106+
self.bands = deepcopy(check_bands(bands))
110107

111108

112109
def add_metrics(self, metrics):

0 commit comments

Comments
 (0)