Holoviews网格化数据集示例 - 如何从2D图像(numpy数组)创建数据集

时间:2017-10-10 12:20:07

标签: python image numpy holoviews

我正在尝试从存储为numpy数组的2D图像创建一个holoviews数据集。 Holoviews为网格化数据集提供了一个相当全面的指南: http://holoviews.org/getting_started/Gridded_Datasets.html

在上面链接的示例中,他们从3D numpy数组(时间,x,y)创建数据集,如下所示:

ds = hv.Dataset((np.arange(50), np.arange(111), np.arange(62), calcium_array), kdims=['Time', 'x', 'y'], vdims=['Fluorescence']) ds

其中calcium_array是一个具有形状(50,11,62)的numpy数组。 这适用于我运行Python 3.6和holoviews版本1.8.4-x-gde78cf33a

当我尝试修改像这样的简单2D图像的例子时

ds = hv.Dataset((np.arange(111), np.arange(62), calcium_array[0,:,:]), kdims=[ 'x', 'y'], vdims=['Fluorescence']) ds

我得到了例外 ValueError: None of the available storage backends were able to support the supplied data format.

我对工作示例代码的修改基本上归结为删除数组中的第一个维度以及kdims。我做错了还是这个错误?

1 个答案:

答案 0 :(得分:0)

尝试:

ds = hv.Dataset((np.arange(50), np.arange(111), np.arange(62), calcium_array),
                kdims=['Time', 'x', 'y'], vdims=['Fluorescence'])
ds

=> :Dataset   [Time,x,y]   (Fluorescence)


ds = hv.Dataset((np.arange(50), np.arange(111), calcium_array[0,:,:]),
                kdims=['x', 'y'], vdims=['Fluorescence'])
ds

=> :Dataset   [x,y]   (Fluorescence)

也许我们需要更好的错误信息。