Code refactoring discussion #1
Replies: 1 comment
-
@micahwoodard @Poofjunior First thoughts in details of device 'base' classes. Constructor/composer reference to look at Devices
Camera -> ACQUIRE, eGrabberstateconnected (yes/no) attributesmax_height functionsconnect() -> different per camera, should happen within init()? Laser -> Coherent OBIS, Vortran, Oxxiusstateconnected (yes/no) attributescom_port functionsconnect() -> to COM port, should happen within init()? Stage -> TigerASI only (for now)stateconnected (yes/no) attributescom_port functionsconnect() -> to COM port, should happen within init()? Data Writer -> StackWriter.py/ImarisWriter (exaspim) or ACQUIRE (ispim)stateinitialized (yes/no) attributesimage_height functionsconfigure NIDAQstateinitialized (yes/no) attributesdev_name Tunable lens -> through TigerASI right nowstateinitialized (yes/no) -> should check if connected via stage, if so, inherent the COM port connection from stage (?) attributescontrol_mode functionsset_control_mode() Galvo mirror -> through TigerASI right nowstateinitialized (yes/no) -> should check if connected via stage, if so, inherent the COM port connection from stage (?) attributescontrol_mode functionsset_control_mode() Focus -> this can be a stage (ExA-SPIM) or NIDAQ channel (diSPIM)TBD this one is trickier since its not necessarily tied to a device |
Beta Was this translation helpful? Give feedback.
-
Summary of our discussions on 9/30 about code refactoring.
Major TODOs
Keep in mind when doing the below to include docstrings, so we can generate documentation easily similar to TigerASI
Minor TODOs
For all SPIM repos do below
stack_mem_test.py
in the exa-spim-control repo as an example (also pytest)main.py
andsim_config.toml
(Micah)Beta Was this translation helpful? Give feedback.
All reactions