11.3.1.3. Mathematical utilities

pymodaq.daq_utils.daq_utils.my_moment(x, y)[source]

Returns the moments of a distribution y over an axe x

Parameters:
  • x (list or ndarray) – vector of floats
  • y (list or ndarray) – vector of floats corresponding to the x axis
Returns:

m – Contains moment of order 0 (mean) and of order 1 (std) of the distribution y

Return type:

list

pymodaq.daq_utils.daq_utils.odd_even(x)[source]

odd_even tells if a number is odd (return True) or even (return False)

Parameters:x (the integer number to test) –
Returns:bool
Return type:boolean
pymodaq.daq_utils.daq_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
pymodaq.daq_utils.daq_utils.find_index(x, threshold)[source]

find_index finds the index ix such that x(ix) is the closest from threshold :param x: :type x: vector :param threshold: :type threshold: list of scalar

Returns:out – out=[(ix0,xval0),(ix1,xval1),…]
Return type:list of 2-tuple containing ix,x[ix]
pymodaq.daq_utils.daq_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:
  • x ((ndarray) first axis of the 2D gaussian) –
  • x0 ((float) the central position of the gaussian) –
  • dx ((float) :the FWHM of the gaussian) –
  • n=1 (an integer to define hypergaussian, n=1 by default for regular gaussian) –
Returns:

out – the value taken by the gaussian along x axis

Return type:

vector

pymodaq.daq_utils.daq_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.daq_utils.daq_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:
  • Npts ((int)) – A number of points defining the length of both grids
  • omega_max ((float)) – The maximum circular frequency in the spectral domain. its unit defines the temporal units. ex: omega_max in rad/fs implies time_grid in fs
Returns:

  • omega_grid ((ndarray)) – The spectral axis of the FFT
  • time_grid ((ndarray))) – The temporal axis of the FFT

pymodaq.daq_utils.daq_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

pymodaq.daq_utils.daq_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)

pymodaq.daq_utils.daq_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)

pymodaq.daq_utils.daq_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)

pymodaq.daq_utils.daq_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)