Updates March 2023

This commit is contained in:
2024-03-14 20:26:03 +01:00
parent affb8d1380
commit 59aacf516d
59 changed files with 1637 additions and 792 deletions

View File

@@ -512,6 +512,21 @@ HDF5DataSet::~HDF5DataSet() {
if (id >= 0) H5Dclose(id);
}
void HDF5DataSet::ReadDirectChunk(std::vector<uint8_t> &val, const std::vector<hsize_t> &offset) {
if (offset.size() != ndim)
throw JFJochException(JFJochExceptionCategory::HDF5, "Inconsistent dimension settings");
hsize_t chunk_bytes;
if (H5Dget_chunk_storage_size(id, offset.data(), &chunk_bytes) < 0)
throw JFJochException(JFJochExceptionCategory::HDF5, "Error checking chunk size");
val.resize(chunk_bytes);
uint32_t filters;
if (H5Dread_chunk(id, H5P_DEFAULT, offset.data(), &filters, val.data()))
throw JFJochException(JFJochExceptionCategory::HDF5,
"Error reading dataset (with direct chunks) to HDF5 file");
}
void RegisterHDF5Filter() {
if (H5Zregister(bshuf_H5Filter) < 0)