Guiqwt

Latest version: v4.4.5

Safety actively analyzes 628477 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 7

2.1.6

Other changes:

* guiqwt.pyplot.savefig:
* added support for all image types supported by Qt (JPEG, TIFF, PNG, ...)
* first argument (`fname`) may now be a file-like object (e.g. StringIO)
* guiqwt.baseplot/curve: added stepsize in `set_axis_limits` and removed from `set_axis_ticks`
* guiqwt.image:
* QuadGridItem: allow set_data to update X,Y along with Z
* new item PolygonMapItem: PolygonMapItem is intended to display maps i.e. items containing several hundreds of independent polygons
* guiqwt.builder.make.error: added options 'errorbarwidth', 'errorbarcap', 'errorbarmode' and 'errorbaralpha' (avoid having to tweak the ErrorBarParam to customize these settings)
* guiqwt.pyplot/pydicom: avoid the annoying warning message about the DICOM dictionnary revert
* guiqwt.tools:
* EditItemDataTool: new tool for editing displayed curve/image data using a GUI-based array editor (this feature requires the `spyderlib` library)

Bug fixes:

* ErrorBarCurveItem (error bar curves):
* now handling NaNs uncertainties properly
* handling runtime warnings that could end badly in draw method (example: transforming a zero in log scale)
* Annotations/pickle bugfix: a QString (instead of unicode) was pickled for annotation title, hence leading to compatiblity issues with PyQt API v2
* guiqwt.io.array_to_dicomfile: fixed value representation error for smallest/largest pixel value parameters
* guiqwt.resizedialog.is_edit_valid: fixed compatibility issue with PyQt API v2
* Sift: upgraded deployment script for compatibility with guidata v1.4+
* geometry.colvector: fixed major regression in coordinates calculations (significative impact on TrImageItem related features)

2.1.5

Other changes:

* guiqwt.io: added function 'eliminate_outliers' to cut image levels histogram (previously available only for display)
* baseplot: added method 'copy_to_clipboard' + tools: added CopyToClipboardTool (copy canevas window to clipboard)

2.1.4

Since this version, `guiqwt` is compatible with PyQt4 API 1 *and* API 2.
Please read carefully the coding guidelines which have been recently added to
the documentation.

Bug fixes:

* Sift/bugfix: difference/division operations were performed backwards (s001-s000 instead of s000-s001)
* Sift: working directory is now changed after opening/saving signal/image
* label.RangeComputation: fixed bug if compute function was returning more than one result and when X-range was empty (e.g. selection is outside curve X-axis values)
* curve.CurvePlot: fixed pan/zoom erratic behavior for curves associated with log-scale axes
* baseplot.BasePlot: now performing an autoscale after changing axis lin/log scale (set_axis_scale/set_scales)
* annotations.AnnotatedSegment/CRITICAL: fixed an error (introduced in v2.1.0) when computing segment length (returned length was twice lower than the real value)
* image.XYImageItem (Contributor: Carlos Pascual): fixed bug when Y-axis array is of dimension Ni+1 (where Ni is the number of rows of the image pixel data array)
* Fixed compatiblity issues with PyQt v4.4 (Contributor: Carlos Pascual)
* (minor) Fixed label text (too long) of 2D-Histogram items background color in shown DataSet
* guiqwt.io.array_to_dicomfile/bugfix: Smallest/LargestImagePixelValue fields had wrong type (str instead of int)
* LabelTool: label was not moved as expected (default: now, label is *not* attached to canvas)
* tools.ImageStatsTool/bugfix: image title was not shown
* CurvePlot: autoscale for log scales / bugfix: handling zero values
* tools.AxisScaleTool/bugfix: when updating its status, the tool was setting the axes scales even when not necessary, hence causing an autoscale since changeset 1159 (687e22074f8d)
* ItemCenterTool was not working as expected when centering annotated shapes having a specific transform matrix
* XYImageItem objects: re-added cross-section support (removed accidently)
* Curve autoscale method (curve.CurvePlot/ErrorBarCurvePlot):
* now handles non-finite values (NaNs and infs)
* logarithmic scales: now excludes zero/negative values to avoid confusing the autoscale algorithm

