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

14 views (last 30 days)
I want to create a Hdf5 dataset by compressing more than hundred h5 files. How can I do that?
  2 Comments
Gulfam Saju
Gulfam Saju on 8 Apr 2022
I mean, I want to create a dataset, where the format is hdf5 by compressing several h5 files.

Sign in to comment.

Answers (1)

Ayush Modi
Ayush Modi on 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.

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!