9#include "ThemisVisCamera.h"
16#include "CameraFocalPlaneMap.h"
17#include "CameraSkyMap.h"
19#include "NaifStatus.h"
20#include "PushFrameCameraDetectorMap.h"
21#include "PushFrameCameraGroundMap.h"
22#include "ThemisVisDistortionMap.h"
57 if(inst[
"InstrumentId"][0] !=
"THEMIS_VIS") {
58 QString msg =
"Unable to create Themis VIS camera model from an image with InstrumentId ["
59 + inst[
"InstrumentId"][0] +
"].";
66 int sumMode = inst[
"SpatialSumming"];
70 QString stime = inst[
"SpacecraftClockCount"];
73 double offset = inst[
"SpacecraftClockOffset"];
80 PvlKeyword &filterNumbers = bandBin[
"FilterNumber"];
81 for (
int i = 0; i < filterNumbers.size(); i++) {
92 dmap->SetDetectorSampleSumming(sumMode);
93 dmap->SetDetectorLineSumming(sumMode);
94 dmap->SetFrameletOrderReversed(
false,
p_nframes);
101 focalMap->SetDetectorOrigin(512.5, 512.5);
107 bool evenFramelets = (inst[
"Framelets"][0] ==
"Even");
159 int wavelengthToTimeBand[] = { 2, 5, 3, 4, 1 };
178 int visBandFirstRow[] = { 4, 203, 404, 612, 814 };
Convert between distorted focal plane and detector coordinates.
QString m_spacecraftNameLong
Full spacecraft name.
int ParentLines() const
Returns the number of lines in the parent alphacube.
int ReferenceBand() const
Returns the reference band.
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.
bool HasReferenceBand() const
Checks to see if the Camera object has a reference band.
virtual void SetBand(const int band)
Virtual method that sets the band number.
QString m_instrumentNameLong
Full instrument name.
Convert between undistorted focal plane and ra/dec coordinates.
IO Handler for Isis Cubes.
Pvl * label() const
Returns a pointer to the IsisLabel object associated with the cube.
@ User
A type of error that could only have occurred due to a mistake on the user's part (e....
static void CheckErrors(bool resetNaif=true)
This method looks for any naif errors that might have occurred.
Convert between parent image coordinates and detector coordinates.
void SetBandFirstDetectorLine(int firstLine)
Change the starting line in the detector based on band.
void SetStartTime(const double etStart)
Reset the starting ephemeris time.
Convert between undistorted focal plane and ground coordinates.
Generic class for Push Frame Cameras.
PushFrameCameraDetectorMap * DetectorMap()
Returns a pointer to the PushFrameCameraDetectorMap object.
Contains multiple PvlContainers.
Container for cube-like labels.
A single keyword-value pair.
@ Traverse
Search child objects.
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 iTime getClockTime(QString clockValue, int sclkCode=-1, bool clockTicks=false)
This converts the spacecraft clock ticks value (clockValue) to an iTime.
SpiceInt naifIkCode() const
This returns the NAIF IK code to use when reading from instrument kernels.
bool IsBandIndependent()
The camera model is band dependent (i.e.
int p_nframes
Number of frames in whole image.
double p_etStart
Ephemeris Start iTime.
virtual int SpkReferenceId() const
SPK Reference ID - J2000.
double BandEphemerisTimeOffset(int vband)
Calculates time offset for the given cube band number.
~ThemisVisCamera()
Destroys the Themis Vis Camera object.
void SetBand(const int band)
Sets the band in the camera model.
virtual int CkFrameId() const
CK frame ID - - Instrument Code from spacit run on CK.
double p_bandTimeOffset
Offset iTime for Band.
virtual int CkReferenceId() const
CK Reference ID - MARSIAU.
double p_interframeDelay
Interframe Delay value from labels.
ThemisVisCamera(Cube &cube)
Constructor for the Themis Vis Camera Model.
QList< int > p_filterNumber
List of filter number values from the Instrument BandBin group that correspond to each band in the cu...
double p_exposureDur
Exposure Duration value from labels.
Distort/undistort focal plane coordinates.
This is free and unencumbered software released into the public domain.
int toInt(const QString &string)
Global function to convert from a string to an integer.
Namespace for the standard library.