0
HDF5ファイルの3D配列をC++の1D配列/ベクトルに特定のメモリ空間レイアウトを使用して読み込むことはできますか? HDF5ファイルからの読み込み:3Dデータをメモリ内の1Dベクトルに変換する
は、私が試した:H5File file(file_name, H5F_ACC_RDONLY);
DataSet dataset = file.openDataSet(dataset_name);
DataSpace dataspace = dataset.getSpace();
hsize_t dim[3];
dataspace.getSimpleExtentDims(dim, NULL);
hsize_t memdim[1];
memdim[0] = dim[0] * dim[1] * dim[2];
DataSpace memspace(1, memdim);
vector<float> data_out(memdim[0]);
// set the memory layout to 1D
dataset.read(data_out.data(), PredType::NATIVE_FLOAT, memspace, dataspace);
しかし、ベクトルが正しく入力されていません。私はデフォルトのマッピングがあるかもしれないと思った。多分そこにはないでしょうか?どのように指定すればよいですか?
「ベクターが正しく充填されていない」という意味はどうしてですか?たぶんそれは間違っているインデックスを作成している方法ですか? – Holt