Guiqwt

Latest version: v4.4.5

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

Scan your dependencies

Page 5 of 7

3.0.0

Possible API compatibility issues:

* Added support for PyQt5 (removed old-style signals)
* Replaced `PyQwt` dependency by the new `python-qwt` package (pure Python reimplementation of the Qwt6 C++ library)
* Removed "curvetype" feature (Yfx, Xfy) which is no longer supported in Qwt6
* Removed curve "fitted" option which is not supported in `qwt`.

Bug fixes:

* scaler.cpp: fixed destination rectangle ValueError test (was continuing execution instead of returning immediately)
* Fixed Issue 4: mingw-w64's _isnan function crash
* Fixed Issue 38: error when quitting "transform.py" on Python 3
* Fixed Issue 19: added all qthelpers.create_action kwargs to plot.PlotManager method
* Fixed Issue 21: Baseplot captured mouseDoubleClickEvent for whole plot area instead of just the axis area
* Fixed Issue 22: added support for int64/uint64 images
* Fixed Issue 24: Item list widget was loosing names of curves
* Fixed Issue 33: update color map axis when active image item has changed
* Fixed Issue 32: show cross sections only for *visible* image items
* Fixed Issue 34: editing any axis (mouse double-click) made the color axis vanish
* Fixed Issue 34: editing color axis parameters should not allowed (not supported) --> the user may change those parameters through the image item properties dialog box
* Fixed Issue 31: added option to sync cross section scales to main plot
* Fixed Issue 30: make.xyimage now accepts lists or tuples for `x` and `y` arguments
* Fixed Issue 26: ImageItem.get_lut_range_max() throwed ValueError
* Fixed Issue 27: X-cross section was not working when image Y-axis was not reversed
* assemble_imageitems: assemble images taking into account the Z-order
* Cross sections: adding image intersections instead of picking one layer only
* Fixed Issue 42: update tools status after registering all curve/image tools
* Fixed Issue 16: ImagePlot/rectangular zoom was ignoring aspect ratio
* Fixed Issue 43: install_requires Pillow instead of PIL
* Fixed Issue 46 (`guiqwt.io.imread`): fixed support for PNG images with transparency palette (Pillow)
* Images with integers: avoid overflows when computing LUT
* Fixed Issue 50: 16-bit images were saved (io.imwrite) using the wrong PIL mode

2.3.2

Possible API compatibility issues:

* qthelpers.exec_image_save_dialog: reversed the first two parameters (consistency with most Qt functions and with exec_image_open_dialog) ; parent widget is now the first argument, data to be saved being the second one.

Bug fixes:

* Building process was failing (since v2.3.1) on Windows with C compiler other than Microsoft Visual C++

Other changes:

