bluesky / event-model

data model for event-based data collection and analysis
https://blueskyproject.io/event-model
BSD 3-Clause "New" or "Revised" License
13 stars 30 forks source link

Rethinking of external assets #236

Closed danielballan closed 10 months ago

danielballan commented 1 year ago

Notes from a chat with @coretl @tacaswell @callumforrester @DiamondJoseph @tizayi

The motivation here is to improve the situation for using the same detector in fly scans and step scans, with efficient access to data. Lots more to discuss before we implement these disruptive ideas, so nobody panic. :- )


handler_class = registry[mimetype]  # i.e. `image/tiff` or `application/x-nexus-something`
handler = handler_class(**parameters)  # e.g. filename and whatever else goes here
# contrast to with datum: handler(**datum_kwargs)
handler[index_start:index_stop]
coretl commented 1 year ago

I sketched out the old and new (with a single event, multiple events would make more use of the slice object)

Stream model suggestions excalidraw(2)

Here's a suggestion as to how it could be implemented.

The Event side of the diagram then becomes optional, if all detectors write external files then there will be no Event documents

@tcaswell @danielballan shall we begin writing this?

danielballan commented 1 year ago

Yes, I think so. I'd like to do this in tandem with @DiamondJoseph's NeXus writers and a sketch of our proposed new storage model for Databroker to validate that everything works out the way we expect.

coretl commented 1 year ago

Can delete stream_names from StreamResource too