5 #ifndef NDPluginROIStat_H
6 #define NDPluginROIStat_H
8 #include <epicsTypes.h>
13 #define NDPluginROIStatFirstString "ROISTAT_FIRST"
14 #define NDPluginROIStatLastString "ROISTAT_LAST"
15 #define NDPluginROIStatNameString "ROISTAT_NAME"
16 #define NDPluginROIStatResetAllString "ROISTAT_RESETALL"
19 #define NDPluginROIStatUseString "ROISTAT_USE"
20 #define NDPluginROIStatResetString "ROISTAT_RESET"
21 #define NDPluginROIStatBgdWidthString "ROISTAT_BGD_WIDTH"
22 #define NDPluginROIStatDim0MinString "ROISTAT_DIM0_MIN"
23 #define NDPluginROIStatDim0SizeString "ROISTAT_DIM0_SIZE"
24 #define NDPluginROIStatDim0MaxSizeString "ROISTAT_DIM0_MAX_SIZE"
25 #define NDPluginROIStatDim1MinString "ROISTAT_DIM1_MIN"
26 #define NDPluginROIStatDim1SizeString "ROISTAT_DIM1_SIZE"
27 #define NDPluginROIStatDim1MaxSizeString "ROISTAT_DIM1_MAX_SIZE"
28 #define NDPluginROIStatDim2MinString "ROISTAT_DIM2_MIN"
29 #define NDPluginROIStatDim2SizeString "ROISTAT_DIM2_SIZE"
30 #define NDPluginROIStatDim2MaxSizeString "ROISTAT_DIM2_MAX_SIZE"
33 #define NDPluginROIStatMinValueString "ROISTAT_MIN_VALUE"
34 #define NDPluginROIStatMaxValueString "ROISTAT_MAX_VALUE"
35 #define NDPluginROIStatMeanValueString "ROISTAT_MEAN_VALUE"
36 #define NDPluginROIStatTotalString "ROISTAT_TOTAL"
37 #define NDPluginROIStatNetString "ROISTAT_NET"
40 #define NDPluginROIStatTSControlString "ROISTAT_TS_CONTROL"
41 #define NDPluginROIStatTSNumPointsString "ROISTAT_TS_NUM_POINTS"
42 #define NDPluginROIStatTSCurrentPointString "ROISTAT_TS_CURRENT_POINT"
43 #define NDPluginROIStatTSAcquiringString "ROISTAT_TS_ACQUIRING"
44 #define NDPluginROIStatTSMinValueString "ROISTAT_TS_MIN_VALUE"
45 #define NDPluginROIStatTSMaxValueString "ROISTAT_TS_MAX_VALUE"
46 #define NDPluginROIStatTSMeanValueString "ROISTAT_TS_MEAN_VALUE"
47 #define NDPluginROIStatTSTotalString "ROISTAT_TS_TOTAL"
48 #define NDPluginROIStatTSNetString "ROISTAT_TS_NET"
49 #define NDPluginROIStatTSTimestampString "ROISTAT_TS_TIMESTAMP"
87 NDPluginROIStat(
const char *portName,
int queueSize,
int blockingCallbacks,
88 const char *NDArrayPort,
int NDArrayAddr,
int maxROIs,
89 int maxBuffers,
size_t maxMemory,
90 int priority,
int stackSize,
int maxThreads);
100 #define FIRST_NDPLUGIN_ROISTAT_PARAM NDPluginROIStatFirst
141 template <
typename epicsType> asynStatus doComputeStatisticsT(
NDArray *pArray,
NDROI_t *pROI);
143 asynStatus clear(epicsUInt32 roi);
144 void clearTimeSeries();
145 void doTimeSeriesCallbacks();
#define NDPLUGIN_API
Definition: NDPluginAPI.h:41
NDPluginROIStatsTSControl_t
Definition: NDPluginROIStat.h:61
@ TSRead
Definition: NDPluginROIStat.h:65
@ TSStart
Definition: NDPluginROIStat.h:63
@ TSStop
Definition: NDPluginROIStat.h:64
@ TSEraseStart
Definition: NDPluginROIStat.h:62
@ TSErase
Definition: NDPluginROIStat.h:66
struct NDROI NDROI_t
Structure defining a Region-Of-Interest and Stats.
NDPluginROIStatTSType
Definition: NDPluginROIStat.h:51
@ TSMinValue
Definition: NDPluginROIStat.h:52
@ TSNet
Definition: NDPluginROIStat.h:56
@ TSMaxValue
Definition: NDPluginROIStat.h:53
@ TSTotal
Definition: NDPluginROIStat.h:55
@ TSTimestamp
Definition: NDPluginROIStat.h:57
@ TSMeanValue
Definition: NDPluginROIStat.h:54
@ MAX_TIME_SERIES_TYPES
Definition: NDPluginROIStat.h:58
N-dimensional array class; each array has a set of dimensions, a data type, pointer to data,...
Definition: NDArray.h:99
Class from which actual plugin drivers are derived; derived from asynNDArrayDriver.
Definition: NDPluginDriver.h:57
virtual asynStatus writeInt32(asynUser *pasynUser, epicsInt32 value)
Called when asyn clients call pasynInt32->write().
Definition: NDPluginDriver.cpp:678
virtual void processCallbacks(NDArray *pArray)=0
Compute statistics on ROIs in an array.
Definition: NDPluginROIStat.h:85
int NDPluginROIStatName
Definition: NDPluginROIStat.h:101
int NDPluginROIStatDim0Min
Definition: NDPluginROIStat.h:108
int NDPluginROIStatTSControl
Definition: NDPluginROIStat.h:126
int NDPluginROIStatDim1Min
Definition: NDPluginROIStat.h:111
int NDPluginROIStatMaxValue
Definition: NDPluginROIStat.h:120
int NDPluginROIStatTSTotal
Definition: NDPluginROIStat.h:133
int NDPluginROIStatMeanValue
Definition: NDPluginROIStat.h:121
int NDPluginROIStatTSMaxValue
Definition: NDPluginROIStat.h:131
int NDPluginROIStatTSNumPoints
Definition: NDPluginROIStat.h:127
int NDPluginROIStatTSMinValue
Definition: NDPluginROIStat.h:130
int NDPluginROIStatDim0MaxSize
Definition: NDPluginROIStat.h:110
int NDPluginROIStatLast
Definition: NDPluginROIStat.h:137
int NDPluginROIStatTSCurrentPoint
Definition: NDPluginROIStat.h:128
int NDPluginROIStatTSAcquiring
Definition: NDPluginROIStat.h:129
int NDPluginROIStatTSNet
Definition: NDPluginROIStat.h:134
int NDPluginROIStatNet
Definition: NDPluginROIStat.h:123
int NDPluginROIStatDim1Size
Definition: NDPluginROIStat.h:112
int NDPluginROIStatReset
Definition: NDPluginROIStat.h:103
int NDPluginROIStatTSTimestamp
Definition: NDPluginROIStat.h:135
int NDPluginROIStatBgdWidth
Definition: NDPluginROIStat.h:104
int NDPluginROIStatUse
Definition: NDPluginROIStat.h:102
int NDPluginROIStatDim2Min
Definition: NDPluginROIStat.h:114
int NDPluginROIStatMinValue
Definition: NDPluginROIStat.h:119
int NDPluginROIStatFirst
Definition: NDPluginROIStat.h:99
int NDPluginROIStatTotal
Definition: NDPluginROIStat.h:122
int NDPluginROIStatDim1MaxSize
Definition: NDPluginROIStat.h:113
int NDPluginROIStatDim2MaxSize
Definition: NDPluginROIStat.h:116
int NDPluginROIStatDim2Size
Definition: NDPluginROIStat.h:115
int NDPluginROIStatTSMeanValue
Definition: NDPluginROIStat.h:132
int NDPluginROIStatResetAll
Definition: NDPluginROIStat.h:105
int NDPluginROIStatDim0Size
Definition: NDPluginROIStat.h:109
list value
Definition: makeDbAndEdl.py:234
Structure defining a Region-Of-Interest and Stats.
Definition: NDPluginROIStat.h:70
double mean
Definition: NDPluginROIStat.h:76
size_t size[2]
Definition: NDPluginROIStat.h:73
size_t bgdWidth
Definition: NDPluginROIStat.h:74
double net
Definition: NDPluginROIStat.h:79
size_t arraySize[2]
Definition: NDPluginROIStat.h:80
double max
Definition: NDPluginROIStat.h:78
int use
Definition: NDPluginROIStat.h:71
size_t offset[2]
Definition: NDPluginROIStat.h:72
double total
Definition: NDPluginROIStat.h:75
double min
Definition: NDPluginROIStat.h:77