In this release, test coverage is 79%.
๐ฅ New features / Enhancements:
* Contrast adjustment panel:
* New layout: the vertical toolbar (which was constrained in a small area on the right side of the panel) is now a horizontal toolbar at the top of the panel, beside the title
* New "Set range" button: allows the user to set manually the minimum and maximum values of the histogram range
* New Z-axis logarithmic scale feature:
* Added new tool `ZAxisLogTool` to toggle the Z-axis logarithmic scale
* The tool is registered by default in the plot widget, like the `ColormapTool`
* When enabled, the active image item is displayed after applying a base-10 logarithm to its pixel values
* Curve statistics tool `CurveStatsTool` is now customizable:
* When adding the tool: `plot_widget.manager.add_tool(CurveStatsTool, labelfuncs=(...))`
* Or after: `plot_widget.manager.get_tool(CurveStatsTool).set_labelfuncs(...)`
* The `labelfuncs` parameter is a list of tuples `(label, func)` where `label` is the label displayed in the statistics table, and `func` is a function that takes the curve data and returns the corresponding statistic value (see the documentation for more details)
* Image statistics tool `ImageStatsTool` is now customizable:
* When adding the tool: `plot_widget.manager.add_tool(ImageStatsTool, stats_func=...)`
* Or after: `plot_widget.manager.get_tool(ImageStatsTool).set_stats_func(...)`
* The `stats_func` parameter is a function that takes the image item and selected rectangle coordinates, and returns a string with the statistics to display
* New `SIG_AXIS_PARAMETERS_CHANGED` signal emitted by `BasePlot` when the axes parameters are changed (e.g. when the axes are inverted, or the scale is changed)
* New "Reverse X axis" feature:
* Added new tool `ReverseXAxisTool` to toggle the X-axis direction
* The tool is registered by default in the plot widget, like its Y-axis counterpart
๐ ๏ธ Bug fixes:
* Contrast adjustment panel:
* Fixed histogram update issues when no image was currently selected (even if the an image was displayed and was selected before)
* Histogram range was not updated when either the minimum or maximum value was set using the "Minimum value" or "Maximum value" buttons (which have been renamed to "Min." and "Max." in this release)
* Histogram range was not updated when the "Set full range" button was clicked
* Image parameters: contrast range was not updated when the image Z axis bounds were changed using the "Parameters" dialog
๐งน API cleanup:
* Deprecated `AnnotationParam.update_annotation` method: use `update_item` instead
* Deprecated `AxesShapeParam.update_axes` method: use `update_item` instead
* Deprecated `AxesParam.update_axes` method: use `update_item` instead
* Deprecated `ImageAxesParam.update_axes` method: use `update_item` instead
* Deprecated `LabelParam.update_label` method: use `update_item` instead
* Deprecated `MarkerParam.update_marker` method: use `update_item` instead
* Deprecated `RangeShapeParam.update_range` method: use `update_item` instead
* Deprecated `ShapeParam.update_shape` method: use `update_item` instead