def test_scatterer_from_parameters_dict(self): sphere = Sphere(n=prior.Uniform(1, 2), r=prior.Uniform(0, 1)) model = AlphaModel(sphere) pars = {'r': 0.8, 'n': 1.6} expected = Sphere(n=1.6, r=0.8) out_scatterer = model.scatterer_from_parameters(pars) self.assertEqual(out_scatterer, expected)
def test_serialization(): par_s = Sphere(center=(Uniform(0, 1e-5, guess=.567e-5), Uniform(0, 1e-5, .567e-5), Uniform(1e-5, 2e-5)), r=Uniform(1e-8, 1e-5, 8.5e-7), n=Uniform(1, 2, 1.59)) alpha = Uniform(.1, 1, .6, 'alpha') schema = update_metadata(detector_grid(shape=100, spacing=.1151e-6), illum_wavelen=.66e-6, medium_index=1.33, illum_polarization=(1, 0)) model = AlphaModel(par_s, medium_index=schema.medium_index, illum_wavelen=schema.illum_wavelen, alpha=alpha) initial_guess = model.scatterer_from_parameters(model.initial_guess) holo = calc_holo(schema, initial_guess, scaling=model.alpha.guess) result = NmpfitStrategy().fit(model, holo) temp = tempfile.NamedTemporaryFile(suffix='.h5', delete=False) with warnings.catch_warnings(): warnings.simplefilter('ignore') save(temp.name, result) loaded = load(temp.name) assert_obj_close(result, loaded, context='serialized_result')
def test_scatterer_from_parameters_list(self): sphere = Sphere(n=prior.Uniform(1, 2), r=prior.Uniform(0, 1)) model = AlphaModel(sphere) pars = [1.6, 0.8] expected = Sphere(n=1.6, r=0.8) self.assertEqual(model.scatterer_from_parameters(pars), expected)