Public Access
41 lines
1.2 KiB
Python
41 lines
1.2 KiB
Python
import tables
|
|
import numpy
|
|
# from damaris import FitResult
|
|
r = MeasurementResult("test")
|
|
|
|
def result():
|
|
try:
|
|
h5 = tables.open_file("test.h5", "w")
|
|
except:
|
|
print("h5 already opened")
|
|
accu = Accumulation(error=False)
|
|
|
|
for num,ts in enumerate(results):
|
|
data["data/ts %i"%num] = ts+0
|
|
ts.write_to_hdf(h5, "/", f"adc_{num}", f"adc_{num}")
|
|
data["fft"] = (ts+0).fft()
|
|
data["fft_autophase"] = (ts+0).fft().autophase()
|
|
r[num] = ts.y[0][0]
|
|
if num > 4:
|
|
x = r.get_xdata()
|
|
y = r.get_ydata()
|
|
coeffs = numpy.polyfit(x, y, 2)
|
|
x_line = numpy.linspace(x.min(), x.max(), 100)
|
|
y_line = numpy.polyval(coeffs, x_line)
|
|
|
|
fit = FitResult(x=x_line,
|
|
y=y_line,
|
|
title="Magnetization(tau) fit",
|
|
source="test",
|
|
params={"a": coeffs[0], "b": coeffs[1], "c": coeffs[2]})
|
|
data["test/fit"] = fit
|
|
data["test"] = r
|
|
accu+=ts
|
|
data["accu"] = accu+0
|
|
print(accu)
|
|
data["accu_fft"] = accu.fft().autophase()
|
|
accu.write_to_hdf(h5, "/", "name", "title")
|
|
try:
|
|
h5.close()
|
|
except:
|
|
print("h5 already closed") |