An official website of the United States government
Here’s how you know
Official websites use .gov A
.gov website belongs to an official government
organization in the United States.
Secure .gov websites use HTTPS A
lock
() or https:// means you’ve safely connected to
the .gov website. Share sensitive information only on official,
secure websites.
This application is for camera development and is not supported for general public use.
See phocube for a public use application that performs similar processes.
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:
Evaluate the individual bands in order to establish subsequent
image processing steps
Specify as input to other ISIS programs such as fx and photomet
Demonstrate the result of each selected option
Determine how the images are mosaicked together after the
Level2 images are created from the Level1 images with backplanes
All ISIS applications default to the following geometric reference if a camera model exists:
Longitude Domain = 360, longitude range reported from 0 to 360
Latitude System = Ocentric
Longitude Direction = East, longitude increases to the east
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 ISIS 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 ISIS mosaic programs. The following are
equations for "morphology" and "albedo" options:
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:
DN
RADEC
PLANETOCENTRICLATITUDE
PLANETOGRAPHICLATITUDE
POSITIVEEAST360LONGITUDE
POSITIVEEAST180LONGITUDE
POSITIVEWEST360LONGITUDE
POSITIVEWEST180LONGITUDE
BODYFIXED
LOCALRADIUS
PIXELRESOLUTION
LINERESOLUTION
SAMPLERESOLUTION
DETECTORRESOLUTION
SPACECRAFTPOSITION
SPACECRAFTAZIMUTH
SLANTDISTANCE
TARGETCENTERDISTANCE
SUBSPACECRAFTLATITUDE
SUBSPACECRAFTLONGITUDE
SUBSPACECRAFTGROUNDAZIMUTH
SPACECRAFTALTITUDE
OFFNADIRANGLE
SUNPOSITION
SUNAZIMUTH
SOLARDISTANCE
SUBSOLARLATITUDE
SUBSOLARLONGITUDE
SUBSOLARGROUNDAZIMUTH
PHASE
EMISSION
INCIDENCE
LOCALEMISSION
LOCALINCIDENCE
NORTHAZIMUTH
DISTORTEDFOCALPLANE
UNDISTORTEDFOCALPLANE
EPHEMERISTIME
UTC
LOCALSOLARTIME
SOLARLONGITUDE
MORPHOLOGYRANK
ALBEDORANK
The following options are available for Level2 images:
DN
RADEC
PLANETOCENTRICLATITUDE
POSITIVEEAST360LONGITUDE
PIXELRESOLUTION
DISTORTEDFOCALPLANE
UNDISTORTEDFOCALPLANE
EPHEMERISTIME
UTC
SPACECRAFTPOSITION
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.
Renamed albedo to albedoRank, renamed morph (or morphology) to morphRank (or morphologyRank). Ref #4008.
Parameters
Files
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:
Option
Brief
Description
CAMERA
Get the geometric information from camera model
The geometric information is obtained from a camera model and
all band options are available for selection.
PROJECTION
Get the geometric information based on map projection information
The geometric information is obtained based on the label
keyword values stored under the "Mapping" group in the image
labels. Only DN, LATITUDE, LONGITUDE, and PIXELRESOLUTION
band options are available.
Exclusions
PLANETOGRAPHICLATITUDE
POSITIVEEAST180LONGITUDE
POSITIVEWEST360LONGITUDE
POSITIVEWEST180LONGITUDE
BODYFIXED
LOCALRADIUS
LINERESOLUTION
SAMPLERESOLUTION
DETECTORRESOLUTION
SPACECRAFTAZIMUTH
SLANTDISTANCE
TARGETCENTERDISTANCE
SUBSPACECRAFTLATITUDE
SUBSPACECRAFTLONGITUDE
SUBSPACECRAFTGROUNDAZIMUTH
SPACECRAFTALTITUDE
OFFNADIRANGLE
SUNPOSITION
SUNAZIMUTH
SOLARDISTANCE
SUBSOLARLATITUDE
SUBSOLARLONGITUDE
SUBSOLARGROUNDAZIMUTH
PHASE
EMISSION
INCIDENCE
LOCALEMISSION
LOCALINCIDENCE
NORTHAZIMUTH
LOCALSOLARTIME
SOLARLONGITUDE
MORPHOLOGYRANK
ALBEDORANK
Photometry
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.
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.
Append the following parameters to the automos command line to utilize this backplane band:
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.
Append the following parameters to the automos command line to utilize this backplane band: