From fe0f96fee45d88a3e9f9d65867cc14e5dda6b0e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brigitta=20Sip=C5=91cz?= Date: Tue, 13 Oct 2026 12:55:17 -0700 Subject: [PATCH 1/2] Being more explicit about the astroquery min version --- .../openuniverse2024_firefly_visualization.md | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/tutorials/simulated-data/OpenUniverse2024/openuniverse2024_firefly_visualization.md b/tutorials/simulated-data/OpenUniverse2024/openuniverse2024_firefly_visualization.md index 2bafe7f7..fb01bb51 100644 --- a/tutorials/simulated-data/OpenUniverse2024/openuniverse2024_firefly_visualization.md +++ b/tutorials/simulated-data/OpenUniverse2024/openuniverse2024_firefly_visualization.md @@ -76,7 +76,7 @@ If you are new to OpenUniverse2024, the [Quickstart](openuniverse2024_quickstart ```{code-cell} ipython3 # Uncomment the next line to install dependencies if needed. -# !pip install numpy astropy s3fs matplotlib firefly_client astroquery hpgeom reproject +# !pip install numpy astropy s3fs matplotlib firefly_client 'astroquery>=0.4.10' hpgeom reproject ``` ```{code-cell} ipython3 @@ -179,7 +179,7 @@ def get_roman_image(coord, filter): if len(in_band) == 0: raise ValueError(f"No Roman WAS {filter}-band images cover " f"{coord.to_string('hmsdms')}") - + in_band.sort('t_min') selected_image = in_band[0] @@ -383,7 +383,7 @@ def full_frame_north_up(image, binning=4): ```{code-cell} ipython3 roman_display, roman_display_wcs = full_frame_north_up(image_roman) -plt.imshow(roman_display, origin='lower', +plt.imshow(roman_display, origin='lower', clim=stretch_color(roman_display, 1) ) @@ -521,14 +521,14 @@ A single Rubin detector therefore covers nearly twice the sky of one Roman expos ### Use matplotlib imshow to create a static visualization of the Rubin simulated image and overplot the selected position. -The Rubin figure below covers a different patch of sky than the Roman figure in Section 2. -Each is centered on its own exposure and sized to its own field of view, so the Rubin panel is nearly twice as wide on the sky as the Roman one. +The Rubin figure below covers a different patch of sky than the Roman figure in Section 2. +Each is centered on its own exposure and sized to its own field of view, so the Rubin panel is nearly twice as wide on the sky as the Roman one. What they share is the marked position, which falls inside both. ```{code-cell} ipython3 rubin_display, rubin_display_wcs = full_frame_north_up(image_rubin) -plt.imshow(rubin_display, origin='lower', +plt.imshow(rubin_display, origin='lower', clim=stretch_color(rubin_display, 1) ) @@ -573,12 +573,12 @@ rubin_data, rubin_wcs = north_up(cutout_rubin.data, cutout_rubin.wcs, cutout_siz fig, axs = plt.subplots(1, 2, figsize=(12, 6)) -axs[0].imshow(roman_data, origin='lower', +axs[0].imshow(roman_data, origin='lower', clim=stretch_color(roman_data, .5) ) axs[0].set_title(f"ROMAN in filter {filter_roman}") -axs[1].imshow(rubin_data, origin='lower', +axs[1].imshow(rubin_data, origin='lower', clim=stretch_color(rubin_data, .5) ) axs[1].set_title(f"RUBIN in filter {filter_rubin}") @@ -604,7 +604,7 @@ You also need a Firefly server to communicate with your Firefly Python client. I # Uncomment when using within Jupyter Lab with jupyter_firefly_extensions installed # fc = FireflyClient.make_lab_client() -# Uncomment for contexts other than above +# Uncomment for contexts other than above fc = FireflyClient.make_client(url="https://irsacloud.ipac.caltech.edu/firefly") fc.reinit_viewer() # to clean the state, if this cell ran earlier @@ -634,7 +634,7 @@ def https_url(s3_fpath): """ if s3_fpath is None: return None - + s3_fpath_without_bucket = s3_fpath.split('/', 1)[1] return f"https://{BUCKET_NAME}.s3.amazonaws.com/{s3_fpath_without_bucket}" ``` @@ -660,7 +660,7 @@ fc.show_fits_image(file_input=https_url(image_s3_fpath_rubin), ### Use ds9 region syntax to outline the Roman exposure on the interactive display -The Firefly client includes several methods related to controlling ds9 region overlays. To +The Firefly client includes several methods related to controlling ds9 region overlays. To overlay a region layer on the loaded FITS images, we can use [`overlay_region_layer`](https://caltech-ipac.github.io/firefly_client/api/firefly_client.FireflyClient.html#firefly_client.FireflyClient.overlay_region_layer). Region data is defined in ds9 region syntax that can be found [here](https://ds9.si.edu/doc/ref/region.html). @@ -681,7 +681,7 @@ roman_regions_id = 'roman_regions' # Name the plot explicitly. Without plot_id the layer goes to whichever plot is # active, which is not necessarily this one if cells are run out of order. fc.overlay_region_layer(region_data=roman_regions, - title='Roman exposure', + title='Roman exposure', region_layer_id=roman_regions_id, plot_id=image_ff_id_rubin) ``` @@ -743,7 +743,7 @@ dec_bounds = (roman_footprint[:, 1].min(), roman_footprint[:, 1].max()) # Define the filters to apply cat_filters = [ - f'("ra" >= {ra_bounds[0]} AND "ra" <= {ra_bounds[1]})', + f'("ra" >= {ra_bounds[0]} AND "ra" <= {ra_bounds[1]})', f'("dec" >= {dec_bounds[0]} AND "dec" <= {dec_bounds[1]})' ] cat_filters @@ -832,7 +832,7 @@ fc.add_region_data(region_data=point_region, region_layer_id=roman_regions_id, ``` -You should now see a circular region around your target of interest in both the Rubin and Roman images in Firefly. +You should now see a circular region around your target of interest in both the Rubin and Roman images in Firefly. ### Plot static side-by-side comparisons of the cutouts using matplotlib @@ -851,12 +851,12 @@ rubin_data, rubin_wcs = north_up(cutout_rubin.data, cutout_rubin.wcs, cutout_siz ```{code-cell} ipython3 fig, axs = plt.subplots(1, 2, figsize=(12, 6)) -axs[0].imshow(roman_data, origin='lower', +axs[0].imshow(roman_data, origin='lower', clim=stretch_color(roman_data, .5) ) axs[0].set_title(f"ROMAN in filter {filter_roman}") -axs[1].imshow(rubin_data, origin='lower', +axs[1].imshow(rubin_data, origin='lower', clim=stretch_color(rubin_data, .5) ) axs[1].set_title(f"RUBIN in filter {filter_rubin}") @@ -963,7 +963,7 @@ fc.align_images(lock_match=True) Even zoomed in on our source of interest, the background still looks noisy. You can use the Firefly GUI to change the stretch of the image display. We identify that linear stretch from -1 to 30 sigma highlights the colors of our source better. You can also use the Firefly client's [`set_stretch`](https://caltech-ipac.github.io/firefly_client/api/firefly_client.FireflyClient.html#firefly_client.FireflyClient.set_stretch) to do this via Python. This is helpful for reproducibility and for scaling up to many images. ```{code-cell} ipython3 -fc.set_stretch(plot_id=image_ff_id_roman_3color, stype='sigma', algorithm='linear', +fc.set_stretch(plot_id=image_ff_id_roman_3color, stype='sigma', algorithm='linear', band='ALL', lower_value=-1, upper_value=30) ``` From a7d8fa99753b4426463bcb2a046753e2b710f903 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brigitta=20Sip=C5=91cz?= Date: Tue, 13 Oct 2026 13:06:30 -0700 Subject: [PATCH 2/2] Adding pandas as indirect dependecy via pyarrow --- .../OpenUniverse2024/openuniverse2024_quickstart.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tutorials/simulated-data/OpenUniverse2024/openuniverse2024_quickstart.md b/tutorials/simulated-data/OpenUniverse2024/openuniverse2024_quickstart.md index 6f13120f..5d63a2af 100644 --- a/tutorials/simulated-data/OpenUniverse2024/openuniverse2024_quickstart.md +++ b/tutorials/simulated-data/OpenUniverse2024/openuniverse2024_quickstart.md @@ -56,7 +56,7 @@ This notebook is designed to be run sequentially from top to bottom. All code is ```{code-cell} ipython3 # Uncomment the next line to install dependencies if needed. -# !pip install numpy astropy s3fs photutils matplotlib pyarrow hpgeom astroquery +# !pip install numpy astropy s3fs photutils matplotlib pyarrow pandas hpgeom astroquery ``` ```{code-cell} ipython3 @@ -128,7 +128,7 @@ Each Roman TDS FITS file contains four extensions: a `primary` header with no da +++ -Let's display a gallery of example images to get a sense of the data. +Let's display a gallery of example images to get a sense of the data. Note this gallery can take about a minute to build. ```{code-cell} ipython3