-
Notifications
You must be signed in to change notification settings - Fork 169
The ISIS3 Attached Spice Format
Running the spiceinit application with attach=true
will attach all of the SPICE data required by the camera model directly to the Cube. There are 6 locations information is added to the Cube:
- The
Kernels
group - The
NaifKeywords
group - The
InstrumentPointing
Table - The
InstrumentPosition
Table - The
BodyRotation
Table - The
SunPosition
Table
The following sections outline what is stored in each of these locations. The spiceinit application documentation shows what textual information is added to these locations.
The Kernels
group is already a part of the Cube label after ingestion (it is nested under the IsisCube
object). Usually, the only information it contains after ingestion is the NaifFrameCode
keyword. The NaifFrameCode
keyword contains the NAIF code for the instrument. So, information about the instrument will be stored as INS{NaifFrameCode}_{Some property}
in the NAIF kernels. For example the NaifFrameCode
for Kaguya Terrain Camera 2 is -131371
. So, the focal length for Kaguya Terrain Camera 2 is stored as INS-131371_FOCAL_LENGTH
. Usually, the NAIF ID for the instrument is also the NAIF ID for the sensor reference frame. If this is not the case, then there will be also be a NaifCkCode
keyword in the Kernels
group that contains the NAIF ID for the sensor reference frame.
All of the kernels used will be added to the Kernels
group under the following keywords:
LeapSecond
TargetAttitudeShape
TargetPosition
InstrumentPointing
Instrument
SpacecraftClock
InstrumentPosition
InstrumentAddendum
If a shapemodel is is used, then that shapemodel will also be specified by the ShapeModel
keyword. The InstrumentPositionQuality
and InstrumentPointingQuality
keywords will specify the quality of the kernels used for the InstrumentPositon
and InstrumentPointing
Tables. Finally, the CameraVersion
keyword specifies the version of the camera model that the Cube will now work with.
The NaifKeywords
group is not a part of the Cube prior to spiceinit being run. After spiceinit, the group is located at the very end of the Cube label.
This group contains all of the keywords and values collected from the SPICE kernel pool. Some examples what is usually contained in the NaifKeywords
group are the target body radii, the instrument focal length, distortion model coefficients, and the transformations between image pixels and detector pixels.
The sensor model specifies what is contained in the NaifKeywords
group. Keywords and values are added to the NaifKeywords
group by the following Spice class methods (methods in italics are protected):
- getDouble
- getInteger
- getString
- readValue
- storeResult
- storeValue
The sensor model and its maps use these methods to get any keyword values they need from the SPICE kernel pool. The keyword and its values are then stored in the NaifKeywords
group and any future calls to access them query the NaifKeywords
group instead of the SPICE kernel pool.
The InstrumentPointing
Table, InstrumentPosition
Table, BodyRotation
Table, and SunPosition
Table are ISIS Tables. These are tables of binary information stored on the Cube file. Each Table consists of two parts; the label, and the binary data. The labels for all of the Tables in a Cube file are located in the Cube label after the IsisCube
object. Each label is an object called Table
, each Table is identified by the values of its Name
keyword. So, the InstrumentPointing
Table label is the Table
object whose Name
keyword has a value of InstrumentPointing
.
The InstrumentPointing
Table is not a part of the Cube prior to spiceinit being run. After spiceinit, the label for the Table is located after the IsisCube
object in the Cube label and the binary table data is located at the end of the file.
The Table label is a PVL object that contains information about the binary table data and some additional rotational data. The location and format of the binary data is described by the StartByte
, Bytes
, Records
, and ByteOrder
keywords
- Building
- Writing Tests
- Test Data
- Start Contributing
- Public Release Process
- Continuous Integration
- Updating Application Documentation
- Deprecating Functionality
- LTS Release Process and Support
- RFC1 - Documentation Delivery
- RFC2 - ISIS3 Release Policy
- RFC3 - SPICE Modularization
- RFC3 - Impact on Application Users
- RFC4 - Migration of ISIS Data to GitHub - Updated Information 2020-03-16
- RFC5 - Remove old LRO LOLA/GRAIL SPK files
- RFC6 - BLOB Redesign
- Introduction to ISIS
- Locating and Ingesting Image Data
- ISIS Cube Format
- Understanding Bit Types
- Core Base and Multiplier
- Special Pixels
- FAQ