60 QString stime = inst[
"SpacecraftClockCount"];
63 double offset = inst[
"SpacecraftClockOffset"];
71 for(
int i = 0; i < orgBand.
size(); i++) {
72 p_originalBand.push_back(
toInt(orgBand[i]));
82 sumMode = inst[
"SpatialSumming"];
84 p_lineRate = 33.2871 / 1000.0 * sumMode;
89 p_tdiMode = (QString) inst[
"TimeDelayIntegration"];
138 if((band < 1) || (band > 10)) {
139 string msg =
"Invalid Reference Band [" +
IString(band) +
"]";
144 if(vband > (
int) p_originalBand.size()) {
145 string msg =
"Band number out of array bounds in ThemisIRCamera";
148 band = p_originalBand[vband-1];
159 if(p_tdiMode ==
"ENABLED") {
160 double bandDetector_TDI[] = {8.5, 24.5, 50.5, 76.5, 102.5,
161 128.5, 154.5, 180.5, 205.5, 231.5
163 detectorLine = bandDetector_TDI[band-1];
166 int bandDetector_noTDI[] = {9, 24, 52, 77, 102, 129, 155, 181, 206, 232};
167 detectorLine = (double) bandDetector_noTDI[band-1];
174 p_bandTimeOffset = (detectorLine - 0.5) * p_lineRate;
180 detectorMap->
SetStartTime(p_etStart + p_bandTimeOffset);
186 double alongtrackOffset = 120.5 - detectorLine;
190 double empiricalOffset[] = { -0.076, -0.098, -0.089, -0.022, 0.0,
191 -0.020, -0.005, -0.069, 0.025, 0.0
193 alongtrackOffset += empiricalOffset[band-1];
198 double sampleBoresight = 160.5;
199 double empiricalBoresightOffset[] = { 0.021, 0.027, 0.005, 0.005, 0.0,
200 -0.007, -0.012, -0.039, -0.045, 0.0
202 sampleBoresight -= empiricalBoresightOffset[band-1];
208 distMap->SetBand(band);
void SetBand(const int band)
Change the THEMIS IR camera parameters based on the band number.
void SetFocalLength()
Reads the focal length from the instrument kernel.
int size() const
Returns the number of values stored in this keyword.
PvlGroupIterator findGroup(const QString &name, PvlGroupIterator beg, PvlGroupIterator end)
Find a group with the specified name, within these indexes.
void SetDetectorOffset(const double sampleOffset, const double lineOffset)
Set the detector offset.
CameraDistortionMap * DistortionMap()
Returns a pointer to the CameraDistortionMap object.
virtual double LineScaleFactor() const
Return scaling factor for computing line resolution.
Isis::Camera * ThemisIrCameraPlugin(Isis::Cube &cube)
This is the function that is called in order to instantiate a ThemisIrCamera object.
QString m_instrumentNameLong
Full instrument name.
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
void SetDetectorSampleSumming(const double summing)
Set sample summing mode.
Pvl * label() const
Returns a pointer to the IsisLabel object associated with the cube.
int toInt(const QString &string)
Global function to convert from a string to an integer.
int ReferenceBand() const
Returns the reference band.
void SetPixelPitch()
Reads the Pixel Pitch from the instrument kernel.
Generic class for Line Scan Cameras.
void SetDetectorOrigin(const double sample, const double line)
Set the detector origin.
This error is for when a programmer made an API call that was illegal.
double Et() const
Returns the ephemeris time (TDB) representation of the time as a double.
void SetDetectorLineSumming(const double summing)
Set line summing mode.
bool HasReferenceBand() const
Checks to see if the Camera object has a reference band.
Convert between undistorted focal plane and ground coordinates.
Convert between distorted focal plane and detector coordinates.
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
QString m_instrumentNameShort
Shortened instrument name.
Contains multiple PvlContainers.
#define _FILEINFO_
Macro for the filename and line number.
A type of error that could only have occurred due to a mistake on the user's part (e...
A single keyword-value pair.
Container for cube-like labels.
CameraFocalPlaneMap * FocalPlaneMap()
Returns a pointer to the CameraFocalPlaneMap object.
Convert between undistorted focal plane and ra/dec coordinates.
void LoadCache()
This loads the spice cache big enough for this image.
QString m_spacecraftNameLong
Full spacecraft name.
LineScanCameraDetectorMap * DetectorMap()
Returns a pointer to the LineScanCameraDetectorMap object.
static void CheckErrors(bool resetNaif=true)
This method looks for any naif errors that might have occurred.
SpiceInt naifIkCode() const
This returns the NAIF IK code to use when reading from instrument kernels.
Adds specific functionality to C++ strings.
iTime getClockTime(QString clockValue, int sclkCode=-1)
This converts the spacecraft clock ticks value (clockValue) to an iTime.
QString m_spacecraftNameShort
Shortened spacecraft name.
Convert between parent image coordinates and detector coordinates.
void SetStartTime(const double etStart)
Reset the starting ephemeris time.
bool hasKeyword(const QString &name) const
Check to see if a keyword exists.
Distort/undistort focal plane coordinates.
IO Handler for Isis Cubes.