areaDetector 1-8
Public Member Functions | Protected Attributes
NDPluginTransform Class Reference

Perform transformations (rotations, flips) on NDArrays. More...

#include <NDPluginTransform.h>

Inheritance diagram for NDPluginTransform:
NDPluginDriver asynNDArrayDriver asynPortDriver

List of all members.

Public Member Functions

 NDPluginTransform (const char *portName, int queueSize, int blockingCallbacks, const char *NDArrayPort, int NDArrayAddr, int maxBuffers, size_t maxMemory, int priority, int stackSize)
 Constructor for NDPluginTransform; most parameters are simply passed to NDPluginDriver::NDPluginDriver.
void processCallbacks (NDArray *pArray)
 Callback function that is called by the NDArray driver with new NDArray data.
asynStatus writeInt32 (asynUser *pasynUser, epicsInt32 value)
 Called when asyn clients call pasynInt32->write().

Protected Attributes

int NDPluginTransformName
int NDPluginTransform1Type
int NDPluginTransform2Type
int NDPluginTransform3Type
int NDPluginTransform4Type
int NDPluginTransformOrigin
int NDPluginTransform1Dim0MaxSize
int NDPluginTransform1Dim1MaxSize
int NDPluginTransform1Dim2MaxSize
int NDPluginTransform2Dim0MaxSize
int NDPluginTransform2Dim1MaxSize
int NDPluginTransform2Dim2MaxSize
int NDPluginTransform3Dim0MaxSize
int NDPluginTransform3Dim1MaxSize
int NDPluginTransform3Dim2MaxSize
int NDPluginTransform4Dim0MaxSize
int NDPluginTransform4Dim1MaxSize
int NDPluginTransform4Dim2MaxSize
int NDPluginTransformArraySize0
int NDPluginTransformArraySize1
int NDPluginTransformArraySize2

Detailed Description

Perform transformations (rotations, flips) on NDArrays.


Constructor & Destructor Documentation

NDPluginTransform::NDPluginTransform ( const char *  portName,
int  queueSize,
int  blockingCallbacks,
const char *  NDArrayPort,
int  NDArrayAddr,
int  maxBuffers,
size_t  maxMemory,
int  priority,
int  stackSize 
)

Constructor for NDPluginTransform; most parameters are simply passed to NDPluginDriver::NDPluginDriver.

After calling the base class constructor this method sets reasonable default values for all of the Transform parameters.

Parameters:
[in]portNameThe name of the asyn port driver to be created.
[in]queueSizeThe number of NDArrays that the input queue for this plugin can hold when NDPluginDriverBlockingCallbacks=0. Larger queues can decrease the number of dropped arrays, at the expense of more NDArray buffers being allocated from the underlying driver's NDArrayPool.
[in]blockingCallbacksInitial setting for the NDPluginDriverBlockingCallbacks flag. 0=callbacks are queued and executed by the callback thread; 1 callbacks execute in the thread of the driver doing the callbacks.
[in]NDArrayPortName of asyn port driver for initial source of NDArray callbacks.
[in]NDArrayAddrasyn port driver address for initial source of NDArray callbacks.
[in]maxBuffersThe maximum number of NDArray buffers that the NDArrayPool for this driver is allowed to allocate. Set this to -1 to allow an unlimited number of buffers.
[in]maxMemoryThe maximum amount of memory that the NDArrayPool for this driver is allowed to allocate. Set this to -1 to allow an unlimited amount of memory.
[in]priorityThe thread priority for the asyn port driver thread if ASYN_CANBLOCK is set in asynFlags.
[in]stackSizeThe stack size for the asyn port driver thread if ASYN_CANBLOCK is set in asynFlags.

Member Function Documentation

void NDPluginTransform::processCallbacks ( NDArray pArray) [virtual]

Callback function that is called by the NDArray driver with new NDArray data.

Grabs the current NDArray and applies the selected transforms to the data. Apply the transforms in order.

Parameters:
[in]pArrayThe NDArray from the callback.

Need to treat RGB modes diferently

Reimplemented from NDPluginDriver.

asynStatus NDPluginTransform::writeInt32 ( asynUser *  pasynUser,
epicsInt32  value 
) [virtual]

Called when asyn clients call pasynInt32->write().

This function performs actions for some parameters, including transform type and origin. For other parameters it calls NDPluginDriver::writeInt32 to see if that method understands the parameter. For all parameters it sets the value in the parameter library and calls any registered callbacks..

Parameters:
[in]pasynUserpasynUser structure that encodes the reason and address.
[in]valueValue to write.

Reimplemented from NDPluginDriver.


Member Data Documentation


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