TheDeanLab / navigate

navigate - open source light-sheet microscope controls
https://thedeanlab.github.io/navigate/
Other
18 stars 5 forks source link

Refactor ASI Stages #868

Open AdvancedImagingUTSW opened 4 months ago

AdvancedImagingUTSW commented 4 months ago

I think it may be time to adopt a similar strategy for our ASI stages as we have done with our Hamamatsu cameras. Currently, there is a fair amount of code duplication.

I would propose that we consolidate all of the stageasi... classes into a single file, stage_asi. We should create a ASIStage(StageBase) class that provides the vast majority of the functionality. Then, TigerController(ASIStage), MS2000(ASIStage), and MFC2000(ASIStage) classes that implement the minor differences between their command protocols.

Some similar strategy should also be done with the APIs.

AdvancedImagingUTSW commented 4 months ago

It also doesn't seem like the MS2000 and the MFC2000 classes should be permitted to operate as a shared device.

AdvancedImagingUTSW commented 4 months ago

The build_ASI_Stage_connection(com_port, baud_rate=115200) method should also be abstracted.