Isis 3 Programmer Reference
RollingShutterCameraDetectorMap.h
1 #ifndef RollingShutterCameraDetectorMap_h
2 #define RollingShutterCameraDetectorMap_h
3 
8 /* SPDX-License-Identifier: CC0-1.0 */
9 
10 #include "CameraDetectorMap.h"
11 
12 #include <utility>
13 #include <vector>
14 
15 namespace Isis {
16  class Camera;
17 
30  public:
31 
33  std::vector<double> times,
34  std::vector<double> sampleCoeffs,
35  std::vector<double> lineCoeffs);
36 
38 
39  virtual bool SetParent(const double sample,
40  const double line);
41 
42  virtual bool SetParent(const double sample,
43  const double line,
44  const double deltaT);
45 
46  virtual bool SetDetector(const double sample,
47  const double line);
48 
49  std::pair<double, double> applyJitter(const double sample,
50  const double line);
51  std::pair<double, double> removeJitter(const double sample,
52  const double line);
53 
54  private:
55 
57  std::vector<double> m_times;
62  std::vector<double> m_sampleCoeffs;
67  std::vector<double> m_lineCoeffs;
68  };
69 };
70 #endif
Isis::RollingShutterCameraDetectorMap::SetParent
virtual bool SetParent(const double sample, const double line)
Compute detector position from a parent image coordinate.
Definition: RollingShutterCameraDetectorMap.cpp:55
Isis::CameraDetectorMap
Convert between parent image coordinates and detector coordinates.
Definition: CameraDetectorMap.h:47
Isis::Camera
Definition: Camera.h:236
Isis::RollingShutterCameraDetectorMap::~RollingShutterCameraDetectorMap
virtual ~RollingShutterCameraDetectorMap()
Destructor.
Definition: RollingShutterCameraDetectorMap.cpp:39
Isis::RollingShutterCameraDetectorMap::m_lineCoeffs
std::vector< double > m_lineCoeffs
List of coefficients for the n-order polynomial characterizing the jitter in the line direction.
Definition: RollingShutterCameraDetectorMap.h:67
Isis::RollingShutterCameraDetectorMap
Convert between parent image coordinates and detector coordinates.
Definition: RollingShutterCameraDetectorMap.h:29
Isis::RollingShutterCameraDetectorMap::m_sampleCoeffs
std::vector< double > m_sampleCoeffs
List of coefficients for the n-order polynomial characterizing the jitter in the sample direction.
Definition: RollingShutterCameraDetectorMap.h:62
Isis::RollingShutterCameraDetectorMap::SetDetector
virtual bool SetDetector(const double sample, const double line)
Compute parent position from a detector coordinate.
Definition: RollingShutterCameraDetectorMap.cpp:101
Isis::RollingShutterCameraDetectorMap::applyJitter
std::pair< double, double > applyJitter(const double sample, const double line)
Iteratively finds a solution to "apply" jitter to an image coordinate.
Definition: RollingShutterCameraDetectorMap.cpp:121
Isis::RollingShutterCameraDetectorMap::removeJitter
std::pair< double, double > removeJitter(const double sample, const double line)
Remove the distortion from the image (parent) coordinates.
Definition: RollingShutterCameraDetectorMap.cpp:165
Isis::RollingShutterCameraDetectorMap::m_times
std::vector< double > m_times
List of normalized [-1, 1] readout times for all the lines in the input image.
Definition: RollingShutterCameraDetectorMap.h:57
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::RollingShutterCameraDetectorMap::RollingShutterCameraDetectorMap
RollingShutterCameraDetectorMap(Camera *parent, std::vector< double > times, std::vector< double > sampleCoeffs, std::vector< double > lineCoeffs)
Constructs a RollingShutterCameraDetectorMap.
Definition: RollingShutterCameraDetectorMap.cpp:25