Public Member Functions | Private Attributes
optris::PIImager Class Reference

Wrapper for optris driver and image processing library. More...

#include <PIImager.h>

List of all members.

Public Member Functions

int acquire (unsigned short *buffer)
char * checkCalibration (unsigned long serial)
void forceFlagEvent ()
bool getAutoFlag ()
int getEnergyBuffer (unsigned short *buffer)
int getFrame (unsigned char *buffer)
float getFramerate ()
unsigned int getHeight ()
float getMaxFramerate ()
int getMetaData (unsigned char *buffer, int size)
unsigned int getRawBufferSize ()
unsigned long getSerial ()
float getTempBox ()
float getTempChip ()
int getTemperatureRangeMax ()
int getTemperatureRangeMin ()
float getTempFlag ()
unsigned int getVisibleHeight ()
unsigned int getVisibleWidth ()
unsigned int getWidth ()
bool hasBispectralTechnology ()
void init (const char *v4lPath, unsigned long serial, EnumControlInterface controller, int fov, int tMin, int tMax, float framerate, EnumOutputMode mode, int bispectral)
bool isFlagOpen ()
bool isOpen ()
void onFlagState (unsigned int flagstate)
void onThermalFrame (unsigned short *buffer)
void onThermalFrameInit (unsigned int width, unsigned int height)
void onVisibleFrame (unsigned char *buffer)
void onVisibleFrameInit (unsigned int width, unsigned int height)
 PIImager (const char *xmlConfig)
 PIImager ()
void process (unsigned char *buffer)
int readControl (unsigned int id, int *value)
void releaseFrame ()
void setAutoFlag (bool flag)
void setFrameCallback (fptrOptrisFrame callback)
void setVisibleFrameCallback (fptrOptrisVisibleFrame callback)
bool startStreaming ()
int writeControl (unsigned int id, int value)
 ~PIImager ()

Private Attributes

bool _autoFlag
int _bispectral
unsigned short * _buffer
unsigned char * _bufferVisible
fptrOptrisFrame _cbFrame
fptrOptrisVisibleFrame _cbVisibleFrame
EnumControlInterface _controller
unsigned int _flagstate
int _fov
float _framerate
unsigned int _heightIn
unsigned int _heightOut
unsigned int _heightOutVisible
bool _init
ImageProcessing * _ip
bool _manualFlag
float _maxFramerate
int _outputmode
unsigned long _serial
NewFrameBuffer * _SGBuffer
Timer * _t
float _tBox
float _tChip
float _tFlag
int _tMax
int _tMin
BaseControlDevice * _udev
ImagerUVC * _uvc
const char * _v4lPath
unsigned int _widthIn
unsigned int _widthOut
unsigned int _widthOutVisible

Detailed Description

Wrapper for optris driver and image processing library.

Author:
Stefan May (Nuremberg Institute of Technology Georg Simon Ohm), Matthias Wiedemann (Optris GmbH)

Definition at line 39 of file PIImager.h.


Constructor & Destructor Documentation

optris::PIImager::PIImager ( const char *  xmlConfig)

Standard constructor

Parameters:
[in]pathPath to XML-configuration file

Standard constructor (Empty -> see comment of init routine)

Destructor


Member Function Documentation

int optris::PIImager::acquire ( unsigned short *  buffer)

Get thermal image (Temperature can be calculated with ((float)val-1000.f)/10.f)

Parameters:
[out]Outputbuffer (needs to be allocated outside having the size of getWidth()*getHeight())
Returns:
success flag (==1), else (==-1)
char* optris::PIImager::checkCalibration ( unsigned long  serial)

Check existence of calibration file set

Parameters:
[in]serialSerial number to be checked
Returns:
missing files as comma separated list

Force shutter flag event manually (close/open cycle)

Access automatic flag activation state

Returns:
automatic flag
int optris::PIImager::getEnergyBuffer ( unsigned short *  buffer)

Get energy buffer of previously acquired frame

Parameters:
[out]Outputbuffer (needs to be allocated outside having the size of getWidth()*getHeight())
Returns:
success flag (==0)
int optris::PIImager::getFrame ( unsigned char *  buffer)

Get raw image (needs to be processed to obtain thermal data)

Parameters:
[out]bufferOutput buffer (needs to be allocated outside having the size of getRawBufferSize())
Returns:
success flag (==0)

Get configured frame rate return frame rate (in frames/second)

unsigned int optris::PIImager::getHeight ( )

Get image height of thermal channel

Returns:
Image height, i.e. number of rows

Get maximum frame rate of device return frame rate (in frames/second)

int optris::PIImager::getMetaData ( unsigned char *  buffer,
int  size 
)

Get meta data container of previously acquired frame

Parameters:
[out]Outputbuffer
[in]sizeSize of buffer in bytes
Returns:
number of copied bytes

Get raw image size (includes meta data)

Returns:
Number of bytes
unsigned long optris::PIImager::getSerial ( )

Get serial number of device

Returns:
serial number

Get temperature of housing

Returns:
temperature

Get temperature of chip

Returns:
temperature

Get upper limit of temperature range

Returns:
upper limit

Get lower limit of temperature range

Returns:
lower limit

Get temperature of shutter flag

Returns:
temperature

Get image height of visible channel (if available)

Returns:
Image height, i.e. number of rows

Get image width of visible channel (if available)

Returns:
Image width, i.e. number of columns
unsigned int optris::PIImager::getWidth ( )

Get image width of thermal channel

Returns:
Image width, i.e. number of columns

Check if bispectral technology is available

