Skip to content

Remove consumed-input reloads from CellProfiler output context recording #660

Closed

Description

@trissim

Default CellProfiler output recording reloads its declared source artifact to rebuild masks, calibration, spatial context and provenance even when that exact typed input was already admitted and consumed by the callable. The representative 3D diagnostic attributes about 0.912 s to inclusive image recording; four unchanged image-source recorder spans account for about 0.565 s of that envelope. These are upper bounds for this route, not a measured gain or additive costs.

The repair belongs on the existing invocation/input-binding/output-record owners. Retain the exact pre-call input origin, derive parameter contexts from the actual typed kwargs, and derive natural/named primary contexts from their existing carriers. Dense multi-primary composition loses individual masks and calibration, so retain those original binding facts only where reconstruction is impossible. Default output context must describe the actual consumed source, rather than unrelated backend bytes written afterward.

Acceptance: exact occurrence/origin admission precedes reuse, same-reference ambiguity and selection failures remain observable, and changed origins use the live route. Direct #404 declared/source query APIs, unconsumed sources, independent materialization metadata and object-label parent-suppression remain live/meaningful. Delete the post-call edge-roster forwarding from output recording. Qualify the actual production consumer and existing controls; do not claim end-to-end speedup before a paired representative run.

Metadata

Metadata

Assignees

No one assigned

    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