在C#中使用HDF5DotNet,如何从.mat文件中检索和访问单元数组

时间:2015-05-12 17:12:37

标签: c# hdf5 hdf

在C#中使用HDF5DotNet,我想读取900x1 Cell阵列,然后访问每个单元内的2D双阵列。我发现如何将H5Array映射到C#中的数组(见下文),但如果数组由" cells"组成,我无法弄清楚如何映射H5Array。 HDF5DotNet H5D.getType(...)函数只返回一个整数ID,我似乎无法将其与任何感兴趣的内容联系起来。我假设HDF5DotNet中有一个类可以与单元格进行协调。

H5.Open();
var fileID = H5F.open("_mapCsvFiles/simdata_020_01.mat", H5F.OpenMode.ACC_RDONLY);

var datasetID = H5D.open(fileID, "B_map");
var dataSpace = H5D.getSpace(datasetID);
var size = H5S.getSimpleExtentDims(dataSpace);
var dataType = H5D.getType(datasetID);

// What H5 Type would coorespond to CELLS
//????[,] dataArray = new ????[size[0], size[1]];
//var wrapArray = new H5Array<????>(dataArray);

double[,] dataArray = new double[size[0], size[1]];
var wrapArray = new H5Array<double>(dataArray);

H5D.read(datasetID, dataType, wrapArray);

0 个答案:

没有答案