Hermes SDK 1.0.1A
Hermes-SDK custom Types

Typedefs

typedef struct _Hermes_H * Hermes_H
 
typedef unsigned char * BUFFER_H
 

Enumerations

enum  HermesReturn {
  OK = 0 , USB_DEVICE_NOT_RECOGNIZED = -1 , CAMERA_NOT_POWERING_UP =-3 , COMMUNICATION_ERROR =-5 ,
  OUT_OF_BOUND = -6 , MISSING_DLL = -7 , EMPTY_BUFFER = -8 , NOT_EN_MEMORY = -9 ,
  NULL_POINTER = -10 , INVALID_OP = -11 , UNABLE_CREATE_FILE = -12 , UNABLE_READ_FILE = -13 ,
  FIRMWARE_NOT_COMPATIBLE =-14 , POWER_SUPPLY_ERROR = -15 , TOO_MUCH_LIGHT = -16 , INVALID_NIMG_CORRELATION = -17 ,
  HERMES_MEMORY_FULL = -18 , PERSISTING_TOO_MUCH_LIGHT = -19
}
 
enum  OutFileFormat { HERMES_FILEFORMAT = 0 , TIFF_NO_COMPRESSION = 2 }
 
enum  GateMode { Continuous = 0 , Pulsed = 1 , Coarse = 2 }
 
enum  CameraMode { Normal = 0 , Advanced = 1 }
 
enum  TriggerMode { None = 0 , Gate_Clk = 1 , Frame = 2 }
 
enum  State { Disabled = 0 , Enabled = 1 }
 
enum  CorrelationMode { Linear = 0 , MultiTau = 1 }
 

Detailed Description

Custom types used by the SDK.

Enumeration Type Documentation

◆ CameraMode

enum CameraMode

Hermes working mode.

The camera contains for each pixel 8-bit counters. If the exposure time is too long, the counters can overflow and generate a distorted image. Therefore, two operating modes have been implemented: a "normal" one which prevents the overflow of the counters, and an advanced one which gives full control of the camera to the user.

Enumerator
Normal 

The camera settings are tuned by the software to avoid the overflow of the counters.

In this working mode, the exposure time of each image is fixed to a multiple of 10.40 microseconds. Longer exposures are obtained by integrating more frames.

Advanced 

The user has full control of the camera settings.

WARNING: the counters can overflow.

◆ CorrelationMode

Type of correlation function.

The SDK implements two autocorrelation algorithms which can be applied to the acquired sequence of images. The multi-tau autocorrelation has been implemented according to Culbertson and Burden "A distributed algorithm for multi-tau autocorrelation.", Rev Sci Instrum 78, 044102 (2007) (standard version) and the linear one similar to Press, Teukolsky, Vetterling and Flannery,"Numerical Recipes 3rd Edition: The Art of Scientific Computing.", (2007) "autocor.cpp".

Enumerator
Linear 

Selects the linear correlation algorithm.

MultiTau 

Selects the linear multi-tau algorithm.

◆ GateMode

enum GateMode

Gate setting.

Enable and disable the software gating. When the setting is Pulsed or Coarse, the Hermes discards the detected photons by the SPAD matrix if measured outside a valid gate signal.

Enumerator
Continuous 

The gate signal is always "ON".

Pulsed 

The gate signal is a square wave at 50MHz.

The photons, which are detected when the gate signal is "ON", are counted, otherwise they are discarded.

Coarse 

The gate signal is a square wave, with period equal to the integration time, and width and position adjustable in 10ns-steps.

The photons, which are detected when the gate signal is "ON", are counted, otherwise they are discarded.

◆ HermesReturn

Error table.

Error code returned by the Hermes functions.

Enumerator
OK 

The function returned successfully.

USB_DEVICE_NOT_RECOGNIZED 

The USB device driver has not been initialized.

Is there any device connected?

CAMERA_NOT_POWERING_UP 

Internal power supply is not powering up.

Check connections and restart the camera. If problems persists contact MPD.

COMMUNICATION_ERROR 

Communication error during readout.

Check USB connection.

OUT_OF_BOUND 

One or more parameters passed to the function are outside the valid boundaries.

MISSING_DLL 

One or more Hermes libraries are missing.

EMPTY_BUFFER 

An empty buffer image has been provided to the function.

NOT_EN_MEMORY 

Not enough memory is available to operate the camera.

NULL_POINTER 

A null pointer has been provided to the function.

INVALID_OP 

The required function can not be executed.

The device current operation mode may be incompatible with the called function.

UNABLE_CREATE_FILE 

An output file can not be created.

UNABLE_READ_FILE 

The provided file can not be accessed.

FIRMWARE_NOT_COMPATIBLE 

The camera firmware is not compatible with the current software.

POWER_SUPPLY_ERROR 

Voltage drop on internal power supply.

Check connections and restart the camera. If problems persists contact MPD.

TOO_MUCH_LIGHT 

Too much light was detected by the camera.

The protection mechanism has been enabled. Decrease the amount of light on the sensor. Then, disconnect and reconnect the camera to the power supply or reset the protection by software.

INVALID_NIMG_CORRELATION 

The acquired number of images is not sufficient to calculate the required correlation function.

HERMES_MEMORY_FULL 

The Hermes internal memory got full during continuous acquisition.

Possible data loss.

PERSISTING_TOO_MUCH_LIGHT 

The overillumination protection circuit has been reset by the user 3 times.

It is now necessary to disconnect the camera from the power supply, after having carefully checked the illumination level!

◆ OutFileFormat

Output file format.

Table of the available output file formats for the saved images

Enumerator
HERMES_FILEFORMAT 

Hermes custom file format.

See

See also
HermesSaveImgDisk() for more details.
TIFF_NO_COMPRESSION 

Multipage TIFF without compression.

The file follows the OME-TIFF specification. It may be read with any reader able to open TIFF file, but OME-TIFF compatible reader will also show embedded metadata on acquisition parameters. For more information, see the OME-TIFF web site: http://www.openmicroscopy.org/site/support/ome-model/ome-tiff/ WARNING the creation of TIFF files might require longer execution times.

◆ State

enum State

Disable or enable a specific function.

Enumerator
Disabled 

The function is disabled.

Enabled 

The function is enabled.

◆ TriggerMode

Type of synchronization output.

The SYNC OUT SMA port can output different signals

Enumerator
None 

No output signal.

Gate_Clk 

A square wave of 50 MHz and 50% duty cycle synchronized with the software gate signal and the camera clock.

Frame 

A 60 ns pulse every time a new frame is acquired.