Skip to content

Use obstype SUB_EXP for raw and reduced stackframes - #484

Merged
timbeccue merged 4 commits into
mainfrom
feature/smartstack-subexp-obstype
Sep 1, 2026
Merged

Use obstype SUB_EXP for raw and reduced stackframes#484
timbeccue merged 4 commits into
mainfrom
feature/smartstack-subexp-obstype

Conversation

@timbeccue

Copy link
Copy Markdown
Contributor

Previously, smartstacking used raw stackframes with obstype=EXPOSE (e00), but made it more complicated to check whether raw frames that exist at site but not in the archive need to be requeued.

To separate concerns, we decided to change to using a new obstype SUB_EXP for smartstack stackframes. Raw stackframes are denoted with n00, and reduced frames use n09 (a simple change from the previous e00/e09). Final stacked data products and preview jpgs retain their e45/obstype=EXPOSE classification.

Comment thread banzai/settings.py Outdated

@cmccully cmccully left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looks good. Just a minor comment in the settings.py

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request updates BANZAI’s smartstacking flow to treat individual smartstack stackframes as a distinct observation type (OBSTYPE=SUB_EXP) and to use the n00/n09 filename suffixes for raw/reduced stackframes, while keeping final stacked products as e45/OBSTYPE=EXPOSE.

Changes:

  • Bump package version to 1.38.1 and document the smartstacking SUB_EXP convention.
  • Update smartstack product-building logic to expect -n09 inputs and to stamp final e45 outputs with OBSTYPE=EXPOSE.
  • Extend pipeline settings and tests (unit + site e2e) to recognize and validate SUB_EXP processing and n00/n09 naming.

Reviewed changes

Copilot reviewed 11 out of 12 changed files in this pull request and generated no comments.

Show a summary per file
File Description
uv.lock Updates locked version to 1.38.1.
pyproject.toml Bumps project version to 1.38.1.
CHANGES.md Adds release notes for SUB_EXP smartstack stackframes and n00/n09 naming.
docs/smartstacking_architecture.md Updates architecture documentation to reflect SUB_EXP, n00, and n09 conventions.
banzai/settings.py Adds SUB_EXP to supported frame types and config maps (stages and extension ordering).
banzai/smartstack_products.py Switches smartstack input parsing from -e09 to -n09 and stamps final products as OBSTYPE=EXPOSE.
banzai/tests/test_smartstack_products.py Updates smartstack product tests for n09 inputs and validates OBSTYPE=EXPOSE on outputs.
banzai/tests/test_smart_stacking.py Updates smartstack processing tests to use frame-n09.fits paths.
banzai/tests/test_image_utils.py Adds coverage ensuring SUB_EXP is accepted and wired into full pipeline settings.
banzai/tests/test_frames.py Updates output filename test to reflect n00n09 naming.
banzai/tests/site_e2e/test_site_e2e.py Updates site E2E stackframe publishing and validations for n00/n09 and OBSTYPE=EXPOSE on e45.
banzai/tests/site_e2e/README.md Updates E2E documentation to describe the n00n09e45 pipeline.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@timbeccue
timbeccue merged commit aaa7321 into main Sep 1, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants