How to Browse Roman Observations#


Learning Goals#

This is a beginner tutorial on browsing observations and data products from the Roman Space Telescope available on MAST. We’ll explore Roman observation metadata and viewing results interactively. By the end of this tutorial, you will:

  • Understand the structure of Roman observation metadata.

  • Be able to view and explore observation query results with mast-table.

  • Know how to visualize observation footprints with mast-aladin.

Introduction#

This tutorial shows you how to explore Roman observations from MAST interactively in a Jupyter notebook.

You’ll use two Python packages:

  • mast-table to view observation data in an interactive table.

  • mast-aladin to visualize observation footprints on a sky map.

About the Data#

Note: Roman Space Telescope observations are not yet publicly available. This tutorial uses representative cached data from simulated Roman observations to demonstrate the interactive visualization features of mast-table and mast-aladin.

Imports#

We will import the following in this tutorial:

  • astropy.table.Table: work with tabular data in ECSV format.

  • mast_table.MastTable: interactive widget for browsing observation data.

  • mast_aladin.MastAladin: interactive sky map widget for visualizing observation footprints.

from astropy.table import Table

from mast_aladin import MastAladin
from mast_table import MastTable

Loading Roman Observation Data#

In this section, we load cached Roman observation data and explore the available metadata columns.

Searchable Column List#

First, let’s load the list of searchable columns available in the Roman metadata:

# When Roman data are publicly available in the archive, you can retrieve the
# column list like this:
# from astroquery.mast import MastMissions
# mast = MastMissions(mission="roman")
# columns = mast.get_column_list()

# Until then, we load representative Roman query results from cache:
columns = Table.read("data/roman_columns.ecsv", format="ascii.ecsv")
print(f"Found {len(columns)} searchable columns. First 10:\n")
for row in columns[:10]:
    print(f"  {row['name']:30s} ({row['data_type']})")
Found 147 searchable columns. First 10:

  search_pos                     (string)
  fileSetName                    (string)
  dataset_category               (string)
  productLevel                   (string)
  optical_element                (string)
  exposure_time                  (float)
  visit_start_time               (datetime)
  program                        (integer)
  pass                           (int)
  segment                        (int)

Loading Observation Data#

Now load the cached observation data. This dataset contains observations from RA=270°, Dec=66° with the F146 filter (a Roman WFI wide-band filter). The data includes all available metadata columns, including the s_region polygon used for footprint visualization.

# When Roman data are publicly available in the archive, you can query for
# observations like this:
# import astropy.units as u
# from astropy.coordinates import SkyCoord
# target = SkyCoord(ra=270, dec=66, unit="deg")
# roman_obs = mast.query_region(
#     target,
#     radius=0.3 * u.deg,
#     optical_element="F146",
#     select_cols="*",
# )

# Until then, we load representative Roman query results from cache:
roman_obs = Table.read("data/roman_obs_f146.ecsv", format="ascii.ecsv")

print(f"Found {len(roman_obs)} Roman observations with F146 filter")
roman_obs[:5]
Found 84 Roman observations with F146 filter
Table length=5
search_posfileSetNamedataset_categoryproductLeveloptical_elementexposure_timevisit_start_timeprogrampasssegmentexposure_typeprogram_categoryprogram_subcategorydata_releaseprogram_titledetectororigincalibration_software_versionArchiveFileIDx_refy_refpixel_scale_refpixel_scaleprojectionimage_shaperadecorientationorientation_refskycell_nametelescoperotation_matrixreference_framescience_categorycalibration_software_namedata_release_idprd_versionproduct_typeexecution_planexposure_groupingmax_exposure_timemodel_typeobservationfiledatetime_meaninvestigator_nameinstrument_namevisitexposure_start_timeexposure_end_timeengineering_qualityexposure_nresultantsexposure_data_problemexposure_frame_timeeffective_exposure_timema_table_namema_table_numberma_table_idread_patternexposure_truncateds_regionaccessactiveaperture_namebankconversion_megajanskysconversion_megajanskys_uncertaintycountscrds_contextcrds_versiondec_referencedec_v1dither_executed_patterndither_primary_namedither_subpixel_nameelectronicsephemeris_reference_frameephemeris_timeephemeris_typeepochgood_pixel_fractionguide_modeguide_star_idguide_window_idimage_medianimage_rmsledobservation_idpa_aperturepa_v3pixel_areapointing_engineering_sourcera_referencera_v1roll_refscale_factorsdf_software_versionspatial_xspatial_yspatial_ztarget_aperturetarget_dectarget_rav2_refv3_refv3yanglevelocity_xvelocity_yvelocity_zvisit_file_activityvisit_file_groupvisit_file_sequencevisit_idvisit_internal_targetvisit_nexposuresvisit_typevparitywfi_parallelwindow_xstartwindow_xstopwindow_ystartwindow_ystopzodiacal_lightcatalog_idcdp_ctxditherfile_numberg2dp_run_idnum_srcoptical_modelphot_filter_cut_offprogram_completeunit_fluxunit_wlvisit_exptimewcs_field_center_decwcs_field_center_rawl_contamination_rangewl_referencewl_snr_global_rangemsos_detection_efficiency_versionmsos_events_versionmsos_photometry_versionseasonsequenceang_sepsearch_key
str6str42str8str7str4float64str19int64str1str1str9str3str3str12str11str5str9str5str7float64float64float64float64str3str12float64float64float64float64str12str5str25str4str4str8float64int64str13int64str15float64str26int64str27str27str4str3int64str27str27str2int64str1float64int64str1int64str7str267boolstr121str7str1str10str1float64float64int64str15str6float64float64str2str1str1str1str1float64str10str1float64str7str1str1float64float64str1str23float64float64float64str10float64float64float64float64str1float64float64float64str7float64float64float64float64float64float64float64float64str2int64int64str19str1int64str19int64str1int64int64int64int64float64int64int64float64int64str1int64str1str1str1str1str1float64float64float64str1float64str1str1str1str1str1int64float64str7
270 66r00004_r0_full_270p65x69y50_f146skycell3, 4F146396.3476328314121--4--1--?CALHLWAS - DR 0?--STSCI/SOC1.0.040639702499.5-88700.51.527777777777778e-051.527100503763466e-05TAN[5000, 5000]270.065.995431775271840.00.0270p65x69y50ROMAN[[1.0, 0.0], [-0.0, 1.0]]ICRS?RomanCAL----p_visit_coadd1--597.7069702148438MosaicSegmentationMapModel12026-06-08T17:32:59.97200002027-06-01T00:00:00?WFI--2027-06-01T00:00:00----------------------POLYGON ICRS 269.906278732 65.957230772 269.906000936 66.033574401 270.093999064 66.033574401 270.093721268 65.957230772PENDING----------------------------------------------------------------------------------------------------------------------------------------------------------------------0.04063970
270 66r00004_r0_p01001_270p65x69y50_f146skycell3, 4F146270.2572648219062--411--?CALHLWAS - DR 0?--STSCI/SOC1.0.040629562499.5-88700.51.527777777777778e-051.527100503763466e-05TAN[5000, 5000]270.065.995431775271840.00.0270p65x69y50ROMAN[[1.0, 0.0], [-0.0, 1.0]]ICRS?RomanCAL----p_visit_coadd1--398.4713134765625MosaicSegmentationMapModel12026-06-08T17:31:08.76000002027-06-01T00:00:00?WFI--2027-06-01T00:00:00----------------------POLYGON ICRS 269.906278732 65.957230772 269.906000936 66.033574401 270.093999064 66.033574401 270.093721268 65.957230772PENDING----------------------------------------------------------------------------------------------------------------------------------------------------------------------0.04062956
270 66r00004_r0_p01002_270p65x69y50_f146skycell3, 4F146199.2356262208502--421--?CALHLWAS - DR 0?--STSCI/SOC1.0.040635832499.5-88700.51.527777777777778e-051.527100503763466e-05TAN[5000, 5000]270.065.995431775271840.00.0270p65x69y50ROMAN[[1.0, 0.0], [-0.0, 1.0]]ICRS?RomanCAL----p_visit_coadd1v01002001001001199.2356872558594MosaicSegmentationMapModel12026-06-08T17:30:03.60100002027-06-01T00:00:00?WFI12027-06-01T00:00:00----------------------POLYGON ICRS 269.906278732 65.957230772 269.906000936 66.033574401 270.093999064 66.033574401 270.093721268 65.957230772PENDING----------------------------------------------------------------------------------------------------------------------------------------------------------------------0.04063583
270 66r0000401001001001002_0005_wfi01_f146detector1, 2, 4F146199.235632020-01-01T00:00:00411WFI_IMAGE?CAL--?WFI01STSCI/SOC1.0.04059001------------269.893360906053266.06050944442256------ROMAN--ICRS?RomanCAL----l21----SegmentationMapModel12026-06-08T14:01:44.4930000--?WFI22027-06-01T00:00:002027-06-01T00:03:19.2360000OK12?3.16247199?5SCI0005[[1], [2], [3, 4], [5, 6, 7, 8, 9, 10], [11, 12, 13, 14, 15, 16], [17, 18, 19, 20, 21, 22], [23, 24, 25, 26, 27, 28], [29, 30, 31, 32, 33, 34], [35, 36, 37, 38, 39, 40, 41, 42], [43, 44, 45, 46, 47, 48, 49, 50, 51, 52], [53, 54, 55, 56, 57, 58, 59, 60, 61, 62], [63]]TruePOLYGON ICRS 270.047933122 65.999265019 270.047727002 66.122228516 269.737464178 66.122195179 269.740800796 65.999341614PUBLICFWFI01_FULL10.24039322273833710.009352363628198133-999999roman_0054.pmap13.0.666.0605094444225666.5210001713326[]??A?61557.0DEFINITIVE?0.9990696961370399WIM-ACQ??1.070639014244080.063774846494197851000040100100100100200050.059.999051872238392.808338995372751e-13CALCULATED269.8933609060532270.06097980084859.846499277084321.000000345562061?-52044463.08234682-131312741.3110773-56910542.46910208WFI_CEN66.025270.0611312.94914524848-1040.785372675504-60.027.50790709460299-9.484643417914059-4.11214949424479801010000401001001001002F-999999GENERAL_ENGINEERING-1F-999999-999983-999999-999983-1.0--------------------------------------------0.04059001
270 66r0000401001001001001_0005_wfi10_f146detector1, 2, 4F146199.235632020-01-01T00:00:00411WFI_IMAGE?CAL--?WFI10STSCI/SOC1.0.04059272------------270.166843206365866.03552103957715------ROMAN--ICRS?RomanCAL----l21----SegmentationMapModel12026-06-08T14:25:23.4680000--?WFI12027-06-01T00:00:002027-06-01T00:03:19.2360000OK12?3.16247199?5SCI0005[[1], [2], [3, 4], [5, 6, 7, 8, 9, 10], [11, 12, 13, 14, 15, 16], [17, 18, 19, 20, 21, 22], [23, 24, 25, 26, 27, 28], [29, 30, 31, 32, 33, 34], [35, 36, 37, 38, 39, 40, 41, 42], [43, 44, 45, 46, 47, 48, 49, 50, 51, 52], [53, 54, 55, 56, 57, 58, 59, 60, 61, 62], [63]]TruePOLYGON ICRS 270.319355029 65.974344550 270.322525191 66.097218855 270.012545414 66.097236432 270.012492285 65.974275140PUBLICFWFI10_FULL10.23419634455165320.00911127755471677-999999roman_0054.pmap13.0.666.0355210395771566.49600017133261[]??A?61557.0DEFINITIVE?0.9998861279828125WIM-ACQ??1.0976626873016360.065303295850753781000040100100100100100050.059.999051896586072.808606467157983e-13CALCULATED270.1668432063658269.999979821115960.152451047200541.000000345562061?-52044463.08234682-131312741.3110773-56910542.46910208WFI_CEN66.0270.01557.339968333944-617.4160501879029-60.027.50790709460299-9.484643417914059-4.11214949424479801010000401001001001001F-999999GENERAL_ENGINEERING-1F-999999-999983-999999-999983-1.0--------------------------------------------0.0050857869444444454059272

Observations across product levels. This dataset includes all processing levels (1=raw, 2=calibrated, 3=resampled, 4=high-level) for the same sky region:

# When Roman data are publicly available in the archive, query across all
# product levels:
# all_obs = mast.query_criteria(
#     coordinates=target,
#     radius=0.3 * u.deg,
#     productLevel=["1", "2", "3", "4"],
#     select_cols="*",
# )

# Until then, we load representative Roman query results from cache:
all_obs = Table.read("data/all_obs.ecsv", format="ascii.ecsv")

print(f"Found {len(all_obs)} observations across all processing levels")
all_obs[:3]
Found 803 observations across all processing levels
Table length=3
search_posfileSetNamedataset_categoryproductLeveloptical_elementexposure_timevisit_start_timeprogrampasssegmentexposure_typeprogram_categoryprogram_subcategorydata_releaseprogram_titledetectororigincalibration_software_versionArchiveFileIDx_refy_refpixel_scale_refpixel_scaleprojectionimage_shaperadecorientationorientation_refskycell_nametelescoperotation_matrixreference_framescience_categorycalibration_software_namedata_release_idprd_versionproduct_typeexecution_planexposure_groupingmax_exposure_timemodel_typeobservationfiledatetime_meaninvestigator_nameinstrument_namevisitexposure_start_timeexposure_end_timeengineering_qualityexposure_nresultantsexposure_data_problemexposure_frame_timeeffective_exposure_timema_table_namema_table_numberma_table_idread_patternexposure_truncateds_regionaccessactiveaperture_namebankconversion_megajanskysconversion_megajanskys_uncertaintycountscrds_contextcrds_versiondec_referencedec_v1dither_executed_patterndither_primary_namedither_subpixel_nameelectronicsephemeris_reference_frameephemeris_timeephemeris_typeepochgood_pixel_fractionguide_modeguide_star_idguide_window_idimage_medianimage_rmsledobservation_idpa_aperturepa_v3pixel_areapointing_engineering_sourcera_referencera_v1roll_refscale_factorsdf_software_versionspatial_xspatial_yspatial_ztarget_aperturetarget_dectarget_rav2_refv3_refv3yanglevelocity_xvelocity_yvelocity_zvisit_file_activityvisit_file_groupvisit_file_sequencevisit_idvisit_internal_targetvisit_nexposuresvisit_typevparitywfi_parallelwindow_xstartwindow_xstopwindow_ystartwindow_ystopzodiacal_lightcatalog_idcdp_ctxditherfile_numberg2dp_run_idnum_srcoptical_modelphot_filter_cut_offprogram_completeunit_fluxunit_wlvisit_exptimewcs_field_center_decwcs_field_center_rawl_contamination_rangewl_referencewl_snr_global_rangemsos_detection_efficiency_versionmsos_events_versionmsos_photometry_versionseasonsequenceang_sepsearch_key
str6str53str12str7str5float64str19int64str1str1str12str3str4str12str11str5str9str5str7float64float64float64float64str3str12float64float64float64float64str12str5str25str7str4str8float64int64str13int64str15float64str26int64str27str27str4str3int64str27str27str2int64str1float64int64str1int64str7str267boolstr121str7str1str10str1float64float64int64str15str6float64float64str2str1str1str1str1float64str10str1float64str7str1str1float64float64str1str23float64float64float64str10float64float64float64float64str1float64float64float64str7float64float64float64float64float64float64float64float64str2int64int64str19str1int64str19int64str1int64int64int64int64float64int64int64float64int64str7int64str7str7str1str7str7float64float64float64str7float64str7str7str7str7str2int64float64str7
270 66r00004_p_v01001001001001_270p65x69y50_f062skycell3, 4F062199.2356262173636--411--?CAL--?--STSCI/SOC1.0.040594732499.5-88700.51.527777777777778e-051.527100503763466e-05TAN[5000, 5000]270.065.995431775271840.00.0270p65x69y50ROMAN[[1.0, 0.0], [-0.0, 1.0]]ICRS?RomanCAL----p_visit_coadd1v01001001001001199.2356872558594MosaicSegmentationMapModel12026-06-08T15:09:43.81000002027-06-01T00:00:00?WFI12027-06-01T00:00:00----------------------POLYGON ICRS 269.906278732 65.957230772 269.906000936 66.033574401 270.093999064 66.033574401 270.093721268 65.957230772PUBLIC----------------------------------------------------------------------------------------------------------------------------------------------------------------------0.04059473
270 66r00004_p_v01001001001002_270p65x69y50_f062skycell3, 4F062199.2356262243796--411--?CAL--?--STSCI/SOC1.0.040598872499.5-88700.51.527777777777778e-051.527100503763466e-05TAN[5000, 5000]270.065.995431775271840.00.0270p65x69y50ROMAN[[1.0, 0.0], [-0.0, 1.0]]ICRS?RomanCAL----p_visit_coadd1v01001001001002199.2357025146484MosaicSegmentationMapModel12026-06-08T16:04:47.41800002027-06-01T00:00:00?WFI22027-06-01T00:00:00----------------------POLYGON ICRS 269.906278732 65.957230772 269.906000936 66.033574401 270.093999064 66.033574401 270.093721268 65.957230772PUBLIC----------------------------------------------------------------------------------------------------------------------------------------------------------------------0.04059887
270 66r00004_p_v01002001001001_270p65x69y50_f062skycell3, 4F062199.2356262192821--421--?CAL--?--STSCI/SOC1.0.040597142499.5-88700.51.527777777777778e-051.527100503763466e-05TAN[5000, 5000]270.065.995431775271840.00.0270p65x69y50ROMAN[[1.0, 0.0], [-0.0, 1.0]]ICRS?RomanCAL----p_visit_coadd1v01002001001001199.2356872558594MosaicSegmentationMapModel12026-06-08T16:02:35.87900002027-06-01T00:00:00?WFI12027-06-01T00:00:00----------------------POLYGON ICRS 269.906278732 65.957230772 269.906000936 66.033574401 270.093999064 66.033574401 270.093721268 65.957230772PUBLIC----------------------------------------------------------------------------------------------------------------------------------------------------------------------0.04059714

The results are returned as an astropy.table.Table. Useful columns include:

  • fileSetName: unique identifier for the observation file set.

  • productLevel: processing level (1=raw, 2=calibrated, 3=resampled, 4=high-level).

  • optical_element: filter used (F062, F087, F106, F129, F146, F158, F184 for WFI).

  • exposure_time: exposure time in seconds.

  • detector: detector identifier (WFI01 to WFI18 for the WFI mosaic).

  • program: program ID number.

  • s_region: sky-region footprint as an STC-S POLYGON string.

Another Sky Position#

Here’s another dataset from a different sky position near the galactic center (RA=266.4°, Dec=-29.0°):

# When Roman data are publicly available in the archive, query near the
# galactic center:
# galactic_center = SkyCoord(ra=266.4, dec=-29.0, unit="deg")
# position_obs = mast.query_criteria(
#     coordinates=galactic_center,
#     radius=0.5 * u.deg,
#     productLevel=["1", "2", "3", "4"],
#     select_cols="*",
# )

# Until then, we load representative Roman query results from cache:
position_obs = Table.read("data/position_obs.ecsv", format="ascii.ecsv")

print(f"Found {len(position_obs)} observations near the galactic center")
position_obs[:5]
Found 778 observations near the galactic center
Table length=5
search_posfileSetNamedataset_categoryproductLeveloptical_elementexposure_timevisit_start_timeprogrampasssegmentexposure_typeprogram_categoryprogram_subcategorydata_releaseprogram_titledetectororigincalibration_software_versionArchiveFileIDx_refy_refpixel_scale_refpixel_scaleprojectionimage_shaperadecorientationorientation_refskycell_nametelescoperotation_matrixreference_framescience_categorycalibration_software_namedata_release_idprd_versionproduct_typeexecution_planexposure_groupingmax_exposure_timemodel_typeobservationfiledatetime_meaninvestigator_nameinstrument_namevisitexposure_start_timeexposure_end_timeengineering_qualityexposure_nresultantsexposure_data_problemexposure_frame_timeeffective_exposure_timema_table_namema_table_numberma_table_idread_patternexposure_truncateds_regionaccessactiveaperture_namebankconversion_megajanskysconversion_megajanskys_uncertaintycountscrds_contextcrds_versiondec_referencedec_v1dither_executed_patterndither_primary_namedither_subpixel_nameelectronicsephemeris_reference_frameephemeris_timeephemeris_typeepochgood_pixel_fractionguide_modeguide_star_idguide_window_idimage_medianimage_rmsledobservation_idpa_aperturepa_v3pixel_areapointing_engineering_sourcera_referencera_v1roll_refscale_factorsdf_software_versionspatial_xspatial_yspatial_ztarget_aperturetarget_dectarget_rav2_refv3_refv3yanglevelocity_xvelocity_yvelocity_zvisit_file_activityvisit_file_groupvisit_file_sequencevisit_idvisit_internal_targetvisit_nexposuresvisit_typevparitywfi_parallelwindow_xstartwindow_xstopwindow_ystartwindow_ystopzodiacal_lightcatalog_idcdp_ctxditherfile_numberg2dp_run_idnum_srcoptical_modelphot_filter_cut_offprogram_completeunit_fluxunit_wlvisit_exptimewcs_field_center_decwcs_field_center_rawl_contamination_rangewl_referencewl_snr_global_rangemsos_detection_efficiency_versionmsos_events_versionmsos_photometry_versionseasonsequenceang_sepsearch_key
str9str36str8str7str4float64str27int64str1str1str9str3str4str1str11str5str9str5str7float64float64float64float64str1str1float64float64float64float64str1str5str1str4str4str1float64int64str2int64str1float64str20int64str27str1str13str3int64str27str27str2int64str1float64int64str7int64str7str85boolstr125str6str1str10str4float64float64int64str15str6float64float64str2str4str4str4str7float64str10str1float64str9str10str20float64float64str4str28float64float64float64str10float64float64float64float64str8float64float64float64str7float64float64float64float64float64float64float64float64str2int64int64str19str1int64str20int64str1int64int64int64int64float64int64int64float64int64str1int64str1str1str1str1str1float64float64float64str1float64str1str1str1str1str1int64float64str7
266.4 -29r0018501001001001002_0001_wfi10_f146detector1, 2, 4F14666.411882027-08-28T01:04:24.147000018511WFI_IMAGECCSGBTD--WFI_IMAGINGWFI10STSCI/SOC1.0.14597767------------266.4304986809415-28.99299779791027------ROMAN--ICRSNone------l21----SegmentationMapModel12026-07-09T22:49:59.3150000--Mutchler, MaxWFI22027-08-28T01:06:15.36300002027-08-28T01:07:24.9370000OK6?3.1624766IM_66_61002SCI1002[[1], [2, 3], [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], [17, 18, 19, 20], [21]]TruePOLYGON ICRS 266.402122703 -28.909504523 266.333218980 -29.016567812 266.458964007 -29.077295531 266.527162014 -28.969775755PUBLICFWFI10_FULLNone0.23419634455165320.009111277554716770roman_0056.pmap13.0.6-28.9935667787677-29.42825730856501[]NONENONENoneEME200061644.54166666666DEFINITIVE?0.4528883999180456WIM-TRACKPGS1000001001850100100100100210.0027385253924876450.0002187767968280241None0018501001001001002031010001-90.9542117592229269.13718602670672.808606467157983e-13CALCULATED266.4329823531054266.2418912198221-90.95421175922290.99990781906286472026.2.3136751453.0755229-62336583.5430449-27106614.72661682WFI_CEN-28.99473830513878266.51799888262891557.339968333944-617.4160501879029-60.012.9390822533200324.8588549849224710.7915565162882201310018501001001001002F1PRIME_TARGETED_FIXED-1F3017308019171980-1.0--------------------------------------------0.04597767
266.4 -29r0018501001001002002_0001_wfi10_f146detector1, 2, 4F14666.411882027-08-28T01:20:22.254000018511WFI_IMAGECCSGBTD--WFI_IMAGINGWFI10STSCI/SOC1.0.14597608------------266.4304976107879-28.99301463337075------ROMAN--ICRSNone------l21----SegmentationMapModel22026-07-09T22:48:26.1620000--Mutchler, MaxWFI22027-08-28T01:22:13.57100002027-08-28T01:23:23.1450000OK6?3.1624766IM_66_61002SCI1002[[1], [2, 3], [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], [17, 18, 19, 20], [21]]TruePOLYGON ICRS 266.402123573 -28.909520852 266.333217345 -29.016582912 266.458960975 -29.077312874 266.527161501 -28.969794315PUBLICFWFI10_FULLNone0.23419634455165320.009111277554716770roman_0056.pmap13.0.6-28.99358361579991-29.42827077986684[]NONENONENoneEME200061644.54166666666DEFINITIVE?0.4528883999180456WIM-TRACKPGS1000001001850100100100200210.0027385253924876450.0002187767968280241None0018501001001002002031010001-90.95304342032429269.13835939597562.808606467157983e-13CALCULATED266.4329812832518266.2418799312824-90.953043420324290.99990781906516322026.2.3136751453.0755229-62336583.5430449-27106614.72661682WFI_CEN-28.99475670122298266.5179977867891557.339968333944-617.4160501879029-60.012.9390822533200324.8588549849224710.7915565162882201310018501001001002002F1PRIME_TARGETED_FIXED-1F3017308019171980-1.0--------------------------------------------0.04597608
266.4 -29r0018501001001003002_0001_wfi10_f146detector1, 2, 4F14666.411882027-08-28T01:38:13.250000018511WFI_IMAGECCSGBTD--WFI_IMAGINGWFI10STSCI/SOC1.0.14597043------------266.4305001000669-28.99295965644523------ROMAN--ICRSNone------l21----SegmentationMapModel32026-07-09T22:45:19.5130000--Mutchler, MaxWFI22027-08-28T01:40:04.39800002027-08-28T01:41:13.9730000OK6?3.1624766IM_66_61002SCI1002[[1], [2, 3], [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], [17, 18, 19, 20], [21]]TruePOLYGON ICRS 266.402128055 -28.909465361 266.333219328 -29.016526171 266.458961449 -29.077258413 266.527164490 -28.969741091PUBLICFWFI10_FULLNone0.23419634455165320.009111277554716770roman_0056.pmap13.0.6-28.99352863376036-29.42821238280238[]NONENONENoneEME200061644.54166666666DEFINITIVE?0.4528883999180456WIM-TRACKPGS1000001001850100100100300210.0027385253924876450.0002187767968280241None0018501001001003002031010001-90.95185556904022269.1395520891032.808606467157983e-13CALCULATED266.4329837714532266.2418721654874-90.951855569040220.99990781905707552026.2.3136751453.0755229-62336583.5430449-27106614.72661682WFI_CEN-28.99470331106842266.51800018889991557.339968333944-617.4160501879029-60.012.9390822533200324.8588549849224710.7915565162882201310018501001001003002F1PRIME_TARGETED_FIXED-1F3017308019171980-1.0--------------------------------------------0.04597043
266.4 -29r0018501001001004002_0001_wfi10_f146detector1, 2, 4F14666.411882027-08-28T01:53:38.626000018511WFI_IMAGECCSGBTD--WFI_IMAGINGWFI10STSCI/SOC1.0.14600929------------266.4305039663307-28.99286924315706------ROMAN--ICRSNone------l21----SegmentationMapModel42026-07-09T23:43:57.6680000--Mutchler, MaxWFI22027-08-28T01:55:29.86400002027-08-28T01:56:39.4380000OK6?3.1624766IM_66_61002SCI1002[[1], [2, 3], [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], [17, 18, 19, 20], [21]]TruePOLYGON ICRS 266.402133922 -28.909374433 266.333222722 -29.016433995 266.458963293 -29.077168515 266.527168823 -28.969652429PUBLICFWFI10_FULLNone0.23419634455165320.009111277554716770roman_0056.pmap13.0.6-28.99343821206599-29.42811855220252[]NONENONENoneEME200061644.54166666666DEFINITIVE?0.4528883999180456WIM-TRACKPGS1000001001850100100100400210.0027385253924876450.0002187767968280241None0018501001001004002031010001-90.9506686980288269.14074366377462.808606467157983e-13CALCULATED266.4329876359226266.2418658511324-90.95066869802880.9999078190436432026.2.3136751453.0755229-62336583.5430449-27106614.72661682WFI_CEN-28.99461448328239266.51800393800071557.339968333944-617.4160501879029-60.012.9390822533200324.8588549849224710.7915565162882201310018501001001004002F1PRIME_TARGETED_FIXED-1F3017308019171980-1.0--------------------------------------------0.04600929
266.4 -29r0018501001001005002_0001_wfi10_f146detector1, 2, 4F14666.411882027-08-28T02:09:13.370000018511WFI_IMAGECCSGBTD--WFI_IMAGINGWFI10STSCI/SOC1.0.14602599------------266.4304522817103-28.99284176521378------ROMAN--ICRSNone------l21----SegmentationMapModel52026-07-09T23:51:02.4160000--Mutchler, MaxWFI22027-08-28T02:11:04.63300002027-08-28T02:12:14.2070000OK6?3.1624766IM_66_61002SCI1002[[1], [2, 3], [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], [17, 18, 19, 20], [21]]TruePOLYGON ICRS 266.402084227 -28.909346439 266.333170504 -29.016404749 266.458909596 -29.077141555 266.527117665 -28.969626709PUBLICFWFI10_FULLNone0.23419634455165320.009111277554716770roman_0056.pmap13.0.6-28.99341073253949-29.42808764476068[]NONENONENoneEME200061644.54166666666DEFINITIVE?0.4528883999180456WIM-TRACKPGS1000001001850100100100500210.0027385253924876450.0002187767968280241None0018501001001005002031010001-90.94947777885747269.14193954165072.808606467157983e-13CALCULATED266.4329359455928266.2418038338025-90.949477778857470.99990781900896592026.2.3136751453.0755229-62336583.5430449-27106614.72661682WFI_CEN-28.99458859617456266.51795218930541557.339968333944-617.4160501879029-60.012.9390822533200324.8588549849224710.7915565162882201310018501001001005002F1PRIME_TARGETED_FIXED-1F3017308019171980-1.0--------------------------------------------0.04602599

Viewing Results with mast-table#

mast-table is an interactive Jupyter widget for browsing observation metadata tables. It supports pagination, column sorting, search-based filtering, and column visibility toggles: all without leaving the notebook.

Creating an Interactive Table#

Pass the Astropy table to MastTable to create an interactive widget:

# Create an interactive table widget from the observation data.
table_widget = MastTable(roman_obs)
table_widget

The table widget displays above with several interactive features:

  • Pagination controls at the bottom right to navigate through pages of results.

  • Column sorting: click on a column header to sort by that column.

  • Search box: filter rows by typing in the search field.

  • Column visibility: toggle which columns are displayed.

Exploring Table Features#

Try the following to explore the table’s capabilities:

  1. Change pages. Use the arrow buttons at the bottom right to view different pages of results.

  2. Sort data. Click on the optical_element column header to sort observations by filter.

  3. Search. Try typing a program ID (for example, 185) in the search box to filter the table.

  4. Adjust page size. Use the “Rows per page” dropdown to display more or fewer results at once.

For a deeper dive on customizing mast-table, see the companion notebook Inspect Long Tables.


Visualizing Footprints with mast-aladin#

For a spatial view of the observations, mast-aladin renders an interactive sky map (powered by Aladin Lite) directly in the notebook. This is particularly useful for understanding the sky coverage of Roman observations and how they overlap.

