pyprobe.analysis.base.differentiation_functions module#
Module containing functions for differentiating experimental data.
- get_x_sections(x)#
Split the x data into uniformly sampled sections.
- Parameters:
x (NDArray[np.float64]) – The x values.
- Returns:
A list of slices representing the uniformly sampled sections.
- Return type:
List[slice]
- get_dx(x)#
Get the x sampling interval, assuming uniformly spaced x values.
- Parameters:
x (NDArray[np.float64]) – The x values.
- Returns:
The x sampling interval.
- Return type:
float
- Raises:
ValueError – If the x values are not uniformly spaced.
- get_dy_and_counts(y, dy)#
Get the y sampling interval, bin midpoints and counts.
- Parameters:
y (NDArray[np.float64]) – The y values.
dy (float) – The bin size.
- Returns:
The y sampling interval, bin midpoints and counts.
- Return type:
Tuple[float, NDArray[np.float64], NDArray[np.float64]]
- y_sampling_interval(y)#
Get the y sampling interval, \(\delta R\) in Feng et al.[1].
- Parameters:
y (NDArray[np.float64]) – The y values.
- Returns:
The y sampling interval.
- Return type:
float
- calc_gradient_with_LEAN(x, y, k, gradient)#
Calculate the gradient of the data, assuming x is uniformly spaced.
- Parameters:
x (NDArray[np.float64]) – The x values.
y (NDArray[np.float64]) – The y values.
k (int) – The integer multiple to apply to the sampling interval for the bin size (\(\delta R\) in paper).
gradient (str) – The gradient to calculate, either ‘dydx’ or ‘dxdy’.
- Returns:
The x values, the y midpoints and the calculated gradient.
- Return type:
Tuple[NDArray[np.float64], NDArray[np.float64], NDArray[np.float64]]
- smooth_gradient(gradient, alpha)#
Smooth the calculated gradient.
- Parameters:
gradient (NDArray[np.float64]) – The gradient vector.
alpha (list[float]) – The smoothing coefficients.
- Returns:
The smoothed gradient vector.
- Return type:
NDArray[np.float64]
References