2017-10-10 84 views
0

我试图从存储为numpy数组的二维图像创建全息数据集。 Holoviews提供网格数据相当comrehensive指南列出这里: http://holoviews.org/getting_started/Gridded_Datasets.html全息网格数据集示例 - 如何从2D图像(numpy数组)创建数据集

在该例子中连接上述他们从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中删除第一维。我做错了什么或者这是一个错误?

回答

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) 

也许我们需要一个更好的错误消息。

+0

我同意更好的错误信息。这是我的一个简单的错误,因为尺寸数组与图像数组索引的排列顺序相反,但错误消息根本没有指向我。 – volkerH