예제 #1
0
 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)
예제 #2
0
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')
예제 #3
0
 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)