Returns:
bispectral technology flag
void optris::PIImager::init ( const char *  v4lPath,
unsigned long  serial,
EnumControlInterface  controller,
int  fov,
int  tMin,
int  tMax,
float  framerate,
EnumOutputMode  mode,
int  bispectral 
)

Initializing routine, to be called if empty constructor was chosen to instantiate device

Parameters:
[in]v4lPathvideo4Linux device path
[in]serialSerial number (if set to 0, the device is tried to be automatically detected
[in]controllerBaseControlInterface, i.e., HID or UVC
[in]fovField of view of optics
[in]tMinMinimum temperature (cf. valid temperature ranges)
[in]tMaxMaximum temperature (cf. valid temperature ranges)
[in]framerateDesired framerate (must be less or equal than the camera's framerate)
[in]modeStreaming output mode, i.e., energy data or temperature data
[in]bispectral1, if bispectral technology is available (only PI200/PI230) and should be used, else 0

Check if shutter flag is open

Returns:
flag open

Check for opened device

Returns:
device opened
void optris::PIImager::onFlagState ( unsigned int  flagstate)

Internal method not to be used from any application

void optris::PIImager::onThermalFrame ( unsigned short *  buffer)

Internal method not to be used from any application!

void optris::PIImager::onThermalFrameInit ( unsigned int  width,
unsigned int  height 
)

Internal method not to be used from any application!

void optris::PIImager::onVisibleFrame ( unsigned char *  buffer)

Internal method not to be used from any application!

void optris::PIImager::onVisibleFrameInit ( unsigned int  width,
unsigned int  height 
)

Internal method not to be used from any application!

void optris::PIImager::process ( unsigned char *  buffer)

Process raw data

Parameters:
[in]bufferRaw data acquired with getFrame()
int optris::PIImager::readControl ( unsigned int  id,
int *  value 
)

Internal method to communicate with uvc device

Release frame bound with getFrame of acquire method (needs to be called within the grabbing loop)

void optris::PIImager::setAutoFlag ( bool  flag)

Set automatic flag activation state. Disabling will prevent camera from getting freezed frequently for several frames. But temperature data might deviate too much.

Parameters:
[in]flagAutmatic flag activation state

Set callback function to be called for new frames

Parameters:
[in]callbackPointer to callback function for thermal channel

Set callback function to be called for new frames

Parameters:
[in]callbackPointer to callback function for visible channel

Start UVC data streaming

int optris::PIImager::writeControl ( unsigned int  id,
int  value 
)

Internal method to communicate with uvc device


Member Data Documentation

Definition at line 329 of file PIImager.h.

Definition at line 339 of file PIImager.h.

unsigned short* optris::PIImager::_buffer [private]

Definition at line 299 of file PIImager.h.

unsigned char* optris::PIImager::_bufferVisible [private]

Definition at line 305 of file PIImager.h.

Definition at line 307 of file PIImager.h.

Definition at line 309 of file PIImager.h.

Definition at line 327 of file PIImager.h.

unsigned int optris::PIImager::_flagstate [private]

Definition at line 347 of file PIImager.h.

int optris::PIImager::_fov [private]

Definition at line 311 of file PIImager.h.

Definition at line 317 of file PIImager.h.

unsigned int optris::PIImager::_heightIn [private]

Definition at line 293 of file PIImager.h.

unsigned int optris::PIImager::_heightOut [private]

Definition at line 297 of file PIImager.h.

unsigned int optris::PIImager::_heightOutVisible [private]

Definition at line 303 of file PIImager.h.

bool optris::PIImager::_init [private]

Definition at line 289 of file PIImager.h.

ImageProcessing* optris::PIImager::_ip [private]

Definition at line 351 of file PIImager.h.

Definition at line 331 of file PIImager.h.

Definition at line 319 of file PIImager.h.

Definition at line 321 of file PIImager.h.

unsigned long optris::PIImager::_serial [private]

Definition at line 323 of file PIImager.h.

NewFrameBuffer* optris::PIImager::_SGBuffer [private]

Definition at line 349 of file PIImager.h.

Timer* optris::PIImager::_t [private]

Definition at line 341 of file PIImager.h.

float optris::PIImager::_tBox [private]

Definition at line 333 of file PIImager.h.

float optris::PIImager::_tChip [private]

Definition at line 335 of file PIImager.h.

float optris::PIImager::_tFlag [private]

Definition at line 337 of file PIImager.h.

int optris::PIImager::_tMax [private]

Definition at line 315 of file PIImager.h.

int optris::PIImager::_tMin [private]

Definition at line 313 of file PIImager.h.

BaseControlDevice* optris::PIImager::_udev [private]

Definition at line 345 of file PIImager.h.

ImagerUVC* optris::PIImager::_uvc [private]

Definition at line 343 of file PIImager.h.

const char* optris::PIImager::_v4lPath [private]

Definition at line 325 of file PIImager.h.

unsigned int optris::PIImager::_widthIn [private]

Definition at line 291 of file PIImager.h.

unsigned int optris::PIImager::_widthOut [private]

Definition at line 295 of file PIImager.h.

unsigned int optris::PIImager::_widthOutVisible [private]

Definition at line 301 of file PIImager.h.


The documentation for this class was generated from the following file:


optris_drivers
Author(s): Stefan May (Nuremberg Institute of Technology Georg Simon Ohm - www.th-nuernberg.de), 64-Bit platform supported by Fraunhofer IPA (www.ipa.fraunhofer.de), Support for ROS hydro migration by Christopher-Eyk Hrabia (DAI-Labor, Technische Universität Berlin)
autogenerated on Mon Oct 6 2014 03:09:39