4e97a66a0e7013279c1726f581fdd5dab079a023 kent Sat Jan 2 19:41:33 2021 -0800 Some experiments with hdf5 files from heartcellatlas.org diff --git src/hg/oneShot/freen/freen.c src/hg/oneShot/freen/freen.c index e208ceb..745564a 100644 --- src/hg/oneShot/freen/freen.c +++ src/hg/oneShot/freen/freen.c @@ -30,39 +30,47 @@ "usage: freen input\n"); } #define FULLDATASET "obs/__categories/cell_type" #define DIM0 4 hid_t h5dOpen(hid_t parent, char *name) /* Open up a subpart or die trying */ { hid_t ret = H5Dopen(parent, name, H5P_DEFAULT); if (ret < 0) errAbort("Couldn't find %s in parent", name); return ret; } +hid_t h5fOpen(char *fileName, int accessType) +{ +hid_t ret = H5Fopen(fileName, accessType, H5P_DEFAULT); +if (ret < 0) + errAbort("Couldn't open %s", fileName); +return ret; +} + void freen(char *fileName) /* Test something */ { /* * Open file, dataset, and attribute. */ -hid_t file = H5Fopen (fileName, H5F_ACC_RDONLY, H5P_DEFAULT); -hid_t dset = h5dOpen (file, FULLDATASET); +hid_t file = h5fOpen (fileName, H5F_ACC_RDONLY); +hid_t dset = h5dOpen (file, "obs/__categories"); /* * Get the datatype. */ hid_t filetype = H5Dget_type (dset); uglyf("filetype = %d\n", filetype); /* * Get dataspace and allocate memory for read buffer. */ hid_t space = H5Dget_space (dset); hsize_t dims[1] = {DIM0}; int ndims = H5Sget_simple_extent_dims (space, dims, NULL); uglyf("Got %d ndims\n", ndims); char **rdata = (char **) malloc (dims[0] * sizeof (char *));