Welcome to planetaryimage’s documentation!¶
Contents:
planetaryimage - Open PDS and Isis CubeFiles in Python¶
NOTE This is Alpha quality software that is being actively developed, use at your own risk.
Planetary image parser
- Free software: BSD license
- Documentation: https://planetaryimage.readthedocs.org.
Features¶
- Reads in PDS Images as NumPy arrays.
- Supports GZIP and BZ2 compressed PDS Images.
- Supports writing out PDS3 images.
- Reads in Isis Cube Files as NumPy arrays.
Check out a few simple examples of opening and viewing PDS and Isis CubeFiles in an IPython notebook.
Quickstart¶
The example below will walk you through setting up a Python virtual
environment and installing the necessary software as well as a few handy
extras. It then downloads a sample Pancam PDS image, opens and displays that
image in your web browser in an
IPython Notebook. The example assumes
you have Python
, virtualenv
, and pip
installed on your system. If you
don’t, don’t know what this means or aren’t thrilled by the opportunity to
learn what this means, this software may be a little too immature for you to
use at this point.
Create and activate a virtual environment:
virtualenv venv
source venv/bin/activate
Upgrade pip, then pip install the package and IPython notebook and matplotlib to help display the image:
pip install -U pip
pip install planetaryimage matplotlib ipython[notebook]
This quick example will show how to open and display a Pancam PDS image using this module. First, grab a sample image:
wget http://pds-imaging.jpl.nasa.gov/data/mer/opportunity/mer1po_0xxx/data/sol2840/edr/1p380322615effbr43p2443l1m1.img
Now run python in an IPython Notebook (a browser window should pop up after entering the following command):
$ ipython notebook
Create a new notebook in your web browser and then paste the following code into a cell and execute it by pressing Shift+ENTER. This will load and display the image:
%matplotlib inline
import matplotlib.pyplot as plt
from planetaryimage import PDS3Image
image = PDS3Image.open('1p380322615effbr43p2443l1m1.img')
plt.imshow(image.image, cmap='gray')
See Usage for full documentation on how to use planetaryiamge.
Installation¶
At the command line:
$ easy_install planetaryimage
Or, if you have virtualenvwrapper installed:
$ mkvirtualenv planetaryimage
$ pip install planetaryimage
Usage¶
Quick Explanation¶
The example below shows how to use planetaryimage
‘s PDS3Image
class to
open a PDS image, inspect it’s label and display the image data:
>>> from planetaryimage import PDS3Image
>>> import matplotlib.pyplot as plt
>>> testfile = 'tests/mission_data/2p129641989eth0361p2600r8m1.img'
>>> image = PDS3Image.open(testfile)
>>> print(image.record_bytes) # access attribute
128
>>> print(image.label['FILE_RECORDS']) # access label
332
>>> plt.imshow(image.image, cmap='gray') # display image
Examples¶
Setup:
>>> %matplotlib inline
>>> from glob import glob
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> import matplotlib.image as mpimg
>>> from planetaryimage import PDS3Image, CubeFile
Gather the Images:
>>> pdsfiles = glob("*.*")
>>> images = []
>>> for pdsfile in pdsfiles:
... try:
... images.append(PDS3Image.open(pdsfile))
... except:
... pass
>>> for n, image in enumerate(images):
... print n, image
0 1p190678905erp64kcp2600l8c1.img
1 mk19s259.img
2 m0002320.imq
3 mg00n217.sgr
4 h2225_0000_dt4.img
5 0044ML0205000000E1_DXXX.img
One can use the try
statement in-case any of the images you have are
not compatible with PDS3image. See Suppored Planetary Images List
to know what image types are compatible. The for loop
will show what index
number to use in future use of the image.
To see the information about each image:
>>> for i in images:
... print i.data.dtype, i.data.shape, i.shape
>i2 (1, 1024, 32) (1, 1024, 32)
uint8 (1, 1331, 1328) (1, 1331, 1328)
uint8 (1, 1600, 384) (1, 1600, 384)
uint8 (1, 960, 964) (1, 960, 964)
>i2 (1, 10200, 1658) (1, 10200, 1658)
uint8 (3, 1200, 1648) (3, 1200, 1648)
To display a three band, color, image:
>>> caltarget = images[5]
>>> plt.imshow(caltarget.image)
<matplotlib.image.AxesImage at 0x10a13c250>

