如何在C ++中阅读HDF5对象参考

时间:2019-05-31 20:16:52

标签: c++ hdf5

我想使用具有对象引用数组的c ++读取HDF5文件。我可以在python中获得正确的结果,但是在c ++中遇到了麻烦。

我尝试了教程文档中的一些c示例,但是似乎缺少c ++包装器,并且很难填补空白。

H5File file = H5File("example.h5", H5F_ACC_RDONLY);  
DataSet dataset = file.openDataSet("units/electrode_group");  
H5T_class_t type_class = dataset.getTypeClass();  
cout << type_class << endl; // correctly obtains H5T_REFERENCE.    
// Need to read and apply the references next.

以下python代码可完成我想要的一切,但我需要c ++版本。

import h5py               
FileName = 'example.h5'    
myHDF5file = h5py.File(FileName)  
ElectrodeGroup = myHDF5file['units/electrode_group']  
for electrodeRef in ElectrodeGroup:  
    print(myHDF5file[electrodeRef].name) 



The python code correctly prints:  
/general/extracellular_ephys/shank1  
/general/extracellular_ephys/shank1  
/general/extracellular_ephys/shank2   
/general/extracellular_ephys/shank3

0 个答案:

没有答案