Files
python3-damaris/tests/res_test.py
T
2026-10-22 00:17:01 +02:00

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")