areaDetector
3-5-0
EPICS areaDetector framework
|
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <math.h>
#include <epicsTypes.h>
#include <epicsMessageQueue.h>
#include <epicsThread.h>
#include <epicsEvent.h>
#include <epicsTime.h>
#include <iocsh.h>
#include <asynDriver.h>
#include <epicsExport.h>
#include "NDPluginDriver.h"
#include "NDPluginTransform.h"
Functions | |
template<typename epicsType > | |
void | transformNDArray (NDArray *inArray, NDArray *outArray, int transformType, int colorMode, NDArrayInfo_t *arrayInfo) |
Perform the move of the pixels to the new orientation. More... | |
int | NDTransformConfigure (const char *portName, int queueSize, int blockingCallbacks, const char *NDArrayPort, int NDArrayAddr, int maxBuffers, size_t maxMemory, int priority, int stackSize, int maxThreads) |
Configuration command. More... | |
void | NDTransformRegister (void) |
epicsExportRegistrar (NDTransformRegister) | |
epicsExportRegistrar | ( | NDTransformRegister | ) |
int NDTransformConfigure | ( | const char * | portName, |
int | queueSize, | ||
int | blockingCallbacks, | ||
const char * | NDArrayPort, | ||
int | NDArrayAddr, | ||
int | maxBuffers, | ||
size_t | maxMemory, | ||
int | priority, | ||
int | stackSize, | ||
int | maxThreads | ||
) |
Configuration command.
void NDTransformRegister | ( | void | ) |
void transformNDArray | ( | NDArray * | inArray, |
NDArray * | outArray, | ||
int | transformType, | ||
int | colorMode, | ||
NDArrayInfo_t * | arrayInfo | ||
) |
Perform the move of the pixels to the new orientation.
Copy three values for each iteration of the inner loop. This moves the red, green, and blue information.
The values of colorStride and yStride need to change because the dimensions of the image may have changed.
Copy three values for each iteration of the inner loop. This moves the red, green, and blue information.
Calculate a new value for the Y stride.
Copy three values for each iteration of the inner loop. This moves the red, green, and blue information.
Copy three values for each iteration of the inner loop. This moves the red, green, and blue information.
The values of colorStride and yStride need to change because the dimensions of the image may have changed.
Copy three values for each iteration of the inner loop. This moves the red, green, and blue information.
Calculate a new value for the Y stride.
Copy three values for each iteration of the inner loop. This moves the red, green, and blue information.
The values of colorStride and yStride need to change because the dimensions of the image may have changed.
Copy three values for each iteration of the inner loop. This moves the red, green, and blue information.
Calculate a new value for the Y stride.
Copy three values for each iteration of the inner loop. This moves the red, green, and blue information.
The values of colorStride and yStride need to change because the dimensions of the image may have changed.
Copy three values for each iteration of the inner loop. This moves the red, green, and blue information.
Calculate a new value for the Y stride.
Copy three values for each iteration of the inner loop. This moves the red, green, and blue information.
In this mode, we are moving an entire row at once. First all of the red rows are moved. Next, all of the green rows are moved. Lastly, all of the blue rows are moved. In mono mode, the outer loop only executes once.
In this mode, we are moving three rows at a time. All the red, green, and blue information for each for are moved at once.