00001 /*!@file Devices/cameraConf.H A set of camera configuration parameters */ 00002 00003 // $HeadURL: svn://isvn.usc.edu/software/invt/trunk/saliency/src/Devices/cameraConf.H $ 00004 // $Id: cameraConf.H 6003 2005-11-29 17:22:45Z rjpeters $ 00005 00006 #ifndef CAMERACONF_H_DEFINED 00007 #define CAMERACONF_H_DEFINED 00008 00009 #include "Util/readConfig.H" 00010 00011 //! This class uses readConfig to extract config parameters for CameraControl 00012 /*! This class reads config parameters from "camera.conf" or another 00013 specified config file and organizes them for use in CameraControl. */ 00014 00015 class cameraConf 00016 { 00017 private: 00018 readConfig readconfig; 00019 void init(); 00020 public: 00021 //!default constructor, open config fileName and read 00022 cameraConf(std::string fileName); 00023 //!default constructor, open config "camera.conf" and read 00024 cameraConf(); 00025 //!default destructor 00026 ~cameraConf(); 00027 //! size of field of view in pixels 00028 unsigned int Xpixel; 00029 //! size of field of view in pixels 00030 unsigned int Ypixel; 00031 //! size of field of view in degrees 00032 float Xfield; 00033 //! size of field of view in degrees 00034 float Yfield; 00035 //! pixel size in millimeters 00036 float pixelSizeMM; 00037 //! focal length in millimeters 00038 float focalLengthMM; 00039 //! pan offset in millimeters 00040 float panOffsetMM; 00041 //! tilt offset in millimeters 00042 float tiltOffsetMM; 00043 00044 //! camera center in degrees 00045 float Xcenter; 00046 //! camera center in degrees 00047 float Ycenter; 00048 //! servo pixels per degree 00049 float servoPixels; 00050 //! default travel speed from 0 to 1 00051 float travelSpeed; 00052 //! the time it takes to complete a 90 degree travel in milliseconds 00053 int travelTime; 00054 //! minimum travel time 00055 int minTravelTime; 00056 //! center camera at start 1 = yes 00057 unsigned int startCenterCamera; 00058 //! center camera at finish 00059 unsigned int finishCenterCamera; 00060 //! servo connections on SSC 00061 unsigned int SSCXconnector; 00062 //! servo connections on SSC 00063 unsigned int SSCYconnector; 00064 //! baud tranfer rate 2400 or 9600 only 00065 unsigned int SSCbaud; 00066 //! SSC serial port device; 00067 std::string SSCport; 00068 //! X Travel Limit in degrees 00069 float XlimitStart; 00070 //! X Travel Limit in degrees 00071 float XlimitEnd; 00072 //! Y Travel Limit in degrees 00073 float YlimitStart; 00074 //! Y Travel Limit in degrees 00075 float YlimitEnd; 00076 //! manual field adjustment 00077 float fieldAdjustmentX; 00078 //! manual field adjustment 00079 float fieldAdjustmentY; 00080 //! field size in pixels 00081 float pixelField; 00082 //! Pan calibration in degrees 00083 float panCalibrate; 00084 //! Tilt calibration in degrees 00085 float tiltCalibrate; 00086 //! minimum distance to move in seccade 00087 float minMove; 00088 std::vector<float> cameraCalibrationPan; 00089 std::vector<float> cameraCalibrationTilt; 00090 }; 00091 00092 #endif 00093 00094 // ###################################################################### 00095 /* So things look consistent in everyone's emacs... */ 00096 /* Local Variables: */ 00097 /* indent-tabs-mode: nil */ 00098 /* End: */