Skip to content

Reconstructed Image Overlay #378

Open

Description

@Relm-Arrowny

Part of #373 Live plotting:

Create the pipeline connection to automatically fetch reconstructed ptychography images and overlay them on the STXM scan canvas.
The reference frame is addressed in #379

Goals

Acceptance criteria : What journeys should the user be able to complete to consider your feature done
Be as specific as you can, check them off once they work. Add more if you find more requirements during development. Issue should only be considered done after all of them are checked

  • Reconstructed images from the Nathanael's processing pipeline can be toggled on/off directly over the corresponding raw STXM scan layer

Tasks

base on the goals, deduce the tasks required. check them off once they're done

  • Processing Pipeline Fetcher: Build an API client to listen for and pull completed or intermediate reconstructed ptychography outputs.
  • Canvas Registration Hook: Dynamically append the fetched reconstructed image as a new registered layer in the multi-layer canvas stack.

Activity

  1. changed the title [-]Integrate reconstructed image fetching to overlay processed ptychography outputs onto the canvas.[/-] [+]Reconstructed Image Overlay[/+] on Sep 9, 2026
  2. DanPorter commented on Sep 15, 2026

    @DanPorter
    Collaborator

    This is not just combining two images but potentially multiple STXM images and reconstructions at the same time, overlaying and tiling the images in a single plot. There will also be coordinate transformations to apply to each layer.

  3. Relm-Arrowny commented on Sep 15, 2026

    @Relm-Arrowny
    CollaboratorAuthor

    This is not just combining two images but potentially multiple STXM images and reconstructions at the same time, overlaying and tiling the images in a single plot. There will also be coordinate transformations to apply to each layer.

    Well sported, this need to be addressed in #379. As long as the data are serving the images in the corrected reference frame , the UI just has to stack and display the layers without needing to know about the transformation at all, is my current thinking.

  4. NKatti2011 commented on Sep 16, 2026

    @NKatti2011
    Collaborator

    Below include notes from meeting with @EmsArnold and a meeting with David Burn.

    A reconstruction covers the whole ROI, not one image per scan point. The overlay
    therefore registers a single reconstructed image against the ROI's extent in the chosen
    reference frame, rather than compositing a grid of per-point images. David expects users
    will want to see the reconstructed images first and foremost.

    Users are also expected to supply offsets for reconstructed images after processing,
    in order to locate the ROI. This is being called the "alignment" stage, and it uses the
    same transformation maths as #379, which makes the processing pipeline a third consumer
    of that package, alongside controls and the UI.

    Data

    • Reconstructed images come through Tiled.

    Status and change notifications

    • The SuperGraph will provide status and changes, with an API client over websockets.
      That is still in progress, so initially we connect to the Workflows websockets
      directly and subscribe there
      .
    • Reference implementation from Emily in VISR: query all workflows for a session, get
      their status, and submit a workflow when a scan ends:
    • Abstract this logic so the Workflows websocket can be swapped for the SuperGraph
      websocket when it lands, without touching the components.
    • Use Relay (templated Relay env) to connect to the SuperGraph: that is what the other
      teams are using as their client, and consistency is good.

    To scope

    • Canvas registration is currently proposed as a hook. Depending on how expensive it
      turns out to be, it may be better done in the Davidia plot server instead.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions