Calcam 2.11
Calcam 2.11 point release which was long overdue!
New & Enhancements:
- Added ability to turn off automatic trimming of geometry matrix rows and columns when creating GeometryMatrix objects.
- Add input fields for both vertical and horizontal FOV in virtual calibration editor so the user can specify either instead of only vertical.
- Added function intersect_with_line() to CADModel class and include in pbulic API.
- Improved performance of generating field of view representations and mapping camera images to CAD surface.
- Improved behaviour of "Set CAD view to match fit" button when using images with multiple sub-views in the fitting calibration tool.
- Added basic documentation of file formats. (#102)
- Improved image enhancement for some images where it previously had little effect
Compatibility:
- Move to new style packaging with pyproject.toml for compatibility with pip > 23. This means less flexible dependency management, but the dependencies are readily available enough now that this should be OK. (#83, #100)
- Fixed various additional compatibility issues under Python 3.9+ which raised exceptions due to floats being passed to PyQt calls which now require ints.
- Fixed ray casting compatibility with VTK7 which was inadvertently broken by 2.10.0
- Fixed compatibility of movement correction with newer versions of OpenCV.
- Fixed compatibility with NumPy >=1.24 which previously caused exceptions when using chessboard images (#99)
Fixes:
- When trying to save images, if an image file cannot be written (e.g. no disk space, permissions wrong etc) the user now gets an error message instead of silent failure.
- Fixed a bug which caused erratic behaviour in image analyser when using a calibration with multiple sub-views and movement correction.
- Fixed an exception which could be raised by certain combinations of clicks & key presses on VTK GUI elements.
- Fixed an issue which could raise exceptions if trying to perform a calibration fit with < 6 points (fit button is now disabled in this case).
- Field of view now updates correctly when changing pixel size or number of pixels in virtual calibration editor.
- Fixed issue with "lefover image" staying visible when changing sensor aspect ratio in the virtual calibration editor.
- Fixed a bug in the 3D viewer which caused a calibration legend with multiple entries to appear when rendering images with only 1 calibration visible.
- Fixed a bug which raised exceptions when using the "Set CAD view to match fit" button in the fitting calibration editor, for images with multiple sub-views if not all sub-views were fitted.
- Improved reliability of fitting calibration for high resolution images.
- Fixed PyQt error message to correctly reflect supported PyQt versions.
- Fixed bug in render.get_wall_coverage_actor() which caused status not to be reported properly when verbose=True
- Fixed bug in render.get_wall_coverage_actor() where providing a binned image caused the calculation to happen at higher instead of lower resolution.
- Fixed bug with 60s / 1min roll-over in duration estimate for long calculations which caused estimated times such as "0 min 60 sec"
- Fixed some typos / wording issues in GUI
- Switch from using 32bit int to 32bit float for saving pixel coordinates and binning values in Raycast NetCDF files, to allow correct saving & loading of raycasting witj sub-pixel sampling.
- Fixed bug in detection of monochrome images in enhance_image.scale_to_8bit()
- Fixed a bug in Calibration.set_detector_window() when using a detector window not completely overlapping the originally calibrated one.
- Fixed a bug which could raise exceptions in the image analyser if using a detector sub-window and movement correction.
- Removed some RuntimeWarnings raised by enhance_image() for some images.