How can I create a Hdf5 dataset file from several h5 files?
14 views (last 30 days)
Show older comments
I want to create a Hdf5 dataset by compressing more than hundred h5 files. How can I do that?
2 Comments
per isakson
on 8 Apr 2022
Edited: per isakson
on 8 Apr 2022
I'm not sure I understand the meaning of "Hdf5 dataset".
Answers (1)
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.
0 Comments
See Also
Categories
Find more on HDF5 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!