我想使用datashader的自动降采样和缩放后重新渲染以显示大图像。在阅读有关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
,但结果相似。
答案 0 :(得分:0)
我从2017年的this comment中在Holoviews问题跟踪器中找到了答案。以下作品
regrid(hv_im).opts(clim=(im.min(), im.max()))
我尝试再次浏览文档,看看是否有人提到它。除了简短的mention in the FAQ,没有在搜索中找到其他任何内容。