Closed jeffmoffitt closed 4 years ago
Hm, I'm not sure about this one.
Sorry, regarding the 3rd point, I see now that you added this to the init() method. Still not sure it is a good idea to do it this way.
We are certainly happy to revise in anyway you see fit.
A few comments on your points:
Honestly, this was a holdover from a larger change we were thinking about implementing. The idea was that there are some camera properties that the user probably should not be able to access. Happy to roll this change back.
Agreed. We were following the style of the Andor camera classes. Again, happy to roll this back if you like.
These changes followed a debate as to whether it was better to have the cameras completely configured in the config.xml file or whether there were some properties that we basically going to be always the same, in which case, it might be 'safer' to simply have the hamamatsu class make them the standard.
Do you have a preference?
On Sun, Feb 9, 2020 at 9:08 AM Hazen Babcock notifications@github.com wrote:
Sorry, regarding the 3rd point, I see now that you added this to the init() method. Still not sure it is a good idea to do it this way.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ZhuangLab/storm-control/pull/100?email_source=notifications&email_token=AAUJAXDBDQPD6ZUD7WHPNHTRCAE5TA5CNFSM4KRSDGI2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELGNL6Q#issuecomment-583849466, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAUJAXCL2VEW6YGICZSHO2LRCAE5TANCNFSM4KRSDGIQ .
On further reflection, in my opinion the right way to do this is to have camera properties specified in the XML for the camera. This would deal with several issues, such as not all cameras from the same manufacturer necessarily have all the same properties. In the XML you could also specify the initial values for the properties you are interested in and whether they are modifiable. I agree this is not as 'safe' as hard coding (and it would also probably break all existing config.xml files) but I think the benefit of the ability to more easily support more cameras outweighs the risk.
Anyway, that is probably too much work for now, so please keep output_trigger_polarity[0]
. I assume it is there because someone needed it, and I'd prefer not to just yank it away. Maybe @emanuega has some additional thoughts?
Looking at the Andor camera class use of is_master
... Not sure this is optimal either... I'm not sure why the user would want to change Exposure_Time
for a slave camera, but I'm also not sure why we'd want to deny them that ability. Or maybe this is an Andor quirk? Externally timed cameras can't control their exposure time? I leave it up to you whether your want use is_master
or self.is_master
.
I just checked the history for hamamatsuCameraControl.py
, looks like @leonardosepulveda wanted output_trigger_polarity[0]
for some reason.
I have incorporated these comments into a different version and different pull request. I am closing this request.
We made a few minor changes to Hamamatsu classes to configure these cameras so that one (or more) can be triggered from another.