lightonopu.simulated_device

class SimulatedOpuDevice(frametime_us=0, exposure_us=0, cam_ROI=None, verbose=False)[source]

Bases: object

Provides a simulation of the OPU with synthetic random matrix

Parameters
  • frametime_us (int) –

  • exposure_us (int) –

  • cam_ROI (tuple(tuple(int))) –

  • verbose (bool) – These parameters are provided only for API compatibility with lightonopu.device.OpuDevice

_random_matrix

The random matrix used for transformation @see build_random_matrix to generate it

Type

np.ndarray

build_random_matrix(n_features, n_components, seed=0)[source]

Generate the random matrix that simulates the OPU.

The matrix is complex, drawning elements at random from a normal gaussian distribution @see self.random_matrix

Parameters
  • n_features (int) – number of features of the generated matrix

  • n_components (int) – number of components of the generated matrix

  • seed ({None, int, array_like}, optional) – Initializer for the pseudo random number generator of the matrix Can be any integer between 0 and 2**32 - 1 inclusive, an array (or other sequence) of such integers, or None. If seed is None, then RandomState will try to read data from /dev/urandom if available or seed from the clock otherwise.

dmd_shape

list(int), Shape of the DMD, in pixels and cartesian coordinates

input_size

Input size of the DMD, in bytes

Type

int

nb_features

Total number of features supported by the OPU

Type

int