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:73
double NorthAzimuth()
Returns the North Azimuth.
Definition: Camera.cpp:1933
std::pair< double, double > StartEndEphemerisTimes()
Calculates the start and end ephemeris times.
Definition: Camera.cpp:2515
virtual double SampleResolution()
Returns the sample resolution at the current position in meters.
Definition: Camera.cpp:646
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:2273
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:3099
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:2842
void SetSkyMap(CameraSkyMap *map)
Sets the Sky Map.
Definition: Camera.cpp:2437
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:628
double LowestObliqueImageResolution()
Returns the lowest/worst oblique resolution in the entire image.
Definition: Camera.cpp:738
double SpacecraftAzimuth()
Return the Spacecraft Azimuth.
Definition: Camera.cpp:1974
CameraDetectorMap * DetectorMap()
Returns a pointer to the CameraDetectorMap object.
Definition: Camera.cpp:2882
double CelestialNorthClockAngle()
Computes the celestial north clock angle at the current line/sample or ra/dec.
Definition: Camera.cpp:3073
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:2746
void GetGeometricTilingHint(int &startSize, int &endSize)
This will get the geometric tiling hint; these values are typically used for ProcessRubberSheet::SetT...
Definition: Camera.cpp:2641
double RaDecResolution()
Returns the RaDec resolution.
Definition: Camera.cpp:1889
void IgnoreProjection(bool ignore)
Set whether or not the camera should ignore the Projection.
Definition: Camera.cpp:2961
bool IntersectsLongitudeDomain(Pvl &pvl)
Checks whether the ground range intersects the longitude domain or not.
Definition: Camera.cpp:1182
double SunAzimuth()
Returns the Sun Azimuth.
Definition: Camera.cpp:1960
double PixelPitch() const
Returns the pixel pitch.
Definition: Camera.cpp:2778
int ReferenceBand() const
Returns the reference band.
Definition: Camera.cpp:2695
CameraSkyMap * SkyMap()
Returns a pointer to the CameraSkyMap object.
Definition: Camera.cpp:2902
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:2852
virtual double ObliquePixelResolution(bool useLocal=true)
Returns the oblique pixel resolution at the current position in meters/pixel.
Definition: Camera.cpp:702
void BasicMapping(Pvl &map)
Writes the basic mapping group to the specified Pvl.
Definition: Camera.cpp:1373
int Lines() const
Returns the number of lines in the image.
Definition: Camera.cpp:2822
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:2726
QString spacecraftNameLong() const
This method returns the full spacecraft name.
Definition: Camera.cpp:2942
virtual double PixelResolution()
Returns the pixel resolution at the current position in meters/pixel.
Definition: Camera.cpp:687
bool ringRange(double &minRingRadius, double &maxRingRadius, double &minRingLongitude, double &maxRingLongitude, Pvl &pvl)
Analogous to the above Ground Range method.
Definition: Camera.cpp:1303
double OffNadirAngle()
Return the off nadir angle in degrees.
Definition: Camera.cpp:2235
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:2590
virtual double LineResolution()
Returns the line resolution at the current position in meters.
Definition: Camera.cpp:666
void SetFocalLength()
Reads the focal length from the instrument kernel.
Definition: Camera.cpp:1428
QString instrumentNameLong() const
This method returns the full instrument name.
Definition: Camera.cpp:2922
void SetPixelPitch()
Reads the Pixel Pitch from the instrument kernel.
Definition: Camera.cpp:1435
double FocalLength() const
Returns the focal length.
Definition: Camera.cpp:2768
virtual int Band() const
Returns the current band.
Definition: Camera.cpp:2736
void SetDetectorMap(CameraDetectorMap *map)
Sets the Detector Map.
Definition: Camera.cpp:2408
bool HasProjection()
Checks to see if the camera object has a projection.
Definition: Camera.cpp:2674
bool InCube()
This returns true if the current Sample() or Line() value is outside of the cube (meaning the point m...
Definition: Camera.cpp:2655
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:2456
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:2932
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:2393
virtual double ObliqueLineResolution(bool useLocal=true)
Returns the oblique line resolution at the current position in meters.
Definition: Camera.cpp:678
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:1659
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:1505
QString instrumentId()
This method returns the InstrumentId as it appears in the cube.
Definition: Camera.cpp:2912
CameraDistortionMap * DistortionMap()
Returns a pointer to the CameraDistortionMap object.
Definition: Camera.cpp:2862
double HighestImageResolution()
Returns the highest/best resolution in the entire image.
Definition: Camera.cpp:727
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:2952
double HighestObliqueImageResolution()
Returns the highest/best oblique resolution in the entire image.
Definition: Camera.cpp:749
virtual int SpkTargetId() const
Provides target code for instruments SPK NAIF kernel.
Definition: Camera.cpp:2999
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:2685
virtual double ObliqueSampleResolution(bool useLocal=true)
Returns the oblique sample resolution at the current position in m.
Definition: Camera.cpp:656
bool GroundRange(double &minlat, double &maxlat, double &minlon, double &maxlon, Pvl &pvl)
Computes the Ground Range.
Definition: Camera.cpp:1199
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:589
void SetGroundMap(CameraGroundMap *map)
Sets the Ground Map.
Definition: Camera.cpp:2423
bool RaDecRange(double &minra, double &maxra, double &mindec, double &maxdec)
Computes the RaDec range.
Definition: Camera.cpp:1747
void basicRingMapping(Pvl &map)
Writes the basic mapping group for ring plane to the specified Pvl.
Definition: Camera.cpp:1402
int CacheSize(double startTime, double endTime)
This method calculates the spice cache size.
Definition: Camera.cpp:2563
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:1712
bool HasReferenceBand() const
Checks to see if the Camera object has a reference band.
Definition: Camera.cpp:2706
double LowestImageResolution()
Returns the lowest/worst resolution in the entire image.
Definition: Camera.cpp:716
int Samples() const
Returns the number of samples in the image.
Definition: Camera.cpp:2812
virtual QList< QPointF > PixelIfovOffsets()
Returns the pixel ifov offsets from center of pixel, which defaults to the (pixel pitch * summing mod...
Definition: Camera.cpp:2791
CameraFocalPlaneMap * FocalPlaneMap()
Returns a pointer to the CameraFocalPlaneMap object.
Definition: Camera.cpp:2872
bool SetRightAscensionDeclination(const double ra, const double dec)
Sets the right ascension declination.
Definition: Camera.cpp:1452
void SetDistortionMap(CameraDistortionMap *map, bool deleteExisting=true)
Sets the Distortion Map.
Definition: Camera.cpp:2378
double p_childLine
Line value for child.
Definition: Camera.h:503
virtual double resolution()
Returns the resolution of the camera.
Definition: Camera.cpp:2756
virtual void SetBand(const int band)
Virtual method that sets the band number.
Definition: Camera.cpp:2716
CameraGroundMap * GroundMap()
Returns a pointer to the CameraGroundMap object.
Definition: Camera.cpp:2892
virtual int SpkCenterId() const
Provides the center of motion body for SPK NAIF kernel.
Definition: Camera.cpp:3041
QString m_instrumentNameLong
Full instrument name.
Definition: Camera.h:497
int Bands() const
Returns the number of bands in the image.
Definition: Camera.cpp:2832
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:62
This class defines a body-fixed surface point.
Definition: SurfacePoint.h:132
This is free and unencumbered software released into the public domain.
Definition: BoxcarCachingAlgorithm.h:13
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16