Skip to content

Repository files navigation

SMI Tiled Browser

Interactive web application for browsing and processing data from the SMI beamline at NSLS-II, served from the Tiled catalog.

Built with Panel and Bokeh for interactive visualization, and smi-tiled for data reduction.

Features

  • Search & filter — Stackable filters (text match, exact match, fulltext) against the smi/migration catalog (~2.7M scans). Results are shown newest-first with pagination.
  • Metadata — Full run metadata displayed as collapsible JSON tree.
  • Primary — Scalar data table with configurable X/Y line plots.
  • Baseline — Before/after baseline readings with column filtering.
  • Explore — Side-by-side linked 1D plot and 2D detector image with a synced frame cursor.
  • Process — Transmission and grazing-incidence reduction via smi-tiled (reduce_smi_combined, reduce_smi_gi). Produces 2D q-chi / qxy-qz maps and merged I(q) curves.
  • Scan Collection — Add processed scans for side-by-side I(q) comparison.

Quickstart

Prerequisites

  • pixi package manager
  • A local editable clone of smi-tiled at the path referenced in pixi.toml (defaults to ../smi-tiled)

Install & run

# Install all dependencies (first run takes a few minutes)
pixi install

# Launch the browser
pixi run serve

This opens the app at http://localhost:5006/smi_app.

Configuration

The Tiled catalog URI defaults to https://tiled.nsls2.bnl.gov and the catalog path to smi/migration. To change these, edit the constants at the top of smi_app.py:

TILED_URI = "https://tiled.nsls2.bnl.gov"
CATALOG_PATH = "smi/migration"

Project structure

smi-browser/
├── smi_app.py          # Main Panel application
├── tiled_browser.py    # Tiled REST helpers (search, fetch, metadata)
├── pixi.toml           # Pixi environment & dependencies
└── README.md

Default detector masks (pil2M_mask_polygons.json, 900KW_mask_polygons.json) are now bundled with smi-tiled and loaded automatically; the Process tab "Masks" expander shows the default name in its placeholder. Use the Explore tab's Mask overlay card to view, edit (PolyDraw / PolyEdit), or save a custom mask, then click Use in Process to apply it.

Development

# Auto-reload on file changes
pixi run serve
# (--autoreload is already included in the task)

# Quick import check
pixi run check

License

TBD

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages