Ejemplo n.º 1
0
    def setUp(self):
        TestCase.setUp(self)

        geometry = MultiLayers(pure(29))
        geometry.add_layer(Material("AuPd", {79: 0.5, 46: 0.5}), 100e-9)

        baseops = Options()
        baseops.detectors['xray'] = PhotonIntensityDetector((0, 1), (0, 3))
        meas = Measurement(baseops)
        meas.add_kratio(Ka(29), 0.2470, 0.004)

        getter = lambda geometry: geometry.layers[0].thickness_m
        setter = lambda geometry, val: setattr(geometry.layers[0], 'thickness_m', val)
        param = Parameter(getter, setter, 100e-9, 10e-9, 500e-9)

        self.exp = Experiment(geometry, [meas], [param])
Ejemplo n.º 2
0
baseops.limits.add(ShowersLimit(1000))

meas1 = Measurement(baseops)
meas1.add_kratio(Ka(6),
                 0.5,
                 standard=Material('Fe3C', composition_from_formula('Fe3C')))


def setter1(geometry, val):
    geometry.inclusion_material.composition = {26: val, 6: '?'}


param1 = Parameter(setter1, 0.95, 0.0, 1.0)


def setter2(geometry, val):
    geometry.inclusion_diameter_m = val


param2 = Parameter(setter2, 200e-9, 150e-9, 250e-9)

inclusion_material = Material('CrC', {26: 0.95, 6: 0.05})
geometry = Inclusion(pure(26), inclusion_material, 200e-9)
exp = Experiment(geometry, [meas1], [param1, param2])

runner = LocalRunner(NISTMonte, '/tmp', nbprocesses=1)

optimizer = LevenbergMarquardtOptimzier()
reconstructor = Reconstructor(runner, optimizer, exp)
print reconstructor.reconstruct()