It is important to look at the first number in i.shape
(See attributes) or
the value from i.bands
. If this number is 3, then the above example works,
otherwise, you should use cmap=='gray'
parameter like in the below example.
To display a single band, grayscale, image:
>>> image1 = images[1]
>>> plt.imshow(image1.image, cmap='gray')
<matplotlib.image.AxesImage at 0x125817a50>

The cmap
keyword argument defines which colormap
a grayscale image
should be displayed with. In the case where i.bands
is 3, it means the
image is an RGB color image which does not need a colormap to be displayed
properly. If i.bands
is 1, then the image is grayscale and imshow
would use its default colormap, which is not grayscale.
To see a subframe of an image:
>>> plt.imshow(image1.image[370:620, 0:250], cmap = 'gray')
<matplotlib.image.AxesImage at 0x11c014450>

To see the different bands of a colored image:
>>> plt.imshow(np.hstack([
mcam1.image[700:1100, 600:1000, 0],
mcam1.image[700:1100, 600:1000, 1],
mcam1.image[700:1100, 600:1000, 2],
]), cmap='gray')
<matplotlib.image.AxesImage at 0x10fccd210>

To save an image as a .png file for later viewing:
>>> crater = image1.image[370:620, 0:250]
>>> plt.imsave('crater.png', crater, cmap='gray')
To do some image processing:
>>> plt.hist(image1.image.flatten(), 2000)
(array([ 2., 0., 0., ..., 0., 0., 1.]),
array([ 32. , 32.036, 32.072, ..., 175.928, 175.964, 176. ]),
<a list of 4000 Patch objects>)

Using this Histogram can produce a clearer picture:
>>> plt.imshow(image1.image, cmap='gray', vmin=115, vmax=135)
<matplotlib.image.AxesImage at 0x1397a2790>

See documentation for plt.imshow and Image tutorial for pyplot to see more methods of image processing.
You can also use planetaryimage to process Isis Cube Files:
>>> from planetaryimage import CubeFile
>>> isisimage = CubeFile.open("tests/data/pattern.cub")
>>> isisimage.data.dtype, isisimage.data.shape, isisimage.shape
(dtype('<f4'), (90, 90), (1, 90, 90))
>>> plt.imshow(isisimage.image, cmap='gray')
<matplotlib.image.AxesImage at 0x114010610>

