Skip to content

MCP plate viewer cannot stream ordinary TIFF/Z-stack raw images through BioFormats #201

Closed

Description

@trissim

Owner: @trissim. Reproducer (fresh-source MCP, 2026-09-29): create four 8x8 TIFF planes named A01_s001_w1_z001_t001.tif through z004 under a source plate (the fixture in tests/unit/test_streaming_service.py::test_3d_point_archive_reopens_with_native_z_domain_and_features creates them). Call openhcs_stream_plate_files_to_viewer with plate_path=source, kind=image, file_paths=[the four absolute TIFF paths], and an isolated Napari viewer port. Auto detection selects BioFormatsHandler. It fails with StorageResolutionError trying to load a nonexistent escaped-and-suffixed address such as A01%5Fs001%5Fw1%5Fz001%5Ft001.tif_s001_w1_z001_t001.tif. A single four-plane image.ome.tif also fails explicit-file resolution with PlateFileRecordAmbiguityError because several inventory records share the same physical path; querying kind=image, limit=1 then streaming constructs image.ome.tif_s001_w1_z001_t001.tif and fails loading.

Expected: MCP can stream the exact source image(s) represented by the inventory and display raw planes beside a source-bound ROI ZIP. Preserve per-plane identity and reject genuinely ambiguous selections; do not infer source identity from the ROI filename. Acceptance: focused tests for both physical-file cases plus a fresh MCP/UI viewer reopen on an isolated display, with raw-only and raw+ROI state inspected. This blocks full live visual QA for PR #198; its native ROI-only stream already succeeds.

Activity

  1. self-assigned this
    on Sep 29, 2026
  2. trissim commented on Sep 29, 2026

    @trissim
    CollaboratorAuthor

    Fix is on draft PR #198 at 39a6d0c. The direct plate-stream route now carries inventory-owned SourcePixelRef through the viewer request and resolves exact backend plane addresses (rather than loading physical container paths as plane addresses). Focused ordinary-TIFF and four-plane OME tests pass; fresh-source MCP streamed both to isolated :91/5791, and viewer readback reports OME Z 1-4. Issue remains open pending same-coordinate raw/result/combined QA and reviewed installation.

  3. trissim commented on Sep 29, 2026

    @trissim
    CollaboratorAuthor

    Fixed by merged PR #198 (main e95995e). Focused ordinary-TIFF and OME-plane tests pass; fresh installed MCP streamed four OME Z planes and a persisted source-bound point ROI into the isolated Napari viewer. Raw-only/result-only/combined same-coordinate captures and point feature selection were inspected. This validates transport/alignment for the synthetic fixture, not biological blind-analysis acceptance. The current Codex MCP child is from the older checkout and requires client reconnect to use the installed main launcher.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions