我想在缩放时使用数据着色器的自动下采样和重新渲染来显示大图像。阅读有关 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
,但结果相似。