summaryrefslogtreecommitdiffstats
path: root/src/readers/ufo-hdf5-reader.c
diff options
context:
space:
mode:
authorTomas Farago <sensej007@email.cz>2021-12-07 07:55:51 +0100
committerGitHub <noreply@github.com>2021-12-07 07:55:51 +0100
commit4c5d52debe42d0ad3d04df03e0bb462d11854b51 (patch)
tree39bf684ae54299b42cb4b452808a3dd60ab4b9b6 /src/readers/ufo-hdf5-reader.c
parent91b02da1880e71693b118e37da041f1126da356a (diff)
parent9f49adb9b922cecc6cdabb437701a2005953b265 (diff)
downloadufo-filters-4c5d52debe42d0ad3d04df03e0bb462d11854b51.tar.gz
ufo-filters-4c5d52debe42d0ad3d04df03e0bb462d11854b51.tar.bz2
ufo-filters-4c5d52debe42d0ad3d04df03e0bb462d11854b51.tar.xz
ufo-filters-4c5d52debe42d0ad3d04df03e0bb462d11854b51.zip
Merge pull request #216 from ufo-kit/image-step
Image step
Diffstat (limited to 'src/readers/ufo-hdf5-reader.c')
-rw-r--r--src/readers/ufo-hdf5-reader.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/readers/ufo-hdf5-reader.c b/src/readers/ufo-hdf5-reader.c
index 039e520..e7c94df 100644
--- a/src/readers/ufo-hdf5-reader.c
+++ b/src/readers/ufo-hdf5-reader.c
@@ -116,18 +116,20 @@ ufo_hdf5_reader_data_available (UfoReader *reader)
return priv->current < priv->dims[0];
}
-static void
+static gsize
ufo_hdf5_reader_read (UfoReader *reader,
UfoBuffer *buffer,
UfoRequisition *requisition,
guint roi_y,
guint roi_height,
- guint roi_step)
+ guint roi_step,
+ guint image_step)
{
UfoHdf5ReaderPrivate *priv;
gpointer data;
hid_t dst_dataspace_id;
hsize_t dst_dims[2];
+ gsize num_read = 0;
priv = UFO_HDF5_READER_GET_PRIVATE (reader);
data = ufo_buffer_get_host_array (buffer, NULL);
@@ -143,12 +145,16 @@ ufo_hdf5_reader_read (UfoReader *reader,
H5Dread (priv->dataset_id, H5T_NATIVE_FLOAT, dst_dataspace_id, priv->src_dataspace_id, H5P_DEFAULT, data);
H5Sclose (dst_dataspace_id);
- priv->current++;
+ num_read = MIN (image_step, priv->dims[0] - priv->current);
+ priv->current += num_read;
+
+ return num_read;
}
static gboolean
ufo_hdf5_reader_get_meta (UfoReader *reader,
UfoRequisition *requisition,
+ gsize *num_images,
UfoBufferDepth *bitdepth,
GError **error)
{
@@ -159,6 +165,7 @@ ufo_hdf5_reader_get_meta (UfoReader *reader,
requisition->n_dims = 2;
requisition->dims[0] = priv->dims[2];
requisition->dims[1] = priv->dims[1];
+ *num_images = priv->dims[0];
*bitdepth = UFO_BUFFER_DEPTH_32F;
return TRUE;
}