6.4.4. Mathematical utilities¶
- pymodaq.utils.math_utils.find_index(x, threshold: Union[Number, List[Number]]) List[tuple] [source]¶
find_index finds the index ix such that x(ix) is the closest from threshold
- pymodaq.utils.math_utils.ft(x, dim=-1)[source]¶
Process the 1D fast fourier transform and swaps the axis to get coorect results using ftAxis :param x: :type x: (ndarray) the array on which the FFT should be done :param dim: :type dim: the axis over which is done the FFT (default is the last of the array)
See also
ftAxis
,ftAxis_time
,ift
,ft2
,ift2
- pymodaq.utils.math_utils.ft2(x, dim=(-2, -1))[source]¶
Process the 2D fast fourier transform and swaps the axis to get correct results using ftAxis :param x: :type x: (ndarray) the array on which the FFT should be done :param dim: :type dim: the axis over which is done the FFT (default is the last of the array)
See also
ftAxis
,ftAxis_time
,ift
,ft2
,ift2
- pymodaq.utils.math_utils.ftAxis(Npts, omega_max)[source]¶
Given two numbers Npts,omega_max, return two vectors spanning the temporal and spectral range. They are related by Fourier Transform
- Parameters
- Returns
omega_grid ((ndarray)) – The spectral axis of the FFT
time_grid ((ndarray))) – The temporal axis of the FFT
See also
ftAxis
,ftAxis_time
,ift
,ft2
,ift2
- pymodaq.utils.math_utils.ftAxis_time(Npts, time_max)[source]¶
Given two numbers Npts,omega_max, return two vectors spanning the temporal and spectral range. They are related by Fourier Transform
- Parameters
Npts (number) – A number of points defining the length of both grids
time_max (number) – The maximum tmporal window
- Returns
omega_grid (vector) – The spectral axis of the FFT
time_grid (vector) – The temporal axis of the FFT
See also
ftAxis
,ftAxis_time
,ift
,ft2
,ift2
- pymodaq.utils.math_utils.gauss1D(x, x0, dx, n=1)[source]¶
compute the gaussian function along a vector x, centered in x0 and with a FWHM i intensity of dx. n=1 is for the standart gaussian while n>1 defines a hypergaussian
- Parameters
- Returns
out – the value taken by the gaussian along x axis
- Return type
vector
- pymodaq.utils.math_utils.gauss2D(x, x0, dx, y, y0, dy, n=1, angle=0)[source]¶
compute the 2D gaussian function along a vector x, centered in x0 and with a FWHM in intensity of dx and smae along y axis. n=1 is for the standard gaussian while n>1 defines a hypergaussian. optionally rotate it by an angle in degree
- Parameters
x ((ndarray) first axis of the 2D gaussian) –
x0 ((float) the central position of the gaussian) –
dx ((float) :the FWHM of the gaussian) –
y ((ndarray) second axis of the 2D gaussian) –
y0 ((float) the central position of the gaussian) –
dy ((float) :the FWHM of the gaussian) –
n=1 (an integer to define hypergaussian, n=1 by default for regular gaussian) –
angle ((float) a float to rotate main axes, in degree) –
- Returns
out
- Return type
ndarray 2 dimensions
- pymodaq.utils.math_utils.ift(x, dim=0)[source]¶
Process the inverse 1D fast fourier transform and swaps the axis to get correct results using ftAxis :param x: :type x: (ndarray) the array on which the FFT should be done :param dim: :type dim: the axis over which is done the FFT (default is the last of the array)
See also
ftAxis
,ftAxis_time
,ift
,ft2
,ift2
- pymodaq.utils.math_utils.ift2(x, dim=(-2, -1))[source]¶
Process the inverse 2D fast fourier transform and swaps the axis to get correct results using ftAxis :param x: :type x: (ndarray) the array on which the FFT should be done :param dim: :type dim: the axis (or a tuple of axes) over which is done the FFT (default is the last of the array)
See also
ftAxis
,ftAxis_time
,ift
,ft2
,ift2
- pymodaq.utils.math_utils.linspace_step(start, stop, step)[source]¶
Compute a regular linspace_step distribution from start to stop values.
Parameters
Type
Description
start
scalar
the starting value of distribution
stop
scalar
the stopping value of distribution
step
scalar
the length of a distribution step
- Returns
The computed distribution axis as an array.
- Return type
scalar array