CARMA C++
OpticalTelControl.idl
1 
8 #ifndef _OPTICALTELIDL
9 #define _OPTICALTELIDL
10 
11 #include "carma/antenna/common/SwitchState.idl"
13 
14 module carma
15 {
16  module antenna
17  {
18  module common
19  {
23  const string OPTICAL_TEL_NAME = "OpticalTel";
24 
31  enum Resolution {
32  HIGH_RES,
33  MEDIUM_RES,
34  LOW_RES
35  };
36 
53  {
54  short xRes;
55  short x;
58  short yRes;
59  short y;
62  short xMax;
64  short yMax;
66  float fovWidth;
70  short numImages;
71  sequence<octet> opticalData;
72  short pixelDepth;
73  };
74 
78  struct CentroidResult {
79  boolean valid;
80  string errorString;
83  float peakPixelSNR;
87  unsigned long aperturePixelCount; };
88 
89  typedef sequence<CentroidResult> CentroidResults;
90 
95  {
96 
104  void turn( in SwitchState state )
106 
128  void setFrameDimensions( in short x,
129  in short y,
130  in short x0,
131  in short y0 )
133 
138  void setBrightness( in float brightness )
140 
145  void setContrast( in float contrast )
147 
153  void setFramegrabberResolution( in Resolution res )
155 
167  void setRotationAndFieldsOfView( in float rotationInDegrees,
168  in float azFOVInArcminutes,
169  in float elFOVInArcminutes )
171 
185  flattenedOpticalImage grabFrame()
187 
202  flattenedOpticalImage getImage( in unsigned short numFrames,
203  in boolean subBackground,
204  in boolean normalizeMedian,
205  in boolean normalizeImage )
207 
219  void takeBackgroundImage( in unsigned short numFrames,
220  in unsigned long seq )
222 
232  flattenedOpticalImage getStoredBackgroundImage( )
233  raises ( carma::util::UserException );
234 
267  void findCentroid(
268  in unsigned short numFramesPerImage,
269  in unsigned short minValidCentroids,
270  in unsigned short maxCentroidAttempts,
271  in unsigned short numEdgePixels,
272  in unsigned short apertureRadiusPixels,
273  in float pixelThresholdSigma,
274  in boolean subBackground,
275  in boolean normalizeMedian,
276  in unsigned long seq )
277  raises ( carma::util::UserException );
278 
282  CentroidResults getCentroidResults( )
283  raises ( carma::util::UserException );
284 
292  void applyTestOffset( in double azInArcmin, in double elInArcmin )
293  raises ( carma::util::UserException );
294 
295  void zeroTestOffset( )
296  raises ( carma::util::UserException );
297 
298  }; // End OpticalTelControl interface
299 
300  }; // End common module
301 
302  }; // End antenna module
303 
304 }; // End carma module
305 
306 #endif // _OPTICALTELIDL
307 
short pixelDepth
Better known as color depth in bits.
float sizeInArcminutes
Object size in arcminutes defined as twice the weighted standard deviation.
string errorString
Error message if invalid.
Result of centroid on a single image.
sequence< octet > opticalData
Contains the actual bytes.
float peakPixelSNR
Peak pixel signal to noise ratio.
short y
Actual height of image in pixels.
const string OPTICAL_TEL_NAME
OpticalTelControl nameserver name.
Rich description of a frame grabbed image.
short xMax
Maximum image width in pixels - this corresponds to the width at the highest resolution.
float xOffsetInArcminutes
mean X offset in arcminutes
boolean valid
Indicates status of centroid.
float rotationInDegrees
Image rotation clockwise in degrees.
short xRes
Uncropped image width in pixels.
Generic Carma variant of CORBA::UserException.
Antenna optical telescope control.
short yRes
Uncropped image height in pixels.
short yMax
Maximum image height in pixels - this corresponds to the height at the highest resolution.
short x
Actual width of image in pixels.
float yOffsetInArcminutes
mean Y offset in arcminutes
Resolution
Resolutions supported by our framegrabber.
float fovWidth
Field of view width measured as arc-minutes of minimum dimension.
CORBA User Exception for carma::util.
SwitchState
Generic switch state enumerator.
Definition: SwitchState.idl:18
unsigned long aperturePixelCount
Number of pixels in centroid.
short numImages
Number of images in this structure - usually 1.