36 class CameraDetectorMap;
37 class CameraFocalPlaneMap;
38 class CameraDistortionMap;
39 class CameraGroundMap;
259 bool SetImage(
const double sample,
const double line);
260 virtual bool SetImage(
const double sample,
const double line,
const double deltaT);
264 const double radius);
270 Angle & emission,
bool &success);
278 virtual void SetBand(
const int band);
283 bool GroundRange(
double &minlat,
double &maxlat,
double &minlon,
284 double &maxlon,
Pvl &pvl);
285 bool ringRange(
double &minRingRadius,
double &maxRingRadius,
286 double &minRingLongitude,
double &maxRingLongitude,
Pvl &pvl);
314 const int band = -1)
const;
326 double &mindec,
double &maxdec);
353 static double GroundAzimuth(
double glat,
double glon,
double slat,
360 int CacheSize(
double startTime,
double endTime);
This class defines a body-fixed surface point.
void LocalPhotometricAngles(Angle &phase, Angle &incidence, Angle &emission, bool &success)
Calculates LOCAL photometric angles using the DEM (not ellipsoid).
double p_maxlat
The maximum latitude.
QString instrumentNameShort() const
This method returns the shortened instrument name.
void SetFocalLength()
Reads the focal length from the instrument kernel.
virtual CameraType GetCameraType() const =0
Returns the type of camera that was created.
CameraDetectorMap * DetectorMap()
Returns a pointer to the CameraDetectorMap object.
int CacheSize(double startTime, double endTime)
This method calculates the spice cache size.
void SetSkyMap(CameraSkyMap *map)
Sets the Sky Map.
virtual int SpkReferenceId() const =0
Provides reference frame for instruments SPK NAIF kernel.
double ObliqueLineResolution()
Returns the oblique line resolution at the current position in meters.
virtual int SpkTargetId() const
Provides target code for instruments SPK NAIF kernel.
double p_mindec
The minimum declination.
double p_minlon
The minimum longitude.
double p_minobliqueres
The minimum oblique resolution.
int p_referenceBand
The reference band.
double p_minra180
The minimum right ascension in the 180 domain.
double SunAzimuth()
Returns the Sun Azimuth.
bool ringRange(double &minRingRadius, double &maxRingRadius, double &minRingLongitude, double &maxRingLongitude, Pvl &pvl)
Analogous to the above Ground Range method.
void SetDetectorMap(CameraDetectorMap *map)
Sets the Detector Map.
CameraDistortionMap * DistortionMap()
Returns a pointer to the CameraDistortionMap object.
Camera(Cube &cube)
Constructs the Camera object.
int p_lines
The number of lines in the image.
void SetGroundMap(CameraGroundMap *map)
Sets the Ground Map.
QString m_instrumentNameLong
Full instrument name.
double p_maxRingLongitude
The maximum ring longitude (azimuth)
double SpacecraftAzimuth()
Return the Spacecraft Azimuth.
bool SetRightAscensionDeclination(const double ra, const double dec)
Sets the right ascension declination.
bool HasProjection()
Checks to see if the camera object has a projection.
double p_maxra180
The maximum right ascension in the 180 domain.
void basicRingMapping(Pvl &map)
Writes the basic mapping group for ring plane to the specified Pvl.
double OffNadirAngle()
Return the off nadir angle in degrees.
virtual double resolution()
Returns the resolution of the camera.
bool InCube()
This returns true if the current Sample() or Line() value is outside of the cube (meaning the point m...
void SetPixelPitch()
Reads the Pixel Pitch from the instrument kernel.
This class is designed to encapsulate the concept of a Latitude.
Class for computing sensor ground coordinates.
double p_maxlon180
The maximum longitude in the 180 domain.
double p_focalLength
The focal length, in units of millimeters.
virtual int CkReferenceId() const =0
Provides the NAIF reference code for an instruments CK kernel.
double ObliquePixelResolution()
Returns the oblique pixel resolution at the current position in meters/pixel.
virtual ~Camera()
Destroys the Camera Object.
QString instrumentNameLong() const
This method returns the full instrument name.
double p_maxobliqueres
The maximum oblique resolution.
CameraDistortionMap * p_distortionMap
A pointer to the DistortionMap.
double ObliqueSampleResolution()
Returns the oblique sample resolution at the current position in m.
double p_minRingLongitude180
The minimum ring longitude in the 180 domain.
bool IntersectsLongitudeDomain(Pvl &pvl)
Checks whether the ground range intersects the longitude domain or not.
bool RawFocalPlanetoImage()
Computes the image coordinate for the current universal ground point.
double p_maxres
The maximum resolution.
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...
bool SetGround(Latitude latitude, Longitude longitude)
Sets the lat/lon values to get the sample/line values.
int ParentLines() const
Returns the number of lines in the parent alphacube.
This class is used to rewrite the "alpha" keywords out of the AlphaCube group or Instrument group...
CameraSkyMap * SkyMap()
Returns a pointer to the CameraSkyMap object.
double p_minRingLongitude
The minimum ring longitude (azimuth)
int p_bands
The number of bands in the image.
bool HasReferenceBand() const
Checks to see if the Camera object has a reference band.
bool SetUniversalGround(const double latitude, const double longitude)
Sets the lat/lon values to get the sample/line values.
bool SetImage(const double sample, const double line)
Sets the sample/line values of the image to get the lat/lon values.
Convert between parent image coordinates and detector coordinates.
This class is designed to encapsulate the concept of a Longitude.
bool p_ignoreProjection
Whether or no to ignore the Projection.
CameraDetectorMap * p_detectorMap
A pointer to the DetectorMap.
Base class for Map Projections.
Convert between undistorted focal plane and ground coordinates.
double p_minlat
The minimum latitude.
Convert between distorted focal plane and detector coordinates.
Convert between undistorted focal plane coordinate (slant range) and ground coordinates.
CameraType
This enum defines the types of cameras supported in this class.
QString m_instrumentNameShort
Shortened instrument name.
CameraGroundMap * GroundMap()
Returns a pointer to the CameraGroundMap object.
QString instrumentId()
This method returns the InstrumentId as it appears in the cube.
void ringRangeResolution()
Analogous to above GroundRangeResolution method.
double HighestImageResolution()
Returns the highest/best resolution in the entire image.
double p_pixelPitch
The pixel pitch, in millimeters per pixel.
bool GroundRange(double &minlat, double &maxlat, double &minlon, double &maxlon, Pvl &pvl)
Computes the Ground Range.
bool RaDecRange(double &minra, double &maxra, double &mindec, double &maxdec)
Computes the RaDec range.
double Sample()
Returns the current sample number.
CameraFocalPlaneMap * p_focalPlaneMap
A pointer to the FocalPlaneMap.
QString m_instrumentId
The InstrumentId as it appears on the cube.
double FocalLength() const
Returns the focal length.
void SetFocalPlaneMap(CameraFocalPlaneMap *map)
Sets the Focal Plane Map.
int p_childBand
Band value for child.
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...
double HighestObliqueImageResolution()
Returns the highest/best oblique resolution in the entire image.
QString spacecraftNameLong() const
This method returns the full spacecraft name.
Distort/undistort focal plane coordinates.
double NorthAzimuth()
Returns the North Azimuth.
std::pair< double, double > StartEndEphemerisTimes()
Calculates the start and end ephemeris times.
double p_childSample
Sample value for child.
AlphaCube * p_alphaCube
A pointer to the AlphaCube.
double PixelPitch() const
Returns the pixel pitch.
int ParentSamples() const
Returns the number of samples in the parent alphacube.
void BasicMapping(Pvl &map)
Writes the basic mapping group to the specified Pvl.
Container for cube-like labels.
CameraFocalPlaneMap * FocalPlaneMap()
Returns a pointer to the CameraFocalPlaneMap object.
int Band()
Returns the current band.
void LoadCache()
This loads the spice cache big enough for this image.
bool p_groundRangeComputed
Flag showing if ground range was computed successfully.
Define shapes and provide utilities for Isis3 targets.
double ComputeAzimuth(const double lat, const double lon)
Computes the image azimuth value from your current position (origin) to a point of interest specified...
double CelestialNorthClockAngle()
Computes the celestial north clock angle at the current line/sample or ra/dec.
Defines an angle and provides unit conversions.
double p_maxra
The maxumum right ascension.
double LowestObliqueImageResolution()
Returns the lowest/worst oblique resolution in the entire image.
QString m_spacecraftNameLong
Full spacecraft name.
int p_samples
The number of samples in the image.
virtual bool IsBandIndependent()
Virtual method that checks if the band is independent.
bool SetImageMapProjection(const double sample, const double line, ShapeModel *shape)
Sets the sample/line values of the image to get the lat/lon values for a Map Projected image...
double p_maxlon
The maximum longitude.
void SetDistortionMap(CameraDistortionMap *map, bool deleteExisting=true)
Sets the Distortion Map.
double LowestImageResolution()
Returns the lowest/worst resolution in the entire image.
CameraGroundMap * p_groundMap
A pointer to the GroundMap.
double p_maxRingLongitude180
The maximum ring longitude in the 180 domain.
int Bands() const
Returns the number of bands in the image.
QString spacecraftNameShort() const
This method returns the shortened spacecraft name.
double Line()
Returns the current line number.
int Lines() const
Returns the number of lines in the image.
int Samples() const
Returns the number of samples in the image.
Convert between radar ground range and slant range.
double RaDecResolution()
Returns the RaDec resolution.
double PixelResolution()
Returns the pixel resolution at the current position in meters/pixel.
double p_minres
The minimum resolution.
double p_minlon180
The minimum longitude in the 180 domain.
Namespace for ISIS/Bullet specific routines.
double p_minra
The minimum right ascension.
bool p_ringRangeComputed
Flag showing if ring range was computed successfully.
double LineResolution()
Returns the line resolution at the current position in meters.
virtual int SpkCenterId() const
Provides the center of motion body for SPK NAIF kernel.
Convert between undistorted focal plane and ra/dec coordinates.
QString m_spacecraftNameShort
Shortened spacecraft name.
void IgnoreProjection(bool ignore)
Set whether or not the camera should ignore the Projection.
double p_maxRingRadius
The maximum ring radius.
virtual QList< QPointF > PixelIfovOffsets()
Returns the pixel ifov offsets from center of pixel, which defaults to the (pixel pitch * summing mod...
virtual double exposureDuration() const
Return the exposure duration for the pixel that the camera is set to.
Projection * p_projection
A pointer to the Projection.
void SetGeometricTilingHint(int startSize=128, int endSize=8)
This method sets the best geometric tiling size for projecting from this camera model.
double p_minRingRadius
The minimum ring radius.
double p_maxdec
The maximum declination.
bool SetImageSkyMapProjection(const double sample, const double line, ShapeModel *shape)
Sets the sample/line values of the image to get the lat/lon values for a Skymap Projected image...
int ReferenceBand() const
Returns the reference band.
int p_geometricTilingStartSize
The ideal geometric tile size to start with when projecting.
CameraSkyMap * p_skyMap
A pointer to the SkyMap.
double SampleResolution()
Returns the sample resolution at the current position in meters.
virtual void SetBand(const int band)
Virtual method that sets the band number.
virtual int CkFrameId() const =0
Provides the NAIF frame code for an instruments CK kernel.
bool p_pointComputed
Flag showing if Sample/Line has been computed.
double p_childLine
Line value for child.
bool p_raDecRangeComputed
Flag showing if the raDec range has been computed successfully.
void GetGeometricTilingHint(int &startSize, int &endSize)
This will get the geometric tiling hint; these values are typically used for ProcessRubberSheet::SetT...
double DetectorResolution()
Returns the detector resolution at the current position in meters.
void GroundRangeResolution()
Computes the ground range and min/max resolution.
int p_geometricTilingEndSize
The ideal geometric tile size to end with when projecting.
double ObliqueDetectorResolution()
This method returns the Oblique Detector Resolution if the Look Vector intersects the target and if t...
IO Handler for Isis Cubes.