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
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)
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)
def correlated_peaks(single_peak): fid2 = 0.67 * basis.gaussian(single_peak.time_axis(), 200, 0, 15.0) return single_peak + fid2
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