【发布时间】:2019-08-11 00:49:02
【问题描述】:
我想在缩放时使用数据着色器的自动下采样和重新渲染来显示大图像。阅读有关 holoviews、bokeh 和 datashader 的文档和论坛,据我了解,最好通过 Holoviews 执行此操作,而不是直接使用 datashader 和 bokeh(如果不是这种情况,请告诉我)。
下面的代码非常适合在缩放时重新绘制图像分辨率,并且比渲染完整图像要快得多。但是,我似乎无法弄清楚如何避免在图像缩放时重新调整颜色图范围。例如,当没有任何高强度区域在视野内时,放大到其中一个黑色区域最终会将其渲染为明亮。
我希望将颜色图范围固定为整个数组/图像的最小值和最大值(或接近这些值,理想情况下,我将拥有与 matplotlib 中的 vmin 和 vmax 相同的控制),而不是更新为图像被放大了。我在regrid 或hv.Image 中都没有看到任何控制这个的参数,可以实现吗?
import holoviews as hv
from holoviews.operation.datashader import regrid
from skimage import data
hv.extension('bokeh')
im = data.coins()
hv_im = hv.Image(im).opts(active_tools=['wheel_zoom'])
regrid(hv_im)
我也尝试使用datashade 代替regrid,但结果相似。
【问题讨论】:
标签: python bokeh holoviews datashader pyviz