* io.exec_image_save_dialog: added `template` argument to support DICOM files
* Sift:
* Added support for writing DICOM files
* Improved support for DICOM metadata
* Added support for multiple images resizing
* Updated py2exe example (switched to cxFreeze to show how it's done) following <https://groups.google.com/group/guidata_guiqwt/browse_thread/thread/f8db01cf7149e964>
* Updated the build in place batch script: building on Windows with Ms Visual C++

2.3.1

Bug fixes:

* Fixed build failures occuring on non-Windows platforms (Issue 54)
* Fixed requirements in README and setup.py: guiqwt v2.3 requires guidata v1.6

2.3.0

New features:

* Added support for Python 3: a single code source base compatible with both Python 2 and Python 3
* `scaler` C++ extension: added alternative implementations of C99 features so that this extension is now compatible with Microsoft Visual C++ compiler (was only compatible with gcc)
* Replaced all Fortran 77/90 extensions by Cython extensions:
* Building `guiqwt` no longer requires a Fortran compiler (but only a C/C++ compiler for the C++ scaler extension and the C Cython extensions)
* 2-D histogram items are drawn 3 times faster than before
* The Mandelbrot example runs faster too

Bug fixes:

* `guiqwt.image_nanmin/_nanmax`: bug fixed when data is a numpy.ma.MaskedArray object
* `guiqwt.styles`: using copy.deepcopy instead of copy.copy in `ItemParameters.get` to avoid side effects when using more than one instance of a DataSet object
* `guiqwt.annotations`: fixed bug when showing an AnnotatedShape object on an empty plot (unit was None)
* Fixed `PolygonShape` items pickle support (save_items, restore_items)

2.2.1

New features:

* Added support for plot items serialization/deserialization to/from HDF5:
* See `save_item`, `load_item`, `save_items` and `load_items` functions in `guiqwt.io`
* io.save_item/load_item (HDF5): None can be saved/loaded instead of a real item
* See `serialize` (save to) and `deserialize` (load from) methods in plot objects (save all items) or plot item objects
* See the new test `loadsaveitems_hdf5.py`
* builder/images: added option 'center_on' to center image data on point of coordinates 'center_on' (tuple)
* Flip/Rotate widget/dialog: added method 'set_parameters' to set default transform parameters
* guiqwt.tools.SignalStatsTool.move: added X range to label
* BaseCurveWidget/BaseImageWidget: added argument `curve_antialiasing` to switch on/off the curve antialiasing feature (this option may be passed to CurveWidget, CurveDialog, ImageWidget or ImageDialog through the `options` dictionary)
* (Issue 29) Added test 'customize_shape_tool.py' to demonstrate how easy it is to customize a shape created with a tool like RectangleTool, EllipseTool, etc.
* (Issue 37) Plot axis widget: added support for mouse double-click to set the axis range

Possible API compatibility issues:

* guiqwt now requires Python 2.6 (Python 2.5 support has been dropped)
* `guiqwt.io` module: file type filters are now sorted depending on data types
* `iohandler.load_filters` and `iohandler.save_filters` properties have been replaced by a method `iohandler.get_filters`:
* iohandler.load_filter --> iohandler.get_filters('load')
* iohandler.save_filter --> iohandler.get_filters('save')
* guidata.hdf5io.HDF5Reader.read: argument 'dataset' was renamed to 'instance'
* MaskedImageItem: masked_areas attribute is now a list of MaskedArea objects (so that MaskedImageItem objects serialization is easier to implement)
* Removed deprecated tools DuplicateCurveTool and DeleteCurveTool

Bug fixes:

* MaskedImageItem/bugfix: fixed rounding error when applying mask to item
* io.imread: drastically reduced loading time with PIL.Image
* RGB images support: fixed vertical orientation issue
* Fixed memory leaks in selection tool, image/curve stats tools and contrast tool
* Curve plot: setting axis scale of both X and Y axes at the same time was not working
* Issue 27: fixed FTBFS on kfreebsd due to Werror flag (patch from Frédéric Picca)
* FreeFormTool/MultiLineTool: fixed warning when clicking the first two points if these two points are at the exact same position (happened only when creating such a shape on an empty canvas)
* Fixed "Edit data..." tool: `oedit` function returns None when dialog is canceled or an array when it's validated (fixed "truth value" error)
* (Issue 32) pyplot/better compatibility with Matplotlib: `plot` now accepts lists instead of NumPy arrays
* (Issue 33) tools.LoadItemsTool: parent constructor was not called
* (Issue 36) plot.PlotManager: fixed typo when setting the plot manager to `plot_id`

2.2.0

New features:

* Added scaler module: resize function (using scaler C++ engine to resize images) which is incredibly faster than scipy.misc.imresize
* `guiqwt.io` module was rewritten: new extensible I/O functions `imwrite`/`imread` (see section 'Possible API compatibility issues')
* SelectTool:
* added Undo/Redo actions (triggered by platform's standard key sequences)
* "Select all" action is now triggered by platform's standard key sequence
* Added 'get_segment' test (analog to 'get_point')
* Interactive tools: added argument 'switch_to_default_tool' (if True, when tool action is finished, plot manager will automatically switch to the default tool)
* Added `label.RangeInfo` object: showing XRangeSelection shape informations (x, dx) in a label. See associated method 'range_info_label' in 'builder.make' singleton and unit test in 'tests/computations.py'.
* Snapshot tool: added an option to apply (or not) the interpolation algorithm
* `guiqwt.pyplot`: selecting default item type, hence allowing to use directly tools when there is only one curve/image without having to select it before
* Added new guiqwt svg logo
* Added new dialogs and widgets for manipulating (multiple) images:
* Rotate&Crop dialog, widget and tool (+ test) for TrImageItem plot items
* Flip&Rotate dialog and widget
* `pyplot.imshow`: added interpolation option ('nearest', 'linear', 'antialiasing')
* `io.imagefile_to_array`: added support for 16-bit Tiff with PhotoInterpretation=1
* ResizeDialog: added option "keep original size" to bypass this dialog
* RectangularActionTool: added option 'fix_orientation' (default: False, but set to True for the SnapshotTool)

Possible API compatibility issues:

* `guiqwt.io` module was rewritten -- potential API breaks:
* `imagefile_to_array` --> `imread`
* `array_to_imagefile` --> `imwrite`
* `array_to_dicomfile` --> `imwrite`
* `IMAGE_LOAD_FILTERS` --> `iohandler.load_filters`
* `IMAGE_SAVE_FILTERS` --> `iohandler.save_filters`
* `set_dynamic_range_from_dtype` --> `scale_data_to_dtype`

* Created `guiqwt.widgets` package to regroup ResizeDialog and RotateCropDialog/Widget
* Moved module `guiqwt.fit` to `guiqwt.widgets` package

Bug fixes:

* `guiqwt.geometry` : fixed zero division error in `compute_angle` function
* Fixed minimum value for histogram display
* Fixed Issue 16: use double precision for point baseclass
* Fixed rounding error in image.assemble_imageitems: concerns the snapshot tool, and the new rotate/crop dialog box (Rotate/Crop dialog: added a specific test checking if exported image is exactly identical to the original image when the cropping rectangle has the same size and position as the image below -- see rotatecrop.py test script).
* scaler: linear interpolation was inactive on image edges (first/last col/row)
* ImagePlot widget: fixed aspect ratio when showing the widget for the first time
* Events/Hit test:
* Plot item: fixed AttributeError with cursors (when clicking on the canvas with no current active item)
* Curve item: avoid showing dividing by zero warning
* tools.SnapshotTool:
* now fixing ROI orientation to avoid the negative size issue
* now handling out of memory errors for big images

Page 5 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.