Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces several improvements and bug fixes across the camera device integration, acquisition logic, and user interface for the navigation system. The main themes are enhancements to the Ximea camera handling (including more robust acquisition and error recovery), improvements to multi-position acquisition logic, and UI updates for rotation controls.
Camera device and acquisition robustness:
Ximea
camera class to handle repeated image acquisition timeouts, switching buffer policy to "UNSAFE" for performance, and increasing the default number of frames in image series initialization. Also, now copies image data to the buffer after acquisition. [1] [2] [3] [4] [5]Multi-position and z-stack acquisition improvements:
User interface updates:
rotate_angle_x
,rotate_angle_y
, androtate_angle_z
input widgets to allow negative angles (from -360 to 360) and fixed the label for the Z angle. [1] [2] [3]General codebase improvements:
numpy
,queue.Queue
,queue.Empty
) to support new logic for camera data handling and queue-based communication. [1] [2]Widget state handling:
toggle_bdv_widgets
to enable dependent widgets in "normal" state instead of "readonly" when the main widget is active, improving UI consistency.