Loading Footprints#

Create an Aladin widget centered on the target region (RA=270°, Dec=66°). The sky map can then be overlaid with the polygon footprint of each Roman observation.

# Create an Aladin widget centered on the target region (RA=270, Dec=66).
aladin = MastAladin(
    target="270 66",
    fov=1.0,  # Field of view in degrees.
    height=500,
)
aladin

Interactive Sky View#

The Aladin widget provides several interactive features:

  • Pan. Click and drag to move around the sky.

  • Zoom. Use the scroll wheel or the zoom controls.

  • Layers. Toggle different survey layers (e.g., DSS, 2MASS) using the layer controls.

  • Footprints. Observation footprints can be displayed as polygons.

Roman footprints are stored in the s_region column as STC-S POLYGON strings, which mast-aladin can overlay directly:

# Overlay Roman observation footprints on the Aladin sky map.
if len(roman_obs) > 0 and "s_region" in roman_obs.colnames:
    aladin.add_graphic_overlay_from_stcs(
        roman_obs["s_region"],
        color="cyan",
        opacity=0.5,
    )
    print(f"Added {len(roman_obs)} observation footprints to the map")
else:
    print("No footprint data available")
Added 84 observation footprints to the map

The cyan polygons show the actual sky coverage of each Roman observation in the dataset. Scroll back to the Aladin widget above to inspect them: you can pan, zoom, and toggle background surveys to see how Roman tiles overlap real reference imagery. For more options, see the mast-aladin documentation.


Additional Resources#

Citations#

If you use astroquery, astropy, mast-table, or mast-aladin for published research, please cite the authors. Follow these links for more information:

About This Notebook#

Author: Hatice Karatay
Keywords: Roman, MAST, astroquery, mast-table, mast-aladin, observations
First published: July 2026
Last updated: July 2026


Top of Page Space Telescope Logo