Package: planetary_test_data
Planetary Test Data contains a list of planetary data for software testing
purposes and utilities to retrieve them.Free software: BSD licenseFeaturesDownloads a core set of sample Planetary test data into./mission_data/or./tests/mission_data/if./tests/exists.TODODownload to central cache directory and use symbolic links to share data
between projects or other locations.Find smaller example images to reduce download times.Command line usage improvementsInclude a mode that allows users to somehow specify subsets of data to
retrieve.  Perhaps selecting by mission or instrument name.Improve label testing.Include Mission Names with each product.Include product type with each product.See also the Github issues for this project.UsageTo download the core set of planetary test data install this package with pip
and then run the commandget_mission_data:pip install planetary_test_data
get_mission_dataAdditional usage options are shown below:usage: get_mission_data [-h] [--all] [--file FILE] [--dir DIR] [--tags [TAGS]]
                      [--instruments [INSTRUMENTS]] [--missions [MISSIONS]]

optional arguments:
  -h, --help            show this help message and exit
  --all, -a             Download all products.
  --file FILE, -f FILE  Override default data.json by providing path to custom
                        data.json file.
  --dir DIR, -d DIR     Directory to place test data products in.
  --tags [TAGS], -t [TAGS]
                        Retrieve products whose tags match those provided
                        here.
  --instruments [INSTRUMENTS], -i [INSTRUMENTS]
                        Get products by instrument
  --missions [MISSIONS], -m [MISSIONS]
                        Get products by missionTo get a copy of a subset ofdata.json:get_mission_jsonAdditional usage options are shown below:usage: get_mission_json [-h] [--all] [--file FILE] [--dir DIR] [--tags [TAGS]]
                      [--instruments [INSTRUMENTS]] [--missions [MISSIONS]]

optional arguments:
  -h, --help            show this help message and exit
  --all, -a             Download all products.
  --file FILE, -f FILE  Override default data.json by providing path to custom
                        data.json file.
  --dir DIR, -d DIR     Directory to place test data products in.
  --tags [TAGS], -t [TAGS]
                        Retrieve products whose tags match those provided
                        here.
  --instruments [INSTRUMENTS], -i [INSTRUMENTS]
                        Get products by instrument
  --missions [MISSIONS], -m [MISSIONS]
                        Get products by missionDescriptionRunningget_mission_datawill do the following:Iftestsdirectory exists it will createtests/mission_dataif
necessary.  Iftestsdoes not exist, it will just createmission_datain the current directory.The data prodcuts tagged to becoreproducts will be downloaded
into the download directory.Use the-aor--allflag to get all the images. This, however, is NOT
recommended for you will download over 200 images and labels.The-tor--tagswill retrieve products matched with the supplied tag.
To give multiple tags, use the flag multiple times.The-dor--dirflag can be used to save the images in a new custom
location.If there exists a customdata.jsonlocally and you would rather use that
file to download images rather than the default, use the-for--fileflag and then the path to thedata.json. This is especially
useful if there are test images needed that do not exist in or are not
part of thecorein the defaultdata.json(seeget_mission_jsonbelow).To get products by mission use the--missionor-mflag. This will
download all the products from the given mission, even noncoreproducts,
unless explicity givencoreas a tag. To specify multiple missions, use
the flag multiple times. You must spell the mission the same as spelled inMissions and Instruments(case matters!).To get products by instruments use the--instrumentsor-iflag. This
will download all the products from the given instrument, even noncoreproducts, unless explicity givencoreas a tag. To specify multiple
instruments, use the flag multiple times. You must spell the instrument the
same as spelled inMissions and Instruments(case matters!).Only products which do not exist in the download directory will be downloaded.Runningget_mission_jsonwill do the following:Create a copy ofdata.jsonin thetestsortestdirectory. This
will just be thecoredata by default. The purpose of getting a copy of
thedata.jsonis so it is easier to include images in respective
projects that are not included in the defaultdata.json. Then developers
can use the-fflag onget_mission_data(see above) to use this
customdata.json.Ifdata.jsonalready exists, an exception is raised.The same flags apply toget_mission_jsonasget_mission_data.Mission DataThe PDS mission data included in the package can be foundhere.The following are core products:0047MH0000110010100214C00_DRCL.IMG0047MH0000110010100214C00_DRCL.LBL1p134482118erp0902p2600r8m1.img1p190678905erp64kcp2600l8c1.img2p129641989eth0361p2600r8m1.img2m132591087cfd1800p2977m2f1.imgh58n3118.imgr01090al.imgIf there are products you think should be included or removed from this dataset
please file a Github issue. New images should be images from instruments that
are not already included or different file types (i.e. EDR vs RDR). New core
images should be distinctly different than the ones that exist and would expose
test and/or edge cases for multiple PlanetaryPy projects/affiliates. For
example, if there was not an RGB image included in the core products (which
there is), then that would test image would expose an edge case for many
projects. However, it is best to useget_mission_jsonto get a copy ofdata.json, add the desired test images to that json file, and then download
images usingget_mission_data-fpath/to/data.json. We recommend using amake testcommand to get the proper mission data before testing.data.json FormatThedata.jsonfile contains PDS product names, urls and other
metainformation about the product.  This structure will be extended to support
generic testing, for instance thelabelkey will be changed to a
dictionary that includes product label keys and the values found at those keys.Below is a sample snippet of adata.jsonentry:"1m298459885effa312p2956m2m1.img": {
    "instrument": "MICROSCOPIC IMAGER",
    "label": "PDS3",
    "opens": "True",
    "url": "http://pds-imaging.jpl.nasa.gov/data/mer/opportunity/mer1mo_0xxx/data/sol1918/edr/1m298459885effa312p2956m2m1.img"
},Missions and InstrumentsThe following missions and their instruments have products available for
testing:2001 Mars OdysseyThermal Emission Imaging SystemCassiniCassini RadarImaging Science SubsystemImaging Science Subsystem Narrow AngleVisual And Infrared Mapping SpectrometerChandrayaan-1Context CameraHigh Resolution Imaging Science ExperimentMars Color ImagerMoon Mineralogy MapperClementineHigh Resolution CameraLong Wave Infrared CameraNearinfrared CameraUltraviolet/Visible (Uv/Vis) CameraUltraviolet/Visible CameraESA Mars ExpressHigh Resolution Stereo CameraGalileoNear-Infrared Mapping SpectrometerSolid_State_ImagingLunar Reconnaissance OrbiterLunar Reconnaissance Orbiter CameraLyman Alpha Mapping ProjectMid Infrared Camera 1Mid Infrared Camera 2Near Infrared Camera 1Near Infrared Camera 2Near Infrared Spectrometer 1Near Infrared Spectrometer 2Total Luminance PhotometerVisible CameraVisible SpectrometerMESSENGERMercury Dual Imaging System Narrow Angle CameraMercury Dual Imaging System Narrow Angle Camera, Mercury Dual Imaging System Wide Angle CameraMercury Dual Imaging System Wide Angle CameraMagellanGlobal Topography Data RecordRadarRadar SystemSynthetic-Aperture RadarMariner 10Mariner 10Mariner 9Imaging Science SubsystemMars Exploration RoverAlpha Particle X-Ray SpectrometerDescent CameraFront Hazard Avoidance Camera LeftFront Hazard Avoidance Camera RightHazard Avoidance CameraMicroscopic ImagerMoessbauer SpectrometerNavigation CameraNavigation Camera LeftPanoramic CameraPanoramic Camera LeftPanoramic Camera RightPanoromic CameraRock Abrasion ToolMars Global SurveyorMars Orbiter Camera - Wide AngleMars Orbiter Camera Wide AngleNear Infrared Mapping SpectrometerMars PathfinderAlpha X-Ray SpectrometerAlpha X-Ray Spectrometer (Apxs)Atmospheric Structure Instrument / Meteorology PackageImager For Mars PathfinderRover Camera LeftMars Science LaboratoryFront Hazard Avoidance Camera Left String BMars Descent Imager CameraMars Hand Lens Imager CameraMast Camera LeftNavigation Camera Left String APhoenixOptical MicroscopeRobotic Arm CameraSurface Stereo ImagerViking LanderCamera_1Camera_2Viking OrbiterViking Visual Imaging SubsystemVisual_Imaging_Subsystem_Camera_A, Visual_Imaging_Subsystem_Camera_BVoyagerImaging Science SubsystemImaging Science Subsystem - Narrow Angle CameraHistory0.4.0 (2018-01-21)Made new methods/commands to get products by mission and/or instrumentMade new methods/command to get a copy of the subset of the data.json fileAdded several new productsCreated new documentationMade documentation available on RTDCreate new tests to get %100 coverage0.3.3 (2015-07-27)Added 0047MH0000110010100214C00_DRCL.IMG to the core dataset.0.3.2 (2015-07-21)Added 2m132591087cfd1800p2977m2f1.img to the core dataset.0.3.1 (2015-07-13)Updated data.json to support extended PDS product label tests.0.3.0 (2015-07-13)Rewritten to be driven by command line options rather than by file
system contents.  Runget_mission_data-hto see options.0.2.0 (2015-07-11)Updateddata.jsonto contain mission data from many more missions.0.1.1 (2015-07-09)Fixed Python 3 compativility issue.0.1.0 (2015-06-24)First release on PyPI.