pymmcore-plus / useq-schema

An implementation agnostic schema for describing a sequence of events during a multi-dimensional imaging acquisition.
https://pymmcore-plus.github.io/useq-schema/
BSD 3-Clause "New" or "Revised" License
15 stars 5 forks source link

Task: grid/large-image spec #67

Closed tlambert03 closed 1 year ago

tlambert03 commented 1 year ago

@fdrgsp, we could add a new Tile specification to useq that would handle most of the logic needed for creating positions in the sample explorer. It could definitely be considered to be an additional dimension (since one could definitely imagine doing a large 3x3 image at every stage position) I'm thinking something like:

class MDASequence:
    tile_plan: AnyTilePlan  # or a different name... perhaps grid... not sure

class TilePlan(FrozenModel):
    overlap: float = 0.1

class TileBoundingBox(TilePlan):
    x1: float
    x2: float
    ...

class TileRelative(TilePlan):
    nrows: int
    ncols: int
    relative_to: Literal['center', 'top_left', ...]

AnyTilePlan = Union[TileBoundingBox, TileRelative]

etc... basically, thinking of all of the non-overlapping ways to describe a tile in space, and what the bare minimum set of parameters are. @fdrgsp, would you want to take a stab at that? following the patterns in Zplan and TimePlan?

tlambert03 commented 1 year ago

closed by #70