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.
bool hasKeyword(const QString &name) const
Check to see if a keyword exists.
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.
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.
int toInt(const QString &string)
Global function to convert from a string to an integer.
void SetPixelPitch()
Reads the Pixel Pitch from the instrument kernel.
Namespace for the standard library.
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.
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.
int size() const
Returns the number of values stored in this keyword.
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.
SpiceInt naifIkCode() const
This returns the NAIF IK code to use when reading from instrument kernels.
#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.
iTime getClockTime(QString clockValue, int sclkCode=-1, bool clockTicks=false)
This converts the spacecraft clock ticks value (clockValue) to an iTime.
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.
Pvl * label() const
Returns a pointer to the IsisLabel object associated with the cube.
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.
Adds specific functionality to C++ strings.
Namespace for ISIS/Bullet specific routines.
virtual double LineScaleFactor() const
Return scaling factor for computing line resolution.
QString m_spacecraftNameShort
Shortened spacecraft name.
int ReferenceBand() const
Returns the reference band.
Convert between parent image coordinates and detector coordinates.
double Et() const
Returns the ephemeris time (TDB) representation of the time as a double.
void SetStartTime(const double etStart)
Reset the starting ephemeris time.
Distort/undistort focal plane coordinates.
IO Handler for Isis Cubes.