9#include "ClipperNacRollingShutterCamera.h"
13#include "CameraDistortionMap.h"
14#include "CameraFocalPlaneMap.h"
15#include "CameraGroundMap.h"
16#include "CameraSkyMap.h"
19#include "NaifStatus.h"
22#include "RollingShutterCamera.h"
23#include "RollingShutterCameraDetectorMap.h"
25#include "TableRecord.h"
51 QString startTime = inst[
"StartTime"];
52 iTime etStart(startTime);
64 std::vector<double> sampleCoeffs, lineCoeffs, readoutTimes;
66 if ( (inst.hasKeyword(
"JitterSampleCoefficients") && inst.hasKeyword(
"JitterLineCoefficients") )
67 && cube.
hasTable(
"Normalized Main Readout Line Times")) {
68 PvlKeyword sampleCoefficients = inst.findKeyword(
"JitterSampleCoefficients");
69 for (
int i = 0; i < sampleCoefficients.size(); i++) {
70 sampleCoeffs.push_back(sampleCoefficients[i].
toDouble());
73 PvlKeyword lineCoefficients = inst.findKeyword(
"JitterLineCoefficients");
74 for (
int i = 0; i < lineCoefficients.size(); i++) {
75 lineCoeffs.push_back(lineCoefficients[i].
toDouble());
78 Table normalizedReadoutTimes(
"Normalized Main Readout Line Times", lab.fileName(), lab);
80 for (
int i = 0; i < normalizedReadoutTimes.Records(); i++) {
82 readoutTimes.push_back((
double) record[
"time"]);
91 focalMap->SetDetectorOrigin(2048.5, 1024.5);
Distort/undistort focal plane coordinates.
Convert between distorted focal plane and detector coordinates.
Convert between undistorted focal plane and ground coordinates.
QString m_spacecraftNameLong
Full spacecraft name.
void SetFocalLength()
Reads the focal length from the instrument kernel.
void SetPixelPitch()
Reads the Pixel Pitch from the instrument kernel.
void LoadCache()
This loads the spice cache big enough for this image.
QString m_instrumentNameShort
Shortened instrument name.
QString m_spacecraftNameShort
Shortened spacecraft name.
QString m_instrumentNameLong
Full instrument name.
Convert between undistorted focal plane and ra/dec coordinates.
Clipper EIS Camera model.
virtual int SpkReferenceId() const
SPK Reference ID - J2000.
virtual int CkReferenceId() const
CK Reference ID - J2000.
ClipperNacRollingShutterCamera(Cube &cube)
Constructs a ClipperNacRollingShutterCamera object using the image labels.
~ClipperNacRollingShutterCamera()
Destructor for a ClipperNacRollingShutterCamera object.
virtual int CkFrameId() const
CK frame ID.
IO Handler for Isis Cubes.
bool hasTable(const QString &name)
Check to see if the cube contains a pvl table by the provided name.
Pvl * label() const
Returns a pointer to the IsisLabel object associated with the cube.
static void CheckErrors(bool resetNaif=true)
This method looks for any naif errors that might have occurred.
Contains multiple PvlContainers.
Container for cube-like labels.
A single keyword-value pair.
@ Traverse
Search child objects.
Convert between parent image coordinates and detector coordinates.
Generic class for Rolling Shutter Cameras.
void setTime(const iTime &time)
By setting the time you essential set the position of the spacecraft and body as indicated in the cla...
SpiceInt naifIkCode() const
This returns the NAIF IK code to use when reading from instrument kernels.
Class for storing Table blobs information.
Parse and return pieces of a time string.
This is free and unencumbered software released into the public domain.
double toDouble(const QString &string)
Global function to convert from a string to a double.