Possible API compatibility issues:

* Moved functions from guiqwt.io to new module guiqwt.qthelpers: exec_image_save_dialog, exec_image_open_dialog, exec_images_open_dialog
* Markers:
* label and constraint callbacks take now 2 arguments (the marker's coordinates) instead of 3
* removed method 'move_point_to': use new method 'set_pos' instead (takes two arguments: x, y)
* Removed cursors introduced in v2.1.0:
* These cursors have been replaced by shapes.Marker (i.e. objects derived from QwtPlotMarker)
* Removed signals.SIG_CURSOR_MOVED, shapes.HorizontalCursor, shapes.VerticalCursor, annotations.AnnotatedHCursor, annotations.AnnotatedVCursor and associated builder methods (annotated_vcursor, annotated_hcursor)
* Builder methods vcursor and hcursor were slightly changed (see tests/cursors.py to adapt your code)
* Use markers instead of cursors (and SIG_MARKER_CHANGED instead of SIG_CURSOR_MOVED -- arguments are not identical, see signals.py):
* base object: shapes.Marker
* associated builder methods: marker, vcursor, hcursor, xcursor (see tests/cursors.py)
* label.LabelItem: renamed method 'set_position' to 'set_pos' (consistency with shapes.PointShape, ...)
* Annotations:
* method `get_center` now returns coordinates *without* applying the transform matrix, i.e. in pure plot coordinates
* the following methods were renamed to highlight the fact that the transform matrix is applied in those computations:
* `get_center` was renamed to `get_tr_center`
* `get_size` was renamed to `get_tr_size`
* `get_angle` was renamed to `get_tr_angle`
* `get_diameter` was renamed to `get_tr_diameter`
* `get_length` was renamed to `get_tr_length`
* Removed the following deprecated classes in `guiqwt.plot`:
* CurvePlotWidget (renamed to CurveWidget)
* CurvePlotDialog (renamed to CurveDialog)
* ImagePlotWidget (renamed to ImageWidget)
* ImagePlotDialog (renamed to ImageDialog)

Other changes:

* Added module qthelpers: image open/save dialog helpers (moved from guiqwt.io to avoid using GUIs in this module)
* Annotation/default style: changed string formatting from '%d' to '%.1f'
* baseplot.BasePlot.add_item: when adding the same item twice, printing a warning message
* Using new guidata.qt PyQt4->PySide transitional package
* Sift: ROI extraction ("Crop"-->"ROI extraction" + added the same feature for signals), added "swap axes" operation for signals/images, added "normalize" processing for signals only
* Sift: added linear calibration (signals: X/Y axes, images: Z axis)
* Interactive tools: added signal SIG_TOOL_JOB_FINISHED emitted when tool has finished its job + if SWITCH_TO_DEFAULT_TOOL class attribute is True, switching to the default interactive tool
* Buider: added cross cursor and marker constructors (builder.make.marker and builder.make.xcursor, see tests/cursors.py)
* Added SignalStatsTool (standard curve tool) to show ymin, ymax, ymean, ... on a selected curve ROI
* Sift: added support for curve data with error bars (I/O + operations + processing)
* Added coding guidelines to the documentation
* builder/make.computation/computation2d: added title option (defaults to object's (curve or image) label)
* plot.CurvePlot, plot.CurveWidget: added keyword arguments 'xunit' and 'yunit' to set axes units (same syntax as labels)
* plot.ImagePlot, plot.ImageWidget: added keyword arguments 'xunit', 'yunit' and 'zunit' to set axes units (same syntax as labels)
* pyplot.imshow: added keyword argument 'mask' to support masked arrays display

2.1.3

Bug fixes:

* tools.RectangularActionTool: removed unnecessary calls to setup_shape_appearance
* tools.ImageStatsTool/CrossSectionTool.setup_shape / bugfix: parent method was not called
* Sift/bugfix: Spyder's internal shell was not parented -- this was causing issues with spyderlib v2.0.11
* Cross section/auto refresh toggle button: do not refresh plot if disabling the auto refresh mode
* (Fixes Issue 14) tools.CommandTool: docstring was translated from french
* (Fixes Issue 13) Fixed precision/string formatting issue: switched from '%f' to '%g' (on-curve labels, ...)

Possible API compatibility issues:

* baseplot.BasePlot.get_selected_items: added argument 'z_sorted' in first position (like in get_items)

Other changes:

* added *this* changelog
* baseplot/plot axes styles: added support for physical unit
* annotations/attached label: added automatic axes unit support
* annotations: added support for measurement relative uncertainty
* fit/Fit param widgets: added suffix label + code cleaning
* guiqwt.io/sift: open/save image dialog code refactoring
* tools.ExportItemDataTool: added support for images
* Added tool ItemCenterTool: center objects (rectangle, ellipse and their annotated counterparts)
* Cross section panel: when a cross section shape has been removed, clearing cross section curve before removing it (notify other panels)
* Cross sections/update_plot: added option 'refresh' (default: True) --> we do not want to refresh the cross section panel systematically after registering a new shape
* Annotations/annotationparam: added 'readonly' and 'private' options (bugfix: these parameters are now pickled correctly for shapes)

2.1.2

Bug fixes:

* 1D Computations: now support error bar curves as well as simple curves
* test_line test: this test should have been excluded from test list + it should be possible to import it without executing it... fixed

Other changes:

* guiqwt.fit: code cleaning / reimplementing FitParam.create_widgets is now supported

2.1.1

Bug fixes:

* Distributed source package: unwanted Sift build/dist files were eventually included in the package
* setup.py: fixed sphinx ImportError issue when building autodoc from source package (not finding the just built extension module)
* ErrorBarCurveItem/bugfix: did not support empty data
* Cross section panel: do not compute cross section each time a plot item is added/deleted
* annotations/Annotated cursor: couple of bugfixes + label color is changed when selecting/unselecting annotation
* annotations/tools: code cleaning + minor bugfixes (styles were not applied as expected)
* scaler.cpp/bugfix for float source images: values were converted to integers
* Sift/arbitrary rotation: added option "reshape" (default: True)
* Fix building the f90 extension on some systems
* Curve plots: fixed autoscale behavior for logarithmic scales
* fit/bugfix: when the fit params number was not a multiple of the layout column count, the last parameters were not shown

Other changes:

* shapes: added ObliqueRectangleShape
* tools: added ObliqueRectangleTool and AnnotatedObliqueRectangleTool
* Added averaged oblique cross section (panel and tools)
* plot items/Refactoring: methods 'set_selectable', 'set_resizable', 'set_movable' and 'set_rotatable' are now mandatory for all plot items (not only the image items as before)
* tools.ImageMaskTool/icon: more contrasted icon (in order to discriminate easily the disabled icon from the enabled one)
* plot.PlotManager: added method 'get_tool' (returns tool's instance from its class, if added to manager...)
* tools / New ExportItemData tool: supports only curve items (for now)
* tools.CrossSectionTool/AverageCrossSectionTool -- shape setup: added class attribute SHAPE_TITLE + do not hide computations anymore
* pyplot/Axes: added methods 'set_xlim' and 'set_ylim'
* shapes.py/image.py: code refactoring/cleaning --> geometry.py
* Rectangular shapes/annotations: added method get_bounding_rect_coords
* cross_section.CrossSectionPlot: added attribute 'single_source' / if True, only one image source is processed
* Improve pcolor, refactor scaler sources
* Handle Nan's quietly while computing lut min/max
* Added basic function computation on hist2d
* Allowed Histogram2DItems to have VOI, palettes and transparent backgrounds

Page 6 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.