How can I create a Hdf5 dataset file from several h5 files?

14 Ansichten (letzte 30 Tage)
Gulfam Saju
Gulfam Saju am 7 Apr. 2022
Beantwortet: Ayush Modi am 1 Jan. 2024
I want to create a Hdf5 dataset by compressing more than hundred h5 files. How can I do that?
  2 Kommentare
per isakson
per isakson am 8 Apr. 2022
Bearbeitet: per isakson am 8 Apr. 2022
I'm not sure I understand the meaning of "Hdf5 dataset".
Gulfam Saju
Gulfam Saju am 8 Apr. 2022
I mean, I want to create a dataset, where the format is hdf5 by compressing several h5 files.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Ayush Modi
Ayush Modi am 1 Jan. 2024
Hi Gulfam,
As per my understanding, you want to merge multiple h5 files into a single hdf5 file and apply a compression on the hdf5 file. You can achieve this using the functions “h5read”, “h5create” and “h5write”. Here is an example to demonstrate how you can accomplish this:
% List of .h5 files to be combined
h5_files = {'sample1.h5', 'sample2.h5'}; % Add your file names here
% Name of the new combined HDF5 file
combined_hdf5_file = 'combined_data3.hdf5';
% Dataset name within the .h5 files that you want to combine
dataset_name = '/myDataset1';
% Initialize a variable to hold all the data
all_data = [];
% Loop through each .h5 file
for i = 1:length(h5_files)
% Read the dataset from the .h5 file
data = h5read(h5_files{i}, dataset_name);
% Concatenate the data
all_data = cat(1, all_data, data); % Adjust the dimension as necessary
end
% Create the new .hdf5 file and write the combined dataset
h5create(combined_hdf5_file, dataset_name, size(all_data), 'ChunkSize',[size(all_data)], 'Deflate',9);
h5write(combined_hdf5_file, dataset_name, all_data);
Please refer to the following MathWorks documentation for more information on “h5create” function:
I hope this resolves the issue you were facing.

Produkte


Version

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by