From 9624b2a04944b9c6d575fc848426dd0ad4afa9e7 Mon Sep 17 00:00:00 2001 From: Ogi Moore Date: Sat, 15 May 2021 23:12:58 -0700 Subject: [PATCH] Do not attempt to avoid np.log(0), instead ignore the warning Fixes #1775, also took the opportunity to clean the file a bit. --- examples/GLVolumeItem.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/examples/GLVolumeItem.py b/examples/GLVolumeItem.py index e09a8643..ca790fd3 100644 --- a/examples/GLVolumeItem.py +++ b/examples/GLVolumeItem.py @@ -18,8 +18,6 @@ w.opts['distance'] = 200 w.show() w.setWindowTitle('pyqtgraph example: GLVolumeItem') -#b = gl.GLBoxItem() -#w.addItem(b) g = gl.GLGridItem() g.scale(10, 10, 1) w.addItem(g) @@ -32,13 +30,20 @@ def psi(i, j, k, offset=(50,50,100)): th = np.arctan2(z, np.hypot(x, y)) r = np.sqrt(x**2 + y**2 + z **2) a0 = 2 - ps = (1./81.) * 1./(6.*np.pi)**0.5 * (1./a0)**(3/2) * (r/a0)**2 * np.exp(-r/(3*a0)) * (3 * np.cos(th)**2 - 1) - return ps + return ( + (1.0 / 81.0) + * 1.0 / (6.0 * np.pi) ** 0.5 + * (1.0 / a0) ** (3 / 2) + * (r / a0) ** 2 + * np.exp(-r / (3 * a0)) + * (3 * np.cos(th) ** 2 - 1) + ) data = np.fromfunction(psi, (100,100,200)) -positive = np.log(fn.clip_array(data, np.finfo(data.dtype).eps, data.max())**2) -negative = np.log(fn.clip_array(-data, -np.finfo(data.dtype).eps, -data.min())**2) +with np.errstate(divide = 'ignore'): + positive = np.log(fn.clip_array(data, 0, data.max())**2) + negative = np.log(fn.clip_array(-data, 0, -data.min())**2) d2 = np.empty(data.shape + (4,), dtype=np.ubyte) d2[..., 0] = positive * (255./positive.max())