37 lines
1.6 KiB
Python
Executable File
37 lines
1.6 KiB
Python
Executable File
from jeputils import *
|
|
|
|
RELOAD_CPYTHON = not App.isDetached()
|
|
|
|
def fit_energy(e_from, e_to, steps, num_shots, data):
|
|
data = to_array(data, 'd')
|
|
dims = [len(data), len(data[0]), len(data[0][0])]
|
|
data = Convert.flatten(data)
|
|
arr = to_npa(data, dims)
|
|
popt, centre_line_out = call_jep("cpython/psss", "fit_energy", [e_from, e_to, steps, num_shots, arr], reload=RELOAD_CPYTHON)
|
|
return popt.getData(), centre_line_out.getData()
|
|
|
|
def fit_crystal_height(xstal_from, xstal_to, steps, data):
|
|
data = to_array(data, 'd')
|
|
dims = [len(data), len(data[0]), len(data[0][0])]
|
|
data = Convert.flatten(data)
|
|
arr = to_npa(data, dims)
|
|
popt, projection = call_jep("cpython/psss", "fit_crystal_height", [xstal_from, xstal_to, steps, arr], reload=RELOAD_CPYTHON)
|
|
return popt.getData(), projection.getData()
|
|
|
|
def get_signal_centre(data, data_range):
|
|
data = to_array(data, 'd')
|
|
dims = [len(data), len(data[0]), len(data[0][0])]
|
|
data = Convert.flatten(data)
|
|
arr = to_npa(data, dims)
|
|
data_range = to_npa(to_array(data_range, 'd'))
|
|
signal_centre, projection = call_jep("cpython/psss", "get_signal_centre", [arr, data_range], reload=RELOAD_CPYTHON)
|
|
return signal_centre, projection.getData()
|
|
|
|
def plot_energy(e_from, e_to, steps, data, popt, measured_offset):
|
|
data = to_array(data, 'd')
|
|
dims = [len(data), len(data[0]), len(data[0][0])]
|
|
data = Convert.flatten(data)
|
|
arr = to_npa(data, dims)
|
|
ret = call_jep("cpython/psss_plot", "plot_energy", [e_from, e_to, steps, arr, popt, measured_offset], reload=RELOAD_CPYTHON)
|
|
return ret
|