slaclab / lcls-tools

Python tools for LCLS: post processing data, PV handling, pulling archive settings, etc.
Apache License 2.0
2 stars 20 forks source link

Integrate Image/Screen Classes #173

Open eloiseyang opened 2 months ago

eloiseyang commented 2 months ago

Is your feature request related to a problem? Please describe. There is no integration between the Screen class and the Image class. The Screen.image property returns a numpy array, when we could return an Image class. Image and Screen share some values too that could be passed along easily.

Describe the solution you'd like The Screen.image class should output Image classes. Image should be a frozen single shot version of Screen, and the parent Screen should be recoverable from the Image class alone. The passed Image class should contain all the relevant metadata from its parent Screen.

Describe alternatives you've considered We could combine Image and Screen into an all in one tool to reduce the total number of objects necessary for image processing tasks. This solution would muddle the distinction between machine interface and data container, and increase syntactic complexity over time.