Stephan et al. 2021 ROIs#

The mon-coverage contains the list of all the Ganymede and Callisto ROIs defined in Stephan et al. 2021 (PSS) paper. They are stored in a ROIsCollection object.

from planetary_coverage import CallistoROIs, GanymedeROIs

Here is an overview of their content:

GanymedeROIs
<Stephan2021ROIsCollection> 139 rois | 7 categories | 10 subcategories
CallistoROIs
<Stephan2021ROIsCollection> 85 rois | 7 categories | 10 subcategories

Represent the ROIs on a Map#

Note

The latitude and longitude of the center of the ROI was recomputed to match the bounding boxes provided in Stephan et al. 2021 (PSS) supplementary tables (see !15 for details).

fig = plt.figure(figsize=(12, 6))
ax = fig.add_subplot(projection=GANYMEDE)

ax.add_collection(GanymedeROIs)

ax.legend(handles=GanymedeROIs.handles, loc='lower center',
        bbox_to_anchor=(.5, 1), ncol=4, frameon=False);

ax1 = ax.secondary_yaxis('right')
ax1.set_yticks([])
ax1.set_ylabel('\nGanymede ROIs from Stephan et al. (PSS 2021) - Tab. SM1');
../../_images/3f4480a2e2bbd6494624e55730a56099aeb424c112e5c6da67471f48df4a7c27.png
fig = plt.figure(figsize=(12, 6))
ax = fig.add_subplot(projection=CALLISTO)

ax.add_collection(CallistoROIs)

ax.legend(handles=CallistoROIs.handles, loc='lower center',
        bbox_to_anchor=(.5, 1), ncol=3, frameon=False);

ax1 = ax.secondary_yaxis('right')
ax1.set_yticks([])
ax1.set_ylabel('\nCallisto ROIs from Stephan et al. (PSS 2021) - Tab. SM2');
../../_images/83c84b985aff62091f88f7d1f1e398e477295ed1173129482dc12ef5f4f38adf.png

List all the category and sub-category available#

You can also access the categories and sub-categories:

GanymedeROIs.categories
<CategoriesCollection> 7 categories
 - 1
 - 2
 - 3
 - 4
 - 5
 - 6
 - 7
GanymedeROIs.subcategories
<SubCategoriesCollection> 10 subcategories
 - 4.1
 - 4.2
 - 4.3
 - 4.4
 - 4.5
 - 4.6
 - 4.7
 - 6.1
 - 6.2
 - 6.3

Then, you can get the description of all the (sub-)categories very easily:

GanymedeROIs.categories[4]
<Category> 4 (Impact Crater Morphologies)
 - Description: Widest variety of crater morphologies on icy bodies
 - Science Rationale: Characterization of the ice shell and the formation of crater morphologies and evolution of the subsurface properties (GB/GD/GE)
 - Color: #9a35ff
 - Target: Ganymede
 - Doi: https://doi.org/10.1016/j.pss.2021.105324
GanymedeROIs.subcategories[4.3]
<SubCategory> 4.3 (Dome / Anomaleous Dome Craters)
 - Description: Impact craters with a central dome
 - Science Rationale: Study geology; composition; subsurface properties related to dome formation
 - Color: #9a35ff
 - Target: Ganymede
 - Doi: https://doi.org/10.1016/j.pss.2021.105324

Get a single ROI#

Important

Each ROI ids are defined as JUICE_ROI_SSS_X_Y_ZZ with SSS the target (CAL or GAN), X the category, Y the sub-category and ZZ the ROI number in the list. For example, JUICE_ROI_GAN_4_3_01 is the 1st ROI in the category 4.3 for Ganymede.

For ROI without a sub-category, we add a 0 in the ROI pattern. For example JUICE_ROI_CAL_1_0_01 is the 1st ROI of the 1st category for Callisto.

You can query for a specific ROI with its id:

roi = GanymedeROIs['JUICE_ROI_GAN_4_3_01']

roi
<ROI> JUICE_ROI_GAN_4_3_01 (Melkart)
 - Lons E: [168. 179. 179. 168.]
 - Lats: [-15. -15.  -4.  -4.]
 - Lon E: 173.5
 - Lat: -9.5
 - Description: Large complex dome crater with extended ejecta located at the border between Marius Regio and a branch of Sippar Sulcus
 - Science Rationale: Study dome formation at the border of dark and bright terrain; study influence of changing subsurface properties; investigate influence of bright terrain formation onto impact crater; study differences in Ganymede's crustal properties
 - Uvs: False
 - Janus Hr: True
 - Janus Color: False
 - Janus Stereo: True
 - Majis: True
 - Swi: False
 - Rime: True
 - Gala: True
 - Pep/Rpwi: False
 - J-Mag: False
 - Category: 4
 - Subcategory: 4.3
 - Color: #9a35ff
 - Target: Ganymede
 - Doi: https://doi.org/10.1016/j.pss.2021.105324

If you want, you can omit the JUICE_ROI_SSS_ prefix:

GanymedeROIs['4_3_01']

Or, query the ROI as a unformatted tuple:

GanymedeROIs[4, 3, 1]

ROI properties#

As a result, you end up with an ROI object that contains different properties:

roi.name
'Melkart'
roi.color  # Defined based on the category color
'#9a35ff'

You can also access its parent Category:

roi.category
<Category> 4 (Impact Crater Morphologies)
 - Description: Widest variety of crater morphologies on icy bodies
 - Science Rationale: Characterization of the ice shell and the formation of crater morphologies and evolution of the subsurface properties (GB/GD/GE)
 - Color: #9a35ff
 - Target: Ganymede
 - Doi: https://doi.org/10.1016/j.pss.2021.105324

Or, in this case its parent SubCategory:

roi.subcategory
<SubCategory> 4.3 (Dome / Anomaleous Dome Craters)
 - Description: Impact craters with a central dome
 - Science Rationale: Study geology; composition; subsurface properties related to dome formation
 - Color: #9a35ff
 - Target: Ganymede
 - Doi: https://doi.org/10.1016/j.pss.2021.105324

Explore the ROIsCollection content#

You can loop over the ROIsCollection:

for roi in GanymedeROIs:
    print(roi, roi.name)
JUICE_ROI_GAN_1_0_01 Harakhtes
JUICE_ROI_GAN_1_0_02 Xibalba Sulcus
JUICE_ROI_GAN_1_0_03 Osiris
JUICE_ROI_GAN_1_0_04 Ptah
JUICE_ROI_GAN_1_0_05 Tashmetum
JUICE_ROI_GAN_1_0_06 Hershef
JUICE_ROI_GAN_1_0_07 Galileo Regio
JUICE_ROI_GAN_1_0_08 None
JUICE_ROI_GAN_1_0_09 None
JUICE_ROI_GAN_1_0_10 None
JUICE_ROI_GAN_1_0_11 None
JUICE_ROI_GAN_1_0_12 None
JUICE_ROI_GAN_1_0_13 None
JUICE_ROI_GAN_1_0_14 Hamra Patera
JUICE_ROI_GAN_1_0_15 Adapa
JUICE_ROI_GAN_1_0_16 None
JUICE_ROI_GAN_1_0_17 Etana
JUICE_ROI_GAN_1_0_18 Kishar
JUICE_ROI_GAN_1_0_19 Hathor
JUICE_ROI_GAN_2_0_01 Hammamat Patera
JUICE_ROI_GAN_2_0_02 Natrun/Rum Patera
JUICE_ROI_GAN_2_0_03 None
JUICE_ROI_GAN_2_0_04 Musa Patera
JUICE_ROI_GAN_2_0_05 Yaroun Patera
JUICE_ROI_GAN_2_0_07 None
JUICE_ROI_GAN_2_0_08 None
JUICE_ROI_GAN_2_0_09 None
JUICE_ROI_GAN_2_0_10 None
JUICE_ROI_GAN_2_0_11 None
JUICE_ROI_GAN_2_0_12 None
JUICE_ROI_GAN_2_0_13 None
JUICE_ROI_GAN_2_0_14 None
JUICE_ROI_GAN_2_0_15 None
JUICE_ROI_GAN_2_0_16 None
JUICE_ROI_GAN_2_0_17 None
JUICE_ROI_GAN_2_0_18 Sippar Sulcus
JUICE_ROI_GAN_3_0_01 Kittu
JUICE_ROI_GAN_3_0_02 Tammuz
JUICE_ROI_GAN_3_0_03 Antum
JUICE_ROI_GAN_3_0_04 Mir
JUICE_ROI_GAN_3_0_05 None
JUICE_ROI_GAN_3_0_06 We-Ila
JUICE_ROI_GAN_3_0_07 Khensu
JUICE_ROI_GAN_3_0_08 None
JUICE_ROI_GAN_3_0_09 Humbaba
JUICE_ROI_GAN_3_0_10 None
JUICE_ROI_GAN_3_0_11 None
JUICE_ROI_GAN_3_0_12 None
JUICE_ROI_GAN_3_0_13 None
JUICE_ROI_GAN_3_0_14 None
JUICE_ROI_GAN_4_1_01 None
JUICE_ROI_GAN_4_1_02 Maa
JUICE_ROI_GAN_4_1_03 None
JUICE_ROI_GAN_4_1_04 None
JUICE_ROI_GAN_4_2_01 Ninlil
JUICE_ROI_GAN_4_2_02 None
JUICE_ROI_GAN_4_2_03 Lugalmeslam
JUICE_ROI_GAN_4_2_04 Ashima
JUICE_ROI_GAN_4_2_05 Bau
JUICE_ROI_GAN_4_2_06 None
JUICE_ROI_GAN_4_2_07 None
JUICE_ROI_GAN_4_3_01 Melkart
JUICE_ROI_GAN_4_3_02 Enkidu
JUICE_ROI_GAN_4_3_03 Hapi
JUICE_ROI_GAN_4_3_04 Irkala
JUICE_ROI_GAN_4_3_05 Seker
JUICE_ROI_GAN_4_3_06 Atra-Hasis
JUICE_ROI_GAN_4_3_07 Serapis
JUICE_ROI_GAN_4_3_08 Damkina
JUICE_ROI_GAN_4_4_01 Dendera
JUICE_ROI_GAN_4_4_02 Menhit
JUICE_ROI_GAN_4_4_03 Mor
JUICE_ROI_GAN_4_4_04 None
JUICE_ROI_GAN_4_4_05 None
JUICE_ROI_GAN_4_4_06 None
JUICE_ROI_GAN_4_4_07 None
JUICE_ROI_GAN_4_5_01 Abydos Facula
JUICE_ROI_GAN_4_5_02 Memphis Facula
JUICE_ROI_GAN_4_5_03 Epigeus
JUICE_ROI_GAN_4_5_04 Bigeh Facula
JUICE_ROI_GAN_4_5_05 None
JUICE_ROI_GAN_4_5_06 Gad
JUICE_ROI_GAN_4_5_07 Busiris
JUICE_ROI_GAN_4_5_08 Coptos
JUICE_ROI_GAN_4_5_09 Zakar
JUICE_ROI_GAN_4_6_01 Gilga-Mesh
JUICE_ROI_GAN_4_6_02 Ninki
JUICE_ROI_GAN_4_6_03 None
JUICE_ROI_GAN_4_7_01 Terah Catena
JUICE_ROI_GAN_4_7_02 None
JUICE_ROI_GAN_4_7_03 Enki Catena
JUICE_ROI_GAN_4_7_04 Nanshe Catena
JUICE_ROI_GAN_5_0_01 Amon
JUICE_ROI_GAN_5_0_02 Tros
JUICE_ROI_GAN_5_0_03 Punt
JUICE_ROI_GAN_5_0_04 None
JUICE_ROI_GAN_5_0_05 Apophis
JUICE_ROI_GAN_5_0_06 Haroeris/Ta-Urt
JUICE_ROI_GAN_5_0_07 None
JUICE_ROI_GAN_5_0_08 Shu
JUICE_ROI_GAN_5_0_09 Selket
JUICE_ROI_GAN_5_0_10 Achelous
JUICE_ROI_GAN_5_0_11 Laomedon
JUICE_ROI_GAN_5_0_12 Cisti
JUICE_ROI_GAN_6_1_01 Marius Regio I
JUICE_ROI_GAN_6_1_02 Galileo Regio
JUICE_ROI_GAN_6_1_03 Galileo Regio
JUICE_ROI_GAN_6_1_04 Perrine Regio
JUICE_ROI_GAN_6_1_05 Marius Regio Ii
JUICE_ROI_GAN_6_1_06 Marius Regio Iii
JUICE_ROI_GAN_6_1_08 Anshar Sulcus
JUICE_ROI_GAN_6_2_01 Hursag Sulcus
JUICE_ROI_GAN_6_2_02 Anshar Sulcus
JUICE_ROI_GAN_6_2_03 Kishar Sulcus
JUICE_ROI_GAN_6_2_04 Dardanus Sulcus
JUICE_ROI_GAN_6_2_05 Arbela Sulcus
JUICE_ROI_GAN_6_2_06 Elam/Nippur Sulcus
JUICE_ROI_GAN_6_2_07 Ur/Philae Sulcus
JUICE_ROI_GAN_6_3_01 Babylon Sulci I
JUICE_ROI_GAN_6_3_02 Uruk Sulcus I
JUICE_ROI_GAN_6_3_03 Uruk Sulcus Ii
JUICE_ROI_GAN_6_3_04 Mysia Sulci
JUICE_ROI_GAN_6_3_05 Phrygia Sulcus I
JUICE_ROI_GAN_6_3_06 Babylon Sulci Ii
JUICE_ROI_GAN_6_3_07 Babylon Sulci Iii
JUICE_ROI_GAN_6_3_08 Babylon Sulci Iii
JUICE_ROI_GAN_6_3_09 Babylon Sulci V
JUICE_ROI_GAN_6_3_10 Sippar Sulcus
JUICE_ROI_GAN_6_3_11 Phrygia Sulcus Ii
JUICE_ROI_GAN_6_3_12 None
JUICE_ROI_GAN_7_0_01 None
JUICE_ROI_GAN_7_0_02 Perrine Regio I
JUICE_ROI_GAN_7_0_03 Perrine Regio Ii
JUICE_ROI_GAN_7_0_04 Marius Regio I
JUICE_ROI_GAN_7_0_05 Nicholson Regio I
JUICE_ROI_GAN_7_0_06 Melotte Regio
JUICE_ROI_GAN_7_0_07 Galileo Regio
JUICE_ROI_GAN_7_0_08 Nicholson Regio Ii
JUICE_ROI_GAN_7_0_09 Marius Regio Ii

