ISIS 3 Application Documentation
camdev | Standard View | TOC | Home |
Creates photometric and geometric information bands for an image cube
Description
Categories
Groups
History
Things To Do
This application is for camera development and is not supported for general public use. This program, camdev, creates backplane bands that contain photometric, geometric, and spacecraft instrument information for an image file. The parameter options range from photometric angles (incidence, emission, and phase) to various azimuth angles, and options based on spatial (latitude, longitude, and resolution) information. This program will not work on Level1 images without a camera model, or on mosaics. The input image pixels are not propagated to the output file unless the user selects the "DN" option. The following is a partial list of how users have made use of band output:
All ISIS3 applications default to the following geometric reference if a camera model exists:
There are instances where the local emission angle and the local incidence angle will have values over 90 degrees. ISIS allows the computation of emission and incidence angles greater than 90 degrees. This feature allows representation of viewing and illumination conditions where there is actual target body surface data beyond the limb or deep terminator boundary areas. Applications such as photomet that applies photometric functions honor the 90 degree boundary. Applications such as photrim can be applied to the camdev output to replace the angle values above 90 degrees to NULL. There are certain processes that need these data, therefore it is allowed.
This program requires a Level1 file that has a successful "spiceinit" applied to it, or a Level2 image cube file. For every valid input pixel, an output pixel is computed based on either the SPICE information, or the map projected spatial information, or a pre-defined equation.
The parameters "morphology" and "albedo" are specifically designed to be used by the ISIS3 mosaic programs. A mosaic program will automatically compare two pixel values to determine how each pixel is mosaicked into an output file, which depends on whether a morphology-based or an albedo-based product is desired. The program computes a DN value for every input pixel based on the formulas listed below and outputs the value to a backplane band. These backplane bands are used by the ISIS3 mosaic programs. The following are equations for "morphology" and "albedo" options:
- Morphology
- Equation = PixelResolution/cos(EmissionAngle)
- Albedo
- Equation = PixelResolution * [(1/cos(EmissionAngle)) + (1/cos(IncidenceAngle))]
All the options in camdev are applicable if the input file is a Level1
image and has a camera model associated with the file. If the input file
is a map-projected Level2 image, only a few options are appropriate
and available for selection.
The following options are available for Level1 images that contain a camera model:
The BandBin group keywords are updated in the labels of the output cube file. The keyword "Name" within the BandBin group, shown below, is populated with the name of each option selected by the user as bands. These bands can be referenced by their names in applications such as "mapmos" and "qview."
Example: camdev from=EW0131773041G_cal.cub to=EW0131773041G_cal.pho.cub morph=true dn=true Sample of image label: Group = Dimensions Samples = 1024 Lines = 1024 Bands = 7 End_Group Group = BandBin Name = ("750 BW 5", "Phase Angle", "Emission Angle", "Incidence Angle", Latitude, Longitude, Morphology) Number = (7, 7, 7, 7, 7, 7, 7) Center = (748.7, 748.7, 748.7, 748.7, 748.7, 748.7, 748.7) Width = (5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1) End_Group Note: The first band retained the BandBin Name value from the input file. The program has "Phase Angle," "Emission Angle," "Incidence Angle," "Latitude," and "Longitude" options pre-selected.
If the backplane bands generated by camdev are used in the mosaic programs and the mosaic requires the input image pixel, the "DN" parameter name must be set to "true" in camdev. When backplane bands are used in the "fx" or "photomet" program, it is not necessary to propagate the input image to the output file.
Name | Description |
---|---|
FROM | Input cube file |
TO | Output cube file |
SOURCE | Specifies the source of the geometric information |
Name | Description |
---|---|
DN | Propagate the input pixel to the output file |
RADEC | Create bands for Right Ascention and Declination |
PLANETOCENTRICLATITUDE | Create a Planetocentic Latitude band |
PLANETOGRAPHICLATITUDE | Create a Planetographic Latitude band |
POSITIVEEAST360LONGITUDE | Create a Positive East 360 Longitude band |
POSITIVEEAST180LONGITUDE | Create a Positive East 180 Longitude band |
POSITIVEWEST360LONGITUDE | Create a Positive West 360 Longitude band |
POSITIVEWEST180LONGITUDE | Create a Positive West 180 Longitude band |
BODYFIXED | Create bands for the X, Y, and Z Body Fixed Coordinates |
LOCALRADIUS | Create a Local Radius band |
PIXELRESOLUTION | Create a Pixel Resolution band |
LINERESOLUTION | Create a Line Resolution band |
SAMPLERESOLUTION | Create a Sample Resolution band |
DETECTORRESOLUTION | Create a Detector Resolution band |
SPACECRAFTPOSITION | Create bands for the X, Y, and Z Spacecraft Position |
SPACECRAFTAZIMUTH | Create a Spacecraft Azimuth band |
SLANTDISTANCE | Create a Slant Distance band |
TARGETCENTERDISTANCE | Create a Target Center Distance band |
SUBSPACECRAFTLATITUDE | Create a SubSpacecraft Latitude band |
SUBSPACECRAFTLONGITUDE | Create a SubSpacecraft Longitude band |
SPACECRAFTALTITUDE | Create a Spacecraft Altitude band |
OFFNADIRANGLE | Create an Off Nadir Angle band |
SUBSPACECRAFTGROUNDAZIMUTH | Create a SubSpacecraft Ground Azimuth band |
SUNPOSITION | Create bands for the X, Y, and Z of the Sun Position |
SUNAZIMUTH | Create a Sun Azimuth band |
SOLARDISTANCE | Create a Solar Distance band |
SUBSOLARLATITUDE | Create a SubSolar Latitude band |
SUBSOLARLONGITUDE | Create a SubSolar Longitude band |
SUBSOLARGROUNDAZIMUTH | Create a SubSolar Ground Azimuth band |
PHASE | Create a Phase Angle band |
EMISSION | Create an Emission Angle band |
INCIDENCE | Create an Incidence Angle band |
LOCALEMISSION | Create a Local Emission Angle band |
LOCALINCIDENCE | Create a Local Incidence Angle band |
NORTHAZIMUTH | Create a North Azimuth band |
DISTORTEDFOCALPLANE | Create bands for the X, and Y of the Distorted Focal Plane |
UNDISTORTEDFOCALPLANE | Create bands for the X, Y, and Z of the Undistorted Focal Plane |
EPHEMERISTIME | Create an Ephemeris Time band |
UTC | Create an UTC band |
LOCALSOLARTIME | Create a Local Solar Time band |
SOLARLONGITUDE | Create a Solar Longitude band |
MORPHOLOGYRANK | Create a Morphology rank band, used for ranking images based on favorable local emission angles. |
ALBEDORANK | Create an Albedo rank band, used for ranking images based on favorable emission and incidence angles. |
This is the input filename. The input image cube can be a Level1 or Level2 file. For a Level1 image, spiceinit must be successfully applied before running camdev.
Type | cube |
---|---|
File Mode | input |
Filter | *.cub |
This is the output file name. The cube file will contain a band for each of the selected options. The BandBin Group in the image labels of the output cube file will be updated with the "Name" keyword containing the output band names (options) in the order that they are stacked within the cube.
Type | cube |
---|---|
File Mode | output |
Pixel Type | real |
Specifies whether the geometric information will be obtained from the camera model or from the map projection. If this parameter is set to CAMERA, all band options are available for the user to select. If this parameter is set to PROJECTION, then only DN, LATITUDE, LONGITUDE, and PIXELRESOLUTION band options are available and all other options will be greyed out. If the user sets this parameter to CAMERA and the input file does not contain a camera model or SPICE information, then an error message will occur.
Type | string | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Default | CAMERA | |||||||||
Option List: |
|
This parameter specifies whether the input image pixel value (DN) will be propagated to the output file. The DN parameter must be set to "true," if the output product created is expected to contain the input image information.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Right Ascension, and the Declination will be calculated for every pixel and each will be placed into their respective bands in the output cube. The output cube labels will contain "Right Ascension" and "Declination" in the BandBin group, in the band sequence of the output file. Right Ascension and Declination are in degrees.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Planetocentric Latitude value will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Planetocentric Latitude" in the BandBin group, in band sequence of the output file. Planetocentric Latitude is in degrees.
Type | boolean |
---|---|
Default | TRUE |
If this parameter is true, the Planetographic Latitude value will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Planetographic Latitude" in the BandBin group, in band sequence of the output file. Planetographic Latitude is in degrees.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Positive East 360 Longitude value will be computed for every pixel placed in a band in the output cube. The output cube labels will contain "Positive East 360 Longitude" in the BandBin group, in band sequence of the output file. Positive East 360 Longitude is in degrees.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Positive East 180 Longitude value will be computed for every pixel placed in a band in the output cube. The output cube labels will contain "Positive East 180 Longitude" in the BandBin group, in band sequence of the output file. Positive East 180 Longitude is in degrees.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Positive West 360 Longitude value will be computed for every pixel placed in a band in the output cube. The output cube labels will contain "Positive West 360 Longitude" in the BandBin group, in band sequence of the output file. Positive West 360 Longitude is in degrees.
Type | boolean |
---|---|
Default | FALSE |
!If this parameter is true, the Positive West 180 Longitude value will be computed for every pixel placed in a band in the output cube. The output cube labels will contain "Positive West 180 Longitude" in the BandBin group, in band sequence of the output file. Positive West 180 Longitude is in degrees.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Body Fixed Coordinates will be calculated for every pixel and the values for X, Y, and Z will each be placed into their own bands in the output cube. The output cube labels will contain "Body Fixed X", "Body Fixed Y", and "Body Fixed Z" in the BandBin group, in the band sequence of the output file. Body Fixed Coordinates are in kilometers.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Local Radius will be calculated for every pixel and the values for X, Y, and Z will each be placed in a band in the output cube. The output cube labels will contain "Local Radius" in the BandBin group, in the band sequence of the output file. Local Radius is in meters.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Pixel Resolution will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Pixel Resolution" in the BandBin group, in band sequence of the output file. PixelResolution is in meters.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Line Resolution will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Line Resolution" in the BandBin group, in band sequence of the output file. LineResolution is in meters.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Sample Resolution will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Sample Resolution" in the BandBin group, in band sequence of the output file. SampleResolution is in meters.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Detector Resolution will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Detector Resolution" in the BandBin group, in band sequence of the output file. DetectorResolution is in millimeters.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Spacecraft Position will be calculated for every pixel and the values for X, Y, and Z will each be placed into their own bands in the output cube. The output cube labels will contain "Spacecraft Position X", "Spacecraft Position Y", and "Spacecraft Position Z" in the BandBin group, in the band sequence of the output file. Spacecraft Position is in body-fixed frame kilometer units.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Spacecraft Azimuth will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Spacecraft Azimuth" in the BandBin group, in band sequence of the output file. SpacecraftAzimuth is in degrees.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Slant Distance will be calculated for every pixel and place in a band in the output cube. The output cube labels will contain "Slant Distance", in the BandBin group, in the band sequence of the output file. Slant Distance is reported in kilometers.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Target Center Distance will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Target Center Distance" in the BandBin group, in band sequence of the output file. Target Center Distance is in kilometers.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the SubSpacecraft Latitude will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "SubSpacecraft Laitiude" in the BandBin group, in band sequence of the output file. SubSpacecraft Latitude is in degrees.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the SubSpacecraft Longitude will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "SubSpacecraft Longitude" in the BandBin group, in band sequence of the output file. SubSpacecraft Longitude is in degrees.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Spacecraft Altitude will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Spacecraft Altitude" in the BandBin group, in band sequence of the output file. Spacecraft Altitude is in kilometers.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Off Nadir Angle will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Off Nadir Angle" in the BandBin group, in band sequence of the output file. Off Nadir Angle is in degrees.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the SubSpacecraft Ground Azimuth will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "SubSpacecraft Ground Azimuth" in the BandBin group, in band sequence of the output file. SubSpacecraftGround Azimuth is in degrees.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Sun Position will be calculated for every pixel and the values for X, Y, and Z will each be placed into their own bands in the output cube. The output cube labels will contain "Sun Position X", "Sun Position Y", and "Sun Position Z" in the BandBin group, in the band sequence of the output file. Sun Position is in kilometers.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Sun Azimuth will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Sun Azimuth" in the BandBin group, in band sequence of the output file. SunAzimuth is in degrees.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Solar Distance will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Solar Distance" in the BandBin group, in band sequence of the output file. Solar Distance is in astronomical units.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the SubSolar Latitude will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "SubSolar Latitude" in the BandBin group, in band sequence of the output file. SubSolar Latitude is in degrees.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the SubSolar Longitude will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "SubSolar Longitude" in the BandBin group, in band sequence of the output file. SubSolar Longitude is in degrees.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the SubSolar Ground Azimuth will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Sub Solar Ground Azimuth" in the BandBin group, in band sequence of the output file. SubSolarGroundAzimuth is in degrees.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Phase Angle will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Phase Angle" in the BandBin group, in band sequence of the output file. Phase angles are in degrees.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Emission Angle will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Emission Angle" in the BandBin group, in band sequence of the output file. Emission angles are in degrees. There are certain cases where the emission angle is over 90 degrees. This is allowed as there are processes that need these data. See main description for details.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Incidence Angle will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Incidence Angle" in the BandBin group, in band sequence of the output file. Incidence angles are in degrees. There are certain cases where the incidence angle is over 90 degrees. This is allowed as there are processes that need these data. See main description for details.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Local Emission Angle will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Local Emission Angle" in the BandBin group, in band sequence of the output file. LocalEmissionAngle is in degrees. There are certain cases where the local emission angle is over 90 degrees. This is allowed as there are processes that need these data. See main description for details.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Local Incidence Angle will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Local Incidence Angle" in the BandBin group, in band sequence of the output file. LocalIncidenceAngle is in degrees. There are certain cases where the local incidence angle is over 90 degrees. This is allowed as there are processes that need these data. See main description for details.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the North Azimuth will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "North Azimuth" in the BandBin group, in band sequence of the output file. NorthAzimuth is in degrees.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Distorted Focal Plane will be calculated for every pixel and the values for X, and Y will each be placed into their own bands in the output cube. The output cube labels will contain "Distorted Focal Plane X", and "Distorted Focal Plane Y" in the BandBin group, in the band sequence of the output file. Distorted Focal Plane is in millimeters.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Undistorted Focal Plane will be calculated for every pixel and the values for X, Y, and Z will each be placed into their own bands in the output cube. The output cube labels will contain "Undistorted Focal Plane X", "Undistorted Focal Plane Y", and "Undistorted Focal Plane Z" in the BandBin group, in the band sequence of the output file. Undistorted Focal Plane is in millimeters.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Ephemeris Time will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Ephemeris Time" in the BandBin group, in band sequence of the output file. Ephemeris is in seconds.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the UTC will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "UTC" in the BandBin group, in band sequence of the output file. UTC format consists of year, month, day, hour, minutes, and seconds, and is output in string format.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Local Solar Time will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Local Solar Time" in the BandBin group, in band sequence of the output file. Local Solar Time is in degrees.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Solar Longitude will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Solar Longitude" in the BandBin group, in band sequence of the output file. Solar Longitude is in degrees.
Type | boolean |
---|---|
Default | FALSE |
This band is computed from the pixel resolution
and emission angle using the following formula:
MorphologyRank = PixelResolution / cos(EmissionAngle)
The resulting output band can be used by automos to create a
morphologyRank-based mosaic product. This option uses the
local emission angle if the input file
is initialized (spiceinit) with an elevation model (DEM); otherwise, it
uses the default calculation (from the ellipsoid). All computed cosines are
tested for zero. If the result is zero, then the value is set to a constant
value very close to zero.
Type | boolean |
---|---|
Default | FALSE |
This band is computed from the pixel resolution,
incidence angle and emission angle
using the following formula:
AlbedoRank = PixelResolution * [(1 / cos(EmissionAngle)) + (1 / cos(IncidenceAngle))]
The resulting output band can be used by automos to create an albedoRank-based
mosaic product. This option always uses the
local emission angle and
local incidence angle if the input file
is initialized (spiceinit) with an elevation model (DEM); otherwise, it
uses the default calculation (from the ellipsoid). All computed cosines are
tested for zero. If the result is zero, then the value is set to a constant
value very close to zero.
Type | boolean |
---|---|
Default | FALSE |
Makayla Shepherd | 2015-09-22 | Original version. |
Kaj Williams | 2017-06-09 | Renamed albedo to albedoRank, renamed morph (or morphology) to morphRank (or morphologyRank). Ref #4008. |