Skip to content

fitting

Module for data fitting routines

Functions

scilightcon.fitting.detect_peaks(x, y, method, n_max, options={})

Peak detection function using different algorithms.

Examples:

>>> from scilightcon.datasets import load_csv_data
>>> fname = 'data_test_detect_peaks.csv'
>>> data, header = load_csv_data(fname)
>>> x = data[:,0]
>>> y = data[:,1]
>>> method = "above_average"
>>> clusters = detect_peaks(x, y, method = method, n_max=2)
>>> print('clusters', clusters)
clusters [[22, 25], [12, 15]]

Parameters:

Name Type Description Default
x float

x axis data

required
y float

y axis data

required
method str

[above_average, z_score, dispersion]

required
n_max int

Maximum number of peaks

required
options dict

Additional options to pass to the chosen algorithm

{}

Returns:

Type Description
List[Tuple[int, int]]

A list of tuples indicating the begining and the end of peaks

scilightcon.fitting.fit_beam_profile_2d(matrix, method, options={'decimation': 1})

Fitting of two-dimensional beam profiles using the Gaussian or ISO method.

Examples:

>>> import scilightcon
>>> from scilightcon.utils._fixes import _open_binary
>>> from scilightcon.fitting import fit_beam_profile_2d
>>> import pickle
>>> filepath = _open_binary(scilightcon.datasets.DATA_MODULE, 'test_beam_profile.pkl')
>>> matrix = pickle.load(filepath)['matrix']
>>> method = 'gauss'

Parameters:

Name Type Description Default
matrix array

matrix

required
method str

iso for ISO, gauss for Gaussian

required
options dict

Additional options (decimation)

{'decimation': 1}

Returns:

Name Type Description
mean_x float

position of the beam center in x axis

mean_y float

position of the beam center in y axis

sigma_x float

variance of beam along x axis

sigma_y float

variance of beam along y axis

sigma_xy float

standard deviation of x-y beam product

sigma_p float

variance of beam along its primary axis

sigma_s float

variance of beam along its secondary axis

phi float

beam angle (principal axis)