3 #ifndef GCP_UTIL_IMAGEHANDLER_H
4 #define GCP_UTIL_IMAGEHANDLER_H
19 #include "gcp/util/common/Angle.h"
20 #include "gcp/util/common/Mutex.h"
22 #include "gcp/grabber/common/Channel.h"
24 #include "gcp/control/code/unix/libunix_src/common/control.h"
25 #include "gcp/control/code/unix/libunix_src/common/optcam.h"
51 friend std::ostream& operator<<(std::ostream& os,
ImStat& stat);
60 static const double defaultAspectRatio_;
69 static const gcp::control::RotationSense defaultDeckAngleRotationSense_;
73 static const gcp::grabber::Channel::FgChannel defaultChannel_;
77 static const unsigned defaultFlatfieldType_;
81 static const unsigned defaultNcombine_;
85 static const gcp::control::ImDir defaultXImDir_;
86 static const gcp::control::ImDir defaultYImDir_;
139 virtual void setChannel(gcp::grabber::Channel::FgChannel channel);
149 virtual void setXImDir(gcp::control::ImDir dir);
154 virtual void setYImDir(gcp::control::ImDir dir);
162 virtual void setAspectRatio(
double aspectRatio);
176 virtual void installNewImage(
unsigned short* image,
unsigned int utc[2],
184 unsigned ixmax,
unsigned iymax);
190 unsigned& ipeak,
unsigned& jpeak);
197 void addIncludeBox(
unsigned ixmin,
unsigned iymin,
198 unsigned ixmax,
unsigned iymax);
200 void addExcludeBox(
unsigned ixmin,
unsigned iymin,
201 unsigned ixmax,
unsigned iymax);
203 void deleteNearestBox(
unsigned ix,
unsigned iy);
204 void deleteAllBoxes();
245 Location
locationOf(
unsigned ix,
unsigned iy);
250 void rectifyCoords(
unsigned& ixmin,
unsigned& iymin,
251 unsigned& ixmax,
unsigned& iymax);
257 Box(
unsigned ixmin,
unsigned ixmax,
258 unsigned iymin,
unsigned iymax,
270 std::vector<Box> boxes_;
276 gcp::control::RotationSense deckAngleRotationSense_;
277 gcp::grabber::Channel::FgChannel channel_;
278 unsigned flatfieldType_;
280 gcp::control::ImDir xImDir_;
281 gcp::control::ImDir yImDir_;
283 std::vector<unsigned short> imageToArchive_;
300 bool usePixel_[GRABBER_IM_SIZE];
301 unsigned short imageToStore_[GRABBER_IM_SIZE];
302 unsigned int utc_[2];
326 void initializeCameraDefaults();
330 void initializeImageStats();
334 void updatePixelFlags();
336 bool pixelIsExcluded(
unsigned ix,
unsigned iy);
338 static void rectifyCoords(
unsigned& ixmin,
unsigned& ixmax,
339 unsigned& iymin,
unsigned& iymax);
348 #endif // End #ifndef GCP_UTIL_IMAGEHANDLER_H
void unlock()
Definition: Mutex.cc:104
friend std::ostream & operator<<(std::ostream &os, ImageHandler &obj)
void getOffsetInfo(gcp::util::Angle &horiz, gcp::util::Angle &vert, unsigned &ipeak, unsigned &jpeak)
Definition: ImageHandler.cc:469
void operator=(const Box &box)
Definition: ImageHandler.cc:821
virtual void setFov(const gcp::util::Angle &fov)
Definition: ImageHandler.cc:522
void pixelToSkyOffset(unsigned ix, unsigned iy, gcp::util::Angle &xsky, gcp::util::Angle &ysky)
Definition: ImageHandler.cc:586
virtual void setDeckAngleRotationSense(gcp::control::RotationSense sense)
Definition: ImageHandler.cc:498
ImStat getStats()
Definition: ImageHandler.cc:328
ImageHandler()
Definition: ImageHandler.cc:131
virtual void setDeckAngle(const gcp::util::Angle &deckAngle)
Definition: ImageHandler.cc:546
virtual void setNCombine(unsigned ncombine)
Definition: ImageHandler.cc:554
Definition: ImageHandler.h:35
Definition: ImageHandler.h:30
virtual void setYImDir(gcp::control::ImDir dir)
Definition: ImageHandler.cc:514
Definition: ImageHandler.h:206
void lock()
Definition: Mutex.cc:72
virtual ~ImageHandler()
Definition: ImageHandler.cc:220
virtual void installNewImage(unsigned short *image)
Definition: ImageHandler.cc:225
virtual void setRotationAngle(const gcp::util::Angle &rotationAngle)
Definition: ImageHandler.cc:538
double shortestDistanceFrom(unsigned ix, unsigned iy)
Definition: ImageHandler.cc:873
Box()
Definition: ImageHandler.cc:778
void getPeakInfo(double &peak, double &snr)
Definition: ImageHandler.cc:485
virtual void setChannel(gcp::grabber::Channel::FgChannel channel)
Definition: ImageHandler.cc:562
void operator=(const ImageHandler &objToBeAssigned)
Definition: ImageHandler.cc:155
virtual void setXImDir(gcp::control::ImDir dir)
Definition: ImageHandler.cc:506
Location locationOf(unsigned ix, unsigned iy)
Definition: ImageHandler.cc:939
virtual void setFlatfieldType(unsigned flatfieldType)
Definition: ImageHandler.cc:578