One of the painful things with the IDS cameras is that some of them do not offer much flexibility in terms of setting ROIs. We would ideally set a much smaller ROI than is supported by our camera - otherwise we save loads of extra data, and there is also the annoying aspect of having to find the region you care about on the chip when PYMEAcquire loads up with a relatively massive ROI compared to the region you are actually interested in.
Where are you stuck?
My familiarity with the Acquire.Hardware.Camera.MultiviewCameraMixin makes it tempting to set up that way and have a defined ROI center I can adjust the size of regardless of the actual chip setting. I could see an argument even for adding a method for editing/shifting the ROI center.
However, MultiViewCameraMixin is now deprecated with a TODO to remove it. Is there already a replacement for my use case? I've had a quick look at Acquire.Hardware.splitter, but it does not seem to be particularly useful for a live Software cropped ROI during acquisition.
What makes sense here? I see how the Multiview and Splitter stuff replicate the 'multi' aspect, but I do think it would be nice to allow a software crop so that in PYMEAcquire, you could actually get the ROI you try to set even if your camera has some finicky stuff going on (which, so far, I think they all have some level of stride enforcement, etc.). Is there a refactor option where we keep the software ROI setting aspect of Multiview, but remove the Multi in deference to splitter? Otherwise, I think I will try adding a software ROI setting to the ids_peak_cam.py so if you try to set an ROI and the hardware ROI can't go far enough, ids_peak_cam.IDS_Camera.ExtractColor will crop further so you're only fed the ROI you asked for (modulo asking for a smaller ROI than you could get, rather than a larger one).
One of the painful things with the IDS cameras is that some of them do not offer much flexibility in terms of setting ROIs. We would ideally set a much smaller ROI than is supported by our camera - otherwise we save loads of extra data, and there is also the annoying aspect of having to find the region you care about on the chip when PYMEAcquire loads up with a relatively massive ROI compared to the region you are actually interested in.
Where are you stuck?
My familiarity with the
Acquire.Hardware.Camera.MultiviewCameraMixinmakes it tempting to set up that way and have a defined ROI center I can adjust the size of regardless of the actual chip setting. I could see an argument even for adding a method for editing/shifting the ROI center.However, MultiViewCameraMixin is now deprecated with a TODO to remove it. Is there already a replacement for my use case? I've had a quick look at
Acquire.Hardware.splitter, but it does not seem to be particularly useful for a live Software cropped ROI during acquisition.What makes sense here? I see how the Multiview and Splitter stuff replicate the 'multi' aspect, but I do think it would be nice to allow a software crop so that in PYMEAcquire, you could actually get the ROI you try to set even if your camera has some finicky stuff going on (which, so far, I think they all have some level of stride enforcement, etc.). Is there a refactor option where we keep the software ROI setting aspect of Multiview, but remove the Multi in deference to splitter? Otherwise, I think I will try adding a software ROI setting to the
ids_peak_cam.pyso if you try to set an ROI and the hardware ROI can't go far enough,ids_peak_cam.IDS_Camera.ExtractColorwill crop further so you're only fed the ROI you asked for (modulo asking for a smaller ROI than you could get, rather than a larger one).