问题标签 [hdf5]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
225 浏览

c++ - 在 C++ 中将真实数据和调试数据流式传输到磁盘

在 Windows 的 c++ 程序中将数据流式传输到磁盘的灵活方法是什么?

我希望创建一个灵活的数据流,其中可能包含任意数据(例如时间、平均值、重置时的标志等)到磁盘以供以后分析。数据可能以不均匀、不规则的间隔进入。理想情况下,这个流的开销最小,并且在 MATLAB 之类的东西中易于阅读,因此我可以轻松分析事件和数据。

我正在考虑一个二进制文件,其中包含一个描述数据包类型的头文件,然后是带有 . 我正在考虑一种精简的自定义格式,但也会对HDF5之类的东西感兴趣。

0 投票
2 回答
2110 浏览

c++ - 打开 HDF5 文件错误

我创建了一个 HDF5 文件打开函数,如下所示:

未发生编译错误,但无法链接,出现以下异常: Linking...
Creating library F:\Tips\Debug\Tips.lib and object F:\Tips\Debug\Tips.exp
TwinSatObservation.obj : error LNK2001: unresolved外部符号“公共:静态类 H5::FileCreatPropList const H5::FileCreatPropList::DEFAULT”(?DEFAULT@FileCreatPropList@H5@@2V12@B)
TwinSatObservation.obj:错误 LNK2001:未解析的外部符号“公共:静态类 H5: :FileAccPropList const H5::FileAccPropList::DEFAULT" (?DEFAULT@FileAccPropList@H5@@2V12@B)
F:\Tips\Debug\Tips.exe:致命错误 LNK1120:2 个未解决的外部

我将以下库添加到 VS 2008 Linker
hdf5dll.lib
hdf5_hldll.lib
hdf5_cppdll.lib
hdf5_hl_cppdll.lib的“Addtional Dependencies”输入框中

你能告诉我我忘记添加哪个库吗?非常感谢!

0 投票
2 回答
3607 浏览

python - 在 OS X 上安装 h5py

我花了一天时间试图让h5pypython 模块工作,但没有成功。我已经安装了 HDF5 共享库,按照我在网上可以找到的说明进行操作。但它不起作用,下面是我在尝试将模块导入 python 时收到的错误消息。我也尝试通过 MacPorts 安装,但它再次无法正常工作。

我正在使用 Python27 32 位(对于另一个模块也有,因此安装了 i386 HDF5 库......如果是这样的话?)

非常欢迎任何帮助!

谢谢 !

0 投票
1 回答
216 浏览

.net - 使用 F# 的超过 4 维数组 - 无法初始化对象

我玩 HDF5DotNet(见http://hdf5.net/)。有一个类H5Array有很多这样的构造函数:

我写

即使对于二维数组,我也会收到错误消息:

内部错误:F# 支持的最大 .NET 数组维度为 4

我的两个问题是:

  1. 如何使其适用于二维数据?
  2. 如何使其适用于超过 4 维的数据?
0 投票
1 回答
2077 浏览

visual-studio-2010 - Static linking, visual studio, and FLANN

I am trying to compile FLANN_Example.cpp in Visual Studio 2010. The file is a usage example of the Fast Library for Approximate Nearest Neighbors (FLANN); it is intended to produce an executable. I went through the whole CMake routine and installed the HD5F library (a dependency) set up for static linking.

I can compile every thing else - except for flann_example.cpp.

Here is the output:

Here are my Additional Include Directories:

Here are my Additional Dependencies under Linker:

Compiler Options:

/I"C:\Program Files (x86)\HDF Group\HDF5\1.8.7\include\cpp" /I"C:/flann-1.6.11- src/src/cpp" /Zi /nologo /W3 /WX- /Od /Ob0 /Oy- /D "WIN32" /D "_WINDOWS" /D "_DEBUG" /D "_FLANN_VERSION=1.6.11" /D "FLANN_STATIC" /D "CMAKE_INTDIR=\"Debug\"" /D "_MBCS" /Gm- /EHsc /RTC1 /MTd /GS /fp:precise /Zc:wchar_t /Zc:forScope /GR /Fp"flann_cpp_s.dir\Debug\flann_example.pch" /Fa"Debug" /Fo"flann_cpp_s.dir\Debug\" /Fd"C:/flann-1.6.11-src/bin/lib/Debug/flann_cpp_s.pdb" /Gd /TP /analyze- /errorReport:queue

Some help would be really appreciated! I have spent an inordinate amount of time on this.

0 投票
1 回答
397 浏览

c - 并行读取C结构的HDF5一维复合数据集

我有一个非常简单的复合数据集,大约 100 万行复合数据类型:

1长,3双。

我想使用集体调用与 MPI 并行读取它,平均分布在所有处理器上。

HDF5 低级接口使用起来非常复杂,对于这样一个简单的数据集,我想知道我是否可以使用高级 API 之一,例如 Lite 或 Table。文档中不清楚的是这些 API 是否支持 MPI 集体读取。

有人可以编写最简单的代码片段,使用 HDF5 1.8 将这个简单的数据集读入 C 结构吗?

我相信对于专家来说这应该是微不足道的,但对于初学者来说,HDF5(及其文档)的复杂性使它成为一项艰巨的任务。

谢谢。

0 投票
2 回答
2219 浏览

python - 将大量数据附加到 database.numcols != newdata.numcols 的表 (HDF5) 数据库中?

我正在尝试将大型数据集(>30Gb)附加到现有的 pytables 表中。表为 N 列,数据集为 N-1 列;在我知道其他 N-1 列之后计算一列。

在将数据集附加到数据库之前,我正在使用numpy.fromfile()将数据集的块读入内存。理想情况下,我想将数据粘贴到数据库中,然后计算最后一列,最后通过 usingTable.modifyColumn()完成操作。

我考虑过追加numpy.zeros((len(new_data), N))到表中,然后使用Table.modifyColumns()来填充新数据,但我希望有人知道一种很好的方法来避免为我需要追加的每个块生成大量空数据。

0 投票
2 回答
6747 浏览

c++ - 将 HDF5 库链接到 Visual C++ DLL 项目:未解析的外部符号 __imp__*

我正在使用 MS Visual C++ 2010 Express 构建一个插件,我想包含HDF5 library中的功能。我已经尝试使用 CMake 从源代码构建 HDF5,并安装预编译库(HDF5-1.8.7_CMake_x86_shared.zip对于 VC 2008)。对于任一构建目录/方法,我都修改了我的项目属性:

  • C/C++ > 常规 > 附加包含目录:include为 HDF5添加
  • 链接器 > 常规 > 附加库目录:lib为 HDF5添加

这是我的 DLL 模块的片段:

请注意,VC++ 会正确解析文件,例如,当我将鼠标悬停在该片段上时.h,可以直观地显示弹出文档。H5Fcreate我的问题是我无法构建尝试使用H5Fcreate. 这是我的构建尝试的控制台输出:

尝试在 HDF5 中链接的两种方法(如上所述,预编译与自编译)都会产生这些完全相同的错误,所以我不确定我哪里出错了。


非常感谢@HasanKhan 和@StevieG,这些对像我这样的 n00bs 很有帮助。为了清楚地跟进,我确实需要在 Linker > Input > Additional Dependencies 中添加 lib 文件路径:

如果我需要其他 HDF5 功能,我可能需要添加其他 lib 文件。此外,结果我需要将 HDF5 DLL(从bin)复制到我的系统目录(例如,C:\WINDOWS\System32\),以使插件在运行时正确运行。现在一切都好,谢谢!

0 投票
5 回答
11146 浏览

c++ - HDF5 C++ 接口:编写动态二维数组

我正在使用HDF5 C++ API编写二维数组数据集文件。HDF Group 有一个示例,可以从静态定义的数组大小创建 HDF5 文件,我已对其进行了修改以适应下面的需求。但是,我需要一个动态数组,其中NXNY都是在运行时确定的。我找到了另一种使用“new”关键字创建二维数组的解决方案,以帮助创建动态数组。这是我所拥有的:

但是,生成的文件与预期的不同(来自 的输出hdf5dump):

问题源于如何创建 2D 数组(因为此示例适用于静态数组方法)。正如我从这个电子邮件线程中了解到的:

HDF5 库需要一个连续的元素数组,而不是指向低维元素的指针

由于我对 C++/HDF5 比较陌生,因此我不确定如何在运行时创建一个动态大小的数组,它是一个连续的元素数组。我不想做电子邮件线程中描述的更复杂的“hyperslab”方法,因为这看起来过于复杂。任何帮助表示赞赏。

0 投票
1 回答
917 浏览

hdf5 - HDF5 入门

我正在尝试在 32 位 Win XP 机器上的 C# .NET 应用程序中使用 HDF5。我是这个 HDF5 东西的新手。

我从http://www.hdfgroup.org/HDF5/release/obtain5.html下载了 Windows 二进制发行版“HDF5-1.8.7_win_x86.zip” 。我不能真正按照“INSTALL_Windows.txt”中的说明进行操作,因为下载的内容下没有“windows”目录,说明要求我运行“copy_hdf.bat”文件!

到目前为止,我的意图是使用 HDF5 存储一些简单的文本和数字数据。有人可以建议我如何解决它。