9#include "ClipperPushBroomCamera.h"
11#include "CameraDistortionMap.h"
12#include "CameraFocalPlaneMap.h"
14#include "LineScanCameraGroundMap.h"
15#include "LineScanCameraSkyMap.h"
16#include "NaifStatus.h"
31 if (frameCode == -159103) {
35 else if (frameCode == -159104) {
40 QString msg =
"Unable to construct Clipper Push Broom camera model. "
41 "Unrecognized NaifFrameCode [" +
toString(frameCode) +
"].";
50 QString key =
"INS" +
toString(
naifIkCode()) +
"_" + bandBin[
"FilterName"][0] +
"_FOCAL_LENGTH";
56 QString startTime = inst[
"StartTime"];
57 iTime etStart(startTime);
76 double detectorOffset = -(
toDouble(inst[
"DetectorOffset"]) - 1024.0);
137 Table timesTable(
"LineScanTimes", filename);
139 if(timesTable.
Records() <= 0) {
140 QString msg =
"Table [LineScanTimes] in [";
141 msg += filename +
"] must not be empty";
145 for(
int i = 0; i < timesTable.
Records(); i++) {
147 (
double)timesTable[i][0],
152 QString msg =
"There is a problem with the data within the Table ";
153 msg +=
"[LineScanTimes] in [" + filename +
"]";
Distort/undistort focal plane coordinates.
virtual void SetDistortion(int naifIkCode)
Load distortion coefficients.
Convert between distorted focal plane and detector coordinates.
void SetDetectorOffset(const double sampleOffset, const double lineOffset)
Set the detector offset.
void SetDetectorOrigin(const double sample, const double line)
Set the detector origin.
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.
This is the camera model for the Europa Clipper Push Broom Camera.
virtual int CkFrameId() const
CK frame ID - Instrument Code from spacit run on CK.
virtual int CkReferenceId() const
CK Reference ID - J2000.
ClipperPushBroomCamera(Cube &cube)
Constructs a ClipperPushBroomCamera object using the image labels.
std::vector< LineRateChange > p_lineRates
Vector of the variable line rates for this camera model.
void ReadLineRates(QString filename)
~ClipperPushBroomCamera()
Destructor for a ClipperPushBroomCamera object.
virtual int SpkReferenceId() const
SPK Reference ID - J2000.
IO Handler for Isis Cubes.
Pvl * label() const
Returns a pointer to the IsisLabel object associated with the cube.
@ Unknown
A type of error that cannot be classified as any of the other error types.
@ User
A type of error that could only have occurred due to a mistake on the user's part (e....
Container class for storing timing information for a section of an image.
Convert between undistorted focal plane and ground coordinates.
LineScanCamera(Isis::Cube &cube)
Constructs the LineScanCamera object.
Convert between undistorted focal plane and ra/dec coordinates.
static void CheckErrors(bool resetNaif=true)
This method looks for any naif errors that might have occurred.
QString fileName() const
Returns the filename used to initialise the Pvl object.
Contains multiple PvlContainers.
Container for cube-like labels.
@ Traverse
Search child objects.
PvlGroupIterator findGroup(const QString &name, PvlGroupIterator beg, PvlGroupIterator end)
Find a group with the specified name, within these indexes.
void setTime(const iTime &time)
By setting the time you essential set the position of the spacecraft and body as indicated in the cla...
virtual SpicePosition * instrumentPosition() const
Accessor method for the instrument position.
SpiceInt naifIkCode() const
This returns the NAIF IK code to use when reading from instrument kernels.
SpiceDouble getDouble(const QString &key, int index=0)
This returns a value from the NAIF text pool.
virtual void SetAberrationCorrection(const QString &correction)
Set the aberration correction (light time)
Class for storing Table blobs information.
int Records() const
Returns the number of records.
Convert between parent image coordinates and detector coordinates.
Parse and return pieces of a time string.
double Et() const
Returns the ephemeris time (TDB) representation of the time as a double.
This is free and unencumbered software released into the public domain.
QString toString(bool boolToConvert)
Global function to convert a boolean to a string.
double toDouble(const QString &string)
Global function to convert from a string to a double.