Isis 3 Programmer Reference
CameraDetectorMap.h
1
6/* SPDX-License-Identifier: CC0-1.0 */
7#ifndef CameraDetectorMap_h
8#define CameraDetectorMap_h
9
10#include "Camera.h"
11
12namespace Isis {
48 public:
49 CameraDetectorMap(Camera *parent = 0);
50
51 virtual ~CameraDetectorMap();
52
53 virtual bool SetParent(const double sample,
54 const double line);
55 virtual bool SetParent(const double sample,
56 const double line,
57 const double deltaT);
58
59 virtual bool SetDetector(const double sample,
60 const double line);
61
62 double AdjustedStartingSample() const;
63
64 double AdjustedStartingLine() const;
65
66 double ParentSample() const;
67 double ParentLine() const;
68 double DetectorSample() const;
69 double DetectorLine() const;
70
79 inline void SetStartingDetectorSample(const double sample) {
81 Compute();
82 }
83
84
93 inline void SetStartingDetectorLine(const double line) {
95 Compute();
96 }
97
98
108 inline void SetDetectorSampleSumming(const double summing) {
109 p_detectorSampleSumming = summing;
110 Compute();
111 }
112
113
123 inline void SetDetectorLineSumming(const double summing) {
124 p_detectorLineSumming = summing;
125 Compute();
126 }
127
128
129 virtual double SampleScaleFactor() const;
130 virtual double LineScaleFactor() const;
131 virtual double LineRate() const;
132
133 virtual double exposureDuration(const double sample,
134 const double line,
135 const int band) const;
136
137 protected:
150 double p_ss;
151 double p_sl;
153 private:
154 void Compute();
155 };
156};
157#endif
Convert between parent image coordinates and detector coordinates.
double p_detectorLineSumming
The scaling factor for computing line resolution.
double ParentSample() const
Return parent sample.
double ParentLine() const
Return parent line.
double DetectorLine() const
Return detector line.
CameraDetectorMap(Camera *parent=0)
Default constructor assumes no summing and starting detector offsets.
void SetDetectorLineSumming(const double summing)
Set line summing mode.
double p_parentLine
The parent line calculated from the detector.
virtual double LineScaleFactor() const
Return scaling factor for computing line resolution.
virtual bool SetParent(const double sample, const double line)
Compute detector position from a parent image coordinate.
void SetStartingDetectorSample(const double sample)
Set the starting detector sample.
void SetStartingDetectorLine(const double line)
Set the starting detector line.
double DetectorSample() const
Return detector sample.
double p_parentSample
The parent sample calculated from the detector.
virtual double SampleScaleFactor() const
Return scaling factor for computing sample resolution.
double p_detectorSample
Detector coordinate sample value.
virtual double exposureDuration(const double sample, const double line, const int band) const
This virtual method is for returning the exposure duration of a given pixel.
double p_detectorLine
Detector coordinate line value.
virtual double LineRate() const
Return the line collection rate (0 for framing cameras)
void Compute()
Compute new offsets whenenver summing or starting sample/lines change.
double AdjustedStartingLine() const
Return the starting detector line adjusted for summation.
virtual bool SetDetector(const double sample, const double line)
Compute parent position from a detector coordinate.
void SetDetectorSampleSumming(const double summing)
Set sample summing mode.
double p_startingDetectorSample
Detector start coordinate sample value.
double AdjustedStartingSample() const
Return the starting detector sample adjusted for summation.
double p_ss
Start sample.
double p_startingDetectorLine
Detector start coordinate line value.
virtual ~CameraDetectorMap()
Destructor.
Camera * p_camera
Pointer to the camera.
double p_detectorSampleSumming
The scaling factor for computing sample resolution.
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16