USGS-ISIS3 calibration and navigation
All the cubes available on this website were calibrated using the latest release of the USGS ISIS3 software.
On the USGS website, a series of tutorials are dedicated to the Cassini VIMS data. Detail documentation on ISIS3 functions, keywords and optional parameters can be found in the documentation.
In this page, we will only present the generic pipeline used to provide calibrated and navigation data available on this website.
Cassini VIMS raw data
Like every other NASA missions, the Cassini raw data are archived on the Planetary Data System imaging node (PDS) under the supervision of the Jet Propulsion Laboratory and the USGS.
The complete dataset of the VIMS data is composed of
94 volumes
covering in average 2-3 months of data. The data are
stored on the PDS
in folders called covims_*
for each release. Each folder includes a data/
folder with
a collection of sub-folders containing 64 cubes each sorted by dates.
For example, the very least VIMS cube recorded by Cassini (1884114114_1
) is located in the folder
covims_0094/data/2017255T000819_2017257T195837
.
No general rules apply on the way these data are store, especially due to the non-linear acquisition rate of the
instrument.
Therefore, it is mandatory to use a database of the complete dataset to back-trace the exact location the cube
based on their cube id. If you are looking for a cube raw data (.qub
) containing a known icy moons
(for example, 1490951542_2
), go to
vims.univ-nantes.fr/cube/v1490951542_2.qub
to be redirected automatically to the correct location of this cube on the PDS archive.
The same shortcut applies for the label/metadata file (.lbl
) associated with the cube, simply go to
vims.univ-nantes.fr/cube/v1490951542_2.lbl
to locate it on the PDS.
For a cube which does not contain icy moon in the field of view (e.g. only Saturn, the rings…), you will need
to use an other search engine like
OPUS,
PILOT or
ATLAS.
You can also build your own database from the _md5.txt
file attached to each release
(e.g., a python implementation is available in this repo).
Therefore to download the raw data, you only need to do:
Calibration of the data
The first step of the calibration is to convert the PDS3 raw Experiment
Data Record (EDR) images (ie. the .qub
file) into a ISIS3 cube (.cub
) with the
vims2isis
function.
The vims2isis
function will split the raw data into 2 separate files.
The first one corresponds to the visible part of spectrum recorded by the VIMS-VIS instrument
and the second one is the infrared counterpart recorded by VIMS-IR instrument.
Most of the time, both files are present and observed the same location.
However for some observations, the sampling mode of the two instruments are different or
one of them is turned-off. Therefore it is more reliable to split each cube to process their
data independently. In the rest of the calibration we will only use the infrared part of the
cube (v*_ir.cub
) but the same process can be apply to the visible part of the cube
(v*_vis.cub
).
Note: Only the .qub
file is required by vims2isis
(the metadata .lbl
file is already contained in the .qub
file header).
The second step will provide the navigation information from
SPICE routines
to extract spacecraft and planetary ephemerids, the instrument C-matrix and event kernels.
These data are included into the cube header with the spiceinit
function and
will be required for the radiometrically calibration (step 3).
The third step, we use the vimscal
function to convert the digital count number of each pixel
into a the physical radiometric intensity (I/F):
The current version of the calibration pipeline used by ISIS is RC19. The complete documentation on the RC19 calibration can be found here.
In order to improve the quality of the calibration and to reduce the noise and spikes
in the cubes, we apply two additional steps: a noisefilter
and a lowpass
filter
when the smaller spacial dimension of the cube is larger than 5.
The noisefilter
(included in ISIS3 functions) will remove the random pixel noise.
We use the boxcar size of 5×5
pixels that we compare to the standard deviation.
The tolerance value (tolmin
and tolmax
) are set to 2.5
.
If the pixel does not fit these criteria, it will be replaced by a NULL
value.
In the final step, we replace these NULL
values by the average of the surrounding
valid pixels (3×3
) using the lowpass
filter of ISIS:
This latest file (C*_ir.cub
) corresponds to the one provided at the bottom of the page
vims.univ-nantes.fr/cube/1490951542_2
dedicated to this cube.
And, as before, if you only need to download this file alone, you can to get it at
vims.univ-nantes.fr/cube/C1490951542_2_ir.cub
.
Navigation of the data
As soon as the spiceinit
succeded, you can navigate the data with the ISIS function
phocube
. By default we export the phase angle, the emission angle, the incidence angle,
the latitude, the longitude, the pixel resolution into a navigation file (N*_ir.cub
).
Note 1: The +1
in the from
field is required to select only
the first channel of the cube. Otherwise, the function phocube
will fail.
Note 2: At the moment, the phocube
function only provides the navigation values on the ground
of the icy moon and put NULL
values outside.
Especially, the geometry of the pixels at the limb are not computed.
The visible and infrared navigation files are always attached on the page dedicated to a specific cube.
You can also choose to download it separately with the following shortcut:
vims.univ-nantes.fr/cube/N1490951542_2_ir.cub
How to retrieve the calibration information from the files?
In every cube file, the header contrains the complete calibration process through the different functions
with their outputs. Therefore you only need to parse the ascii part of the file to retreive the information.
For example, it is possible to get the calibration version using the grep
function
on the binary header of the cube:
How to use the calibrated VIMS cubes?
Thanks to this webiste, getting the calibrated VIMS data is never been so easy.
Now, the real question is, how to use them to create actual images and scientific results.
For that end, you can use all regular ISIS tools, like qview
to display them and
create your own composite.
But if you need more advanced tools, you can use the python library
pyvims
we created.
This package is still in beta and under active development. Contributions and feedbacks are welcome.
After installing it, try to reproduce this
Jupyter NoteBook
to get your hands on the data.