Commit Graph

2622 Commits

Author SHA1 Message Date
KIU Shueng Chuan
3be8cafff4 avoid numpy scalar overflow
the "offset" argument passed into rescaleData() is typically an element
of an ndarray, i.e. it comes from the lower bound value of the "levels"
ndarray. as such, arithmetic operations on it can overflow.

this triggers a runtime warning in the test suite.

the workaround is to convert it to a Python (integer) scalar.
2021-04-09 10:14:23 +08:00
Martin Chase
0f94c17d86
Fix roi get array region (#1700)
* ROI.py, getArrayRegion: Fix return mapped coordinates

The *getArrayRegion* method is defined as returning a tuple of the points
in the selected region and the mapped coordinates if the
*returnMappedCoords* keyword argument is set to True in the parent class
*ROI*.

In the *EllipseROI* class, *getArrayRegion* was overriden, however it
ignores the *returnMappedCoords* keyword argument, leading to unintended
bugs because of the change in interface between the parent class and
the subclass.

This patch fixes the above bug.
If *returnMappedCoords* is set to False, then only *arr* containing the
array region is returned. If *returnMappedCoords* is set to True, a
tuple of the array region and the mapped coordinates is returned.

NB: At the time of this commit, the same bug is present in several classes
extending *ROI*. This commit only fixes the issue for the *EllipseROI* class.

* ROI.py, PolyLineROI.getArrayRegion: Fix return mapped coordinats

The *getArrayRegion* method is defined as returning a tuple of the
points in the selected region and the mapped coordinates if the
*returnMappedCoords* keyword argument is set to True in the parent class
*ROI*.

In the *PolyLineROI* class, *getArrayRegion* was overriden, however it
ignores the *returnMappedCoords* keyword argument, leading to unintended
bugs because of the change in interface between the parent class and the
subclass.

This patch fixes the above bug.  If *returnMappedCoords* is set to
False, then only *arr* containing the array region is returned. If
*returnMappedCoords* is set to True, a tuple of the array region and the
mapped coordinates is returned.

* remove merge conflict cruft

* lint

Co-authored-by: Malik Olivier Boussejra <malik@boussejra.com>
2021-04-08 13:43:30 -07:00
Kyle Sunden
711ad8afaa
Merge pull request #1696 from j9ac9k/0.12.1-changelog
Add changelog for 0.12.1
2021-04-06 20:52:46 -05:00
Kyle Sunden
03b7aa7860
Update version number for release 2021-04-06 20:41:32 -05:00
Ogi Moore
4bbbb189db Add changelog for 0.12.1 2021-04-06 13:08:49 -07:00
Ogi Moore
3ed206fa70
Merge pull request #1690 from ntjess/master
revert to old behavior: default created from value if not present
2021-04-06 13:07:10 -07:00
Ogi Moore
d4c5025289 Implement suggested changes from ixjlyons 2021-04-06 11:51:10 -07:00
pijyoi
aa57c7a685
implement rescaleData as a blocked iterator using np.nditer (#1648)
* implement rescaleData_blocked

clip limits should be int if data is int

* add test for rescaleData_blocked

* dispatch to different versions depending on numpy or cupy

* make rescaleData() the only entry-point
2021-04-05 23:02:52 -07:00
Nils Nemitz
758c038411
Add ColorBarItem for simplified image level adjustment (#1596)
* Initial implementation of ColorBarItem

* initial commit

* fixed missing indent

* docstring extension and corrections

* Converted example to match others / run as part of tests

* load local color maps instead of importing from colorcet

* clean up window creation code

* horizontal color bar and clean-up

* switched to mkQApp initialization

* cleaned up some comments
2021-04-05 20:50:52 -07:00
Nils Nemitz
929f3bda0d
make sure dynamic range limiter runs even when there isn't previous data (#1691) 2021-04-05 15:46:28 -07:00
Dennis Göries
b8cf3dded4
DateAxisItem: Account for daylight saving time (#1694)
* DateAxisItem: Account for daylight saving time

* Use  logic more visible in utcoffset

* Rename getOffsetFromUtc function
2021-04-05 15:45:08 -07:00
Nathan Jessurun
58d126dcf3 fixes tests 2021-04-03 20:31:04 -04:00
Nathan Jessurun
4b002c06ba revert to old behavior: default created from value if not present 2021-04-03 17:07:02 -04:00
Ogi Moore
07a99cb443
Merge pull request #1680 from pijyoi/rgba_endian
Fix CI tests for big-endian architectures
2021-04-01 20:37:06 -07:00
KIU Shueng Chuan
02a48afc60 test_makeARGB() : normalize to B,G,R,A 2021-04-01 08:38:10 +08:00
KIU Shueng Chuan
17e2f0f5f2 fix makeARGB() endian ordering 2021-04-01 08:38:08 +08:00
KIU Shueng Chuan
179b27ad8c image_testing.py: swap red and blue channels 2021-04-01 08:32:31 +08:00
Nils Nemitz
30071699d7
Include colormaps in installer (#1660)
* renamed mathods and moved color map example

* added colors/maps/ data to setup.py
2021-03-27 00:15:19 -07:00
Ogi Moore
4dc76ed90e
Merge pull request #1617 from pijyoi/fastpath_argb
Optimize makeARGB for ubyte images
2021-03-26 14:22:56 -07:00
Ogi Moore
1a597b80b7
Merge pull request #1662 from NilsNemitz/cast-to-int_in_ImageView_QSplitter.setSizes
added cast to int so that QSplitter.setSizes works on Python 3.10
2021-03-26 12:39:38 -07:00
Nils Nemitz
028f9d12a2 cast splitter settings to int in Canvas.py 2021-03-27 04:30:51 +09:00
Ogi Moore
21605faa44
Merge pull request #1666 from NilsNemitz/revert_styleUpdate_reduction
revert style change reduction in PlotDataItem
2021-03-26 12:12:41 -07:00
Ogi Moore
75abcb634e
Merge pull request #1665 from lidstrom83/bugfix-legend
Don't pass brush to fn.mkPen
2021-03-26 11:54:29 -07:00
Nils Nemitz
d8d5d49f04 revert style change reduction in PlotDataItem 2021-03-27 03:51:44 +09:00
Daniel Lidstrom
fb3a8b62bd Don't pass brush to fn.mkPen 2021-03-26 11:36:30 -07:00
Nils Nemitz
2b1e24bf11 added cast to int 2021-03-26 18:47:38 +09:00
KIU Shueng Chuan
b3dc090373 implement fastpath for makeARGB 2021-03-26 04:07:19 +08:00
KIU Shueng Chuan
de85a23ae0 switch to row-major order 2021-03-26 04:07:19 +08:00
KIU Shueng Chuan
fda8731dab reduce memory usage during data generation
random.normal() generates as float64 and gets converted to a smaller
dtype. generating all the needed data in a single call thus uses a lot
more memory than is necessary.

this changes it such that smaller chunks are generated.
data clipping is also changed to be in-place.

the gaussian filtering which gave the video a washed-out look is also
removed. this also contributed to data generation time.
2021-03-26 04:07:19 +08:00
KIU Shueng Chuan
cbafc773f5 fix: max value of uint16 is 65535 2021-03-26 04:07:19 +08:00
Ogi Moore
0234a27816
Merge pull request #1656 from ksunden/postrel0.12
Post release 0.12.0
2021-03-25 12:39:49 -07:00
Kyle Sunden
43532aa802 Post release 0.12.0 2021-03-25 14:25:30 -05:00
Ogi Moore
8552c500d5
Merge pull request #1655 from ksunden/prep0.12
Update version to 0.12.0
2021-03-25 12:07:03 -07:00
Kyle Sunden
d2a1bcf920 Update version to 0.12.0 2021-03-25 14:04:14 -05:00
Kyle Sunden
bf450c29a7
Merge pull request #1643 from j9ac9k/0.12-changelog
Initial draft of changelog for 0.12.0
2021-03-25 13:56:51 -05:00
Ogi Moore
e3f8c091c3 Update changelog 2021-03-23 12:56:56 -07:00
Ogi Moore
a86f588816 Incorporate suggested changes from NilsNemitz 2021-03-23 12:44:02 -07:00
Ogi Moore
3b620836c4
Merge pull request #1651 from j9ac9k/Use_collections.abc
collections.abc not just collections
2021-03-23 11:56:02 -07:00
Nils Nemitz
954c7342dd
Fix to accidentally disabled style updates in PlotDataItem (#1653)
* allowed style updates to once again update the style of curve and scatter plot, added tests

* tests interleave assign and assert to guard against delayed assignment

* > > > now 100% more camels < < <
2021-03-23 11:54:15 -07:00
Ogi Moore
bb5a179647
Add Deprecation Warning to Hex Strings That Do Not Start With "#" in mkColor (#1644)
* Add deprecation warning

* Incorporate changes to docs/warning

* correct input for no warnings

* Update docs examples in LabelItem
2021-03-23 11:35:06 -07:00
Ogi Moore
bc7ca1beef Move Color Map Example To Main Section 2021-03-23 11:12:36 -07:00
Ogi Moore
5b278855d6 Switch to camelCase functions 2021-03-23 11:07:19 -07:00
Ogi Moore
675516e0b1 collections.abc not just collections 2021-03-22 22:17:28 -07:00
Ogi Moore
4951bd743e
Replace main stanza with PyQt6 compatable variant (#1645)
* Replace main stanza with PyQt6 compatable variant

* Use fn.mkQApp instead

* remove needless comments
2021-03-22 11:17:12 -07:00
Ogi Moore
69be66699a
Merge pull request #1650 from NilsNemitz/add_clip_scalar_function
Do not use clip_array on scalars (use clip_scalar instead)
2021-03-22 11:16:50 -07:00
Ogi Moore
517d243166
Remove unhelpful warnings (#1646)
* Remove warning about existing QApplication

* Remove reference to weave which we do not use

* Do away with opengl warning

* Remove weaveDebug config option
2021-03-22 11:12:01 -07:00
Nils Nemitz
2c82a84f68 Do not use clip_array on scalars (use clip_scalar instead) 2021-03-23 01:08:31 +09:00
Nils Nemitz
a1eca4e2dd
handle empty adjanceny array (#1647) 2021-03-21 21:14:19 -07:00
pijyoi
d74bbe3bf6
Fix functions.clip_array() (#1649)
* fix clip_array()

return error for invalid inputs.
use minmax for win32, umath.clip for other platforms

the previous code was penalizing Linux

* force output to be an array
2021-03-21 18:44:26 -07:00
Nils Nemitz
d0f5a6686f
PlotDataItem: Fix view range <-> dynamic range limit pathology and switch to np.umath.clip (#1637)
* 'no offscreen clip' optimization and switch to np.umath.clip

* swapped out clipping code for new functions.array_clip
2021-03-20 22:16:15 -07:00