Skip to content

Rolgim/Azumy

Repository files navigation

image

Web interface for Azulero by A. Basset and Eummy by M. Schirmer - two pipelines designed to produce color images from Euclid space telescope data.

Overview

Azumy wraps the azul and eummy command-line pipelines into a browser-based interface. It covers the full workflow:

Step Command Description
Find azul find Locate tile indices from object names or sky coordinates
Retrieve azul retrieve Download MER FITS files from ESA archives
Crop azul crop Visually select a region of interest on the VIS channel
Process azul process or eummy Render a color sRGB image from IYJH channels

Screenshot of the interface: image

Requirements

  • Docker and Docker Compose
  • Internet access (ESA data archives)
  • Optionally: ESA IDR or EC DSS credentials for private data access

Quick start

git clone https://github.com/Rolgim/Azumy.git
cd Azumy
chmod +x run.sh
./run.sh

On first run, the script will ask:

  1. Workspace path — where FITS files and output images will be stored
  2. IDR credentials — username/password for easidr.esac.esa.int (optional)
  3. DSS credentials — username/password for eas-dps-rest-ops.esac.esa.int (optional)

Then open http://localhost:8000 in your browser.

SAS public access (Euclid Q1 data) works without credentials.

Usage

Find

  • Click on the sky map (Aladin Lite) to select coordinates, or type an object name (e.g. M82)
  • Upload a tiling GeoJSON file (DpdMerFinalCatalog.geojson) to display tile footprints on the map and enable tile lookup
  • Click ▶ azul find — found tiles appear as chips below the terminal
  • Select tiles and click → Send to Retrieve

The tiling GeoJSON for DR1 is available at (Euclid consortium members only):

https://gitlab.euclid-sgs.uk/sy-tools/ST_SMT_DATA/-/raw/DR1/data/DpdMerFinalCatalog.geojson

Retrieve

  • Tile indices are pre-filled from Find
  • Choose a provider: IDR (private), SAS (public), or DSS
  • Click ▶ azul retrieve — files download one by one with a live progress indicator
  • Click ✕ Cancel to interrupt at any time

Crop

  • Enter the tile index and click ▶ Load VIS preview
  • Draw a rectangle on the image to select a region
  • The NumPy slicing spec is computed automatically (rounded to 500px increments)
  • Click → Send to Process

Process

  • The tile spec is pre-filled from Crop
  • Select an engine from azul and eummy
  • Expand Parameters to adjust rendering settings (zero points, scaling, stretch, hue, saturation...)
  • Click ▶ process — output image is displayed when ready

Project structure

Azumy/
├── main.py              # FastAPI app
├── utils.py             # Shared utilities (stream_command, build_cmd)
├── routers/
│   ├── find.py          # azul find + GeoJSON tiling endpoint
│   ├── retrieve.py      # azul retrieve with cancel support
│   ├── crop.py          # VIS preview + slicing computation
│   ├── process.py       # azul process
│   └── workspace.py     # Workspace introspection
├── frontend/
│   ├── index.html
│   ├── styles.css
│   ├── aladin.js        # Aladin Lite (vendored)
│   └── js/
│       ├── main.js
│       ├── find.js
│       ├── retrieve.js
│       ├── crop.js
│       ├── process.js
│       ├── map.js
│       ├── settings.js
│       ├── terminal.js
│       ├── progress.js
│       └── websocket.js
├── Dockerfile
├── docker-compose.yml
├── run.sh               # First-launch setup script
└── .env                 # Generated by run.sh (gitignored)

Docker commands

# Start
./run.sh

# Stop
docker compose down

# Logs
docker compose logs -f

# Rebuild after code changes
docker compose up --build -d

# Reset credentials and workspace config
rm .env secrets/netrc
./run.sh

Credits

  • Azulero - Antoine Basset (CNES) et al.
  • Eummy - Mischa Schirmer
  • Aladin Lite - CDS Strasbourg
  • Image data - ESA Euclid / Euclid Consortium / NASA

About

GUI for azulero by A. Basset and eummy by M Schirmer - pipelines designed to produce color images from Euclid Space Telescope Data

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors