Skip to content

Commit 887db1b

Browse files
committed
sidpy fitter refactor AIC BIC
1 parent 84f3c28 commit 887db1b

File tree

2 files changed

+9
-7
lines changed

2 files changed

+9
-7
lines changed

sidpy/proc/fitter_refactor.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -561,7 +561,6 @@ def fit_worker(data_block, guess_block, x_in, ind_dims, num_params):
561561

562562
return self.transform_to_sidpy(computed_result)
563563

564-
565564
def transform_to_sidpy(self, fit_dask_array):
566565
"""
567566
Convert the fit results into sidpy.Dataset(s).
@@ -593,7 +592,7 @@ def transform_to_sidpy(self, fit_dask_array):
593592
else:
594593
raise ValueError(f"Unknown cov_mode={cov_mode!r}. Use None, 'full', 'diag', or 'stderr'.")
595594

596-
metrics_size = 2 if return_metrics else 0
595+
metrics_size = 4 if return_metrics else 0
597596
expected = self.num_params + cov_size + metrics_size
598597

599598
if total_channels != expected:

tests/proc/test_fitter_refactor.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,8 @@ def test_2d_fit_execution(self):
190190
use_kmeans=False,
191191
fit_parameter_labels=self.param_labels,
192192
return_cov=True,
193-
loss='linear'
193+
loss='linear',
194+
return_metrics=False
194195
)
195196

196197
# --- Assertions ---
@@ -267,7 +268,8 @@ def test_cov_mode_diag_returns_param_length_per_pixel(self):
267268
res_params, res_cov_diag = fitter.do_fit(
268269
use_kmeans=False,
269270
cov_mode='diag',
270-
loss='linear'
271+
loss='linear',
272+
return_metrics=False
271273
)
272274

273275
# Params should be (nx, ny, 6)
@@ -314,7 +316,8 @@ def test_cov_mode_stderr_nonnegative_and_shape(self):
314316
res_params, res_stderr = fitter.do_fit(
315317
use_kmeans=False,
316318
cov_mode='stderr',
317-
loss='linear'
319+
loss='linear',
320+
return_metrics=False
318321
)
319322

320323
assert res_params.shape == (nx, ny, 6)
@@ -367,7 +370,7 @@ def test_metrics_perfect_fit_r2_one_rmse_zero(self):
367370
assert np.nanmin(r2) > 0.999
368371
assert np.nanmax(rmse) < 1e-6
369372

370-
def test_aic_bic_increase_with_noise_on_same_model():
373+
def test_aic_bic_increase_with_noise_on_same_model(self):
371374
import sidpy as sid
372375
rng = np.random.default_rng(0)
373376

@@ -484,7 +487,7 @@ def make_dataset(arr, title):
484487
)
485488
fitter.setup_calc()
486489
params, metrics = fitter.do_fit()
487-
assert metrics.shape[-1] == 2
490+
assert metrics.shape[-1] == 4
488491

489492

490493

0 commit comments

Comments
 (0)