Conversation
|
@ivalaginja This might be interesting for you. I mainly want to know if the Andor camera is compatible with this base class. |
|
@ehpor this looks totally compatible with our Andor Neo. I don't think we'd have some of the parameters to read from the config, like the gain, but we can keep those properties unimplemented and the value in the configfile at None or empty so that it just sets the default value, considering it would never use it anyway. |
4e9711c to
7309f4e
Compare
|
Just a note: the DM base classes have now been merged in #156, so anything DM in this PR can simply be removed. |
7309f4e to
9f57483
Compare
7bcb619 to
04ddf52
Compare
04ddf52 to
6f3526e
Compare
|
I will be taking this over from @alexisyslau. Considering the discussion in #124, the three parameters Choosing rot90 should be easy because that is figuring out what is up-down, and what is left-right. For the flips, I understand they should be used to "flip back" the image that would have flipped by an upstream lens, but I wonder how to determine my initial reference? Is it just that if I have an even number equal lenses upstream, I don't need a flip, and if I have an uneven number of equal lenses upstream, I do need the respective flip? Thoughts @steigersg @ehpor? Edit: Could I also assume that the goals of the flips in x and y are to simply match the optical model? |
|
Spent a good chunk of time on this with @steigersg today and made good progress. What's left to do:
|
b763212 to
d93d4b0
Compare
|
@ehpor do you think you could look over this for an initial review? I would like to get some feedback on the base class and on the ZWO v2, as I want to have something robust here first before moving on to the other cameras. We also have none of the ZWO or FLIR over here, so before I can test anything, I will need to do the transfer also for the AVT and/or Hamamatsu cameras first. |
1e9c757 to
361c6df
Compare
361c6df to
e171b74
Compare
|
@ehpor @steigersg @alexisyslau I'd like to ask your guys' advice because this PR is slowly breaking my brain. @steigersg and I figured out the different transformations and property logic (we think), which is the first big part of this PR. The second big part is to actually use the camera base class with one of the camera and check the beforementioned transformations and logic. Since it looks like I am the one moving forward with this, I need a new class of a camera type that I have access to on THD2, which is now the Hamamatsu ORCA. Could I ask you guys for feedback specifically on the new file
Any help is appreciated. |
|
@alexisyslau and I solved the first two of the above points. The last one still gives me headaches. The basic camera properties are defined in the camera base class. It is also in the camera base class that they are made into catkit2 properties (using the It seems to be that by defining the basic properties like width and height etc. in the base class, I loose the option to warp them into a @ehpor please help? |
480de45 to
7617cce
Compare
|
The above is now solved, @RemiSoummer can give more details on that. I have been able to run the Hamamatsu v2 service on hardware: I can stream images on the viewer and I can change the exposure time successfully. However, changing the offsets gives me errors so I will stop here for now and try to come back to it with a fresh head another time. |
|
@steigersg @RemiSoummer I have now written the ZWO v2 service in exactly the same way like the Hamamatsu service that I started testing on hardware. Depending on your availability, it is ready to be tested on hardware too. Note how I remove the HiCAT hack in the ZWO service that should be fixed through this PR and the correct config parameters for the camera. |
|
After discussion with @ivalaginja (sending this message after the fact), documenting here a few thoughts.
|
@ivalaginja I think we could also do this in two PRs maybe? Since you have time pressure to merge the base class and the Hamamatsu service @steigersg and I can do the ZWO transition later in a separate PR and we still use the current service in the mean time. |
…not the roi width and height
…the transform and then inverse transform, I believe you need to apply the reflections and then the rotation for inverse
aceaf6f to
5c9a239
Compare
|
@ivalaginja I found some bugs in the offset transform in particular when the 90 degree rotation is enabled. A summary of what was added:
I tested this on the new HiCAT ZWO camera but would appreciate you also testing this out if possible/ double checking the logic (especially when rot90 = True). As you know it can be tough to keep all this straight with the different transformations and coordinate systems so a second set of eyes would be useful. |
|
Looking at this asap. @ehpor might also be useful to get your comments on this. |
WIP but I might want some feedback soon.
These base services generalize much of the functionality that is currently duplicated between cameras and DMs. This simplifies their implementation and makes fixing bugs in ROI flips and rotations, DM channel updates, etc. much easier in the future.The DM base class has been moved out of this and merged a while ago.
This PR introduces a camera base class that generalizes much of the functionality that is currently duplicated between all the different camera services. This simplifies their implementation and makes finding bugs in ROI flips and rotations in particular much easier. This work is entirely based on what's in #124.
Note how successfully merging this PR should result in: