Build with: lddtool -pl ingest_file >log_file
add J switch if a JSON file is needed.
Classes used from the PDS namespace
- Local_Internal_Reference
- Internal_Reference
Attributes used from the PDS namespace
- local_identifier
- name
- comment
- kernel_type
- local_reference_type
- reference_type
version 1.0.0 2015-04-30
- Initial release.
version 1.1.0 2015-08-17
- Updated to IM version 1.4.1.0
- Removed attributes body_spice_id and frame_spice_id. body_spice_name and frame_spice_name are the supported attributes.
- Geometry_Identification_Base was replaced by Body_Identification_Base and Frame_Identification_Base.
-- The preceding two changes affect these classes: Central_Body_Identification,
Coordinate_System_Origin_Identification, Observer_Identification, Target_Identification.
- Added the class Coordinate_Space_SPICE.
- SPICE_Kernel_Identification was replaced with the new class Coordinate_Space_SPICE in Coordinate_Space_Identification.
- Replaced local_spice_kernel_name with spice_kernel_file_name.
- Changed kernel_type to pds:kernel_type.
-- The preceding four changes affect Coordinate_Space_Present and Coordinate_Space_Reference.
- horizontal/vertical_pixel_scale_factor now have unit of measure type Units_of_Map_scale (these are all of the
form "[length]/pixel").
- In Geometry_Orbiter class, expanded description to include class use.
- Quaternion_non_SPICE_Style contained a double underscore in the class name. That typo has been corrected.
- Updated a number of the attribute and class definitions/descriptions
- In the Geometry_Orbiter class, Reference_Frame_Identification was removed.
- Added class Coordinate_Space_Indexed
- Moved solution_id attribute from Coordinate_Space_Index to Coordinate_Space_Indexed
- Removed model_desc_file_name from Camera_Model_Parameters
- Replaced Coordinate_Space_Index with Coordinate_Space_Indexed in Coordinate_Space_Identification
- Added Local_Internal_Reference to Coordinate_Space_Index
- Added attribute coordinate_space_frame_type
- Renamed Device_Motor_Clicks* to Device_Motor_Counts*
- Renamed Device_Position_Vector to Vector_Device_Gravity
- Renamed index_value_no_units to index_value_number.
- Completely revised quaternions, removed all four existing quaternion classes,
Quaternion_SPICE, Quaternion_non_SPICE, Rotation_Quaternion, and Device_Orientation_Quaternion.
Introduced three new quaternion classes, Quaternion_Base, Quaternion_1, and Quaternion_2. The latter
two are extensions of Quaternion_Base.
- Revised the definitions of the four components of quaternions.
- Added the classes Rotate_From, Rotate_To, and the attribute rotation_direction to
support the new quaternion classes.
- Added Coordinate_Space_Present to the Articulation_Device_Parameters class.
- Renamed Coordinate_System to Coordinate_System_Identification.
- In Coordinate_Space_Indexed changed Coordinate_Space_Index from parent_of to component_of
- Removed pds:Local_Internal_Reference from Coordinate_Space_Index, Body_Identification_Base, Frame_Identification_Base.
- Removed the quaternions from the Articulation_Device_Parameters class.
- Cleaned up some more definitions.
version 1.2.0 2015-10-15
- Updated to IM version 1.5.0.0
- Redefined the Display_Direction class and removed the import of the
Display dictionary.
- Designated Body_Identification_Base as 'abstract'
- Renamed Target_Identification to Geometry_Target_Identification
- Renamed horizontal/vertical_pixel_size_angular to horizontal/vertical_pixel_field_of_view
- Renamed horizontal/vertical_pixel_size_projected to horizontal/vertical_pixel_footprint
- Removed Body_Identification_Base from Image_Display
- removed body_positive_pole_clock_angle
- added central_body_positive_pole_clock_angle
- Removed Local_Internal_Reference from several classes
- Removed horizontal/vertical_pixel_scale_factor
- Updated horizontal/vertical_pixel_field_of_view descriptions
- Added new, required attribute pixel_field_of_view_method attribute to Pixel_Dimensions
- Allow for multiple Pixel_Size_Projected classes to be specified in the Pixel_Dimensions class.
- Revised the definition of Footprint_Vertices and set the minimum number of vertices to two.
- Added choice between reference_location and new distance attribute in Pixel_Size_Projected class.
- Added 'Constant' (or some other applicable term per rationale) as a permissible value to Pixel_Size_Projected and reference_location.
- Require horizontal_pixel_footprint and vertical_pixel_footprint to be specified in Pixel_Size_Projected class.
- added cahvore_model_type and cahvore_model_parameter attributes to CAHVORE_Model
- added new positive_azimuth_direction and positive_elevation_direction attributes to Coordinate_Space_Definition class
- added new instrument_azimuth, instrument_elevation attributes to Derived_Geometry
- added new selected_instrument_id attribute to Articulation_Device_Parameters for currently selected instrument
- added new device_phase attribute to Articulation_Device_Parameters
- added new Quaternion_Model_Transform and Vector_Model_Transform classes to the Camera_Model_Parameters class
- fixed bug with Vector_Cartesian_No_Units class - local identifier was Vector_Cartesian_Unit and overwriting that class
- changed parent_of Vector_Axis class to Vector_Cartesian_No_Units
- changed parent_of Vector_Device_Gravity class to Vector_Cartesian_Unit instead of Position_Cartesion_Vector_Base since it is a unit vector
- added pds:Local_Internal_Reference to Coordinate_Space_Identification class, specifically for properly defining a Coordinate_Space_Reference.
- updated the definition for coordinate_space_frame_type
- changed ordering of Coordinate_Space_Indexed to make more logical sense
- changed local_identifier attribute in Coordinate_Space_Definition class to allow for mutliple identifiers for a Coordinate Space
- removed units from x_pixel, y_pixel, z_pixel
- changed x_no_units, y_no_units, z_no_units to x,y,z
- removed Coordinate_Space_Reference from CAHV_Model class. It only needs to be in the Camera_Model_Parameters class
- north/east_azimuth - expanded definition to clarify direction of measurement.
- renamed the Distances class to Specific_Distances, removed the Distance_Generic class
from that class and added it to Geometry_Orbiter.
- removed the Specific_Position_Vectors and Specific_Velocity_Vectors classes. The remaining Vector aggragating classss
are Specific_Cartesian_Vectors and Specific_Planetocentric_Vectors.
- Renamed 59 classes for clarity or to make the order of the class name segments consistent with SR requirements. See
the separate class-rename-20151016.txt document for the complete list.
version 1.2.1 2015-11-12 (this version not released for review)
- Inserted a missing ")" in Schematron file to correct a typo.
- changed several instances of a double underscore to a single underscore.
- Removed Local_Reference_Type from geom:Display_Direction.
- Added Schematron rule for Image_Display_Geometry/Local_Internal_Reference/Reference_Type to verify
use of the enumerated value "display_to_data_object".
- In Geometry_Orbiter, moved the class Geometry_Target_Identification ahead of the class Coordinate_System Identification.
This results in placing at the beginning of the class, the items most likely to have multiple
values and hence result in multiple instances of the Geometry_Orbiter class.
version 1.3.0.0 2016-07-15
- Updated to IM version 1.6.0.0
- Changed to four place version number.
- Added geometry_start_time and geometry_stop_time, and expanded the definitions for the three variations
of geometry_*_time.
- Made geom:Display_Direction required even if the disp:Display_Direction is in the label.
- Removed the option to use Quaternion_1 from the Image_Display_Geometry class since there is no way to identify
the relevant end points in the enclosing class.
- Revised the definition of right_ascension_angle.
- Changed the description and units of right_ascension_hour_angle to decimal hours.
- Revised the definition of declination_angle.
- In Object_Orientation_Clock_Angles, made Reference_Frame_Identification optional instead of required.
- Added or modified attributes minimum_*, maximum_*, start_*, stop_*; where * is any of target_geocentric_distance,
target_heliocentric_distance, target_ssb_distance, spacecraft_geocentric_distance, spacecraft_heliocentric_distance,
spacecraft_to_central_body_distance, spacecraft_to_target_center_distance, spacecraft_to_target_boresight_intercept_distance,
spacecraft_to_target_subspacecraft_distance, emission_angle, incidence_angle, phase_angle, solar_elongation, latitude,
longitude, subspacecraft_azimuth, subspacecraft_latitude, subspacecraft_longitude, subsolar_azimuth, subsolar_latitude,
or subsolar_longitude.
- Added the attribute lat_long_description to support start_ and stop_ latitude and longitude.
- Added the classes *_Specific, *_Min_Max, *_Start_Stop; where * is any of Distances, Illumination, or Surface_Geometry.
- Removed the classes Illumination_FOV_Range_Values (replaced with the class Illumination_Min_Max), and
Illumination_Single_Values (replaced with the class Illumination_Specific).
- Removed the attribute illumination_range_designation.
- Changed the names of several specific distance classes from spacecraft_to_*_distance to spacecraft_*_distance.
- Renamed Specific_Distances to Distances_Specific.
- Renamed Surface_Geometry to Surface_Geometry_Specific.
- Renamed Illumination_Single_Values to Illumination_Specific.
- Renamed Specific_Cartesian_Vectors to Vectors_Cartesian_Specific.
- Renamed Specific_Planetocentric_Vectors to Vectors_Planetocentric_Specific.
- Added or redefined several classes for grouping: Orbiter_Identification, Distances, Surface_Geometry,
Illumination_Geometry, Vectors.
- Reorganized the contents of Geometry_Orbiter.
- Provided Schematron rules to ensure if one member of a min-max or start-stop pair is used, both are used.
- Renamed lat_long_description to lat_long_method
- Renamed Quaternion_1 to Quaternion_Plus_Direction
- Renamed Quaternion_2 to Quaternion_Plus_To_From
- In List_Index_Base removed Local_Internal_Reference and made the cardinality of the choice to require at
least one of the options.
- Updated the definitions of several attributes supporting the Lander portion of the dictionary.
- Changed pds:Internal_Reference to geom:Internal_Reference
- Changed pds:Local_Internal_Reference to geom:Local_Internal_Reference
- In the Geometry class, removed the choice statement which made one of Geometry_Orbiter and Geometry_Lander required. Now both are optional.
version 1.3.1.0 2016-07-29
- Added the optional attribute kernel_provenance to the SPICE_Kernel_Identification class.
- Renamed geometry_reference_time, geometry_start/stop_time, and coordinate_system_time, by appending _utc to the attribute name.
- Added the optional attribute geometry_reference_time_tdb
- Changed the cardinality of Quaternion_Plus_To_From in the Image_Display_Geometry to allow multiple instances.
- Added the optional Expanded_Geometry class to the Geometry class
version 1.4.0.0 2016-09-26
- Verified that Internal_Reference and Local_Internal_Reference refer to the PDS namespace in class definitions
- Edited Schematron rules to change geom:Internal_Reference to pds:Internal_Reference
- Edited Schematron rules to match Internal_Reference contexts with reference_type rule_test
- Edited Schematron messages to be more user-friendly
- Remove reference_type and local_reference_type from Schematron rule contexts
- Edited Schematron rules to change geom:Local_Internal_Reference to pds:Local_Internal_Reference
- Edited Schematron rules to match Local_Internal_Reference contexts with local_reference_type rule_text
version 1.4.0.1 2016-11-10
- Changed pds:name to geom:name in the schematron rules
version 1.5.0.0 2017-06-19
- Regenerated the schema and other files because of a bug in the LDDTool - This changed the classes:
Coordinate_Space_Identification, Coordinate_Space_Present, Coordinate_Space_Reference
- Changed the maxoccurs to unbounded for Coordinate_Space_Index in Coordinate_Space_Indexed
- Changed the choice in Derived_Geometry to include all optional attributes. This was done to ensure that the class contained at least one
attribute when included in a label.
version 1.5.1.0 2017-09-20
- Added index_value_number to List_Index_Temperature to specify DN temperature counts in addition to the EU temperature
- Updated the definition for List_Index_Temperature to include that
- Fixed bug with Vector_Entrance to use Vector_Cartesian_Unit instead of Vector_Cartesian_Position_Base
- Updated for PDS model 1.9.0.0
version 1.5.2.0 2018-07-25
- Updated for PDS information model 1.10.0.0
- In Image_Display_Geometry, moved Object_Orientation_Clock_Angles into the choice statement.
version 1.5.3.0 2018-07-25
- Updated for PDS information model 1.10.1.0
version 1.6.0.0 2018-07-27
- Changed Optical_Terms to Vector_Optical, reparented it to Vector_Cartesian_Unit, and fixed the definition.
- Changed Vector_Entrance to Entrance_Terms, reparented it to Polynomial_Coefficients_3, and fixed the definition.
- Rewrote definitions for CAHV_Model, CAHVOR_Model, CAHVORE_Model, Vector_Center, Vector_Horizontal, Vector_Vertical, and Radial_Terms.
- Minor revisions to definitions for Camera_Model_Parameters, Coordinate_Space_Present, Coordinate_Space_Reference, instrument_azimuth,
instrument_elevation, Quaternion_Plus_Direction, solar_azimuth, geometry_start_time_utc, and geometry_stop_time_utc.
- Minor changes to definitions of incidence_angle and phase_angle.
version 1.6.1.0 2018-12-05
- Changed the cardinality (maxoccurs) of Object_Orientation_RA_Dec in Image_Display_Geometry from 3 to unlimited to support
request for MESSENGER MDIS migration to PDS4.
version 1.7.0.0 2019-04-19
- Set the element_flag to "true" for the Coordinate_Space_Reference class so that the class is exposed for others to use.
version 1.7.1.0 2019-05-06
- Added attribute quaternion_measurement_method and included it in the Coordinate_Space_Definition class.
- Added local_identifier to the Articulation_Device_Parameters
version 1.7.2.0 2020-05-04; 2020-07-10
- Modified definitions for quaternion_measurment_method.
- Added the Interpolation class to support documentation of camera model interpolation. Included in the
Camera_Model_Parameters class.
- Added PSPH camera model (5 classes and 2 attributes); added enumerated list for model_type relative
to camera models.
version 1.8.0.0 2020-07-31
- Added Vector_Solar_Direction class to Derived_Geometry; made Vector_Axis_X/Y classes a restriction of the
Vector_Cartesian_Unit class.
- Added Coordinate_Space_Quality to Coordinate_Space_Definition.
- Added Commanded_Geometry to Articulation_Device_Parameters
- have to edit schema to fix the "choice bug"
The Articulation_Device_Parameters class
contains those attributes and sub-classes that describe an
articulation device. An articulation device is anything that can
move independently of the spacecraft to which it is attached.
Examples include mast heads, wheel bogies, arms, filter wheel,
scan platforms.
The Body_Identification_Base class provides
multiple attributes that can be used to identify a physical
object (spacecraft, planet instrument, transmitter, system
barycenter, etc.). At least one must be used.
The CAHVORE model is built upon CAHVOR (see
CAHVOR_Model), adding support for fisheye lenses. It adds one
more 3-vector and two scalars to CAHVOR. E (Entrance_Terms)
contains the coefficients of a polynomial function used to model
movement of the entrance pupil. The two scalars,
cahvore_model_type and cahvore_model_parameter, together specify
the type of lens being modeled.
The CAHVOR model is built upon CAHV (see
CAHV_Model), adding radial (barrel or pincushion) distortion to
the linear model. It adds two more 3-vectors to CAHV. O
(Vector_Optical) is a unit vector representing the axis of
symmetry for the radial distortion. R (Radial_Terms) contains
the coefficients of a polynomial function that describes the
radial distortion.
The CAHV model is a linear,
perspective-projection camera model (equivalent to a pinhole
camera). It consists of four 3-vectors (C,A,H,V) that describe
the internal and external camera model parameters needed to
translate between 2D image coordinates and 3D world coordinates.
C (Vector_Center) is the 3D position of the pinhole (center of
the entrance pupil). A (Vector_Axis) is a unit vector normal to
the image plane pointing outward. H (Vector_Horizontal) is a
composite vector encoding three quantities: H' (a vector in the
image plane perpendicular to the vertical columns), Hs (the
distance between the lens center and image plane, measured in
horizontal pixels), and Hc (the horizontal image coordinate
directly under C when moving parallel to A). V (Vector_Vertical)
similarly composites the analogous V', Vs, and Vc in the
vertical direction.
A camera model describes the mathematical
relationship between the coordinates of a point in 3-dimensional
space and its projection onto a 2-dimensional image plane. There
are numerous types of camera models.
The Central_Body_Identification class uniquely
identifies the body that is the central body associated with an
observation (e.g., Saturn for Saturn system observations).
Specifies how the device was commanded in order
to achieve the state represented in the enclosing
Articulation_Device_Parameters. Commands are often at a higher
level, e.g. point at this location or move to this XYZ, which is
translated by flight software to the actual pose of the device.
Certain forms of command are measured in a coordinate frame;
this is specified by the Coordinate_Space_Reference in this
class (if not present, the Coordinate_Space_Reference in the
Articulation_Device_Parameters parent should be assumed).
Specifies a Cartesian position used in
commanding the device.
The Coordinate_Space classes are typically used
for lander/rover geometry while the Coordinate_System
construction is used for orbiter/flyby geometry.
The Coordinate_Space_Identification class
uniquely identifies a coordinate space (i.e., reference frame +
position) with respect to which the values of the attributes in
the containing class are defined.
Identifies a coordinate space using an index
value given in an identified list.
The Coordinate_Space_Indexed class contains the
attributes and classes identifying the indexed coordinate space.
The Coordinate_Space_Present class includes the
attributes that identifies the coordinate space presently being
defined.
Parameters that indicate the quality of the
coordinate space knowledge.
The Coordinate_Space_Reference class includes
the attributes that identify the coordinate space being used to
express coordinates in the class in which it appears.
Identifies a coordinate space using SPICE names
for the frame and origin.
The Coordinate_System_Identification class fully
describes a coordinate system. This class is typically used for
orbiter/flyby geometry while the Coordinate_Space construction
is used for lander/rover geometry.
Coordinate_System_Identification provides the reference frame,
coordinate system type (cartesian, planetocentric, etc.),
origin, and the instantiation time of the system when
appropriate. The instantiation time (coordinate_system_time_utc)
is used when a rotating frame has been 'frozen' at a particular
epoch. Instantiation time is not needed for inertial or rotating
frames.
The Coordinate_System_Origin_Identification
class uniquely identifies the "body" that is the origin of a
coordinate system. Typically body centered coordinate systems
place the origin at the center of mass of the body. In addition
to physical bodies, the origin may be defined at a point in
space such as a system barycenter. Note that the origin of
coordinate system does not necessarily correspond to either end
point of a vector.
The Derived_Geometry class is a container for
surface based observations (lander or rover). It is used to
provide some geometric quantities relative to a specific
Reference Coordinate Space.
The Device_Angle class is a container for the
set of angles between the various components or devices of the
spacecraft.
The Device_Angle class is a container for the
set of angles the spacecraft device specified in the parent
Articulation_Device_Parameters class.
The Device_Component_State class is a container
for the states of the various components of the articulation
device.
The Device_Component_State_Index class is a
container for one state of a component of the articulation
device.
The Device_Motor_Counts class is a container for
the classes that describe the motor step count information for
device components.
The Device_Motor_Counts_Index class is a
container for the attributes that describe the motor step count
information for a single motor on a device.
The Device_Temperature class is a container for
all available device temperatures of an articulated device
and/or part(s) of a device.
The Device_Temperature_Index class specifies the
attributes describing the temperature of one device or some part
of a device.
The Display_Direction class specifies which two
of the dimensions of an Array object should be displayed and how
they should be displayed in the vertical (line) and horizontal
(sample) dimensions of a display device. This class is
essentially the same as the class of the same name in the
Display Dictionary, and is redefined here for convenience.
The distance between the two objects, both of
which must be specified.
The Distances class is a container of distance
classes.
The Distances_Min_Max class is a container class
for named distances given as minimum-maximum pairs. For
distance, if either the minimum or maximum parameter is given,
both must be provided.
The Distances_Specific class is a container
class for specific distances defined in this dictionary.
The Distances_Start_Stop class is a container
class for named distances given as pairs corresponding to the
beginning and end of the observation. For a distance, if either
the start or stop parameter is given, both must be provided. If
any values from this class are included in the label, the
parameters geometry_start_time_utc and geometry_stop_time_utc
must be given in the enclosing Geometry_Orbiter class.
The Entrance_Terms contains the coefficients of
a polynomial function used to model movement of the entrance
pupil.
The Expanded_Geometry class provides a mechanism
to reference additional geometric metadata contained in a
separate object or product (e.g., a table of metadata).
The Footprint_Vertices class provides a set of
latitude and longitude pairs which are the vertices of a polygon
representing the projected footprint of the field of view on the
target surface (or on a map). Note this is intended for products
such as maps, or where the target fills the field of view. The
vertices should be listed either in clockwise or
counterclockwise order.
The Frame_Identification_Base class provides
multiple attributes that can be used to identify a reference
frame. At least one must be used.
The Generic_Vectors class is a container class
for all of the build your own vector templates.
The Geometry class is a container for all
geometric information in the label. The Image_Display_Geometry
class should have one instance if the primary data object is an
Array object for which two of the dimensions are suitable for
display in the vertical (line) and horizontal (sample)
dimensions of a display device. Multiple instances of the
Image_Display_Geometry class are only appropriate if the data
product contains multiple Array objects and the orientations of
the various objects are not the same.
The Geometry_Lander class is a container for all
geometric information in the label relating to a landed
spacecraft, including rovers.
The Geometry_Orbiter class is a container for
geometric information (positions, velocities, orientations,
etc.) relevant to orbiter or flyby spacecraft observations. If
any of the contained classes or attributes have central body,
and or target in the class or attribute name (e.g.,
spacecraft_to_central_body_distance,
Vector_Planetocentric_Position_Spacecraft_To_Target), then the
central body and or target must be identified in this class. If
more than one geometry_reference_time_utc, target or central
body need to be identified to fully describe the data, use
multiple instances of the Geometry_Orbiter class. Do not use
Coordinate_System at this level if more than one coordinate
system is used in the contained classes. If more than one
coordinate system is used, specify Coordinate_System in each of
the subordinate classes where it is appropriate.
The object to which the associated set of
geometric parameters are given. Within the Geometry dictionary
context, a "Target" is the body on the "to" end of a vector, or
other translation through space.
The Illumination_Geometry class is a container
for illumination geometry classes.
The Illumination_Min_Max class contains
attributes providing illumination parameters as minimum/maximum
pairs. For any given illumination parameter if one of minimum or
maximum is given, both must be given. If a target is specified
using the Geometry_Target_Identification class in the
Orbiter_Identification class under the same parent
Geometry_Orbiter class, the min-max pairs for each illumination
parameter provide the range of that parameter in the observation
on that target. Otherwise the pair provides the range for the
entire field of view.
The Illumination_Specific class contains
attributes providing illumination parameters at a single
location in the field of view. That location is specified by
using one, and only one of reference_location,
reference_pixel_location, or Reference_Pixel, If
reference_location is used, and indicates a point on a target,
the target must be the one specified using
Geometry_Target_Identification in the parent Geometry_Orbiter
class. The provided value for each illumination attribute must
correspond to the time given by geometry_reference_time_utc.
The Illumination_Start_Stop class contains
attributes providing illumination parameters as pairs
corresponding to the beginning and end of the observation. If
either the start or stop parameter is given, both must be
provided. If any values from this class are included in the
label, the parameters geometry_start_time_utc and
geometry_stop_time_utc must be given in the enclosing
Geometry_Orbiter class. If a target is specified using the
Geometry_Target_Identification class in the
Orbiter_Identification class under the parent Geometry_Orbiter
class, the start-stop pairs for each illumination parameter
provide the range of that parameter in the observation on that
target. Otherwise the pair provides the range for the entire
field of view.
Image_Display_Geometry class provides an
unambiguous description of the orientation of the image
contents. Given an image, displayed as described by the
Display_Direction class, any one of the Object_Orientation_*
classes should allow unambiguous orientation of the contents of
the image. The Local_Internal_Reference class is used to
identify the object to which this instance of the
Image_Display_Geometry class applies, and must be used if there
is more than one instance of Image_Display_Geometry in the
label. The appropriate value for local_reference_type is
image_display_to_object. The Object_Orientation_North_East class
is typically used for instruments for which the entire field of
view is a portion of the target surface (e.g., instruments on
Mars orbital spacecraft); otherwise use
Object_Orientation_RA_Dec (e.g., flyby missions, missions with
orbit radii much larger than the target radius such as Voyager
or Cassini). At least one of these must be used. The two
*_Identification classes used here are Central_Body (e.g.,
Saturn if you are using Planetocentric or planetographic
coordinates in the Saturn system) and Target when the described
object in the FoV is not the Central_Body. For example giving
the orientation of the pole of Enceladus in Saturn
Planetocentric coordinates, Central_Body = Saturn, Target =
Enceladus. Bottom line: put in enough information so someone
else can figure out the orientation of the field of view. We
also offer an option to provide the pointing information as a
quaternion.
The Interpolation class defines how the camera
model was interpolated from the calibration models.
Interpolation is used to create models in a variable space
(e.g., focus, zoom) between points at which calibration was
performed. If more than one dimension of variables were
interpolated, multiple Interpolation objects can exist, with
interpolation_sequence defining the order.
Used when the list values are angles.
The List_Index class is an abstract class
designed to enable the use of indexed lists. The minimum
requirement is at least one of sequence number, name or "id",
plus the set of values themselves.
Used when the list values are
lengths.
Used when the list values have no
units.
Used when the list values are temperatures. They
may also have accompanying temperature counts using
index_value_number.
Used when the list values are
strings.
The Motion_Counter class provides a set of
integers that describe a (potentially) unique location (position
/ orientation) for a rover or other movable object. Each time an
event occurs that results in a movement, a new motion counter
value is created. This includes intentional motion due to drive
commands, as well as potential motion due to other articulating
devices, such as arms or antennae. This motion counter (or part
of it) is used as a reference to define instances of coordinate
systems that can move such as SITE or ROVER frames. The motion
counter is defined in a mission-specific manner. Although the
original intent was to have incrementing indices (e.g., MER),
the motion counter could also contain any integer values that
conform to the above definition, such as time or spacecraft
clock values.
The Motion_Counter_Index class identifies and
populates one element of a Motion_Counter list. The class should
be repeated for each element of the list.
The Object_Orientation_Clock_Angles class
provides several clock angles which can be used to describe the
orientation of the field of view with respect to various
external references such as Celestial or Equatorial North.
The Object_Orientation_North_East class provides
the parameters needed to describe the orientation of an external
coordinate system relative to the image coordinate frame as
described by the Display_Direction class.
The Object_Orientation_RA_Dec class provides the
parameters needed to describe the orientation of the celestial
reference frame relative to the image coordinate frame as
described by the Display_Direction class.
Within the Geometry dictionary context, an
"Observer" is the body on the "from" end of a vector, or other
translation through space.
The Orbiter_Identification class is a container
of classes used to establish global identifications for the
Geometry_Orbiter class.
A new camera model designed to perform better
fisheye-image rectification prior to 1D stereo correlation. The
primary innovation is the use of a unit projection sphere rather
than an image plane. For epipolar alignment between stereo
cameras the rows (for a left/right pair) or the columns (for an
up/down pair) of both must lie along the same plane. Thus we use
a pair of planes to define the rows and columns. Each plane will
rotate around a static dedicated axis passing through the sphere
center. Pixels will be located where the planes intersect with
each other and the unit sphere.
The Pixel_Dimensions class contains information
regarding pixel size.
The Pixel_Intercept class provides the latitude
and longitude on the surface of the target for the projection of
the specified pixel. The pixel is specified using either
reference_pixel_location or Reference_Pixel. Although each of
these is optional, one must be used.
The Pixel_Size_Projected class gives the size,
in units of length (e.g., kilometers) of the projection of a
pixel onto the surface of the target which is specified in the
parent Geometry_Orbiter class. The reference_location attribute
is used to identify the specific point on the target.
The Polynomial_Coefficients_1 class provides a
one polynomial coefficient.
The Polynomial_Coefficients_2 class provides two
polynomial coefficients.
The Polynomial_Coefficients_3 class provides
three polynomial coefficients.
The Quaternion_Base class defines a quaternion
that represents rotation between two right-handed reference
frames. In this dictionary, quaternions are always constructed
so that the application of the quaternion describes the rotation
of one frame to a second frame. The two frames and the direction
of rotation must be identified unambiguously in the enclosing
classes. Quaternions are expressed as a set of four numbers in
the order (qcos, qsin1, qsin2, qsin3), where qcos = cos(theta/2)
and qsin(n) = sin(theta/2)*a(n). Theta is the angle of rotation
and a is the unit vector (x,y,z) around which the rotation
occurs. A document providing the full mathematical basis for
this construction, along with examples, and a summary of common
pitfalls, is in preparation. The current version can be obtained
by contacting the PDS Engineering Node. In application you need
to know the four elements of the quaternion, the two end point
frames, and the direction of the rotation. This dictionary
provides two extensions to this Base class. In the
Quaternion_Plus_Direction class we require the direction of
rotation. This class can only be used if the two end point
frames are identified in the enclosing class. This is generally
the case in the Lander section. The Quaternion_Plus_To_From
class requires the two frames be identified explicitly with one
designated as the "from frame" and the other as the "to frame".
The Quaternion_Model_Transform class specifies,
along with Vector_Model_Transform class, the transform used for
the camera model in an image. Camera models created by the
calibration process have associated with them a pose, comprised
of the position (offset) and orientation (quaternion) of the
camera at the time it was calibrated. The model is transformed
("pointed") for a specific image by computing, generally using
articulation device kinematics, a final pose for the image. The
camera model is then translated and rotated from the calibration
to final pose. This class specifies the quaternion portion of
the final pose.
Quaternion_Plus_Direction provides the four
elements of a quaternion and its direction of rotation. The two
end point frames must be identified in the enclosing class. See
the definition of Quaternion_Base for more details on the
quaternion classes in this dictionary.
Quaternion_Plus_To_From provides the four
elements of a quaternion, plus attributes which identify the
initial (Rotate_From) and final (Rotate_To) frames of the
rotation. See the defintion of Quaternion_Base for more details
on the quaternion classes in this dictionary.
Radial_Terms contains the coefficients of a
polynomial function used to describe the radial distortion of
the camera.
The Reference_Frame_Identification class is a
base class for identifying reference frames. These are frames in
the NAIF sense, i.e., three orthogonal axes with a specified
orientation, but without a fixed origin.
The Reference_Pixel class provides the pixel
coordinates, line and sample, to which values in the containing
class apply. Integer values indicate the center of the pixel.
Sub-pixel values are permitted. For pixel_sample, the leading
edge (left edge for sample increasing to the right) has a value
0.5 less than the integer value at the center, and the value for
the trailing edge is the center integer value + 0.5. For
pixel_line, the leading and trailing edges (top and bottom
respectively for line increasing downward) again are -0.5 and
+0.5 with respect to the center integer value.
A quaternion rotates one reference frame to
another reference frame. The Rotate_From class identifies the
initial frame.
A quaternion rotates a one reference frame to
another reference frame. The Rotate_To class identifies the
destination frame.
The SPICE_Kernel_Files class provides references
to the SPICE files used when calculating geometric values.
The SPICE_Kernel_Identification class optionally
includes the SPICE kernel type and provides two alternatives for
identifying the product: LIDVID using Internal_Reference, and
the file name of the kernel file. Although optional, LIDVID
should be given if one is available. The optional
kernel_provenance attribute indicates whether the kernel is a
predict or reconstructed kernel, or some combination of the two,
or if it is a kernel type for which such distinctions do not
apply.
The Surface_Geometry class is a container for
surface geometry classes.
The Surface_Geometry_Min_Max class contains
attributes providing surface geometry parameters as
minimum/maximum pairs. For any given parameter if one of minimum
or maximum is given, both must be given. The min-max pairs for
each parameter provide the range of that parameter in the
observation for the target specified using the
Geometry_Target_Identification class in the
Orbiter_Identification class under the parent Geometry_Orbiter
class.
The Surface_Geometry_Specific class contains
classes and attributes for various points on the surface of the
target designated in the enclosing Geometry_Orbiter.
The Surface_Geometry_Start_Stop class contains
attributes providing surface geometry parameters given as pairs
corresponding to the beginning and end of the observation. For a
parameter, if either the start or stop parameter is given, both
must be provided. If any values from this class are included in
the label, the parameters geometry_start_time_utc and
geometry_stop_time_utc must be given in the enclosing
Geometry_Orbiter class.
The Vector_Axis is a unit vector that describes
the axis of the camera, defined as the normal to the image
plane.
Unit column-plane rotation axis, passing
through the sphere center, typically vertical and pointing down
so that positive rotations (by the right-hand rule) will rotate
the forward half of the plane in the (rightward) direction of
increasing column (as projected on the forward hemisphere).
Unit row-plane rotation axis, passing through
the sphere center, typically horizontal and pointing left so
that positive rotations (by the right-hand rule) will rotate the
forward half of the plane in the (downward) direction of
increasing row (as projected on the forward hemisphere).
The Vector_Cartesian_Acceleration_Base is a
three dimensional, rectangular coordinates vector. Uses units of
linear acceleration. The included attributes are not sufficient
to identify the endpoints of the vector.
The Vector_Cartesian_Acceleration_Extended_Base
is a three dimensional, rectangular coordinates vector. Uses
units of linear acceleration. The included attributes are not
sufficient to identify the endpoints of the vector. While the
class Coordinate_System_Identification is optional, it must be
used here if the coordinate system has not been specified in the
enclosing class.
Vector_Cartesian_Acceleration_Generic is a three
dimensional, rectangular coordinates vector. Uses units of
linear acceleration. Includes attributes to identify the
endpoints of the vector. While the class
Coordinate_System_Identification is optional, it must be used
here if the coordinate system has not been specified in the
enclosing class.
This is a generic vector in Cartesian space. The
"x", "y", and "z" component have no units.
This a Cartesian pixel vector generally used in
camera models.
The Vector_Cartesian_Position_Base is a three
dimensional, rectangular coordinates vector. Uses units of
length. The included attributes are not sufficient to identify
the endpoints of the vector.
The
Vector_Cartesian_Position_Central_Body_To_Spacecraft is a
linear, rectangular coordinates vector from the center of mass
of the central body (e.g., planet) to the spacecraft. While the
class Coordinate_System_Identification is optional, it must be
used here if the coordinate system has not been specified in the
enclosing class.
The
Vector_Cartesian_Position_Central_Body_To_Target is a linear,
rectangular coordinates vector from the center of mass of the
central body (e.g., planet) to the target specified in the
parent Geometry_Orbiter class. While the class
Coordinate_System_Identification is optional, it must be used
here if the coordinate system has not been specified in the
enclosing class.
The
Vector_Cartesian_Position_Earth_To_Central_Body is a linear,
rectangular coordinates vector from the Earth to the central
body (e.g., planet). While the class
Coordinate_System_Identification is optional, it must be used
here if the coordinate system has not been specified in the
enclosing class.
The
Vector_Cartesian_Position_Earth_To_Spacecraft is a linear,
rectangular coordinates vector from the Earth to the spacecraft.
While the class Coordinate_System_Identification is optional, it
must be used here if the coordinate system has not been
specified in the enclosing class.
The Vector_Cartesian_Position_Earth_To_Target is
a linear, rectangular coordinates vector from the Earth to the
target specified in the parent Geometry_Orbiter class. While the
class Coordinate_System_Identification is optional, it must be
used here if the coordinate system has not been specified in the
enclosing class.
The Vector_Cartesian_Position_Extended_Base is a
three dimensional, rectangular coordinates vector. Uses units of
length. The included attributes are not sufficient to identify
the endpoints of the vector. While the class
Coordinate_System_Identification is optional, it must be used
here if the coordinate system has not been specified in the
enclosing class.
Vector_Cartesian_Position_Generic is a three
dimensional, rectangular coordinates vector. Uses units of
length. Includes attributes to identify the endpoints of the
vector. While the class Coordinate_System_Identification is
optional, it must be used here if the coordinate system has not
been specified in the enclosing class.
The
Vector_Cartesian_Position_SSB_To_Central_Body is a linear,
rectangular coordinates vector from the Solar System Barycenter
to the central body (e.g., planet). While the class
Coordinate_System_Identification is optional, it must be used
here if the coordinate system has not been specified in the
enclosing class.
The Vector_Cartesian_Position_SSB_To_Spacecraft
is a linear, rectangular coordinates vector from the Solar
System Barycenter to the spacecraft. While the class
Coordinate_System_Identification is optional, it must be used
here if the coordinate system has not been specified in the
enclosing class.
The Vector_Cartesian_Position_SSB_To_Target is a
linear, rectangular coordinates vector from the Solar System
Barycenter to the target specified in the parent
Geometry_Orbiter class. While the class
Coordinate_System_Identification is optional, it must be used
here if the coordinate system has not been specified in the
enclosing class.
The
Vector_Cartesian_Position_Spacecraft_To_Target is a linear,
rectangular coordinates vector from the spacecraft to the target
specified in the parent Geometry_Orbiter class. While the class
Coordinate_System_Identification is optional, it must be used
here if the coordinate system has not been specified in the
enclosing class.
The
Vector_Cartesian_Position_Sun_To_Central_Body is a linear,
rectangular coordinates vector from the Sun to the central body
(e.g., planet). While the class Coordinate_System_Identification
is optional, it must be used here if the coordinate system has
not been specified in the enclosing class.
The Vector_Cartesian_Position_Sun_To_Spacecraft
is a linear, rectangular coordinates vector from the Sun to the
spacecraft. While the class Coordinate_System_Identification is
optional, it must be used here if the coordinate system has not
been specified in the enclosing class.
The Vector_Cartesian_Position_Sun_To_Target is a
linear, rectangular coordinates vector from the Sun to the
target specified in the parent Geometry_Orbiter class. While the
class Coordinate_System_Identification is optional, it must be
used here if the coordinate system has not been specified in the
enclosing class.
This is a generic unit vector in Cartesian
space. The "x", "y", and "z" component have no units and are
restricted to values between -1.0 and 1.0 inclusive. Further the
length of the vector square root of the (sum of the squares of
the components) must be 1.0.
The Vector_Cartesian_Velocity_Base is a three
dimensional, rectangular coordinates vector. Uses units of
linear velocity. The included attributes are not sufficient to
identify the endpoints of the vector.
The Vector_Cartesian_Velocity_Extended_Base is a
three dimensional, rectangular coordinates vector. Uses units of
linear velocity. The included attributes are not sufficient to
identify the endpoints of the vector. While the class
Coordinate_System_Identification is optional, it must be used
here if the coordinate system has not been specified in the
enclosing class.
Vector_Cartesian_Velocity_Generic is a three
dimensional, rectangular coordinates vector. Uses units of
linear velocity. Includes attributes to identify the endpoints
of the vector. While the class Coordinate_System_Identification
is optional, it must be used here if the coordinate system has
not been specified in the enclosing class.
The
Vector_Cartesian_Velocity_Spacecraft_Relative_To_Central_Body is
a velocity vector in rectangular coordinates that gives the
velocity of the spacecraft with respect to the central body
(e.g., planet). While the class Coordinate_System_Identification
is optional, it must be used here if the coordinate system has
not been specified in the enclosing class.
The
Vector_Cartesian_Velocity_Spacecraft_Relative_To_Earth is a
velocity vector in rectangular coordinates that gives the
velocity of the spacecraft with respect to Earth. While the
class Coordinate_System_Identification is optional, it must be
used here if the coordinate system has not been specified in the
enclosing class.
The
Vector_Cartesian_Velocity_Spacecraft_Relative_To_SSB is a
velocity vector in rectangular coordinates that gives the
velocity of the spacecraft with respect to the Solar System
Barycenter. While the class Coordinate_System_Identification is
optional, it must be used here if the coordinate system has not
been specified in the enclosing class.
Vector_Cartesian_Velocity_Spacecraft_Relative_To_Sun is a
velocity vector in rectangular coordinates that gives the
velocity of the spacecraft with respect to the center of the
Sun. While the class Coordinate_System_Identification is
optional, it must be used here if the coordinate system has not
been specified in the enclosing class.
The
Vector_Cartesian_Velocity_Spacecraft_Relative_To_Target is a
velocity vector in rectangular coordinates that gives the
velocity of the spacecraft with respect to the target specified
in the parent Geometry_Orbiter class. While the class
Coordinate_System_Identification is optional, it must be used
here if the coordinate system has not been specified in the
enclosing class.
The
Vector_Cartesian_Velocity_Target_Relative_To_Central_Body is a
velocity vector in rectangular coordinates that gives the
velocity of the designated target with respect to the central
body (e.g., planet). While the class
Coordinate_System_Identification is optional, it must be used
here if the coordinate system has not been specified in the
enclosing class.
The
Vector_Cartesian_Velocity_Target_Relative_To_Earth is a velocity
vector in rectangular coordinates that gives the velocity of the
designated target with respect to Earth. While the class
Coordinate_System_Identification is optional, it must be used
here if the coordinate system has not been specified in the
enclosing class.
The
Vector_Cartesian_Velocity_Target_Relative_To_SSB is a velocity
vector in rectangular coordinates that gives the velocity of the
designated target with respect to the Solar System Barycenter.
While the class Coordinate_System_Identification is optional, it
must be used here if the coordinate system has not been
specified in the enclosing class.
The
Vector_Cartesian_Velocity_Target_Relative_To_Spacecraft is a
velocity vector in rectangular coordinates that gives the
velocity of the designated target with respect to the
spacecraft. While the class Coordinate_System_Identification is
optional, it must be used here if the coordinate system has not
been specified in the enclosing class.
Vector_Cartesian_Velocity_Target_Relative_To_Sun is a velocity
vector in rectangular coordinates that gives the velocity of the
designated target with respect to the center of the sun. While
the class Coordinate_System_Identification is optional, it must
be used here if the coordinate system has not been specified in
the enclosing class.
The Vector_Center describes the location of the
entrance pupil of a camera.
The Vector_Device_Gravity class is a unit vector
that specifies the direction of an external force acting on the
articulation device, in the spacecraft's coordinate system, at
the time the pose was computed.
The Vector_Horizonal is a composite vector
encoding three quantities: H' (a vector in the image plane
perpendicular to the vertical columns), Hs (the distance between
the lens center and image plane, measured in horizontal pixels),
and Hc (the horizontal image coordinate directly under C when
moving parallel to A). H' is often thought of as describing the
orientation of rows in space, but is actually perpendicular to
the columns.
The Vector_Model_Transform class specifies,
along with the Quaternion_Model_Transform class, the transform
used for the camera model in this image. Camera models created
by the calibration process have associated with them a pose,
comprised of the position (offset) and orientation (quaternion)
of the camera at the time it was calibrated. The model is
transformed ("pointed") for a specific image by computing,
generally using articulation device kinematics, a final pose for
the image. The camera model is then translated and rotated from
the calibration to final pose. This class specifies the offset
portion of the final pose.
Unit normal vector to the column plane when x
equals zero, pointing in the same direction as the cross product
of axis x with an outward-pointing vector that also lies in the
plane.
Unit normal vector to the row plane when y
equals zero, pointing in the same direction as the cross product
of axis x with an outward-pointing vector that also lies in the
plane.
The Vector_Optical is a unit vector that
describes the axis of symmetry for radial distortion in the
camera.
The Vector_Origin_Offset class contains
attributes that specify the offset from the reference coordinate
system's origin to the origin of the coordinate system. It is
the location of the current system's origin as measured in the
reference system.
The Vector_Planetocentric_Position_Base is a
three dimensional spherical vector (radius, longitude, latitude)
with the angular coordinates defined to be consistent with the
Planetocentric coordinate system. Uses linear units for the
radius dimension, and angular units for the other two
dimensions. The included attributes are not sufficient to
identify the endpoints of the vector.
The
Vector_Planetocentric_Position_Central_Body_To_Spacecraft is a
spherical position vector in Planetocentric coordinates. It
extends from the center of mass of the central body (e.g.,
planet) to the spacecraft. While the class
Coordinate_System_Identification is optional, it must be used
here if the coordinate system has not been specified in the
enclosing class.
The
Vector_Planetocentric_Position_Central_Body_To_Target is a
spherical position vector in Planetocentric coordinates. It
extends from the center of mass of the central body (e.g.,
planet) to the target specified in the parent Geometry_Orbiter
class. While the class Coordinate_System_Identification is
optional, it must be used here if the coordinate system has not
been specified in the enclosing class.
The Vector_Planetocentric_Position_Extended_Base
is a three dimensional spherical vector (radius, longitude,
latitude) with the angular coordinates defined to be consistent
with the Planetocentric coordinate system. Uses linear units for
the radius dimension, and angular units for the other two
dimensions. The included attributes are not sufficient to
identify the endpoints of the vector. While the class
Coordinate_System_Identification is optional, it must be used
here if the coordinate system has not been specified in the
enclosing class.
The Vector_Planetocentric_Position_Generic is a
three dimensional spherical vector (radius, longitude, latitude)
with the angular coordinates defined to be consistent with the
Planetocentric coordinate system. Uses linear units for the
radius dimension, and angular units for the other two
dimensions. Includes attributes to identify the endpoints of the
vector. While the class Coordinate_System_Identification is
optional, it must be used here if the coordinate system has not
been specified in the enclosing class.
The
Vector_Planetocentric_Position_Spacecraft_To_Target is a
spherical position vector in Planetocentric coordinates. It
extends from the spacecraft to the target specified in the
parent Geometry_Orbiter class. While the class
Coordinate_System_Identification is optional, it must be used
here if the coordinate system has not been specified in the
enclosing class.
The Vector_Planetocentric_Velocity_Base is a
three dimensional spherical vector (radius, longitude, latitude)
with the angular coordinates defined to be consistent with the
Planetocentric coordinate system. Uses linear velocity units for
the radius dimension, and angular velocity units for the other
two dimensions. The included attributes are not sufficient to
identify the endpoints of the vector.
The Vector_Planetocentric_Velocity_Extended_Base
is a three dimensional spherical vector (radius, longitude,
latitude) with the angular coordinates defined to be consistent
with the Planetocentric coordinate system. Uses linear velocity
units for the radius dimension, and angular velocity units for
the other two dimensions. The included attributes are not
sufficient to identify the endpoints of the vector. While the
class Coordinate_System_Identification is optional, it must be
used here if the coordinate system has not been specified in the
enclosing class.
The Vector_Planetocentric_Velocity_Generic is a
three dimensional spherical vector (radius, longitude, latitude)
with the angular coordinates defined to be consistent with the
Planetocentric coordinate system. Uses linear velocity units for
the radius dimension, and angular velocity units for the other
two dimensions. Includes attributes to identify the endpoints of
the vector. While the class Coordinate_System_Identification is
optional, it must be used here if the coordinate system has not
been specified in the enclosing class.
The
Vector_Planetocentric_Velocity_Spacecraft_Relative_To_Target is
a spherical velocity vector in Planetocentric coordinates that
gives the velocity of the spacecraft with respect to the
designated target. While the class
Coordinate_System_Identification is optional, it must be used
here if the coordinate system has not been specified in the
enclosing class.
The
Vector_Planetocentric_Velocity_Target_Relative_To_Central_Body
is a spherical velocity vector in Planetocentric coordinates
that gives the velocity of the target with respect to the
central body. While the class Coordinate_System_Identification
is optional, it must be used here if the coordinate system has
not been specified in the enclosing class.
The
Vector_Planetocentric_Velocity_Target_Relative_To_Spacecraft is
a spherical velocity vector in Planetocentric coordinates that
gives the velocity of the target with respect to the spacecraft.
While the class Coordinate_System_Identification is optional, it
must be used here if the coordinate system has not been
specified in the enclosing class.
Unit vector pointing in the direction of the
Sun at the time of the observation.
The Vector_Vertical is a composite vector
encoding three quantities: V' (a vector in the image plane
perpendicular to the horizontal rows), Vs (the distance between
the lens center and image plane, measured in vertical pixels),
and Vc (the vertical image coordinate directly under C when
moving parallel to A). V' is often thought of as describing the
orientation of columns in space, but is actually perpendicular
to the rows.
The Vectors class is a container of vector
classes.
The Vectors_Cartesian_Specific class is a
container class for all cartesian vectors with pre-identified
endpoints.
The Vectors_Planetocentric_Specific class is a
container class for all planetocentric vectors with
pre-identified endpoints.
This section contains the simpleTypes that provide more constraints
than those at the base data type level. The simpleTypes defined here build on the base data
types. This is another component of the common dictionary and therefore falls within the
common namespace.
Count in clock units of how long it has been
since the last IMU reset, which relates to how good the attitude
measurement is due to IMU drift.
The number of seconds for how long it has been
since the last IMU reset, which relates to how good the attitude
measurement is due to IMU drift.
The body_spice_name attribute is a
NAIF-recognized string identifier for a physical object
(spacecraft, planet, instrument transmitter, system barycenter,
etc.), associated with the data.
The first coefficient of a polynomial.
The second coefficient of a polynomial.
The third coefficient of a polynomial.
The cahvore_parameter_type attribute is a scalar
floating-point number used for CAHVORE Type 3 models (see
cahvore_model_type). If the parameter is 1.0, the model is
identical to type 1; if 0.0, it is identical to type 2. Most
fish-eye lenses use a value in between.
The cahvore_model_type attribute indicates which
variant of the CAHVORE model to use. Type 1 is a
perspective-projection model, similar to CAHV and CAHVOR except
for the moving entrance pupil. Type 2 is a fish-eye lens model
reflecting fundamentally different geometry. Type 3 is a
generalization that includes the first two, and is used for most
fisheye-type lenses (see cahvore_model_parameter).
The calibration_source_id is used to identify
the source used in calibrating the instrument.
The celestial_east_clock_angle attribute
specifies the direction of celestial east at the center of an
image. It is measured from the 'upward' direction, clockwise to
the direction toward celestial east, assuming the image is
displayed as defined by the Display_Direction class.
The celestial_north_clock_angle attribute
specifies the direction of celestial north at the center of an
image. It is measured from the 'upward' direction, clockwise to
the direction toward celestial north, assuming the image is
displayed as defined by the Display_Direction class.
The central_body_north_pole_clock_angle element
specifies the direction of the central body's (e.g.,
planet's)rotation axis in an image. It is measured from the
'upward' direction in the image, clockwise to the direction of
the northern rotational pole as projected into the image plane,
assuming the image is displayed as defined by the
Display_Direction class. The north pole of a planet or any of
its satellites in the solar system is the pole of the rotation
axis that is in the same celestial hemisphere relative to the
invariable plane of the solar system as Earth's North pole.
The central_body_positive_pole_clock_angle
element specifies the direction of the central body's rotation
axis in an image. It is measured from the 'upward' direction in
the image, clockwise to the direction of the positive rotational
pole as projected into the image plane, assuming the image is
displayed as defined by the Display_Direction class. The
positive pole is defined as the pole toward which the thumb
points when the fingers of the right hand are curled in the
body's direction of rotation.
Specifies how the device was commanded.
The coordinate_space_frame_type attribute
identifies the type of frame being described, such as SITE,
LOCAL_LEVEL, LANDER, ROVER, ARM, etc. When combined with
Coordinate_Space_Index and the optional solution_id in the
Coordinate_Space_Indexed class, this serves to fully name an
instance of a coordinate space.
The coordinate_system_time_utc provides the
instantiation time for the coordinate system.
The coordinate_system_type distinguishes between
options such as rectangular, spherical, planetocentric, etc.
The declination_angle (Dec) attribute provides
the value of an angle on the celestial sphere, measured north
from the celestial equator to the point in question. (For points
south of the celestial equator, negative values are used.)
Declination is used in conjunction with right ascension
(right_ascension_angle or right_ascension_hour_angle) to specify
a point on the sky.
The device_id attribute specifies the
abbreviated identification of an articulation device.
The device_mode attribute specifies the
deployment state (i.e., physical configuration) of an
articulation device at the time of data acquisition. Examples
include 'Arm Vibe', 'Deployed', 'Free Space', 'Stowed'. Note:
the value set for this attribute is mission-specific and should
be declared in a mission-specific dictionary.
The device_name attribute specifies the common
name of an articulation device.
The device_phase attribute specifies the current
phase of the mission, from an articulation-device-centric point
of view.
The distance attribute provides the scalar
distance between to objects or points.
Assuming the image is displayed as defined by
the Display_Direction class, the east_azimuth attribute provides
the value of the angle between a line from the image center to
the east and a reference line in the image plane. The reference
line is a horizontal line from the image center to the middle
right edge of the image. This angle is measured from the
reference line and increases in a clockwise direction.
The ecliptic_east_clock_angle attribute
specifies the direction of ecliptic east at the center of an
image. It is measured from the 'upward' direction, clockwise to
the direction toward ecliptic east, assuming the image is
displayed as defined by the Display_Direction class.
The ecliptic_north_clock_angle attribute
specifies the direction of ecliptic north at the center of an
image. It is measured from the 'upward' direction, clockwise to
the direction toward ecliptic north, assuming the image is
displayed as defined by the Display_Direction class.
The emission_angle element provides the value of
the angle between the surface normal vector at the intercept
point and a vector from the intercept point to the spacecraft.
The emission_angle varies from 0 degrees when the spacecraft is
viewing the subspacecraft point (nadir viewing) to 90 degrees
when the intercept is tangent to the surface of the target body.
Thus, higher values of emission_angle indicate more oblique
viewing of the target. Values in the range of 90 to 180 degrees
are possible for ring data.
The frame_spice_name attribute is a
NAIF-recognized string identifier for a reference frame
associated with the data.
The geometry reference time given in the
'Barycentric Dynamical Time' system, as a number of elapsed
seconds since the J2000 epoch. This is consistent with the
definition of 'ephemeris time' as used in the SPICE toolkit. The
value must correspond to the time specified in the
geometry_reference_time_utc attribute.
For some observations, geometric parameters are
given as instantaneous values at a specific time. Another set of
instantaneous parameters are the parameters which give the
minimum and maximum values in the product. In some cases, these
range values are all calculated for the same time. If the label
includes single valued geometric parameters or min/max range
parameters determined for a specific time,
geometry_reference_time_utc gives the time for which these
values were calculated and must be given in the label. For some
instruments, particularly those with relatively large exposure
durations, (e.g., push broom cameras, many imaging
spectrometers), many geometric quantities are given as ranges.
If those range parameters are associated with the beginning and
end of the observation (start_parameter/stop_parameter),
geometry_start_time_utc/stop_time must be given. Comments within
the label should be used to ensure the parameter vs. time
association is unambiguous.
The pair of
geometry_start_time_utc/geometry_stop_time_utc may be given in
the label for any observation. The pair is generally used for
fairly long duration observations (a substantial portion of an
hour to several hours). geometry_start_time_utc gives the time
at the beginning of the observation. When either
geometry_start_time_utc or geometry_stop_time_utc is given, both
must be provided. Within the Geometry discipline, there are two
options for providing geometric parameters as a range of values.
A parameter may be given as a pair where the parameter values
are those at the beginning and end of the observation
(start_parameter, stop_parameter). If a (start_parameter,
stop_parameter) pair is used for any geometric parameter, the
pair (geometry_start_time_utc/geometry_stop_time_utc) must be
given. Another option to provide geometric parameters as a pair
is (minimum_parameter, maximum_parameter) defining a range of
values where the values are the minimum and maximum values of
that parameter for the entire observation. Comments within the
label should be used to ensure the parameter vs. time
association is unambiguous.
The pair of
geometry_start_time_utc/geometry_stop_time_utc may be given in
the label for any observation. The pair is generally used for
fairly long duration observations (a substantial portion of an
hour to several hours). geometry_stop_time_utc gives the time at
the end of the observation. When either geometry_start_time_utc
or geometry_stop_time_utc is given, both must be provided.
Within the Geometry discipline, there are two options for
providing geometric parameters as a range of values. A parameter
may be given as a pair where the parameter values are those at
the beginning and end of the observation (start_parameter,
stop_parameter). If a (start_parameter, stop_parameter) pair is
used for any geometric parameter, the pair
(geometry_start_time_utc/geometry_stop_time_utc) must be given.
Another option to provide geometric parameters as a pair is
(minimum_parameter, maximum_parameter) defining a range of
values where the values are the minimum and maximum values of
that parameter for the entire observation. Comments within the
label should be used to ensure the parameter vs. time
association is unambiguous.
horizontal_coordinate_pixel (sample) is the
horizontal coordinate of a specific pixel.
The horizontal_display_axis attribute
identifies, by name, the axis of an Array (or Array subclass)
that is intended to be displayed in the horizontal or "sample"
dimension on a display device. The value of this attribute must
match the value of one, and only one, axis_name attribute in an
Axis_Array class of the associated Array.
The horizontal_display_direction attribute
specifies the direction across the screen of a display device
that data along the horizontal axis of an Array is supposed to
be displayed.
The horizontal_pixel_field_of_view provides the
angular measure of the horizontal field of view of a single
pixel, and is sometimes referred to as the instantaneous field
of view. The pixel_field_of_view_method attribute will designate
the method used to determine this value. If the
pixel_field_of_view_method attribute is not specified, see the
camera documentation for more details.
The horizontal_pixel_footprint provides the the
size of the horizontal field of view of a single pixel projected
onto the target specified in the parent Geometry_Orbiter class.
The incidence_angle element provides a measure
of the lighting condition at the intercept point. Incidence
angle is the angle between the local vertical at the intercept
point (surface) and a vector from the intercept point to the
sun. The incidence_angle varies from 0 degrees when the
intercept point coincides with the subsolar point to 90 degrees
when the intercept point is at the terminator (i.e., in the
shadowed or dark portion of the target body).
The index_id attribute supplies a short name
(identifier) for the associated value in a group of related
values.
The index_name attribute supplies the formal
name for the associated value in a group of related values.
The index_sequence_number attribute supplies the
sequence identifier for the associated value in a group of
related values.
The index_value_angle attribute provides the
value of an angle as named by the associated index_id,
index_name, or index_sequence_number.
The index_value_length attribute provides the
value of a length as named by the associated index_id or
index_name.
The index_value_number attribute provides the
value with no applicable units as named by the associated
index_id or index_name.
The index_value attribute provides the string
value as named by the associated index_id or index_name.
The index_value_temperature attribute provides
the value of a temperature as named by the associated index_id
or index_name.
The instrument_azimuth attribute specifies the
value for an instrument's rotation in the horizontal direction.
It may be measured from a low hard stop, or relative to a
coordinate frame. Although it may be used for any instrument
where it makes sense, it is primarily intended for use in
surface-based instruments that measure pointing in terms of
azimuth and elevation. If this value is expressed using a
coordinate system, the coordinate system is specified by the
Coordinate_Space_Reference class. The interpretation of exactly
what part of the instrument is being pointed is
mission-specific. It could be the boresight, the camera head
direction, the CAHV camera model A vector direction, or any of a
number of other things. As such, for multimission use this value
should be used mostly as an approximation, e.g. identifying
scenes which might contain a given object.
The instrument_elevation attribute specifies the
value for an instrument's rotation in the vertical direction. It
may be usually measured from a low hard stop, or relative to a
coordinate frame. Although it may be used for any instrument
where it makes sense, it is primarily intended for use in
surface-based instruments that measure pointing in terms of
azimuth and elevation. If this value is expressed using a
coordinate system, the coordinate system is specified by the
Coordinate_Space_Reference class. The interpretation of exactly
what part of the instrument is being pointed is
mission-specific. It could be the boresight, the camera head
direction, the CAHV camera model A vector direction, or any of a
number of other things. As such, for multimission use this value
should be used mostly as an approximation, e.g. identifying
scenes that might contain a given object.
The interpolation_algorithm defines how
interpolation was performed. For example, "Piecewise Bilinear"
does a piecewise bilinear interpolation between calibration
models nearest to the interpolation_value.
When more than one dimension is interpolated,
interpolation_sequence define the ordering. Sequence value 1 was
interpolated first, directly from calibration; sequence value 2
was interpolated from those results, etc.
The interpolation_value specifies the value of
the variable to which the model was interpolated. The
interpretation of the value depends on what the variable is and
should be documented in the mission documentation.
The interpolation_variable defines the parameter
across which interpolation is being performed. Examples of
variables include Focus, Zoom, and Temperature.
The kernel_provenance attribute indicates
whether a kernel file is a predict kernel, a reconstructed
kernel, some combination of the two, or a kernel for which the
distinction is not applicable.
The lat_long_method is used with the attributes
start_latitude, stop_latitude, start_longitude and
stop_longitude. For most observations these parameters would be
multivalued. lat_long_method is used to characterize the start
and stop latitude and longitude. The possible values are:
'center' indicating the latitude and longitude values are those
at the center of the field of view at the beginning and end of
the observation. 'median' indicating the latitude and longitude
values are the median values at the beginning and end of the
observation. 'mean' indicating the latitude and longitude values
are the mean values at the beginning and end of the observation.
The latitude component of a Planetocentric
position vector. Planetocentric latitude is the angle between
the equator plane and a vector connecting the point of interest
and the origin of the coordinate system. Latitudes are defined
to be positive in the northern (as defined by the IAU)
hemisphere.
The latitude component of a Planetocentric
velocity vector. Planetocentric latitude is the angle between
the equator plane and a vector connecting the point of interest
and the origin of the coordinate system. Latitudes are defined
to be positive in the northern (as defined by the IAU)
hemisphere.
The light_time_correction_applied indicates
whether or not light travel time correction and stellar
aberration correction were used when calculating the values in
the enclosing class. The attribute is nillable with nill_reason
= unknown, but only for migrated data. Note: generally, received
light travel time is calculated unless a transmitter (e.g.,
radar, radio) was involved in which the calculation typically is
transmitted light time.
The longitudinal component of a Planetocentric
position vector. Planetocentric longitude is measured from the
IAU approved prime meridian for the body and increases toward
the east.
The longitudinal component of a Planetocentric
velocity vector. Planetocentric longitude is measured from the
IAU approved prime meridian for the body and increases toward
the east.
The maximum_emission_angle element provides the
largest value during the observation for the emission angle at
the target specified in the parent Geometry_Orbiter class.
The maximum_incidence_angle element provides the
largest value during the observation for the incidence angle at
the target specified in the parent Geometry_Orbiter class.
The maximum_latitude attribute identifies the
final end of the range of values for Planetocentric latitude in
an image.
The maximum_longitude attribute identifies the
final end of the range of values for Planetocentric longitude in
an image. Note that since Planetocentric longitude has values in
[0,360], if the range in the product crosses the prime meridian,
the value of minimum_longitude will be greater than the value of
the maximum_longitude.
The maximum_phase_angle element provides the
largest value during the observation for the phase angle at the
target specified in the parent Geometry_Orbiter class.
The maximum_solar_elongation element provides
the largest value during the observation for the solar
elongation.
The maximum_spacecraft_central_body_distance
attribute provides the largest value during the observation for
the distance between the spacecraft and the center of the
central body (e.g., the center of Mars when opperating in the
Mars system).
The maximum_spacecraft_geocentric_distance
attribute provides the largest value during the observation for
the distance between the spacecraft and the center of Earth.
The maximum_spacecraft_heliocentric_distance
attribute provides the largest value during the observation for
the distance between the spacecraft and the center of the Sun.
The
maximum_spacecraft_target_boresight_intercept_distance attribute
provides the largest value during the observation for the
distance between the spacecraft and the boresight vector
intercept point on the surface of the target specified in the
parent Geometry_Orbiter class.
The maximum_spacecraft_target_center_distance
attribute provides the largest value during the observation for
the distance between the spacecraft and the center of the target
specified in the parent Geometry_Orbiter class.
The
maximum_spacecraft_target_subspacecraft_distance attribute
provides the largest value during the observation for the
distance between the spacecraft and the subspacecraft point on
the surface of the target specified in the parent
Geometry_Orbiter class.
The maximum_subsolar_azimuth attribute
identifies the final end of the range of values for subsolar
azimuth in an image. Note that since subsolar azimuth has values
in [0,360], if the range in the image crosses the horizontal
reference corresponding to zero, the value of
minimum_subsolar_azimuth will be greater than the value of the
maximum_subsolar_azimuth.
The maximum_subsolar_latitude attribute
identifies the final end of the range of values for subsolar
latitude in an image.
The maximum_subsolar_longitude attribute
identifies the final end of the range of values for subsolar
longitude in an image. Note that since subsolar longitude has
values in [0,360], if the range in the product crosses the prime
meridian, the value of minimum_subsolar_longitude will be
greater than the value of the maximum_subsolar_longitude.
The maximum_subspacecraft_azimuth attribute
identifies the final end of the range of values for
subspacecraft azimuth in an image. Note that since subspacecraft
azimuth has values in [0,360], if the range in the image crosses
the horizontal reference corresponding to zero, the value of
minimum_subspacecraft_azimuth will be greater than the value of
the maximum_subspacecraft_azimuth.
The maximum_subspacecraft_latitude attribute
identifies the final end of the range of values for
subspacecraft latitude in an image.
The maximum_subspacecraft_longitude attribute
identifies the final end of the range of values for
subspacecraft longitude in an image. Note that since
subspacecraft longitude has values in [0,360], if the range in
the product crosses the prime meridian, the value of
minimum_subspacecraft_longitude will be greater than the value
of the maximum_subspacecraft_longitude.
The maximum_target_geocentric_distance attribute
provides the largest value for the distance between the center
of the target and the center of the Earth during the
observation.
The maximum_target_heliocentric_distance
attribute provides the largest value for the distance between
the center of the target and the center of the Sun during the
observation.
The maximum_target_ssb_distance attribute
provides the largest value for the distance between the center
of the target and the Solar System Barycenter during the
observation.
The minimum_emission_angle attribute provides
the smallest value during the observation for the emission angle
at the target specified in the parent Geometry_Orbiter class.
The minimum_incidence_angle attribute provides
the smallest value during the observation for the incidence
angle at the target specified in the parent Geometry_Orbiter
class.
The minimum_latitude attribute identifies the
initial end of the range of values for Planetocentric latitude
in an image.
The minimum_longitude attribute identifies the
initial end of the range of values for Planetocentric longitude.
Note that since Planetocentric longitude has values in [0,360],
if the range in the product crosses the prime meridian, the
value of minimum_longitude will be greater than the value of the
maximum_longitude.
The minimum_phase_angle attribute provides the
smallest value during the observation for the phase angle at the
target specified in the parent Geometry_Orbiter class.
The minimum_solar_elongation attribute provides
the smallest value during the observation for the solar
elongation.
The minimum_spacecraft_central_body_distance
attribute provides the smallest value during the observation for
the distance between the spacecraft and the center of the
central body (e.g., the center of Mars when opperating in the
Mars system).
The minimum_spacecraft_geocentric_distance
attribute provides the smallest value during the observation for
the distance between the spacecraft and the center of Earth.
The minimum_spacecraft_heliocentric_distance
attribute provides the smallest value during the observation for
the distance between the spacecraft and the center of the Sun.
The
minimum_spacecraft_target_boresight_intercept_distance attribute
provides the smallest value during the observation for the
distance between the spacecraft and the boresight vector
intercept point on the surface of the target specified in the
parent Geometry_Orbiter class.
The minimum_spacecraft_target_center_distance
attribute provides the smallest value during the observation for
the distance between the spacecraft and the center of the target
specified in the parent Geometry_Orbiter class.
The
minimum_spacecraft_target_subspacecraft_distance attribute
provides the smallest value during the observation for the
distance between the spacecraft and the subspacecraft point on
the surface of the target specified in the parent
Geometry_Orbiter class.
The minimum_subsolar_azimuth attribute
identifies the initial end of the range of values for subsolar
azimuth in an image. Note that since subsolar azimuth has values
in [0,360], if the range in the image crosses the horizontal
reference corresponding to zero, the value of
minimum_subsolar_azimuth will be greater than the value of the
maximum_subsolar_azimuth.
The minimum_subsolar_latitude attribute
identifies the initial end of the range of values for subsolar
latitude in an image.
The minimum_subsolar_longitude attribute
identifies the initial end of the range of values for subsolar
longitude. Note that since subsolar longitude has values in
[0,360], if the range in the product crosses the prime meridian,
the value of minimum_subsolar_longitude will be greater than the
value of the maximum_subsolar_longitude.
The minimum_subspacecraft_azimuth attribute
identifies the initial end of the range of values for
subspacecraft azimuth in an image. Note that since subspacecraft
azimuth has values in [0,360], if the range in the image crosses
the horizontal reference corresponding to zero, the value of
minimum_subspacecraft_azimuth will be greater than the value of
the maximum_subspacecraft_azimuth.
The minimum_subspacecraft_latitude attribute
identifies the initial end of the range of values for
subspacecraft latitude in an image.
The minimum_subspacecraft_longitude attribute
identifies the initial end of the range of values for
subspacecraft longitude. Note that since subspacecraft longitude
has values in [0,360], if the range in the product crosses the
prime meridian, the value of minimum_subspacecraft_longitude
will be greater than the value of the
maximum_subspacecraft_longitude.
The minimum_target_geocentric_distance attribute
provides the smallest value for the distance between the center
of the target and the center of the Earth during the
observation.
The minimum_target_heliocentric_distance
attribute provides the smallest value for the distance between
the center of the target and the center of the Sun during the
observation.
The minimum_target_ssb_distance attribute
provides the smallest value for the distance between the center
of the target and the Solar System Barycenter during the
observation.
The model_type attribute specifies an identifier
for the type or kind of model. The value should be one of a well
defined set, providing an application program with sufficient
information to know how to handle the rest of the parameters
within the model. This value will correlate directly with the
specific camera model class that is a subclass of the
Camera_Model_Parameters class.
Assuming the image is displayed as defined by
the Display_Direction class, the north_azimuth attribute
provides the value of the angle between a line from the image
center to the north pole and a reference line in the image
plane. The reference line is a horizontal line from the image
center to the middle right edge of the image. This angle is
measured from the reference line and increases in a clockwise
direction.
The phase_angle element provides a measure of
the relationship between the instrument viewing position and
incident illumination (such as solar light). Phase angle is
measured at the target; it is the angle between a vector to the
illumination source and a vector to the instrument. If
illumination is from behind the instrument, phase_angle will be
small.
The pixel_field_of_view_method provides the
method used to get the values of the
horizontal/vertical_pixel_field_view attributes. If the pixel
field of view does not vary across the camera field of view,
then this value is 'constant'. If the pixel field of view does
vary across the camera field of view, the pixel field of view
can be determined either by the center pixel of the camera or
the average field of view of the pixel. See the camera
documentation for more details.
The pixel_latitude attribute gives the value of
the planetocentric latitude on the target of the projection of a
specified pixel.
The pixel_longitude attribute gives the value of
the planetocentric longitude on the target of the projection of
a specified pixel.
The positive_azimuth_direction attribute
specifies the direction in which azimuth is measured in positive
degrees for an observer on the surface of a body. The azimuth is
measured with respect to the elevation reference plane. A value
of 'clockwise' indicates that azimuth is measured positively
clockwise, and 'counterclockwise' indicates that azimuth
increases positively counter-clockwise.
The positive_elevation_direction attribute
provides the direction in which elevation is measured in
positive degrees for an observer on the surface of a body. The
elevation is measured with respect to the azimuthal reference
plane. A value of UP or ZENITH indicates that elevation is
measured positively upwards, i.e., the zenith point would be at
+90 degrees and the nadir point at -90 degrees. DOWN or NADIR
indicates that the elevation is measured positively downwards;
the zenith point would be at -90 degrees and the nadir point at
+90 degrees.
Column scale factor to convert between x
coordinate and rotation around axis x, expressed in
radians/pixel.
Column scale factor to convert between y
coordinate and rotation around axis y, expressed in
radians/pixel.
qcos is the scalar component of a quaternion.
qcos = cos(theta/2), where theta is the angle of rotation.
qsin1 is the first element of the vector
component of a quaternion. qsin1 = x*sin(theta/2) where theta is
the angle of rotation and (x,y,z) is the unit vector around
which the rotation occurs.
qsin2 is the second element of the vector
component of a quaternion. qsin2 = y*sin(theta/2) where theta is
the angle of rotation and (x,y,z) is the unit vector around
which the rotation occurs.
qsin3 is the third element of the vector
component of a quaternion. qsin3 = z*sin(theta/2) where theta is
the angle of rotation and (x,y,z) is the unit vector around
which the rotation occurs.
Specifies the method by which the coordinate
space was measured. This provides an indication of the quality
of the definition.
The radial component of a spherical or
cylindrical velocity vector.
The radial component of a spherical or
cylindrical position vector (e.g., the radius coordinate in
Planetocentric coordinates).
The reference_location indicates the position to
which values in the containing class apply. If the reference
location is on a target, the target is the one specified in the
parent Geometry_Orbiter class.
The reference_pixel_location indicates the
position of the pixel to which values in the containing class
apply.
The right_ascension_angle attribute provides the
value of right ascension (RA) as an angle. Right ascension is
measured from the vernal equinox or the first point of Aries,
which is the place on the celestial sphere where the Sun crosses
the celestial equator from south to north at the March equinox.
Right ascension is measured continuously in a full circle from
that equinox towards the east. Right ascension is used in
conjunction with the declination attribute to specify a point on
the sky. Note Right Ascension also may be given in hour angles
in which case the appropriate attribute is
right_ascension_hour_angle.
The right_ascension_hour_angle attribute
provides the value of right ascension (RA) as in terms of hour
angles (hh.xxx...). Right ascension is measured from the vernal
equinox or the first point of Aries, which is the place on the
celestial sphere where the Sun crosses the celestial equator
from south to north at the March equinox. Right ascension is
measured continuously in a full circle from that equinox towards
the east. Right ascension is used in conjunction with the
declination attribute to specify a point on the sky.
The rotation_direction attribute identifies the
direction of the rotation for a specific quaternion. This is
used when the two frames involved are unambiguously identifed in
the enclosing classes.
The selected_instrument_id attribute specifies
an abbreviated name or acronym that identifies the selected
instrument mounted on the articulation device.
The solar_azimuth attribute specifies one of two
angular measurements indicating the direction to the Sun as
measured from a specific point on the surface of a planet (eg.,
from a lander or rover). The positive direction of azimuth is
set by the positive_azimuth_direction attribute in the reference
coordinate space. The azimuth is measured in the clockwise or
counterclockwise direction (as viewed from above) with the
meridian passing through the positive spin axis of the planet
(i.e., the north pole) defining the zero reference.
The solar_elevation attribute specifies one of
two angular measurements indicating the direction to the Sun as
measured from a specific point on the surface of a planet (eg.,
from a lander or rover). The positive direction of the elevation
is set by the positive_elevation_direction attribute in the
reference coordinate space. The elevation is measured from the
plane which is normal to the line passing between the surface
point and the planet's center of mass, and that intersects the
surface point.
The solar_elongation element gives the angle
between the line of sight of observation and the direction of
the Sun. Note: For IRAS: The line of sight of observation is the
boresight of the telescope as measured by the satellite sun
sensor.
The solution_id attribute specifies the unique
identifier for the solution set to which the values in the group
belong. For certain kinds of information, such as pointing
correction (pointing models) and rover localization (coordinate
system definitions), the "true" value is unknown and only
estimates of the true value exist. Thus, more than one set of
estimates may exist simultaneously, each valid for its intended
purpose. Each of these sets is called a "solution" to the
unknown true value. The solution_id attribute is used to
identify which solution is being expressed by the containing
group. No specific naming convention is defined here, however it
is recommended that projects adopt one. The intent is to be able
to identify who created the solution, and why. Possible
components of the naming convention include user, institution,
purpose, request ID, version, program, date/time.
The spacecraft_central_body_distance attribute
provides the scalar distance between the spacecraft and the
center of the central body (e.g., the center of Mars when
opperating in the Mars system).
The spacecraft_geocentric_distance attribute
provides the scalar distance between the spacecraft and the
center of Earth.
The spacecraft_heliocentric_distance attribute
provides the scalar distance between the spacecraft and the
center of the Sun.
The
spacecraft_target_boresight_intercept_distance attribute
provides the scalar distance between the spacecraft and the
boresight vector intercept point on the surface of the target
specified in the parent Geometry_Orbiter class.
The spacecraft_target_center_distance attribute
provides the scalar distance between the spacecraft and the
center of the target specified in the parent Geometry_Orbiter
class.
The spacecraft_target_subspacecraft_distance
attribute provides the scalar distance between the spacecraft
and the subspacecraft point on the surface of the target
specified in the parent Geometry_Orbiter class.
The spice_kernel_file_name attribute provides
the file name of a SPICE kernel file used to process the data or
to produce geometric quantities given in the label.
The start_azimuth attribute specifies the
angular distance from a fixed reference position at which an
image or observation starts. Azimuth is measured in a spherical
coordinate system, in a plane normal to the principal axis.
Azimuth values increase according to the right hand rule
relative to the positive direction of the principal axis of the
spherical coordinate system. When applied to a site or surface
projection coordinate space, specifies the azimuth of the left
edge of the output map. Applies to Cylindrical and
Cylindrical-Perspective projections only.
The start_emission_angle attribute provides the
value at the beginning of the observation
(geometry_start_time_utc) for the emission angle at the target
specified in the parent Geometry_Orbiter class.
The start_incidence_angle attribute provides the
value at the beginning of the observation
(geometry_start_time_utc) for the incidence angle at the target
specified in the parent Geometry_Orbiter class.
The start_latitude attribute identifies the
value of the Planetocentric latitude at the beginning of the
observation (geometry_start_time_utc). When either
start_latitude or stop_latitude is used, both must be used. In
addition the attribute lat_long_method must be used.
The start_longitude attribute identifies the
value of the Planetocentric longitude at the beginning of the
observation (geometry_start_time_utc).
The start_phase_angle attribute provides the
value at the beginning of the observation
(geometry_start_time_utc) for the phase angle at the target
specified in the parent Geometry_Orbiter class.
The start_solar_elongation attribute provides
the value at the beginning of the observation
(geometry_start_time_utc) for the solar elongation.
The start_spacecraft_central_body_distance
attribute provides the scalar distance at the beginning of the
observation (geometry_start_time_utc) between the spacecraft and
the center of the central body (e.g., the center of Mars when
opperating in the Mars system).
The start_spacecraft_geocentric_distance
attribute provides the scalar distance at the beginning of the
observation (geometry_start_time_utc) between the spacecraft and
the center of Earth.
The start_spacecraft_heliocentric_distance
attribute provides the scalar distance at the beginning of the
observation (geometry_start_time_utc) between the spacecraft and
the center of the Sun.
The
start_spacecraft_target_boresight_intercept_distance attribute
provides the scalar distance at the beginning of the observation
(geometry_start_time_utc) between the spacecraft and the
boresight vector intercept point on the surface of the target
specified in the parent Geometry_Orbiter class.
The start_spacecraft_target_center_distance
attribute provides the scalar distance at the beginning of the
observation (geometry_start_time_utc) between the spacecraft and
the center of the target specified in the parent
Geometry_Orbiter class.
The
start_spacecraft_target_subspacecraft_distance attribute
provides the scalar distance at the beginning of the observation
(geometry_start_time_utc) between the spacecraft and the
subspacecraft point on the surface of the target specified in
the parent Geometry_Orbiter class.
The start_subsolar_azimuth attribute identifies
the value of the subsolar azimuth at the beginning of the
observation (geometry_start_time_utc).
The start_subsolar_latitude attribute identifies
the value of the subsolar latitude at the beginning of the
observation (geometry_start_time_utc).
The start_subsolar_longitude attribute
identifies the value of the subsolar longitude at the beginning
of the observation (geometry_start_time_utc).
The start_subspacecraft_azimuth attribute
identifies the value of the subspacecraft azimuth at the
beginning of the observation (geometry_start_time_utc).
The start_subspacecraft_latitude attribute
identifies the value of the subspacecraft latitude at the
beginning of the observation (geometry_start_time_utc).
The start_subspacecraft_longitude attribute
identifies the value of the subspacecraft longitude at the
beginning of the observation (geometry_start_time_utc).
The start_target_geocentric_distance attribute
provides the scalar distance between the center of the target
and the center of the Earth at the beginning of the observation
(geometry_start_time_utc).
The start_target_heliocentric_distance attribute
provides the scalar distance between the center of the target
and the center of the Sun at the beginning of the observation
(geometry_start_time_utc).
The start_target_ssb_distance attribute provides
the scalar distance between the center of the target and the
Solar System Barycenter at the beginning of the observation
(geometry_start_time_utc).
The stop_azimuth attribute specifies the angular
distance from a fixed reference position at which an image or
observation stops. Azimuth is measured in a spherical coordinate
system, in a plane normal to the principal axis. Azimuth values
increase according to the right hand rule relative to the
positive direction of the principal axis of the spherical
coordinate system. When applied to a site or surface projection
coordinate space, specifies the azimuth of the right edge of the
output map. Applies to Cylindrical and Cylindrical-Perspective
projections only.
The stop_emission_angle attribute provides the
value at the end of the observation (geometry_stop_time_utc) for
the emission angle at the target specified in the parent
Geometry_Orbiter class.
The stop_incidence_angle attribute provides the
value at the end of the observation (geometry_stop_time_utc) for
the incidence angle at the target specified in the parent
Geometry_Orbiter class.
The stop_latitude attribute identifies the value
of the Planetocentric latitude at the end of the observation
(geometry_stop_time_utc). When either start_latitude or
stop_latitude is used, both must be used. In addition the
attribute lat_long_method must be used.
The stop_longitude attribute identifies the
value of the Planetocentric longitude at the end of the
observation (geometry_stop_time_utc).
The stop_phase_angle attribute provides the
value at the end of the observation (geometry_stop_time_utc) for
the phase angle at the target specified in the parent
Geometry_Orbiter class.
The stop_solar_elongation attribute provides the
value at the end of the observation (geometry_stop_time_utc) for
the solar elongation.
The stop_spacecraft_central_body_distance
attribute provides the scalar distance at the end of the
observation (geometry_stop_time_utc) between the spacecraft and
the center of the central body (e.g., the center of Mars when
opperating in the Mars system).
The stop_spacecraft_geocentric_distance
attribute provides the scalar distance at the end of the
observation (geometry_stop_time_utc) between the spacecraft and
the center of Earth.
The stop_spacecraft_heliocentric_distance
attribute provides the scalar distance at the end of the
observation (geometry_stop_time_utc) between the spacecraft and
the center of the Sun.
The
stop_spacecraft_target_boresight_intercept_distance attribute
provides the scalar distance at the end of the observation
(geometry_stop_time_utc) between the spacecraft and the
boresight vector intercept point on the surface of the target
specified in the parent Geometry_Orbiter class.
The stop_spacecraft_target_center_distance
attribute provides the scalar distance at the end of the
observation (geometry_stop_time_utc) between the spacecraft and
the center of the target specified in the parent
Geometry_Orbiter class.
The
stop_spacecraft_target_subspacecraft_distance attribute provides
the scalar distance at the end of the observation
(geometry_stop_time_utc) between the spacecraft and the
subspacecraft point on the surface of the target specified in
the parent Geometry_Orbiter class.
The stop_subsolar_azimuth attribute identifies
the value of the subsolar azimuth at the end of the observation
(geometry_stop_time_utc).
The stop_subsolar_latitude attribute identifies
the value of the subsolar latitude at the end of the observation
(geometry_stop_time_utc).
The stop_subsolar_longitude attribute identifies
the value of the subsolar longitude at the end of the
observation (geometry_stop_time_utc).
The stop_subspacecraft_azimuth attribute
identifies the value of the subspacecraft azimuth at the end of
the observation (geometry_stop_time_utc).
The stop_subspacecraft_latitude attribute
identifies the value of the subspacecraft latitude at the end of
the observation (geometry_stop_time_utc).
The stop_subspacecraft_longitude attribute
identifies the value of the subspacecraft longitude at the end
of the observation (geometry_stop_time_utc).
The stop_target_geocentric_distance attribute
provides the scalar distance between the center of the target
and the center of the Earth at the end of the observation
(geometry_stop_time_utc).
The stop_target_heliocentric_distance attribute
provides the scalar distance between the center of the target
and the center of the Sun at the end of the observation
(geometry_stop_time_utc).
The stop_target_ssb_distance attribute provides
the scalar distance between the center of the target and the
Solar System Barycenter at the end of the observation
(geometry_stop_time_utc).
The subsolar_azimuth attribute provides the
value of the angle between the line from the center of an image
to the subsolar point on the target and a horizontal reference
line (in the image plane) extending from the image center to the
middle right edge of the image. The values of this angle
increase in a clockwise direction.
The subsolar_latitude attribute gives the value
of the planetocentric latitude at the subsolar point on the
target.
The subsolar_longitude attribute gives the value
of the planetocentric longitude at the subsolar point on the
target.
The subspacecraft_azimuth attribute provides the
value of the angle between the line from the center of an image
to the subspacecraft point on the target and a horizontal
reference line (in the image plane) extending from the image
center to the middle right edge of the image. The values of this
angle increase in a clockwise direction.
The subspacecraft_latitude attribute gives the
value of the planetocentric latitude at the subspacecraft point
on the target.
The subspacecraft_longitude attribute gives the
value of the planetocentric longitude at the subspacecraft point
on the target.
The sun_direction_clock_angle attribute
specifies the direction of the sun as an angle measured from a
line 'upward' from the center of the field of view, clockwise to
the direction toward sun, assuming the image is displayed as
defined by the Display_Direction class.
The target_geocentric_distance attribute
provides the scalar distance between the center of the target
and the center of the Earth.
The target_heliocentric_distance attribute
provides the scalar distance between the center of the target
and the center of the Sun.
The target_north_pole_clock_angle element
specifies the direction of the target body's rotation axis in an
image. It is measured from the 'upward' direction in the image,
clockwise to the direction of the northern rotational pole as
projected into the image plane, assuming the image is displayed
as defined by the Display_Direction class. The north pole of a
planet or any of its satellites in the solar system is the pole
of the rotation axis that is in the same celestial hemisphere
relative to the invariable plane of the solar system as Earth's
North pole.
The target_positive_pole_clock_angle element
specifies the direction of the target body's rotation axis in an
image. It is measured from the 'upward' direction in the image,
clockwise to the direction of the positive rotational pole as
projected into the image plane, assuming the image is displayed
as defined by the Display_Direction class. The positive pole is
defined as the pole toward which the thumb points when the
fingers of the right hand are curled in the body's direction of
rotation.
The target_ssb_distance attribute provides the
scalar distance between the center of the target and the Solar
System Barycenter.
vertical_coordinate_pixel (line) is the vertical
coordinate of a specific pixel.
The vertical_display_axis attribute identifies,
by name, the axis of an Array (or Array subclass) that is
intended to be displayed in the vertical or "line" dimension on
a display device. The value of this attribute must match the
value of one, and only one, axis_name attribute in an Axis_Array
class of the associated Array.
The vertical_display_direction attribute
specifies the direction along the screen of a display device
that data along the vertical axis of an Array is supposed to be
displayed.
The vertical_pixel_field_of_view provides the
angular measure of the vertical field of view of a single pixel,
and is sometimes referred to as the instantaneous field of view.
The pixel_field_of_view_method attribute will designate the
method used to determine this value. If the
pixel_field_of_view_method attribute is not specified, see the
camera documentation for more details.
The vertical_pixel_footprint provides the size
of the vertical field of view of a single pixel projected onto
the target specified in the parent Geometry_Orbiter class.
The x component of a Cartesian vector which has
no units.
The x component of a Cartesian acceleration
vector.
The x component of a Cartesian pixel vector;
typically used in cameral models.
The x component of a Cartesian position
vector.
The x component of a unit Cartesian
vector.
The x component of a Cartesian velocity
vector.
The y component of a Cartesian vector which has
no units.
The y component of a Cartesian acceleration
vector.
The y component of a Cartesian pixel vector;
typically used in cameral models.
The y component of a Cartesian position
vector.
The y component of a unit Cartesian
vector.
The y component of a Cartesian velocity
vector.
The z component of a Cartesian vector which has
no units.
The z component of a Cartesian acceleration
vector.
The z component of a Cartesian pixel vector;
typically used in cameral models.
The z component of a Cartesian position
vector.
The z component of a unit Cartesian
vector.
The z component of a Cartesian velocity
vector.