Пример #1
0
def fixed_fid_sum():

    time_axis = numpy.arange(0, 0.512, 5e-4)
    fid = basis.gaussian(time_axis, 0, 0,
                         50.0) + 0.00001 * (numpy.random.rand(1024) - 0.5)
    fid2 = basis.gaussian(time_axis, 200, 0, 50.0)
    return fid + fid2
Пример #2
0
def test_gaussian():
    time_axis = numpy.arange(0, 0.512, 5e-4)
    fid = basis.gaussian(time_axis, 0, 0, 10. / 1024 * 2000)
    spectrum = numpy.fft.fft(fid)
    numpy.testing.assert_almost_equal(numpy.amax(spectrum), 0.048099188669422144)
    numpy.testing.assert_allclose(spectrum[5].real, 0.5 * numpy.amax(spectrum), rtol=0.05)
    numpy.testing.assert_allclose(numpy.sum(spectrum), 0.512)
Пример #3
0
def test_gaussian():
    time_axis = numpy.arange(0, 0.512, 5e-4)
    fid = basis.gaussian(time_axis, 0, 0, 10. / 1024 * 2000)
    spectrum = numpy.fft.fft(fid)
    numpy.testing.assert_almost_equal(numpy.amax(spectrum),
                                      0.048099188669422144)
    numpy.testing.assert_allclose(spectrum[5].real,
                                  0.5 * numpy.amax(spectrum),
                                  rtol=0.05)
    numpy.testing.assert_allclose(numpy.sum(spectrum), 0.512)
Пример #4
0
def test_gaussian():
    time_axis = numpy.arange(0, 0.512, 5e-4)
    fid = basis.gaussian(time_axis, 0, 0, 50.0)
    data = MRSData(fid, 5e-4, 123)
    model = singlet.Model({
        "g1": {
            "amplitude": 1.0,
            "fwhm": 50.0,
            "phase": "0",
            "frequency": 0.0
        }
    })
    fitting_result = model.fit(data)
    numpy.testing.assert_allclose(fitting_result["params"]["g1"]["fwhm"], 50.0)
    numpy.testing.assert_allclose(fitting_result["params"]["g1"]["amplitude"], 1.0)
    numpy.testing.assert_allclose(fitting_result["params"]["g1"]["frequency"], 0.0, atol=1e-7)

    numpy.testing.assert_allclose(fitting_result["fit"], fid)
Пример #5
0
def fixed_fid_sum():

    time_axis = numpy.arange(0, 0.512, 5e-4)
    fid = basis.gaussian(time_axis, 0, 0, 50.0) + 0.00001 * (numpy.random.rand(1024) - 0.5)
    fid2 = basis.gaussian(time_axis, 200, 0, 50.0)
    return fid + fid2
Пример #6
0
def correlated_peaks(single_peak):
    fid2 = 0.67 * basis.gaussian(single_peak.time_axis(), 200, 0, 15.0)
    return single_peak + fid2
Пример #7
0
def single_peak():
    time_axis = np.arange(0, 0.512, 5e-4)
    fid = basis.gaussian(time_axis, 0, 0,
                         10.0) + 0.00001 * (np.random.rand(1024) - 0.5)
    return fid