Isis 3 Programmer Reference
PushFrameCameraDetectorMap.h
1#ifndef PushFrameCameraDetectorMap_h
2#define PushFrameCameraDetectorMap_h
8/* SPDX-License-Identifier: CC0-1.0 */
9
10#include "CameraDetectorMap.h"
11
12namespace Isis {
46 public:
48 const double etStart,
49 const double frameletRate,
50 int frameletHeight);
51
53
54 virtual bool SetParent(const double sample,
55 const double line);
56 virtual bool SetParent(const double sample,
57 const double line,
58 const double deltaT);
59
60 virtual bool SetDetector(const double sample,
61 const double line);
62
63 double FrameletRate() const;
64 void SetFrameletRate(const double frameletRate);
65
66 int FrameletOffset() const;
67 void SetFrameletOffset(int frameletOffset);
68
69 void SetFramelet(int framelet, const double deltaT=0);
70 int Framelet();
71
72 void SetBandFirstDetectorLine(int firstLine);
74
75 void SetStartTime(const double etStart);
76 double StartEphemerisTime() const;
77
79 virtual double exposureDuration(const double sample,
80 const double line,
81 const int band) const;
82
83 void SetFrameletOrderReversed(bool frameletOrderReversed, int nframelets);
84 void SetFrameletsGeometricallyFlipped(bool frameletsFlipped);
85
86 int TotalFramelets() const;
87 double frameletSample() const;
88 double frameletLine() const;
89 int frameletHeight() const;
91
92 private:
93 double p_etStart;
101
104
107
108 };
109};
110#endif
Convert between parent image coordinates and detector coordinates.
Convert between parent image coordinates and detector coordinates.
PushFrameCameraDetectorMap(Camera *parent, const double etStart, const double frameletRate, int frameletHeight)
Construct a detector map for push frame cameras.
bool p_flippedFramelets
Indicates whether the geometry in a framelet is flipped.
int p_frameletHeight
Height of a framelet in detector lines.
double p_exposureDuration
Exposure duration in secs.
bool p_timeAscendingFramelets
Are framelets reversed from top-to-bottom in file.
void SetFrameletRate(const double frameletRate)
Reset the frame rate.
int TotalFramelets() const
Return the total number of framelets including padding.
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.
void SetFrameletsGeometricallyFlipped(bool frameletsFlipped)
Mirrors the each framelet in the file.
virtual bool SetParent(const double sample, const double line)
Compute detector position from a parent image coordinate.
void SetBandFirstDetectorLine(int firstLine)
Change the starting line in the detector based on band.
double frameletLine() const
This returns the calculated framelet line.
int GetBandFirstDetectorLine()
Return the starting line in the detector for the current band.
void SetFrameletOffset(int frameletOffset)
Reset the frame offset.
bool timeAscendingFramelets()
Returns if the framelets are reversed from top-to-bottom.
void SetStartTime(const double etStart)
Reset the starting ephemeris time.
int frameletHeight() const
This returns how many lines are considered a single framelet.
double p_frameletSample
The sample in the current framelet.
double p_etStart
Starting time at the top of the first parent line.
int Framelet()
This method returns the current framelet.
void SetFrameletOrderReversed(bool frameletOrderReversed, int nframelets)
Changes the direction of the framelets.
int FrameletOffset() const
Return the frame offset.
void SetExposureDuration(double exposureDuration)
Change the exposure duration in seconds.
double p_frameletRate
iTime between framelets in parent cube.
virtual bool SetDetector(const double sample, const double line)
Compute parent position from a detector coordinate.
double frameletSample() const
This returns the calculated framelet sample.
int p_nframelets
If flipped framelets, the number of framelets in this band.
double StartEphemerisTime() const
This returns the starting ET of this band.
int p_bandStartDetector
The first detector line of current band.
double p_frameletLine
The line in the current framelet.
void SetFramelet(int framelet, const double deltaT=0)
This method changes the current framelet.
double FrameletRate() const
Return the time in seconds between framelets.
int p_frameletOffset
The numner of framelets padding the top of the band.
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16