PlanetaryImage uses three main classes: PlanetaryImage, PDS3Image, and CubeFile. PlanetaryImage is the base class for PDS3Image and CubeFile and can be inherited for other image readers. PDS3Image and CubeFile are used to read images. See Usage to see more in depth examples using PDS3Image and CubeFile.
Contents
PlanetaryImage¶
-
class
planetaryimage.image.
PlanetaryImage
(stream_string_or_array, filename=None, compression=None)[source]¶ A generic image reader. Parent object for PDS3Image and CubeFile
Parameters: stream
file object to read as an image file
filename : string
an optional filename to attach to the object
compression : string
an optional string that indicate the compression type ‘bz2’ or ‘gz’
Examples
>>> from planetaryimage import PDS3Image >>> testfile = 'tests/mission_data/2p129641989eth0361p2600r8m1.img' >>> image = PDS3Image.open(testfile) >>> # Examples of attributes >>> image.bands 1 >>> image.lines 64 >>> image.samples 64 >>> str(image.format) 'BAND_SEQUENTIAL' >>> image.data_filename >>> image.dtype dtype('>i2') >>> image.start_byte 34304 >>> image.shape (1, 64, 64) >>> image.size 4096
See https://planetaryimage.readthedocs.io/en/latest/usage.html to see how to open images to view them and make manipulations.
Attributes
compression (string) Compression type (i.e. ‘gz’, ‘bz2’, or None). data (numpy array) A numpy array representing the image. filename (string) The filename given. label (pvl module) The image’s label in dictionary form. -
bands
¶ Number of image bands.
-
data
= None¶ A numpy array representing the image
-
data_filename
¶ Return detached filename else None.
-
dtype
¶ Pixel data type.
-
filename
= None¶ The filename if given, otherwise none.
-
format
¶ Image format.
-
image
¶ An Image like array of
self.data
convenient for image processing tasks- 2D array for single band, grayscale image data
- 3D array for three band, RGB image data
Enables working with
self.data
as if it were a PIL image.See https://planetaryimage.readthedocs.io/en/latest/usage.html to see how to open images to view them and make manipulations.
-
label
= None¶ The parsed label header in dictionary form.
-
lines
¶ Number of lines per band.
-
classmethod
open
(filename)[source]¶ Read an image file from disk
Parameters: filename : string
Name of file to read as an image file. This file may be gzip (
.gz
) or bzip2 (.bz2
) compressed.
-
samples
¶ Number of samples per line.
-
shape
¶ Tuple of images bands, lines and samples.
-
size
¶ Total number of pixels
-
start_byte
¶ Index of the start of the image data (zero indexed).
-
PDS3Image¶
-
class
planetaryimage.pds3image.
PDS3Image
(stream_string_or_array, filename=None, compression=None)[source]¶ Bases:
planetaryimage.image.PlanetaryImage
A PDS3 image reader.
Examples
>>> from planetaryimage import PDS3Image >>> testfile = 'tests/mission_data/2p129641989eth0361p2600r8m1.img' >>> image = PDS3Image.open(testfile) >>> # Examples of PDS3Image Attributes >>> image.dtype dtype('>i2') >>> image.record_bytes 128 >>> image.data_filename
-
dtype
¶ Pixel data type.
-
record_bytes
¶ Number of bytes for fixed length records.
-
CubeFile¶
-
class
planetaryimage.cubefile.
CubeFile
(stream_string_or_array, filename=None, compression=None)[source]¶ Bases:
planetaryimage.image.PlanetaryImage
A Isis Cube file reader.
Examples
>>> from planetaryimage import CubeFile >>> image = CubeFile.open('tests/data/pattern.cub') >>> # Examples of CubeFile Attributes >>> image.base 0.0 >>> image.multiplier 1.0 >>> image.specials['His'] -3.4028233e+38 >>> image.tile_lines 128 >>> image.tile_samples 128 >>> image.tile_shape (128, 128)
-
apply_numpy_specials
(copy=True)[source]¶ Convert isis special pixel values to numpy special pixel values.
Isis Numpy Null nan Lrs -inf Lis -inf His inf Hrs inf Parameters: copy : bool [True]
Whether to apply the new special values to a copy of the pixel data and leave the original unaffected
Returns: Numpy Array
A numpy array with special values converted to numpy’s nan, inf, and -inf
-
apply_scaling
(copy=True)[source]¶ Scale pixel values to there true DN.
Parameters: copy: bool [True]
Whether to apply the scaling to a copy of the pixel data and leave the original unaffected
Returns: Numpy Array
A scaled version of the pixel data
-
base
¶ An additive factor by which to offset pixel DN.
-
data_filename
¶ Return detached filename else None.
-
get_image_array
()[source]¶ Create an array for use in making an image.
Creates a linear stretch of the image and scales it to between 0 and 255. Null, Lis and Lrs pixels are set to 0. His and Hrs pixels are set to 255.
Usage:
from planetaryimage import CubeFile from PIL import Image # Read in the image and create the image data image = CubeFile.open('test.cub') data = image.get_image_array() # Save the first band to a new file Image.fromarray(data[0]).save('test.png')
Returns: A uint8 array of pixel values.
-
multiplier
¶ A multiplicative factor by which to scale pixel DN.
-
specials
¶ Return the special pixel values
-
specials_mask
()[source]¶ Create a pixel map for special pixels.
Returns: An array where the value is False if the pixel is special
and True otherwise
-
tile_lines
¶ Number of lines per tile.
-
tile_samples
¶ Number of samples per tile.
-
tile_shape
¶ Shape of tiles.
-
Supported Planetary Image Types¶
Table of Contents
- PDS List
- Mars Science Laboratory
- Lunar Reconnaissance Orbiter
- Phoenix
- Chandrayaan 1
- Mars Reconnaissance Orbiter
- MESSENGER
- Mars Exploration Rover
- ESA Mars Express
- 2001 Mars Odyssey
- Cassini
- Mars Pathfinder
- Mars Global Surveyor
- Shoemaker Levy 9
- Clementine
- Galileo
- Magellan
- Voyager
- Viking Lander
- Viking Orbiter
- Mariner 10
- Mariner 9
General Information¶
Structure
- Mission - Launch Year - Destination
- Camera (Acronym)
- Volume - Description
- Symbol Image: Link_to_file
- Label: Link_to_file
- Volume - Description
- Symbol Image: Link_to_file
- Label: Link_to_file
Mission - Launch Year - Destination
This list is in chronological order, based on launch date, with the most recent mission at the top of the list and older missions at the bottom.
Symbols
= image works
= image does not work
= image has not been tested
= planetaryimage can open the file but
plt.imshow
does not work
Editing
If editing this document, to mark an image as good with a green square ()
add
|good|
, mark bad with a red square () add
|bad|
, mark that
imshow does not work with a blue square () add
|nodisp|
and
unknown/not tested with a white sqaure () add
|none|
before “Image”
like so:
|good| Image: image.img
|bad| Image: image.img
|none| Image: image.img
|nodisp| Image: image.img
See Usage for documentation on how to open the images.
PDS List¶
- Mars Science Laboratory (MSL) - 2011 - Mars
-
Volume: MSLHAZ_0XXX - Hazcam
Volume: MSLNAV_0XXX - Navcam
Volume: MSLMOS_1XXX - Mosaics
-
Volume: MSLMST_0002 - EDR
Volume: MSLMST_0002 - RDR
-
Volume: MSLMHL_0002 - EDR
Volume: MSLMHL_0002 - RDR
-
Volume: MSLMRD_0002 - EDR
Volume: MSLMRD_0002 - RDR
-
Lunar Reconnaissance Orbiter (LRO) - 2009 - Moon
Lyman-Alpha Mapping Project (LAMP)
LROLAM_0007 - EDR
Image: LAMP_ENG_0322531705_02.fit
- Label: LAMP_ENG_0322531705_02.lbl
LROLAM_1010 - RDR
Image: LAMP_SCI_0345885974_03.fit
- Label: LAMP_SCI_0345885974_03.lbl
LROLAM_2001 - GDR
Lunar Reconnaissance Orbiter Camera (LROC)
LROLRC_0010 - Narrow Angle Camera - EDR
Image: M181639328RE.IMG
LROLRC_0010 - Wide Angle Camera - EDR
Image: M181648212CE.IMG
LROLRC_1015 - Narrow Agle Camera - CDR
Image: M1119524889RC.IMG
LROLRC_1015 - Wide Agle Camera - CDR
Image: M1119570719MC.IMG
LROLRC_2001 - RDR - Narrow Angle Camera
LROLRC_2001 - RDR - Wide Angle Camera
Lunar CRater Observation and Sensing Satellite (LCROSS)
Volume 1 - Mid Infrared Camera 1 (MIR1)
Volume 1 - Mid Infrared Camera 2 (MIR2)
Volume 1 - Near Infrared Camera 1 (NIR1)
Volume 1 - Near Infrared Camera 2 (NIR2)
Volume 1 - Near Infrared Spectrometer 1 (NISP1)
Volume 1 - Near Infrared Spectrometer 2 (NISP2)
Volume 1 - Total Luminence Photometer (TLP)
Volume 1 - Visible Camera (VIS)
Volume 1 - Visible Spectrometer (VSP)
Phoenix - 2008 - Mars
-
Volume: phxom_0xx - Experiment Data Records
Volume: phxsci_0xx - Science Reduced Data Records
-
Volume: phxmos_0xx - Moasaics
Volume: phxrac_1xx - Reduced Data Records
Volume: phxrac_0xx - Experiment Data Records
Volume: phxsci_0xx - Science Reduced Data Records
-
Volume: phxmos_0xx - Mosaics
Volume: phxsci_0xx - Science Reduced Data Records
Volume: phxssi_0xx - Experiment Data Records
Volume: phxssi_1xx - Reduced Data Records
-
Chandrayaan-1 - 2008 - Moon
-
CH1M3_0003
Image: M3G20090714T080142_V03_LOC.IMG
- Label: M3G20090714T080142_V03_L1B.LBL
- Other: M3G20090714T080142_V03_LOC.HDR
-
Mars Reconnaissance Orbiter (MRO) - 2005 Mars
High Resolution Imaging Science Experiment (HiRISE)
Volume 1 (accumulating) - EDR
Image: PSP_007978_2005_RED4_1.IMG
Volume 1 (accumulating) - RDR
Image: PSP_005109_1770_COLOR.JP2
- Label: PSP_005109_1770_COLOR.LBL
-
Release 20
-
Release 20
MESSENGER - 2004 - Mercury
Mercury Dual Imaging System (MDIS)
MSGRMDS_8001 - Regional Targeted Mosaic RDR (RTM) Narrow Angle Camera
MSGRMDS_8001 - Regional Targeted Mosaic RDR (RTM) Wide Angle Camera
MSGRMDS_7101 - High-Incidence Angle Basemap Illuminated from the West (HIW)
Image: MDIS_HIW_256PPD_H12NE0.IMG
- Label: MDIS_HIW_256PPD_H12NE0.LBL
MSGRMDS_6001 - MDIS 3-Color Map
Image: MDIS_MD3_128PPD_H11SW0.IMG
- Label: MDIS_MD3_128PPD_H11SW0.LBL
MSGRMDS_5001 - Multispectral Reduced Data Record (MDR)
Image: MDIS_MDR_064PPD_H10SW2.IMG
- Label: MDIS_MDR_064PPD_H10SW2.LBL
MSGRMDS_4001 - Basemap Reduced Data Record (BDR)
Image: MDIS_BDR_256PPD_H08NW0.IMG
- Label: MDIS_BDR_256PPD_H08NW0.LBL
MSGRMDS_3001 - Derived Data Record (DDR)
Image: DW1026713343K_DE_0.IMG
MSGRMDS_2001 - calibrated data (CDR)
Image: CN1052412325M_IF_4.IMG
Image: CN1052412325M_RA_4.IMG
Mars Exploration Rover (MER) - 2003 - Mars -Opportunity
Alpha Particle X-Ray Spectrometer
Volume: mer1ao_0xxx - EDR
Moessbauer Spectrometer
Volume: mer1bo_0xxx - EDR
Descent Camera
Volume: mer1do_0xxx - EDR
Hazard Avoidance Camera
Volume: mer1ho_0xxx - EDR
Volume: mer1ho_0xxx - RDR
Volume: mer1om_0xxx - RDR Mosaics
Volume: mer1mw_0xxx - RDR Meshes
Microscopic Imager
Volume: mer1mo_0xxx - EDR
Volume: mer1mo_0xxx - RDR
Volume: mer1ms_0xxx - Science Products EDR
Volume: mer1ms_0xxx - Science Products RDR
Navigation Camera
Volume: mer1no_0xxx - EDR
Volume: mer1no_0xxx - RDR
Volume: mer1om_0xxx - Navcam - RDR Mosaics
Volume: mer1mw_0xxx - RDR Meshes
Panoromic Camera
Volume: mer1po_0xxx - EDR
Volume: mer1po_0xxx - RDR
Volume: mer1pc_0xxx - EDRs
Volume: mer1pc_1xxx - RDRs
Volume: mer1om_0xxx - Pancam - RDR Mosaics
Volume: mer1mw_0xxx - RDR Meshes
Mars Exploration Rover (MER) - 2003 - Mars - Spirit
Alpha Particle X-ray Spectrometer
Volume: mer2ao_0xxx - EDR
Moessbauer Spectrometer
Volume mer2bo_0xxx - EDR
Descent Camera
Volume: mer2do_0xxx - EDR
Hazard Avoidance Camera
Volume: mer2ho_0xxx - EDR
Volume: mer2ho_0xxx - RDR
Volume: mer2mw_0xxx - Hazcam - RDR Meshes
Volume: mer2om_0xxx - RDR Mosaics
Microscopic Imager
Volume: mer2mo_0xxx - EDR
Volume: mer2mo_0xxx - RDR
Volume: mer2ms_0xxx - Science Products EDR
Volume: mer2ms_0xxx - Science Products RDR
Navigation Camera
Volume: mer2no_0xxx - EDR
Volume: mer2no_0xxx - RDR
Volume: mer2mw_0xxx - RDR Meshes
Volume: mer2om_0xxx - RDR Mosaics
Panoromic Camera
Volume: mer2po_0xxx - EDR
Volume: mer2po_0xxx - RDR
Volume: mer2mw_0xxx - Camera RDR Meshes
Volume: mer2om_0xxx - Camera RDR Mosaics
Volume: mer2pc_0xxx - Science Products (EDRs)
Volume: mer2pc_1xxx - Science Products (RDRs)
Rock Abrasion Tool
Volume: mer2ro_0xxx - EDR
ESA Mars Express (MEX) - 2003 - Mars
High Resolution Stereo Camera (HRSC)
mexhrsc_0001 - Radiometrically Calibrated Image
Image: h9335_0000_p12.img
mexhrsc_1001 - Map Projected Image
Image: h5395_0000_p23.img
mexhrsc_2001 - Orthophoto and DTM
Image: h2225_0000_dt4.img
2001 Mars Odyssey - 2001 - Mars
Thermal Emission Imaging System (THEMIS)
ODTGEO_v2 - Geometric Records
Image: V52514013ALB.IMG
ODTSDP_v1 - Standard Products
Image: I53094006BTR.IMG
Image: V48732003RDR.QUB
Cassini - 1997 - Saturn
Imaging Science Subsystem (ISS)
Volume: 1 - Saturn EDR
Image: N1454725799_1.IMG
- Label: N1454725799_1.LBL
Volume: 1 - Narrow Angle Camera
Image: 134600.img
- Label: 134600.lbl
Volume: 1 - Wide Angle Camera
Image: 128078.img
- Label: 128078.lbl
Cassini Radar Instrument (RADAR)
Volume: 35 - ABDR
Image: ABDR_04_D035_V02.ZIP
- Label: ABDR_04_D035_V02.LBL
Volume: 35 - LBDR
Image: LBDR_14_D035_V02.ZIP
- Label: LBDR_14_D035_V02.LBL
Volume: 35 - CALIB
Image: BEAM1_V01.PAT
- Label: BEAM1_V01.LBL
Visual and Infrared Mapping Spectrometer (VIMS)
Volume: covims-unks - QUBE EDRs
Image: v1585148848_2.qub
- Label: v1585148848_2.lbl
Volume 5 - Spectral Cubes
Image: v1477775070_4.qub
- Label: v1477775070_4.lbl
Volume: 35 - BIDR
Image: BIBQD49N071_D035_T00AS01_V02.ZIP
- Label: BIBQD49N071_D035_T00AS01_V02.LBL
- NOTE: This only works after opening the zip file to retrieve the .IMG file.
ISS RDR Cartographic Map Volumes
Volume: coiss_3004 - RDR Cartographic Map
Image: ST_1M_0_324_MERCATOR.IMG
Mars Pathfinder - 1996 - Mars
Atmospheric Structure Instrument and Meteorology (ASI-MET)
mpam_0001 - Entry, Descent, and Landing ERDR
Image: r_sacc_s.tab
- Label: r_sacc_s.lbl
mpam_0001 - Surface EDR
Image: se0732s.tab
- Label: se0732s.lbl
mpam_0001 - Surface RDR
Image: sr0893s.tab
- Label: sr0893s.lbl
Imager for Mars Pathfinder EDRs
mpim_0003 - Rover Cameras
Image: i277783l.img
Rover Cameras/Alpha X-ray Spectrometer (APXS)
mprv_0001 - APXS EDR
Image: a1526159.tab
mprv_0001 - APXS DDR
Image: ox_perc.tab
mprv_0001 - Rover Cameras EDR
Image: r9599891.img
mprv_0001 - Rover Cameras Mosaicked Image Data Record
Image: r01090al.img
- Label: r01090al.haf
Mars Global Surveyor (MGS) - 1996 - Mars
-
mgsc_0005 - Decompressed Standard Data Products
Image: sp246804.img
mgsc_1006 - Standard Data Records
Image: m0002320.imq
RDRs
- This data set is being prepared for peer review; it has not been reviewed by PDS and is NOT PDS-compliant and is NOT considered to be Certified Data.
-
Shoemaker-Levy 9 - Comet - 1994
Clementine - 1994 - Moon
-
cl_0072 - Ultraviolet/Visible (UV/VIS) Camera
Image: lub0204c.313
cl_0078 - NearInfraRed (NIR) Camera
Image: lna3869l.335
cl_0058/ - Long Wave InfraRed (LWIR) Camera
Image: lla2531k.252
cl_0065 - High Resolution (HiRes) Camera
Image: lhd1540h.279
-
cl_3013
Image: bi24s333.img
- Label: bi24s333.lab
Full Resolution UVVIS Digital Image Model
cl_4009
Image: ui45s015.img
- Label: ui45s015.lab
-
cl_6016
Image: h58n3118.img
-
Galileo - 1989 - Jupiter
-
Near-Infrared Mapping Spectrometer (NIMS) EDRs
go_1005
Image: e4i015.edr
-
go_1107
Image: e6e004ti.qub
-
Magellan - 1989 - Venus
-
-
mg_1194
Image: fl05s205.img
Global Altimetry and Radiometry Data Records
mg_3002 - Global Emissivity Data Record (GEDR)
mg_3002 - Global Reflectivity Data Record (GREDR)
mg_3002 - Global Slope Data Record (GSDR)
mg_3002 - Global Topography Data Record (GTDR)
Synthetic-aperture radar (SAR) Experiment Data Records (EDRs)
Vol 1046
Image: EDR2856A.07
-
Voyager - 1977 - Interstellar Space
Imaging Science Subsystem (ISS)
vg_0011 - EDR
Image: c1138206.imq
-
VGISS_0026 - RDR
Image: C3289235_RAW.IMG
- Label: C3289235_RAW.LBL
Viking Lander - 1975 - Mars
-
vl_0001 - Viking Lander 1
Image: 12j017.n06
vl_0002 - Viking Lander 2
Image: 21e147.grn
-
The following are NOT PDS formatted volumes. They were produced by the Science Digital Data Preservation Task by copying data directly off of old, decaying tape media onto more stable CD-WO media. They have not been otherwise reformatted.
vl_2111 - Viking Lander 1
Image: vl_0901.002
vl_2112 Viking Lander 2
Image: vl_0958.003
-
Viking Orbiter - 1975 - Mars
-
vo_1063
Image: f673b55.imq
-
vo_2004
Image: mi35n227.img
-
vo_2007
Image: tg00n217.img
-
vo_2011
Image: mg00n217.sgr
High Resolution Mosaicked Digital Image Maps
vo_2020
Image: mk19s259.img
-
Mariner 10 - 1973 - Mercury and Venus
-
“The following are NOT PDS formatted volumes. They were produced by the Science Digital Data Preservation Task by copying data directly from old, decaying tape media onto more stable CD-WO media, then transferred online. They have not been otherwise reformatted.”
mvm_0013
Image: mve_050.080
-
Mariner 9 - 1971 - Mars
-
mr9iss_0007
Image: 10060584.img
- Label: 10060584.lbl
-
Contributing¶
Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.
You can contribute in many ways:
Types of Contributions¶
Report Bugs¶
Report bugs at https://github.com/planetarypy/planetaryimage/issues.
If you are reporting a bug, please include:
- Your operating system name and version.
- Any details about your local setup that might be helpful in troubleshooting.
- Detailed steps to reproduce the bug.
Fix Bugs¶
Look through the GitHub issues for bugs. Anything tagged with “bug” is open to whoever wants to implement it.
Implement Features¶
Look through the GitHub issues for features. Anything tagged with “feature” is open to whoever wants to implement it.
Write Documentation¶
planetaryimage could always use more documentation, whether as part of the official planetaryimage docs, in docstrings, or even on the web in blog posts, articles, and such.
Submit Feedback¶
The best way to send feedback is to file an issue at https://github.com/planetarypy/planetaryimage/issues.
If you are proposing a feature:
- Explain in detail how it would work.
- Keep the scope as narrow as possible, to make it easier to implement.
- Remember that this is a volunteer-driven project, and that contributions are welcome :)
Get Started!¶
Ready to contribute? Here’s how to set up planetaryimage for local development.
Fork the planetaryimage repo on GitHub.
Clone your fork locally:
$ git clone git@github.com:your_name_here/planetaryimage.git
Install your local copy into a virtualenv. Assuming you have virtualenvwrapper installed, this is how you set up your fork for local development:
$ mkvirtualenv planetaryimage $ cd planetaryimage/ $ pip install -r requirements.txt
Create a branch for local development:
$ git checkout -b name-of-your-bugfix-or-feature
Now you can make your changes locally.
When you’re done making changes, check that your changes pass flake8 and the tests, including testing other Python versions with tox:
$ make lint $ make test $ make test-all
To get flake8 and tox, just pip install them into your virtualenv.
Commit your changes and push your branch to GitHub:
$ git add . $ git commit -m "Your detailed description of your changes." $ git push origin name-of-your-bugfix-or-feature
Submit a pull request through the GitHub website.
Pull Request Guidelines¶
Before you submit a pull request, check that it meets these guidelines:
- The pull request should include tests.
- If the pull request adds functionality, the docs should be updated. Put your new functionality into a function with a docstring, and add the feature to the list in README.rst.
- The pull request should work for Python 2.6, 2.7, 3.3, 3.4, and 3.5. Check https://travis-ci.org/planetarypy/planetaryimage/pull_requests and make sure that the tests pass for all supported Python versions.
Credits¶
Development Lead¶
- PlanetaryPy Developers <contact@planetarypy.com>
Contributors¶
- Trevor Olson <trevor@heytrevor.com>
- Nikhil Kalige <nikhilkalige@gmail.com>
- Austin Godber <godber@uberhip.com>
- Bhavin Nayak <bhavin.nayak@asu.edu>
History¶
0.4.1 (2016-03-26)¶
- Fixes to saving PDS3 images files after modification of the data.
0.4.0 (2016-03-05)¶
- Added basic support for saving PDS3 images.
0.3.0 (2015-09-29)¶
- Added support for opening PDS images that are gzip or bz2 compressed.
0.2.0 (2015-06-17)¶
- Improved support for float type PDS3 image types. Many types still not supported.
0.1.0 (2015-06-03)¶
- First release on PyPI. Basic PDS and Isis Cube File parsing works.