Holoviews:如何将多个 RGB 图像包装到一个数据集中并正确显示它们?

Holoviews: How to wrap multiple RGB images into a Dataset and display them correctly?

我有一个 RGB 图像数据集作为 numpy array 形状 (n, height, width, 3)。我想将数据包装到 hv.Dataset 中并将其可视化(使用 bokeh),这样:

我主要对没有 xarray 的解决方案感兴趣。

这样的事情应该可行,但我认为可能有更简洁的方法声明 hv.Dataset 包装输入数组:

import numpy as np, holoviews as hv
hv.extension('bokeh')

x,y = np.mgrid[-50:51, -100:101] * 0.1

def ms(k):
    r = 0.5*np.sin(np.pi  +k*x**2+y**2)+0.5
    g = 0.5*np.sin(x**2+k*y**2)+0.5
    b = 0.5*np.sin(np.pi/k+x**2+y**2)+0.5
    return np.dstack([r,g,b])

a = np.stack([ms(i) for i in [1,2,3,4]])

hv.HoloMap({i:hv.RGB(a[i-1,:,:,:], bounds=(-1,-0.5,1,0.5)).opts(data_aspect=1) for i in [1,2,3,4]})