Or you can restrict you query on a given category (here the Impact Crater Morphologies):

for roi in GanymedeROIs[4]:
    print(roi, roi.name)
JUICE_ROI_GAN_4_1_01 None
JUICE_ROI_GAN_4_1_02 Maa
JUICE_ROI_GAN_4_1_03 None
JUICE_ROI_GAN_4_1_04 None
JUICE_ROI_GAN_4_2_01 Ninlil
JUICE_ROI_GAN_4_2_02 None
JUICE_ROI_GAN_4_2_03 Lugalmeslam
JUICE_ROI_GAN_4_2_04 Ashima
JUICE_ROI_GAN_4_2_05 Bau
JUICE_ROI_GAN_4_2_06 None
JUICE_ROI_GAN_4_2_07 None
JUICE_ROI_GAN_4_3_01 Melkart
JUICE_ROI_GAN_4_3_02 Enkidu
JUICE_ROI_GAN_4_3_03 Hapi
JUICE_ROI_GAN_4_3_04 Irkala
JUICE_ROI_GAN_4_3_05 Seker
JUICE_ROI_GAN_4_3_06 Atra-Hasis
JUICE_ROI_GAN_4_3_07 Serapis
JUICE_ROI_GAN_4_3_08 Damkina
JUICE_ROI_GAN_4_4_01 Dendera
JUICE_ROI_GAN_4_4_02 Menhit
JUICE_ROI_GAN_4_4_03 Mor
JUICE_ROI_GAN_4_4_04 None
JUICE_ROI_GAN_4_4_05 None
JUICE_ROI_GAN_4_4_06 None
JUICE_ROI_GAN_4_4_07 None
JUICE_ROI_GAN_4_5_01 Abydos Facula
JUICE_ROI_GAN_4_5_02 Memphis Facula
JUICE_ROI_GAN_4_5_03 Epigeus
JUICE_ROI_GAN_4_5_04 Bigeh Facula
JUICE_ROI_GAN_4_5_05 None
JUICE_ROI_GAN_4_5_06 Gad
JUICE_ROI_GAN_4_5_07 Busiris
JUICE_ROI_GAN_4_5_08 Coptos
JUICE_ROI_GAN_4_5_09 Zakar
JUICE_ROI_GAN_4_6_01 Gilga-Mesh
JUICE_ROI_GAN_4_6_02 Ninki
JUICE_ROI_GAN_4_6_03 None
JUICE_ROI_GAN_4_7_01 Terah Catena
JUICE_ROI_GAN_4_7_02 None
JUICE_ROI_GAN_4_7_03 Enki Catena
JUICE_ROI_GAN_4_7_04 Nanshe Catena

or a sub-category (here the Dome / Anomaleous Dome Craters):

for roi in GanymedeROIs[4.3]:
    print(roi, roi.name)
JUICE_ROI_GAN_4_3_01 Melkart
JUICE_ROI_GAN_4_3_02 Enkidu
JUICE_ROI_GAN_4_3_03 Hapi
JUICE_ROI_GAN_4_3_04 Irkala
JUICE_ROI_GAN_4_3_05 Seker
JUICE_ROI_GAN_4_3_06 Atra-Hasis
JUICE_ROI_GAN_4_3_07 Serapis
JUICE_ROI_GAN_4_3_08 Damkina