Hi, I think there's a bug in ImageItem.py when returning a histogram for images with unsigned integer data types, and all pixels the same value.
Try changing line 495 in ImageItem.py from: step = np.ceil((mx-mn) / 500.) to step = np.ceil((mx-mn) / 500.) if not (mx-mn) == 0 else 1 Patrick On Thursday, 11 October 2018 00:39:55 UTC+10:30, Jim Crowell wrote: > > Oh, and BTW, the easiest way to demo the issue is to take > pyqtgrapy/examples/HistogramLUT.py and replace: > > data = pg.gaussianFilter(np.random.normal(size=(256, 256, 3)), (20, 20, 0 > )) > for i in range(32): > for j in range(32): > data[i*8, j*8] += .1 > > > > > with: > > data = np.zeros((256,256), dtype=np.uint8) > > > On Wednesday, October 10, 2018 at 10:05:17 AM UTC-4, Jim Crowell wrote: >> >> I've also run into this issue. The problem is in >> pyqtgraph/graphicsItems/ImageItem.py, in getHistogram(): >> >> if bins == 'auto': >> mn = stepData.min() >> mx = stepData.max() >> >> ...when mx == mn. I just added in immediately after that: >> >> >> if mx == mn: >> mx += 1 >> >> >> >> >> On Monday, February 19, 2018 at 4:43:37 AM UTC-5, Luca Piazza wrote: >>> >>> Hello everybody! >>> >>> beginner here... ;) >>> I'm writing a little GUI in PYQT5 to display images and I'd like to add >>> this histogram function. >>> The problem arises when my images are almost or completely black. >>> In case of an image with all 0 pixels the histogram breaks my >>> application raising the following error: >>> >>> File "C:\Program >>>> Files\Python36\lib\site-packages\pyqtgraph\graphicsItems\ImageItem.py", >>>> line 464, in getHistogram >>>> bins = np.arange(mn, mx+1.01*step, step, dtype=np.int) >>>> ValueError: arange: cannot compute length >>> >>> >>> >>> In case of an image with very few counts the histogram breaks my >>> application raising the following error: >>> >>> File "C:\Program >>>> Files\Python36\lib\site-packages\numpy\lib\function_base.py", line 727, in >>>> histogram >>>> '`bins` must increase monotonically, when an array') >>>> ValueError: `bins` must increase monotonically, when an array >>> >>> >>> Any idea for any solutions? >>> I don't have the knowledge, unfortunately, to modify the widget myself. >>> >>> Thanks! >>> Luca >>> >>> >>> ps... I will prepare a minimal example in few hours, but I preferred to >>> post this first >>> >> -- You received this message because you are subscribed to the Google Groups "pyqtgraph" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/pyqtgraph/30c12b51-4d32-41bd-a191-8f0f9148ac24%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
