-
Notifications
You must be signed in to change notification settings - Fork 9
Open
Description
Hi All, I'm excited to be digging into acquire a bit more!
I wrote down a couple thoughts during my first experiments and would be curious to get your insights.
- Is there a runtime singleton?
acquire.Runtime() is acquire.Runtime()returnsFalse, and it's clear that different return values are not interchangeable.- Is the user expected to manage the lifetime of the runtime?
- What happens if the runtime is garbage collected? (do you maintain an internal reference to the runtime that the user could retrieve?)
- How do physical devices handle being managed multiple runtimes (for example, if two different end-users both tried to use acquire at the same time)
- Is there a device_manager singleton?
runtime.device_manager() is runtime.device_manager()returnsFalse- are the identifiers returned by
dm.selecttied to a specific device_manager, or to the runtime?
- are the identifiers returned by
where does one look (in the docs or in the source code) to find all the valid strings fordm.select? For example, how do I know that"simulated: radial sin"is a valid value (outside of reading it in the getting started docs)?Relatedly (see below) it would be great if an invalid name raised an exception sooner than the(also not sure how I hit this the first time, this time I gotFailed acquire api status checkthat you get when starting the runtimedevice_manager_select_inner_(): Device not found: Camera asdfds)- I think the term
CameraProperties.offsetis potentially confusing, could be conflated with camera amplifier offset rather than the ROI offset (when I think of "camera offset" I definitely think of the amplifier, not the ROI) - enums like
SampleTypeshould be proper enum objects; or at least have a__members__attribute for introspection, a__getitem__method for reverse lookup, and a__call__method for conversion. (It should be easier to cast names to enums and know what enums are available programmatically) RuntimeError: Failed acquire api status check: It would be great if this error was much more informative. I ran into it multiple times, and each time had to guess at what I was doing wrong. (Such as not having a storage, or having a typo in the second argument todm.select())- I find it a bit confusing that you set
camera.settings.shapewith(width, height)but you receive it back from available data as(height, width)
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Priority Backlog