areaDetector 1-9
Classes | Defines | Typedefs | Enumerations
/home/epics/devel/areaDetector/ADApp/ADSrc/NDArray.h File Reference
#include <ellLib.h>
#include <epicsMutex.h>
#include <epicsTypes.h>

Go to the source code of this file.

Classes

struct  NDDimension
 Structure defining a dimension of an NDArray. More...
struct  NDArrayInfo
 Structure returned by NDArray::getInfo. More...
struct  NDAttributeListNode
 Structure used by the EPICS ellLib library for linked lists of C++ objects. More...
union  NDAttrValue
 Union defining the values in an NDAttribute object. More...
class  NDAttribute
 NDAttribute class; an attribute has a name, description, source type, source string, data type, and value. More...
class  NDAttributeList
 NDAttributeList class; this is a linked list of attributes. More...
class  NDArray
 N-dimensional array class; each array has a set of dimensions, a data type, pointer to data, and optional attributes. More...
class  NDArrayPool
 The NDArrayPool class manages a free list (pool) of NDArray objects. More...

Defines

#define ND_ARRAY_MAX_DIMS   10
 NDArray.h.
#define ND_SUCCESS   0
 Success return code.
#define ND_ERROR   -1
 Failure return code.
#define MAX_ATTRIBUTE_STRING_SIZE   256

Typedefs

typedef struct NDDimension NDDimension_t
 Structure defining a dimension of an NDArray.
typedef struct NDArrayInfo NDArrayInfo_t
 Structure returned by NDArray::getInfo.
typedef struct NDAttributeListNode NDAttributeListNode
 Structure used by the EPICS ellLib library for linked lists of C++ objects.

Enumerations

enum  NDDataType_t {
  NDInt8, NDUInt8, NDInt16, NDUInt16,
  NDInt32, NDUInt32, NDFloat32, NDFloat64
}
 Enumeration of NDArray data types. More...
enum  NDAttrDataType_t {
  NDAttrInt8 = NDInt8, NDAttrUInt8 = NDUInt8, NDAttrInt16 = NDInt16, NDAttrUInt16 = NDUInt16,
  NDAttrInt32 = NDInt32, NDAttrUInt32 = NDUInt32, NDAttrFloat32 = NDFloat32, NDAttrFloat64 = NDFloat64,
  NDAttrString, NDAttrUndefined
}
 Enumeration of NDAttribute attribute data types. More...
enum  NDAttrSource_t { NDAttrSourceDriver, NDAttrSourceParam, NDAttrSourceEPICSPV }
 Enumeration of NDAttibute source types. More...
enum  NDColorMode_t {
  NDColorModeMono, NDColorModeBayer, NDColorModeRGB1, NDColorModeRGB2,
  NDColorModeRGB3, NDColorModeYUV444, NDColorModeYUV422, NDColorModeYUV411
}
 Enumeration of color modes for NDArray attribute "colorMode". More...
enum  NDBayerPattern_t { NDBayerRGGB = 0, NDBayerGBRG = 1, NDBayerGRBG = 2, NDBayerBGGR = 3 }
 Enumeration of Bayer patterns for NDArray attribute "bayerPattern". More...

Define Documentation

#define MAX_ATTRIBUTE_STRING_SIZE   256
#define ND_ARRAY_MAX_DIMS   10

NDArray.h.

N-dimensional array definition

Mark Rivers University of Chicago May 10, 2008 The maximum number of dimensions in an NDArray

#define ND_ERROR   -1

Failure return code.

#define ND_SUCCESS   0

Success return code.


Typedef Documentation

typedef struct NDArrayInfo NDArrayInfo_t

Structure returned by NDArray::getInfo.

Structure used by the EPICS ellLib library for linked lists of C++ objects.

This is needed for ellLists of C++ objects, for which making the first data element the ELLNODE does not work if the class has virtual functions or derived classes.

typedef struct NDDimension NDDimension_t

Structure defining a dimension of an NDArray.


Enumeration Type Documentation

Enumeration of NDAttribute attribute data types.

Enumerator:
NDAttrInt8 

Signed 8-bit integer.

NDAttrUInt8 

Unsigned 8-bit integer.

NDAttrInt16 

Signed 16-bit integer.

NDAttrUInt16 

Unsigned 16-bit integer.

NDAttrInt32 

Signed 32-bit integer.

NDAttrUInt32 

Unsigned 32-bit integer.

NDAttrFloat32 

32-bit float

NDAttrFloat64 

64-bit float

NDAttrString 

Dynamic length string.

NDAttrUndefined 

Undefined data type.

Enumeration of NDAttibute source types.

Enumerator:
NDAttrSourceDriver 

Attribute is obtained directly from driver.

NDAttrSourceParam 

Attribute is obtained from parameter library.

NDAttrSourceEPICSPV 

Attribute is obtained from an EPICS PV.

Enumeration of Bayer patterns for NDArray attribute "bayerPattern".

This value is only meaningful if colorMode is NDColorModeBayer. This value is needed because the Bayer pattern will change when reading out a subset of the chip, for example if the X or Y offset values are not even numbers

Enumerator:
NDBayerRGGB 

First line RGRG, second line GBGB...

NDBayerGBRG 

First line GBGB, second line RGRG...

NDBayerGRBG 

First line GRGR, second line BGBG...

NDBayerBGGR 

First line BGBG, second line GRGR...

Enumeration of color modes for NDArray attribute "colorMode".

Enumerator:
NDColorModeMono 

Monochromatic image.

NDColorModeBayer 

Bayer pattern image, 1 value per pixel but with color filter on detector.

NDColorModeRGB1 

RGB image with pixel color interleave, data array is [3, NX, NY].

NDColorModeRGB2 

RGB image with row color interleave, data array is [NX, 3, NY].

NDColorModeRGB3 

RGB image with plane color interleave, data array is [NX, NY, 3].

NDColorModeYUV444 

YUV image, 3 bytes encodes 1 RGB pixel.

NDColorModeYUV422 

YUV image, 4 bytes encodes 2 RGB pixel.

NDColorModeYUV411 

YUV image, 6 bytes encodes 4 RGB pixels.

Enumeration of NDArray data types.

Enumerator:
NDInt8 

Signed 8-bit integer.

NDUInt8 

Unsigned 8-bit integer.

NDInt16 

Signed 16-bit integer.

NDUInt16 

Unsigned 16-bit integer.

NDInt32 

Signed 32-bit integer.

NDUInt32 

Unsigned 32-bit integer.

NDFloat32 

32-bit float

NDFloat64 

64-bit float