PDS_JP2 Software
The PDS_JP2 software package contains applications and a library of reusable C++ classes for the conversion between PDS uncompressed
image data files with an attached metadata label and a compressed JP2 image data file with a detached PDS metadata label file.
File Formats
The
Planetary Data System (PDS)
is the repository for data sets generated by NASA planetary science projects. To ensure that the data is broadly accessible the PDS specifies the formats of the data stored in the repository and made
available to the public.
PDS Flat Image Files:
For image data, such as that returned by spacecraft sent to other planets, the conventional format has been a text label describing the binary image data. Usually these are contained in a single file, and the
binary data is typically uncompressed image pixel values.
This form of generic image data file provides the most widely accessible format. Advances in imaging technology have now resulted in spacecraft instruments producing very large images. For example, the HiRISE Project
can produce images that are 80,000 x 150,000 pixels of multiple bands; and future projects can be expected to produce even larger images. These data sets are very unwieldy to manage, distribute and view.
PDS/JP2 Image Files:
To help cope with the challenges of large image files the HiRISE Project worked with the PDS on a new file format specification based on the
JPEG2000 standard. With this format the text label describing the image is stored by itself in a file
that refers to another file that contains the image data stored in standard JPEG2000 Part 1 (JP2) format. JP2 is a self-describing file format that includes a JPEG2000 codestream that is a highly compressed
form of the image data. The PDS specification requires that the codestream be losslessly encoded so all of the original science information is retained. Any area of the image can be selectively
decompressed from the JP2 file without having to decompress the entire file. In addition, the image data can be selectively decompressed to various resolution levels enabling easily viewable displays of all, or
any part, of the the image to be rendered from a single JP2 codestream. The JPEG2000 standard also provides a new internet protocol (JPIP) for
the efficient transmission of JP2 files over the network between a JPIP server and client.
Programs
Any software that complies with the JPEG2000 standard can encode and
decode JP2 files. Managing the text label according to the PDS standards
adds additional requirements. The HiRISE Project implemented software
that correctly manages the label portion of the data set while also
managing the JP2 portion.
PDS_to_JP2:
The PDS_to_JP2 application is used to convert conventional PDS flat
image files to PDS/JP2 formatted files. A label manager is automatically
selected to handle product specific conversion requirements with a
generic conversion manager as the fallback. The JP2 file is generated
with control of all configurable aspects of loss-less JPEG2000
compression and metadata content in the generated JP2 file, with
reasonable defaults for all specifications. By default a data provider
signature is embedded in the JP2 file along with a reference to the
external label file. In addition geospatial reference information may be
embedded in the JP2 file in the form of a GeoTIFF box that is recognized
by many geographical information systems (GIS) software applications.
PDS_to_JP2 is the program that is used at the HiRISE Operations Center
in its automated data production pipelines to generated PDS/JP2 files of
RDR data products distributed to the public.
JP2_to_PDS:
The JP2_to_PDS application is used to convert PDS/JP2 formatted files to
conventional PDS flat image files. Like PDS_to_JP2, an appropriate label
manager is automatically selected to handle the the label conversion. By
default the all of the image data is decompressed at full resolution,
but any image area may be selected for decompression at any resolution
level provided by the JP2 file. The image description in the label is
kept consistent with however the image data is rendered. Selective image
rendering is particularly useful when only a particular region or low
resolution presentation rendering is of interest or when working with
the entire uncompressed image would be difficult or, for some computer
systems, impossible. The raw image data is suitable for importing into
various image analysis applications.
For those interested in examining the contents of a JP2 file in detail
the
PIRL Java Packages offers JP2_Info in its Image_Tools package.
CLASS LIBRARY
The PDS_JP2 software package includes a library of C++ classes on which
the application programs are built. These classes include PDS label
management and image data JP2 file encoding and decoding management. The
library may be used to build new applications and/or extended to provide
additional capabilities. The label managers employ the
idaeim PVL
library. The JP2 encoders and decoders employ the
Kakadu Software library.
CREDITS AND COPYRIGHT
This software was developed at:
for the purposes of managing observation data sets produced by -
The PDS_JP2 software is copyright © 2006-2018 Arizona Board of Regents on behalf of the Planetary Image Research Laboratory, Lunar
and Planetary Laboratory at The University of Arizona.
This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
The Kakadu Software libraries are included in the binary applications distribution for use with the PDS_JP2 applications only.
They are copyright © Dr. David Taubman, all rights reserved, and licensed by NewSouth Innovations Pty Limited ACN 000 263 025 (“NSi”).
Please visit the Kakadu Software website for further information.