20 class CameraDetectorMap;
21 class CameraFocalPlaneMap;
22 class CameraDistortionMap;
23 class CameraGroundMap;
246 virtual bool SetImage(
const double sample,
const double line);
247 virtual bool SetImage(
const double sample,
const double line,
const double deltaT);
251 const double radius);
257 Angle & emission,
bool &success);
258 void Slope(
double &slope,
bool &success);
266 virtual void SetBand(
const int band);
267 virtual double Sample()
const;
268 virtual int Band()
const;
269 virtual double Line()
const;
271 bool GroundRange(
double &minlat,
double &maxlat,
double &minlon,
272 double &maxlon,
Pvl &pvl);
273 bool ringRange(
double &minRingRadius,
double &maxRingRadius,
274 double &minRingLongitude,
double &maxRingLongitude,
Pvl &pvl);
302 const int band = -1)
const;
314 double &mindec,
double &maxdec);
341 static double GroundAzimuth(
double glat,
double glon,
double slat,
348 int CacheSize(
double startTime,
double endTime);
509 void GroundRangeResolution();
510 void ringRangeResolution();
511 double ComputeAzimuth(
const double lat,
const double lon);
512 bool RawFocalPlanetoImage();
515 bool SetImageMapProjection(
const double sample,
const double line,
ShapeModel *shape);
516 bool SetImageSkyMapProjection(
const double sample,
const double line,
ShapeModel *shape);
519 double p_focalLength;
528 double p_minobliqueres;
529 double p_maxobliqueres;
533 bool p_groundRangeComputed;
543 bool p_ignoreProjection;
552 bool p_raDecRangeComputed;
554 double p_minRingRadius;
555 double p_maxRingRadius;
556 double p_minRingLongitude;
557 double p_maxRingLongitude;
558 double p_minRingLongitude180;
559 double p_maxRingLongitude180;
561 bool p_ringRangeComputed;
572 int p_geometricTilingStartSize;
574 int p_geometricTilingEndSize;
This class is used to rewrite the "alpha" keywords out of the AlphaCube group or Instrument group.
Definition AlphaCube.h:46
Defines an angle and provides unit conversions.
Definition Angle.h:45
Convert between parent image coordinates and detector coordinates.
Definition CameraDetectorMap.h:47
Distort/undistort focal plane coordinates.
Definition CameraDistortionMap.h:41
Convert between distorted focal plane and detector coordinates.
Definition CameraFocalPlaneMap.h:85
Convert between undistorted focal plane and ground coordinates.
Definition CameraGroundMap.h:77
double NorthAzimuth()
Returns the North Azimuth.
Definition Camera.cpp:1927
std::pair< double, double > StartEndEphemerisTimes()
Calculates the start and end ephemeris times.
Definition Camera.cpp:2509
virtual double SampleResolution()
Returns the sample resolution at the current position in meters.
Definition Camera.cpp:640
QString m_spacecraftNameLong
Full spacecraft name.
Definition Camera.h:499
static double GroundAzimuth(double glat, double glon, double slat, double slon)
Computes and returns the ground azimuth between the ground point and another point of interest,...
Definition Camera.cpp:2267
AlphaCube * p_alphaCube
A pointer to the AlphaCube.
Definition Camera.h:504
virtual double exposureDuration() const
Return the exposure duration for the pixel that the camera is set to.
Definition Camera.cpp:3093
virtual ~Camera()
Destroys the Camera Object.
Definition Camera.cpp:110
int ParentLines() const
Returns the number of lines in the parent alphacube.
Definition Camera.cpp:2836
void SetSkyMap(CameraSkyMap *map)
Sets the Sky Map.
Definition Camera.cpp:2431
virtual int SpkReferenceId() const =0
Provides reference frame for instruments SPK NAIF kernel.
virtual double DetectorResolution()
Returns the detector resolution at the current position in meters.
Definition Camera.cpp:622
double LowestObliqueImageResolution()
Returns the lowest/worst oblique resolution in the entire image.
Definition Camera.cpp:732
double SpacecraftAzimuth()
Return the Spacecraft Azimuth.
Definition Camera.cpp:1968
CameraDetectorMap * DetectorMap()
Returns a pointer to the CameraDetectorMap object.
Definition Camera.cpp:2876
double CelestialNorthClockAngle()
Computes the celestial north clock angle at the current line/sample or ra/dec.
Definition Camera.cpp:3067
virtual int CkReferenceId() const =0
Provides the NAIF reference code for an instruments CK kernel.
virtual double Line() const
Returns the current line number.
Definition Camera.cpp:2740
void GetGeometricTilingHint(int &startSize, int &endSize)
This will get the geometric tiling hint; these values are typically used for ProcessRubberSheet::SetT...
Definition Camera.cpp:2635
double RaDecResolution()
Returns the RaDec resolution.
Definition Camera.cpp:1883
void IgnoreProjection(bool ignore)
Set whether or not the camera should ignore the Projection.
Definition Camera.cpp:2955
Camera(Cube &cube)
Constructs the Camera object.
Definition Camera.cpp:56
bool IntersectsLongitudeDomain(Pvl &pvl)
Checks whether the ground range intersects the longitude domain or not.
Definition Camera.cpp:1176
double SunAzimuth()
Returns the Sun Azimuth.
Definition Camera.cpp:1954
double PixelPitch() const
Returns the pixel pitch.
Definition Camera.cpp:2772
int ReferenceBand() const
Returns the reference band.
Definition Camera.cpp:2689
CameraSkyMap * SkyMap()
Returns a pointer to the CameraSkyMap object.
Definition Camera.cpp:2896
virtual int CkFrameId() const =0
Provides the NAIF frame code for an instruments CK kernel.
QString m_instrumentId
The InstrumentId as it appears on the cube.
Definition Camera.h:495
int ParentSamples() const
Returns the number of samples in the parent alphacube.
Definition Camera.cpp:2846
virtual double ObliquePixelResolution(bool useLocal=true)
Returns the oblique pixel resolution at the current position in meters/pixel.
Definition Camera.cpp:696
void BasicMapping(Pvl &map)
Writes the basic mapping group to the specified Pvl.
Definition Camera.cpp:1367
int Lines() const
Returns the number of lines in the image.
Definition Camera.cpp:2816
CameraType
This enum defines the types of cameras supported in this class.
Definition Camera.h:358
@ PushFrame
Push Frame Camera.
Definition Camera.h:360
@ Framing
Framing Camera.
Definition Camera.h:359
@ Radar
Radar Camera.
Definition Camera.h:362
@ LineScan
Line Scan Camera.
Definition Camera.h:361
@ Csm
Community Sensor Model Camera.
Definition Camera.h:365
@ Point
Point Camera.
Definition Camera.h:363
@ RollingShutter
RollingShutter.
Definition Camera.h:364
virtual double Sample() const
Returns the current sample number.
Definition Camera.cpp:2720
QString spacecraftNameLong() const
This method returns the full spacecraft name.
Definition Camera.cpp:2936
virtual double PixelResolution()
Returns the pixel resolution at the current position in meters/pixel.
Definition Camera.cpp:681
bool ringRange(double &minRingRadius, double &maxRingRadius, double &minRingLongitude, double &maxRingLongitude, Pvl &pvl)
Analogous to the above Ground Range method.
Definition Camera.cpp:1297
double OffNadirAngle()
Return the off nadir angle in degrees.
Definition Camera.cpp:2229
virtual bool SetImage(const double sample, const double line)
Sets the sample/line values of the image to get the lat/lon values.
Definition Camera.cpp:156
void SetGeometricTilingHint(int startSize=128, int endSize=8)
This method sets the best geometric tiling size for projecting from this camera model.
Definition Camera.cpp:2584
virtual double LineResolution()
Returns the line resolution at the current position in meters.
Definition Camera.cpp:660
void SetFocalLength()
Reads the focal length from the instrument kernel.
Definition Camera.cpp:1422
QString instrumentNameLong() const
This method returns the full instrument name.
Definition Camera.cpp:2916
void SetPixelPitch()
Reads the Pixel Pitch from the instrument kernel.
Definition Camera.cpp:1429
double FocalLength() const
Returns the focal length.
Definition Camera.cpp:2762
virtual int Band() const
Returns the current band.
Definition Camera.cpp:2730
void SetDetectorMap(CameraDetectorMap *map)
Sets the Detector Map.
Definition Camera.cpp:2402
bool HasProjection()
Checks to see if the camera object has a projection.
Definition Camera.cpp:2668
bool InCube()
This returns true if the current Sample() or Line() value is outside of the cube (meaning the point m...
Definition Camera.cpp:2649
double p_childSample
Sample value for child.
Definition Camera.h:502
void LoadCache()
This loads the spice cache big enough for this image.
Definition Camera.cpp:2450
virtual bool SetUniversalGround(const double latitude, const double longitude)
Sets the lat/lon values to get the sample/line values.
Definition Camera.cpp:382
virtual CameraType GetCameraType() const =0
Returns the type of camera that was created.
QString instrumentNameShort() const
This method returns the shortened instrument name.
Definition Camera.cpp:2926
bool p_pointComputed
Flag showing if Sample/Line has been computed.
Definition Camera.h:506
void SetFocalPlaneMap(CameraFocalPlaneMap *map)
Sets the Focal Plane Map.
Definition Camera.cpp:2387
virtual double ObliqueLineResolution(bool useLocal=true)
Returns the oblique line resolution at the current position in meters.
Definition Camera.cpp:672
QString m_instrumentNameShort
Shortened instrument name.
Definition Camera.h:498
void LocalPhotometricAngles(Angle &phase, Angle &incidence, Angle &emission, bool &success)
Calculates LOCAL photometric angles using the DEM (not ellipsoid).
Definition Camera.cpp:1653
void GetLocalNormal(double normal[3])
This method will find the local normal at the current (sample, line) and set it to the passed in arra...
Definition Camera.cpp:1499
QString instrumentId()
This method returns the InstrumentId as it appears in the cube.
Definition Camera.cpp:2906
CameraDistortionMap * DistortionMap()
Returns a pointer to the CameraDistortionMap object.
Definition Camera.cpp:2856
double HighestImageResolution()
Returns the highest/best resolution in the entire image.
Definition Camera.cpp:721
virtual bool SetGround(Latitude latitude, Longitude longitude)
Sets the lat/lon values to get the sample/line values.
Definition Camera.cpp:403
QString spacecraftNameShort() const
This method returns the shortened spacecraft name.
Definition Camera.cpp:2946
double HighestObliqueImageResolution()
Returns the highest/best oblique resolution in the entire image.
Definition Camera.cpp:743
virtual int SpkTargetId() const
Provides target code for instruments SPK NAIF kernel.
Definition Camera.cpp:2993
QString m_spacecraftNameShort
Shortened spacecraft name.
Definition Camera.h:500
virtual bool IsBandIndependent()
Virtual method that checks if the band is independent.
Definition Camera.cpp:2679
virtual double ObliqueSampleResolution(bool useLocal=true)
Returns the oblique sample resolution at the current position in m.
Definition Camera.cpp:650
bool GroundRange(double &minlat, double &maxlat, double &minlon, double &maxlon, Pvl &pvl)
Computes the Ground Range.
Definition Camera.cpp:1193
virtual double ObliqueDetectorResolution(bool useLocal=true)
This method returns the Oblique Detector Resolution if the Look Vector intersects the target and if t...
Definition Camera.cpp:583
void SetGroundMap(CameraGroundMap *map)
Sets the Ground Map.
Definition Camera.cpp:2417
bool RaDecRange(double &minra, double &maxra, double &mindec, double &maxdec)
Computes the RaDec range.
Definition Camera.cpp:1741
void basicRingMapping(Pvl &map)
Writes the basic mapping group for ring plane to the specified Pvl.
Definition Camera.cpp:1396
int CacheSize(double startTime, double endTime)
This method calculates the spice cache size.
Definition Camera.cpp:2557
void Slope(double &slope, bool &success)
Calculates the slope at the current point by computing the angle between the local surface normal and...
Definition Camera.cpp:1706
bool HasReferenceBand() const
Checks to see if the Camera object has a reference band.
Definition Camera.cpp:2700
double LowestImageResolution()
Returns the lowest/worst resolution in the entire image.
Definition Camera.cpp:710
int Samples() const
Returns the number of samples in the image.
Definition Camera.cpp:2806
virtual QList< QPointF > PixelIfovOffsets()
Returns the pixel ifov offsets from center of pixel, which defaults to the (pixel pitch * summing mod...
Definition Camera.cpp:2785
CameraFocalPlaneMap * FocalPlaneMap()
Returns a pointer to the CameraFocalPlaneMap object.
Definition Camera.cpp:2866
virtual bool SetRightAscensionDeclination(const double ra, const double dec)
Sets the right ascension declination.
Definition Camera.cpp:1446
void SetDistortionMap(CameraDistortionMap *map, bool deleteExisting=true)
Sets the Distortion Map.
Definition Camera.cpp:2372
double p_childLine
Line value for child.
Definition Camera.h:503
virtual double resolution()
Returns the resolution of the camera.
Definition Camera.cpp:2750
virtual void SetBand(const int band)
Virtual method that sets the band number.
Definition Camera.cpp:2710
CameraGroundMap * GroundMap()
Returns a pointer to the CameraGroundMap object.
Definition Camera.cpp:2886
virtual int SpkCenterId() const
Provides the center of motion body for SPK NAIF kernel.
Definition Camera.cpp:3035
QString m_instrumentNameLong
Full instrument name.
Definition Camera.h:497
int Bands() const
Returns the number of bands in the image.
Definition Camera.cpp:2826
Convert between undistorted focal plane and ra/dec coordinates.
Definition CameraSkyMap.h:31
IO Handler for Isis Cubes.
Definition Cube.h:168
This class is designed to encapsulate the concept of a Latitude.
Definition Latitude.h:51
This class is designed to encapsulate the concept of a Longitude.
Definition Longitude.h:40
Base class for Map Projections.
Definition Projection.h:155
Container for cube-like labels.
Definition Pvl.h:119
Convert between undistorted focal plane coordinate (slant range) and ground coordinates.
Definition RadarGroundMap.h:94
Convert between radar ground range and slant range.
Definition RadarSlantRangeMap.h:53
Class for computing sensor ground coordinates.
Definition Sensor.h:170
Define shapes and provide utilities for Isis targets.
Definition ShapeModel.h:66
This class defines a body-fixed surface point.
Definition SurfacePoint.h:132
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16