Пример #1
0
            post_edge_function(postPol, xPost) +
            pre_edge_function(prePol, xPost), 'y')
        show()
    return energy, normalizedSpectrum, edge


SUPPORTED_ALGORITHMS = {
    "polynomial": XASPolynomialNormalization,
    "victoreen": XASVictoreenNormalization
}

if __name__ == "__main__":
    import sys
    from PyMca.PyMcaIO import specfilewrapper as specfile
    import time
    sf = specfile.Specfile(sys.argv[1])
    scan = sf[0]
    data = scan.data()
    energy = data[0, :]
    spectrum = data[1, :]
    n = 100
    t0 = time.time()
    for i in range(n):
        edge = estimateXANESEdge(spectrum + i, energy=energy)
    print("EDGE ELAPSED = ", (time.time() - t0) / float(n))
    print("EDGE = %f" % edge)
    if DEBUG:
        n = 1
    else:
        n = 100
    t0 = time.time()
Пример #2
0
            return 1 + (-b + numpy.sqrt(discriminant)) / (2 * BETA)


if __name__ == "__main__":
    from PyMca.PyMcaIO import specfilewrapper
    instance = XASSelfattenuationCorrection()
    configuration = {}
    configuration['XAS'] = {}
    configuration['XAS']['material'] = 'Pd'
    configuration['XAS']['element'] = 'Pd'
    configuration['XAS']['edge'] = 'L3'
    configuration['XAS']['energy'] = Elements.Element['Pd']['binding']['L3']
    configuration['XAS']['angles'] = [45., 45.]
    instance.setConfiguration(configuration)

    normalizedFile = specfilewrapper.Specfile('norm501.dat')
    normalizedScan = normalizedFile[0]
    energy, spectrum = normalizedScan[0], normalizedScan[1]
    normalizedScan = None
    normalizedFile = None
    correctedSpectrum = instance.correctNormalizedSpectrum(energy, spectrum)

    from matplotlib import pyplot as pl
    pl.plot(energy, spectrum, 'b')
    pl.plot(energy, correctedSpectrum, 'r')
    pl.show()

    normalizedFile = specfilewrapper.Specfile('PdL3Fabrice.DAT')
    normalizedScan = normalizedFile[0]
    data = normalizedScan.data()
    energy = data[1, :]