LAL  7.5.0.1-8083555
H5FileIO.h
Go to the documentation of this file.
1 /*
2 * Copyright (C) 2015 Jolien Creighton
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with with program; see the file COPYING. If not, write to the
16 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
17 * MA 02110-1301 USA
18 */
19 
20 #ifndef _H5FILEIO_H
21 #define _H5FILEIO_H
22 
23 #include <lal/LALDatatypes.h>
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 #if 0
29 }
30 #endif
31 
32 #include <stddef.h>
33 #include <lal/LALDatatypes.h>
34 
35 /**
36  * @defgroup H5FileIO_h Header H5FileIO.h
37  * @ingroup lal_support
38  *
39  * @brief Provides standard LAL support for reading and
40  * writing HDF5 files.
41  *
42  * ### EXAMPLE ###
43  *
44  * @code
45  * #include <lal/H5FileIO.h>
46  * ...
47  * LALH5File *file;
48  * LALINT2Array *orig;
49  * LALINT2Array *copy;
50  * ...
51  * // write an array to a file as dataset "testset"
52  * // assume orig has been created and its data set
53  * file = XLALH5FileOpen("testfile.h5", "w");
54  * XLALH5FileWriteINT2Array(file, "testset", orig);
55  * XLALH5FileClose(file);
56  * ...
57  * // read the array back from the file
58  * file = XLALH5FileOpen("testfile.h5", "r");
59  * copy = XLALH5FileReadINT2Array(file, "testset");
60  * XLALH5FileClose(file);
61  * @endcode
62  *
63  * @sa https://www.hdfgroup.org/HDF5/
64  *
65  * @{
66  * @defgroup H5FileIOLowLevel_c Low-Level Routines
67  * @defgroup H5FileIOMidLevel_c Mid-Level Routines
68  * @defgroup H5FileIOHighLevel_c High-Level Routines
69  * @defgroup H5Table_group Table Reading/Writing Routines
70  * @}
71  */
72 
73 struct tagLALH5Object;
74 /**
75  * @brief Incomplete type for a generic HDF5 object.
76  * @details
77  * The \c LALH5Generic is a structure that contains the identifier
78  * of a generic HDF5 file, group, or dataset.
79  */
80 typedef struct tagLALH5Object LALH5Object;
81 
82 struct tagLALH5File;
83 /**
84  * @brief Incomplete type for a HDF5 file.
85  * @details
86  * The ::LALH5File is a structure that is associated with a HDF5 file or group.
87  *
88  * Allocate ::LALH5File structures using XLALH5FileOpen() or
89  * XLALH5FileGroupOpen().
90  *
91  * Deallocate ::LALH5File structures using XLALH5FileClose().
92  */
93 typedef struct tagLALH5File LALH5File;
94 
95 struct tagLALH5Dataset;
96 /**
97  * @brief Incomplete type for a HDF5 dataset.
98  * @details
99  * The ::LALH5Dataset is a structure that is associated with a HDF5 dataset.
100  * Deallocate ::LALH5Dataset structures using XLALH5DatasetFree().
101  */
102 typedef struct tagLALH5Dataset LALH5Dataset;
103 
104 /**
105  * @brief Incomplete type for a pointer to an HDF5 file or group or dataset.
106  * @details
107  * The \c LALH5Generic is a union that is associated with a HDF5 file or
108  * group or dataset.
109  */
110 typedef union tagLALH5Generic {
111  LALH5Object *generic; /**< Pointer to generic HDF5 object */
112  LALH5File *file; /**< Pointer to a ::LALH5File file */
113  LALH5Dataset *dset; /**< Pointer to a ::LALH5Dataset dataset */
114 } LALH5Generic;
115 
117 LALH5File * XLALH5FileOpen(const char *path, const char *mode);
119 
123 int XLALH5FileQueryGroupName(char *name, size_t size, const LALH5File *file, int pos);
125 int XLALH5FileQueryDatasetName(char *name, size_t size, const LALH5File *file, int pos);
126 
127 /* this routine is deprecated */
129 
130 /* LOW-LEVEL ROUTINES */
131 
133 
135 LALH5Dataset * XLALH5DatasetAlloc1D(LALH5File *file, const char *name, LALTYPECODE dtype, size_t length);
137 int XLALH5DatasetWrite(LALH5Dataset *dset, void *data);
138 
139 /* these routines are deprecated */
142 
143 /* these routines are deprecated */
144 int XLALH5FileAddScalarAttribute(LALH5File *file, const char *key, const void *value, LALTYPECODE dtype);
145 int XLALH5FileAddStringAttribute(LALH5File *file, const char *key, const char *value);
146 int XLALH5FileAddLIGOTimeGPSAttribute(LALH5File *file, const char *key, const LIGOTimeGPS *value);
148 int XLALH5FileQueryScalarAttributeValue(void *value, LALH5File *file, const char *key);
149 int XLALH5FileQueryStringAttributeValue(char *value, size_t size, LALH5File *file, const char *key);
151 
159 int XLALH5DatasetQueryData(void *data, LALH5Dataset *dset);
160 
161 /* these routines are deprecated */
162 int XLALH5DatasetAddScalarAttribute(LALH5Dataset *dset, const char *key, const void *value, LALTYPECODE dtype);
163 int XLALH5DatasetAddStringAttribute(LALH5Dataset *dset, const char *key, const char *value);
164 int XLALH5DatasetAddLIGOTimeGPSAttribute(LALH5Dataset *dset, const char *key, const LIGOTimeGPS *value);
166 int XLALH5DatasetQueryScalarAttributeValue(void *value, LALH5Dataset *dset, const char *key);
167 int XLALH5DatasetQueryStringAttributeValue(char *value, size_t size, LALH5Dataset *dset, const char *key);
169 
170 size_t XLALH5AttributeCheckExists(const LALH5Generic object, const char *name);
171 size_t XLALH5AttributeQueryN(const LALH5Generic object);
172 int XLALH5AttributeQueryName(char *name, size_t size, const LALH5Generic object, int pos);
173 int XLALH5AttributeAddScalar(LALH5Generic object, const char *key, const void *value, LALTYPECODE dtype);
174 int XLALH5AttributeAddString(LALH5Generic object, const char *key, const char *value);
175 int XLALH5AttributeAddLIGOTimeGPS(LALH5Generic object, const char *key, const LIGOTimeGPS *value);
176 int XLALH5AttributeAddEnumArray1D(LALH5Generic object, const char *enumnames[], const int enumvals[], size_t nenum, const char *key, const int value[], size_t length);
178 int XLALH5AttributeQueryScalarValue(void *value, const LALH5Generic object, const char *key);
179 int XLALH5AttributeQueryStringValue(char *value, size_t size, const LALH5Generic object, const char *key);
181 size_t XLALH5AttributeQueryEnumArray1DLength(const LALH5Generic object, const char *key);
182 int XLALH5AttributeQueryEnumArray1DValue(int value[], const LALH5Generic object, const char *key);
183 size_t XLALH5AttributeQueryNEnum(const LALH5Generic object, const char *key);
184 int XLALH5AttributeQueryEnumName(char *name, size_t size, const LALH5Generic object, const char *key, int pos);
185 int XLALH5AttributeQueryEnumValue(const LALH5Generic object, const char *key, int pos);
186 
187 LALH5Dataset * XLALH5TableAlloc(LALH5File *file, const char *name, size_t ncols, const char **cols, const LALTYPECODE *types, const size_t *offsets, size_t rowsz);
188 int XLALH5TableAppend(LALH5Dataset *dset, const size_t *offsets, const size_t *colsz, size_t nrows, size_t rowsz, const void *data);
189 
190 int XLALH5TableRead(void *data, const LALH5Dataset *dset, const size_t *offsets, const size_t *colsz, size_t rowsz);
191 int XLALH5TableReadRows(void *data, const LALH5Dataset *dset, const size_t *offsets, const size_t *colsz, size_t row0, size_t nrows, size_t rowsz);
192 int XLALH5TableReadColumns(void *data, const LALH5Dataset *dset, const char *cols, const size_t *offsets, const size_t *colsz, size_t row0, size_t nrows, size_t rowsz);
193 
197 int XLALH5TableQueryColumnName(char *name, size_t size, const LALH5Dataset *dset, int pos);
198 size_t XLALH5TableQueryColumnSize(const LALH5Dataset *dset, int pos);
200 size_t XLALH5TableQueryColumnOffset(const LALH5Dataset *dset, int pos);
201 
202 /* MID-LEVEL ROUTINES */
203 
204 int XLALH5DatasetAddCHARAttribute(LALH5Dataset *dset, const char *key, CHAR value);
205 int XLALH5DatasetAddINT2Attribute(LALH5Dataset *dset, const char *key, INT2 value);
206 int XLALH5DatasetAddINT4Attribute(LALH5Dataset *dset, const char *key, INT4 value);
207 int XLALH5DatasetAddINT8Attribute(LALH5Dataset *dset, const char *key, INT8 value);
208 int XLALH5DatasetAddUCHARAttribute(LALH5Dataset *dset, const char *key, UCHAR value);
209 int XLALH5DatasetAddUINT2Attribute(LALH5Dataset *dset, const char *key, UINT2 value);
210 int XLALH5DatasetAddUINT4Attribute(LALH5Dataset *dset, const char *key, UINT4 value);
211 int XLALH5DatasetAddUINT8Attribute(LALH5Dataset *dset, const char *key, UINT8 value);
212 int XLALH5DatasetAddREAL4Attribute(LALH5Dataset *dset, const char *key, REAL4 value);
213 int XLALH5DatasetAddREAL8Attribute(LALH5Dataset *dset, const char *key, REAL8 value);
214 int XLALH5DatasetAddCOMPLEX8Attribute(LALH5Dataset *dset, const char *key, COMPLEX8 value);
215 int XLALH5DatasetAddCOMPLEX16Attribute(LALH5Dataset *dset, const char *key, COMPLEX16 value);
216 
229 
242 
253 
266 
267 
278 
279 /* HIGH-LEVEL ROUTINES */
280 
293 
304 
315 
320 
333 
344 
355 
360 
361 #if 0
362 {
363 #endif
364 #ifdef __cplusplus
365 }
366 #endif
367 
368 #endif
int XLALH5AttributeQueryEnumName(char *name, size_t size, const LALH5Generic object, const char *key, int pos)
int XLALH5AttributeQueryName(char *name, size_t size, const LALH5Generic object, int pos)
int XLALH5DatasetCheckStringData(LALH5Dataset *dset)
int XLALH5DatasetQueryStringAttributeValue(char *value, size_t size, LALH5Dataset *dset, const char *key)
LALH5Dataset * XLALH5TableAlloc(LALH5File *file, const char *name, size_t ncols, const char **cols, const LALTYPECODE *types, const size_t *offsets, size_t rowsz)
LALH5Dataset * XLALH5DatasetAlloc(LALH5File *file, const char *name, LALTYPECODE dtype, UINT4Vector *dimLength)
LALH5Dataset * XLALH5DatasetRead(LALH5File *file, const char *name)
LALH5Dataset * XLALH5DatasetAllocStringData(LALH5File *file, const char *name, size_t length)
size_t XLALH5TableQueryColumnSize(const LALH5Dataset *dset, int pos)
int XLALH5AttributeQueryEnumArray1DValue(int value[], const LALH5Generic object, const char *key)
int XLALH5AttributeQueryScalarValue(void *value, const LALH5Generic object, const char *key)
int XLALH5FileAddStringAttribute(LALH5File *file, const char *key, const char *value)
int XLALH5TableAppend(LALH5Dataset *dset, const size_t *offsets, const size_t *colsz, size_t nrows, size_t rowsz, const void *data)
int XLALH5AttributeQueryEnumValue(const LALH5Generic object, const char *key, int pos)
int XLALH5FileAddLIGOTimeGPSAttribute(LALH5File *file, const char *key, const LIGOTimeGPS *value)
size_t XLALH5TableQueryNColumns(const LALH5Dataset *dset)
int XLALH5TableReadColumns(void *data, const LALH5Dataset *dset, const char *cols, const size_t *offsets, const size_t *colsz, size_t row0, size_t nrows, size_t rowsz)
int XLALH5DatasetQueryNDim(LALH5Dataset *dset)
LIGOTimeGPS * XLALH5DatasetQueryLIGOTimeGPSAttributeValue(LIGOTimeGPS *value, LALH5Dataset *dset, const char *key)
struct tagLALH5File LALH5File
Incomplete type for a HDF5 file.
Definition: H5FileIO.h:93
int XLALH5DatasetAddStringAttribute(LALH5Dataset *dset, const char *key, const char *value)
int XLALH5TableReadRows(void *data, const LALH5Dataset *dset, const size_t *offsets, const size_t *colsz, size_t row0, size_t nrows, size_t rowsz)
LIGOTimeGPS * XLALH5FileQueryLIGOTimeGPSAttributeValue(LIGOTimeGPS *value, LALH5File *file, const char *key)
LALTYPECODE XLALH5DatasetQueryType(LALH5Dataset *dset)
int XLALH5TableQueryColumnName(char *name, size_t size, const LALH5Dataset *dset, int pos)
int XLALH5TableRead(void *data, const LALH5Dataset *dset, const size_t *offsets, const size_t *colsz, size_t rowsz)
size_t XLALH5AttributeQueryN(const LALH5Generic object)
int XLALH5DatasetAddLIGOTimeGPSAttribute(LALH5Dataset *dset, const char *key, const LIGOTimeGPS *value)
UINT4Vector * XLALH5DatasetQueryDims(LALH5Dataset *dset)
int XLALH5FileQueryScalarAttributeValue(void *value, LALH5File *file, const char *key)
int XLALH5FileCheckGroupExists(const LALH5File *file, const char *name)
struct tagLALH5Dataset LALH5Dataset
Incomplete type for a HDF5 dataset.
Definition: H5FileIO.h:102
int XLALH5AttributeQueryStringValue(char *value, size_t size, const LALH5Generic object, const char *key)
int XLALH5FileAddScalarAttribute(LALH5File *file, const char *key, const void *value, LALTYPECODE dtype)
int XLALH5DatasetAddScalarAttribute(LALH5Dataset *dset, const char *key, const void *value, LALTYPECODE dtype)
int XLALH5AttributeAddLIGOTimeGPS(LALH5Generic object, const char *key, const LIGOTimeGPS *value)
int XLALH5CheckGroupExists(LALH5File *file, const char *name)
int XLALH5FileCheckDatasetExists(const LALH5File *file, const char *name)
void XLALH5FileClose(LALH5File *file)
int XLALH5AttributeAddScalar(LALH5Generic object, const char *key, const void *value, LALTYPECODE dtype)
size_t XLALH5AttributeCheckExists(const LALH5Generic object, const char *name)
int XLALH5FileQueryGroupName(char *name, size_t size, const LALH5File *file, int pos)
LALTYPECODE XLALH5FileQueryScalarAttributeType(LALH5File *file, const char *key)
size_t XLALH5FileQueryNDatasets(const LALH5File *file)
int XLALH5DatasetQueryScalarAttributeValue(void *value, LALH5Dataset *dset, const char *key)
int XLALH5FileGetDatasetNames(LALH5File *file, char ***names, UINT4 *N)
size_t XLALH5TableQueryRowSize(const LALH5Dataset *dset)
LALTYPECODE XLALH5AttributeQueryScalarType(const LALH5Generic object, const char *key)
int XLALH5DatasetWrite(LALH5Dataset *dset, void *data)
size_t XLALH5TableQueryNRows(const LALH5Dataset *dset)
size_t XLALH5TableQueryColumnOffset(const LALH5Dataset *dset, int pos)
void XLALH5DatasetFree(LALH5Dataset *dset)
LALTYPECODE XLALH5DatasetQueryScalarAttributeType(LALH5Dataset *dset, const char *key)
size_t XLALH5DatasetQueryNBytes(LALH5Dataset *dset)
LALTYPECODE XLALH5TableQueryColumnType(const LALH5Dataset *dset, int pos)
int XLALH5FileGetAttributeNames(LALH5File *file, char ***names, UINT4 *N)
int XLALH5AttributeAddEnumArray1D(LALH5Generic object, const char *enumnames[], const int enumvals[], size_t nenum, const char *key, const int value[], size_t length)
struct tagLALH5Object LALH5Object
Incomplete type for a generic HDF5 object.
Definition: H5FileIO.h:80
size_t XLALH5DatasetQueryNPoints(LALH5Dataset *dset)
int XLALH5DatasetQueryData(void *data, LALH5Dataset *dset)
LALH5Dataset * XLALH5DatasetAlloc1D(LALH5File *file, const char *name, LALTYPECODE dtype, size_t length)
size_t XLALH5FileQueryNGroups(const LALH5File *file)
LALH5File * XLALH5GroupOpen(LALH5File *file, const char *name)
int XLALH5AttributeAddString(LALH5Generic object, const char *key, const char *value)
int XLALH5FileQueryDatasetName(char *name, size_t size, const LALH5File *file, int pos)
int XLALH5FileQueryStringAttributeValue(char *value, size_t size, LALH5File *file, const char *key)
LIGOTimeGPS * XLALH5AttributeQueryLIGOTimeGPSValue(LIGOTimeGPS *value, const LALH5Generic object, const char *key)
size_t XLALH5AttributeQueryNEnum(const LALH5Generic object, const char *key)
LALH5File * XLALH5FileOpen(const char *path, const char *mode)
size_t XLALH5AttributeQueryEnumArray1DLength(const LALH5Generic object, const char *key)
const char *const name
type name
Definition: UserInput.c:193
const char * names[]
Definition: WindowTest.c:34
int XLALH5FileWriteINT2Array(LALH5File *file, const char *name, INT2Array *array)
Writes an array to a LALH5File.
int XLALH5FileWriteREAL4Vector(LALH5File *file, const char *name, REAL4Vector *vector)
Writes a vector to a LALH5File.
UINT4Array * XLALH5FileReadUINT4Array(LALH5File *file, const char *name)
Reads an array from a LALH5File.
int XLALH5FileWriteCOMPLEX8FrequencySeries(LALH5File *file, const char *name, COMPLEX8FrequencySeries *series)
Writes a frequency series to a LALH5File.
int XLALH5FileWriteCOMPLEX16Array(LALH5File *file, const char *name, COMPLEX16Array *array)
Writes an array to a LALH5File.
REAL4Vector * XLALH5FileReadREAL4Vector(LALH5File *file, const char *name)
Reads a vector from a LALH5File.
REAL4TimeSeries * XLALH5FileReadREAL4TimeSeries(LALH5File *file, const char *name)
Reads a time series from a LALH5File.
INT2Array * XLALH5FileReadINT2Array(LALH5File *file, const char *name)
Reads an array from a LALH5File.
UINT8Array * XLALH5FileReadUINT8Array(LALH5File *file, const char *name)
Reads an array from a LALH5File.
INT4Vector * XLALH5FileReadINT4Vector(LALH5File *file, const char *name)
Reads a vector from a LALH5File.
int XLALH5FileWriteCOMPLEX16FrequencySeries(LALH5File *file, const char *name, COMPLEX16FrequencySeries *series)
Writes a frequency series to a LALH5File.
INT8TimeSeries * XLALH5FileReadINT8TimeSeries(LALH5File *file, const char *name)
Reads a time series from a LALH5File.
REAL8FrequencySeries * XLALH5FileReadREAL8FrequencySeries(LALH5File *file, const char *name)
Reads a frequency series from a LALH5File.
int XLALH5FileWriteUINT8Vector(LALH5File *file, const char *name, UINT8Vector *vector)
Writes a vector to a LALH5File.
COMPLEX16Vector * XLALH5FileReadCOMPLEX16Vector(LALH5File *file, const char *name)
Reads a vector from a LALH5File.
int XLALH5FileWriteStringVector(LALH5File *file, const char *name, LALStringVector *vector)
Writes a vector to a LALH5File.
int XLALH5FileWriteCHARVector(LALH5File *file, const char *name, CHARVector *vector)
Writes a vector to a LALH5File.
int XLALH5FileWriteCOMPLEX16Vector(LALH5File *file, const char *name, COMPLEX16Vector *vector)
Writes a vector to a LALH5File.
INT2Vector * XLALH5FileReadINT2Vector(LALH5File *file, const char *name)
Reads a vector from a LALH5File.
int XLALH5FileWriteINT2TimeSeries(LALH5File *file, const char *name, INT2TimeSeries *series)
Writes a time series to a LALH5File.
int XLALH5FileWriteINT4TimeSeries(LALH5File *file, const char *name, INT4TimeSeries *series)
Writes a time series to a LALH5File.
REAL8Array * XLALH5FileReadREAL8Array(LALH5File *file, const char *name)
Reads an array from a LALH5File.
int XLALH5FileWriteCOMPLEX8Array(LALH5File *file, const char *name, COMPLEX8Array *array)
Writes an array to a LALH5File.
int XLALH5FileWriteCOMPLEX16TimeSeries(LALH5File *file, const char *name, COMPLEX16TimeSeries *series)
Writes a time series to a LALH5File.
int XLALH5FileWriteREAL8TimeSeries(LALH5File *file, const char *name, REAL8TimeSeries *series)
Writes a time series to a LALH5File.
UINT2Vector * XLALH5FileReadUINT2Vector(LALH5File *file, const char *name)
Reads a vector from a LALH5File.
int XLALH5FileWriteREAL4FrequencySeries(LALH5File *file, const char *name, REAL4FrequencySeries *series)
Writes a frequency series to a LALH5File.
INT4TimeSeries * XLALH5FileReadINT4TimeSeries(LALH5File *file, const char *name)
Reads a time series from a LALH5File.
int XLALH5FileWriteUINT8Array(LALH5File *file, const char *name, UINT8Array *array)
Writes an array to a LALH5File.
int XLALH5FileWriteUINT4TimeSeries(LALH5File *file, const char *name, UINT4TimeSeries *series)
Writes a time series to a LALH5File.
int XLALH5FileWriteCOMPLEX8Vector(LALH5File *file, const char *name, COMPLEX8Vector *vector)
Writes a vector to a LALH5File.
int XLALH5FileWriteREAL8FrequencySeries(LALH5File *file, const char *name, REAL8FrequencySeries *series)
Writes a frequency series to a LALH5File.
CHARVector * XLALH5FileReadCHARVector(LALH5File *file, const char *name)
Reads a vector from a LALH5File.
int XLALH5FileWriteUINT4Vector(LALH5File *file, const char *name, UINT4Vector *vector)
Writes a vector to a LALH5File.
COMPLEX16TimeSeries * XLALH5FileReadCOMPLEX16TimeSeries(LALH5File *file, const char *name)
Reads a time series from a LALH5File.
REAL8TimeSeries * XLALH5FileReadREAL8TimeSeries(LALH5File *file, const char *name)
Reads a time series from a LALH5File.
INT2TimeSeries * XLALH5FileReadINT2TimeSeries(LALH5File *file, const char *name)
Reads a time series from a LALH5File.
REAL4FrequencySeries * XLALH5FileReadREAL4FrequencySeries(LALH5File *file, const char *name)
Reads a frequency series from a LALH5File.
int XLALH5FileWriteUINT2Array(LALH5File *file, const char *name, UINT2Array *array)
Writes an array to a LALH5File.
REAL8Vector * XLALH5FileReadREAL8Vector(LALH5File *file, const char *name)
Reads a vector from a LALH5File.
REAL4Array * XLALH5FileReadREAL4Array(LALH5File *file, const char *name)
Reads an array from a LALH5File.
COMPLEX8Array * XLALH5FileReadCOMPLEX8Array(LALH5File *file, const char *name)
Reads an array from a LALH5File.
int XLALH5FileWriteINT8TimeSeries(LALH5File *file, const char *name, INT8TimeSeries *series)
Writes a time series to a LALH5File.
INT8Array * XLALH5FileReadINT8Array(LALH5File *file, const char *name)
Reads an array from a LALH5File.
int XLALH5FileWriteUINT2TimeSeries(LALH5File *file, const char *name, UINT2TimeSeries *series)
Writes a time series to a LALH5File.
UINT2TimeSeries * XLALH5FileReadUINT2TimeSeries(LALH5File *file, const char *name)
Reads a time series from a LALH5File.
int XLALH5FileWriteREAL4Array(LALH5File *file, const char *name, REAL4Array *array)
Writes an array to a LALH5File.
UINT4Vector * XLALH5FileReadUINT4Vector(LALH5File *file, const char *name)
Reads a vector from a LALH5File.
UINT8TimeSeries * XLALH5FileReadUINT8TimeSeries(LALH5File *file, const char *name)
Reads a time series from a LALH5File.
int XLALH5FileWriteINT4Vector(LALH5File *file, const char *name, INT4Vector *vector)
Writes a vector to a LALH5File.
int XLALH5FileWriteREAL8Vector(LALH5File *file, const char *name, REAL8Vector *vector)
Writes a vector to a LALH5File.
UINT2Array * XLALH5FileReadUINT2Array(LALH5File *file, const char *name)
Reads an array from a LALH5File.
COMPLEX8TimeSeries * XLALH5FileReadCOMPLEX8TimeSeries(LALH5File *file, const char *name)
Reads a time series from a LALH5File.
UINT4TimeSeries * XLALH5FileReadUINT4TimeSeries(LALH5File *file, const char *name)
Reads a time series from a LALH5File.
INT8Vector * XLALH5FileReadINT8Vector(LALH5File *file, const char *name)
Reads a vector from a LALH5File.
int XLALH5FileWriteINT8Vector(LALH5File *file, const char *name, INT8Vector *vector)
Writes a vector to a LALH5File.
LALStringVector * XLALH5FileReadStringVector(LALH5File *file, const char *name)
Reads a vector from a LALH5File.
int XLALH5FileWriteREAL8Array(LALH5File *file, const char *name, REAL8Array *array)
Writes an array to a LALH5File.
int XLALH5FileWriteINT8Array(LALH5File *file, const char *name, INT8Array *array)
Writes an array to a LALH5File.
int XLALH5FileWriteINT4Array(LALH5File *file, const char *name, INT4Array *array)
Writes an array to a LALH5File.
int XLALH5FileWriteINT2Vector(LALH5File *file, const char *name, INT2Vector *vector)
Writes a vector to a LALH5File.
INT4Array * XLALH5FileReadINT4Array(LALH5File *file, const char *name)
Reads an array from a LALH5File.
int XLALH5FileWriteCOMPLEX8TimeSeries(LALH5File *file, const char *name, COMPLEX8TimeSeries *series)
Writes a time series to a LALH5File.
int XLALH5FileWriteUINT4Array(LALH5File *file, const char *name, UINT4Array *array)
Writes an array to a LALH5File.
COMPLEX8FrequencySeries * XLALH5FileReadCOMPLEX8FrequencySeries(LALH5File *file, const char *name)
Reads a frequency series from a LALH5File.
int XLALH5FileWriteREAL4TimeSeries(LALH5File *file, const char *name, REAL4TimeSeries *series)
Writes a time series to a LALH5File.
UINT8Vector * XLALH5FileReadUINT8Vector(LALH5File *file, const char *name)
Reads a vector from a LALH5File.
int XLALH5FileWriteUINT2Vector(LALH5File *file, const char *name, UINT2Vector *vector)
Writes a vector to a LALH5File.
COMPLEX16FrequencySeries * XLALH5FileReadCOMPLEX16FrequencySeries(LALH5File *file, const char *name)
Reads a frequency series from a LALH5File.
COMPLEX8Vector * XLALH5FileReadCOMPLEX8Vector(LALH5File *file, const char *name)
Reads a vector from a LALH5File.
COMPLEX16Array * XLALH5FileReadCOMPLEX16Array(LALH5File *file, const char *name)
Reads an array from a LALH5File.
int XLALH5FileWriteUINT8TimeSeries(LALH5File *file, const char *name, UINT8TimeSeries *series)
Writes a time series to a LALH5File.
CHAR XLALH5DatasetQueryCHARAttributeValue(LALH5Dataset *dset, const char *key)
Gets the value of a scalar attribute in a LALH5Dataset.
COMPLEX16 XLALH5DatasetQueryCOMPLEX16AttributeValue(LALH5Dataset *dset, const char *key)
Gets the value of a scalar attribute in a LALH5Dataset.
UINT8 XLALH5DatasetQueryUINT8AttributeValue(LALH5Dataset *dset, const char *key)
Gets the value of a scalar attribute in a LALH5Dataset.
LALH5Dataset * XLALH5DatasetAllocCOMPLEX16Array(LALH5File *file, const char *name, COMPLEX16Array *array)
Allocates a LALH5Dataset.
UINT8Array * XLALH5DatasetReadUINT8Array(LALH5Dataset *dset)
Reads a LALH5Dataset.
int XLALH5DatasetAddCOMPLEX16Attribute(LALH5Dataset *dset, const char *key, COMPLEX16 value)
Adds a scalar attribute to a LALH5Dataset.
COMPLEX8Array * XLALH5DatasetReadCOMPLEX8Array(LALH5Dataset *dset)
Reads a LALH5Dataset.
int XLALH5DatasetAddREAL4Attribute(LALH5Dataset *dset, const char *key, REAL4 value)
Adds a scalar attribute to a LALH5Dataset.
int XLALH5DatasetAddINT2Attribute(LALH5Dataset *dset, const char *key, INT2 value)
Adds a scalar attribute to a LALH5Dataset.
COMPLEX16Vector * XLALH5DatasetReadCOMPLEX16Vector(LALH5Dataset *dset)
Reads a LALH5Dataset.
int XLALH5DatasetAddUINT2Attribute(LALH5Dataset *dset, const char *key, UINT2 value)
Adds a scalar attribute to a LALH5Dataset.
int XLALH5DatasetAddCOMPLEX8Attribute(LALH5Dataset *dset, const char *key, COMPLEX8 value)
Adds a scalar attribute to a LALH5Dataset.
UINT2Array * XLALH5DatasetReadUINT2Array(LALH5Dataset *dset)
Reads a LALH5Dataset.
LALH5Dataset * XLALH5DatasetAllocINT8Array(LALH5File *file, const char *name, INT8Array *array)
Allocates a LALH5Dataset.
int XLALH5DatasetAddREAL8Attribute(LALH5Dataset *dset, const char *key, REAL8 value)
Adds a scalar attribute to a LALH5Dataset.
COMPLEX8 XLALH5DatasetQueryCOMPLEX8AttributeValue(LALH5Dataset *dset, const char *key)
Gets the value of a scalar attribute in a LALH5Dataset.
INT2 XLALH5DatasetQueryINT2AttributeValue(LALH5Dataset *dset, const char *key)
Gets the value of a scalar attribute in a LALH5Dataset.
LALH5Dataset * XLALH5DatasetAllocREAL8Vector(LALH5File *file, const char *name, REAL8Vector *vector)
Allocates a LALH5Dataset.
LALH5Dataset * XLALH5DatasetAllocREAL8Array(LALH5File *file, const char *name, REAL8Array *array)
Allocates a LALH5Dataset.
INT8Vector * XLALH5DatasetReadINT8Vector(LALH5Dataset *dset)
Reads a LALH5Dataset.
int XLALH5DatasetAddUCHARAttribute(LALH5Dataset *dset, const char *key, UCHAR value)
Adds a scalar attribute to a LALH5Dataset.
CHARVector * XLALH5DatasetReadCHARVector(LALH5Dataset *dset)
Reads a LALH5Dataset.
LALH5Dataset * XLALH5DatasetAllocINT8Vector(LALH5File *file, const char *name, INT8Vector *vector)
Allocates a LALH5Dataset.
LALH5Dataset * XLALH5DatasetAllocUINT8Array(LALH5File *file, const char *name, UINT8Array *array)
Allocates a LALH5Dataset.
INT8 XLALH5DatasetQueryINT8AttributeValue(LALH5Dataset *dset, const char *key)
Gets the value of a scalar attribute in a LALH5Dataset.
UINT2Vector * XLALH5DatasetReadUINT2Vector(LALH5Dataset *dset)
Reads a LALH5Dataset.
int XLALH5DatasetAddUINT4Attribute(LALH5Dataset *dset, const char *key, UINT4 value)
Adds a scalar attribute to a LALH5Dataset.
INT4 XLALH5DatasetQueryINT4AttributeValue(LALH5Dataset *dset, const char *key)
Gets the value of a scalar attribute in a LALH5Dataset.
INT4Vector * XLALH5DatasetReadINT4Vector(LALH5Dataset *dset)
Reads a LALH5Dataset.
int XLALH5DatasetAddUINT8Attribute(LALH5Dataset *dset, const char *key, UINT8 value)
Adds a scalar attribute to a LALH5Dataset.
REAL4Vector * XLALH5DatasetReadREAL4Vector(LALH5Dataset *dset)
Reads a LALH5Dataset.
INT2Vector * XLALH5DatasetReadINT2Vector(LALH5Dataset *dset)
Reads a LALH5Dataset.
LALH5Dataset * XLALH5DatasetAllocREAL4Array(LALH5File *file, const char *name, REAL4Array *array)
Allocates a LALH5Dataset.
LALH5Dataset * XLALH5DatasetAllocINT4Array(LALH5File *file, const char *name, INT4Array *array)
Allocates a LALH5Dataset.
INT2Array * XLALH5DatasetReadINT2Array(LALH5Dataset *dset)
Reads a LALH5Dataset.
INT4Array * XLALH5DatasetReadINT4Array(LALH5Dataset *dset)
Reads a LALH5Dataset.
UINT2 XLALH5DatasetQueryUINT2AttributeValue(LALH5Dataset *dset, const char *key)
Gets the value of a scalar attribute in a LALH5Dataset.
LALH5Dataset * XLALH5DatasetAllocUINT4Vector(LALH5File *file, const char *name, UINT4Vector *vector)
Allocates a LALH5Dataset.
LALH5Dataset * XLALH5DatasetAllocCHARVector(LALH5File *file, const char *name, CHARVector *vector)
Allocates a LALH5Dataset.
LALH5Dataset * XLALH5DatasetAllocUINT4Array(LALH5File *file, const char *name, UINT4Array *array)
Allocates a LALH5Dataset.
LALH5Dataset * XLALH5DatasetAllocStringVector(LALH5File *file, const char *name, LALStringVector *vector)
Allocates a LALH5Dataset.
int XLALH5DatasetAddINT4Attribute(LALH5Dataset *dset, const char *key, INT4 value)
Adds a scalar attribute to a LALH5Dataset.
UCHAR XLALH5DatasetQueryUCHARAttributeValue(LALH5Dataset *dset, const char *key)
Gets the value of a scalar attribute in a LALH5Dataset.
LALH5Dataset * XLALH5DatasetAllocINT4Vector(LALH5File *file, const char *name, INT4Vector *vector)
Allocates a LALH5Dataset.
UINT8Vector * XLALH5DatasetReadUINT8Vector(LALH5Dataset *dset)
Reads a LALH5Dataset.
LALH5Dataset * XLALH5DatasetAllocUINT2Vector(LALH5File *file, const char *name, UINT2Vector *vector)
Allocates a LALH5Dataset.
LALStringVector * XLALH5DatasetReadStringVector(LALH5Dataset *dset)
Reads a LALH5Dataset.
int XLALH5DatasetAddCHARAttribute(LALH5Dataset *dset, const char *key, CHAR value)
Adds a scalar attribute to a LALH5Dataset.
REAL8Vector * XLALH5DatasetReadREAL8Vector(LALH5Dataset *dset)
Reads a LALH5Dataset.
COMPLEX16Array * XLALH5DatasetReadCOMPLEX16Array(LALH5Dataset *dset)
Reads a LALH5Dataset.
LALH5Dataset * XLALH5DatasetAllocCOMPLEX8Vector(LALH5File *file, const char *name, COMPLEX8Vector *vector)
Allocates a LALH5Dataset.
REAL8 XLALH5DatasetQueryREAL8AttributeValue(LALH5Dataset *dset, const char *key)
Gets the value of a scalar attribute in a LALH5Dataset.
LALH5Dataset * XLALH5DatasetAllocCOMPLEX8Array(LALH5File *file, const char *name, COMPLEX8Array *array)
Allocates a LALH5Dataset.
COMPLEX8Vector * XLALH5DatasetReadCOMPLEX8Vector(LALH5Dataset *dset)
Reads a LALH5Dataset.
UINT4Vector * XLALH5DatasetReadUINT4Vector(LALH5Dataset *dset)
Reads a LALH5Dataset.
LALH5Dataset * XLALH5DatasetAllocUINT2Array(LALH5File *file, const char *name, UINT2Array *array)
Allocates a LALH5Dataset.
UINT4Array * XLALH5DatasetReadUINT4Array(LALH5Dataset *dset)
Reads a LALH5Dataset.
LALH5Dataset * XLALH5DatasetAllocREAL4Vector(LALH5File *file, const char *name, REAL4Vector *vector)
Allocates a LALH5Dataset.
INT8Array * XLALH5DatasetReadINT8Array(LALH5Dataset *dset)
Reads a LALH5Dataset.
UINT4 XLALH5DatasetQueryUINT4AttributeValue(LALH5Dataset *dset, const char *key)
Gets the value of a scalar attribute in a LALH5Dataset.
LALH5Dataset * XLALH5DatasetAllocCOMPLEX16Vector(LALH5File *file, const char *name, COMPLEX16Vector *vector)
Allocates a LALH5Dataset.
LALH5Dataset * XLALH5DatasetAllocINT2Array(LALH5File *file, const char *name, INT2Array *array)
Allocates a LALH5Dataset.
LALH5Dataset * XLALH5DatasetAllocINT2Vector(LALH5File *file, const char *name, INT2Vector *vector)
Allocates a LALH5Dataset.
LALH5Dataset * XLALH5DatasetAllocUINT8Vector(LALH5File *file, const char *name, UINT8Vector *vector)
Allocates a LALH5Dataset.
REAL4 XLALH5DatasetQueryREAL4AttributeValue(LALH5Dataset *dset, const char *key)
Gets the value of a scalar attribute in a LALH5Dataset.
REAL4Array * XLALH5DatasetReadREAL4Array(LALH5Dataset *dset)
Reads a LALH5Dataset.
int XLALH5DatasetAddINT8Attribute(LALH5Dataset *dset, const char *key, INT8 value)
Adds a scalar attribute to a LALH5Dataset.
REAL8Array * XLALH5DatasetReadREAL8Array(LALH5Dataset *dset)
Reads a LALH5Dataset.
LALTYPECODE
Type codes: use these type codes to identify a LAL atomic data type, see Headers LAL(Atomic)Datatypes...
Definition: LALDatatypes.h:49
unsigned char UCHAR
One-byte unsigned integer, see Headers LAL(Atomic)Datatypes.h for more details.
uint64_t UINT8
Eight-byte unsigned integer; on some platforms this is equivalent to unsigned long int instead.
double complex COMPLEX16
Double-precision floating-point complex number (16 bytes total)
double REAL8
Double precision real floating-point number (8 bytes).
int16_t INT2
Two-byte signed integer.
int64_t INT8
Eight-byte signed integer; on some platforms this is equivalent to long int instead.
uint16_t UINT2
Two-byte unsigned integer.
char CHAR
One-byte signed integer, see Headers LAL(Atomic)Datatypes.h for more details.
uint32_t UINT4
Four-byte unsigned integer.
float complex COMPLEX8
Single-precision floating-point complex number (8 bytes total)
int32_t INT4
Four-byte signed integer.
float REAL4
Single precision real floating-point number (4 bytes).
Vector of type CHAR, see DATATYPE-Vector types for more details.
Definition: LALDatatypes.h:73
Multidimentional array of COMPLEX16, see DATATYPE-Array types for more details.
Definition: LALDatatypes.h:238
See DATATYPE-FrequencySeries types for documentation.
Definition: LALDatatypes.h:909
Time series of COMPLEX16 data, see DATATYPE-TimeSeries types for more details.
Definition: LALDatatypes.h:600
Vector of type COMPLEX16, see DATATYPE-Vector types for more details.
Definition: LALDatatypes.h:172
Multidimentional array of COMPLEX8, see DATATYPE-Array types for more details.
Definition: LALDatatypes.h:232
See DATATYPE-FrequencySeries types for documentation.
Definition: LALDatatypes.h:899
Time series of COMPLEX8 data, see DATATYPE-TimeSeries types for more details.
Definition: LALDatatypes.h:590
Vector of type COMPLEX8, see DATATYPE-Vector types for more details.
Definition: LALDatatypes.h:163
Multidimentional array of INT2, see DATATYPE-Array types for more details.
Definition: LALDatatypes.h:184
Time series of INT2 data, see DATATYPE-TimeSeries types for more details.
Definition: LALDatatypes.h:511
Vector of type INT2, see DATATYPE-Vector types for more details.
Definition: LALDatatypes.h:91
Multidimentional array of INT4, see DATATYPE-Array types for more details.
Definition: LALDatatypes.h:196
Time series of INT4 data, see DATATYPE-TimeSeries types for more details.
Definition: LALDatatypes.h:530
Vector of type INT4, see DATATYPE-Vector types for more details.
Definition: LALDatatypes.h:109
Multidimentional array of INT8, see DATATYPE-Array types for more details.
Definition: LALDatatypes.h:208
Time series of INT8 data, see DATATYPE-TimeSeries types for more details.
Definition: LALDatatypes.h:550
Vector of type INT8, see DATATYPE-Vector types for more details.
Definition: LALDatatypes.h:127
Vector of type CHAR*, ie 'strings', see DATATYPE-Vector types for more details.
Definition: LALDatatypes.h:82
Epoch relative to GPS epoch, see LIGOTimeGPS type for more details.
Definition: LALDatatypes.h:458
Multidimentional array of REAL4, see DATATYPE-Array types for more details.
Definition: LALDatatypes.h:220
See DATATYPE-FrequencySeries types for documentation.
Definition: LALDatatypes.h:879
Time series of REAL4 data, see DATATYPE-TimeSeries types for more details.
Definition: LALDatatypes.h:570
Vector of type REAL4, see DATATYPE-Vector types for more details.
Definition: LALDatatypes.h:145
Multidimentional array of REAL8, see DATATYPE-Array types for more details.
Definition: LALDatatypes.h:226
See DATATYPE-FrequencySeries types for documentation.
Definition: LALDatatypes.h:889
Time series of REAL8 data, see DATATYPE-TimeSeries types for more details.
Definition: LALDatatypes.h:580
Vector of type REAL8, see DATATYPE-Vector types for more details.
Definition: LALDatatypes.h:154
Multidimentional array of UINT2, see DATATYPE-Array types for more details.
Definition: LALDatatypes.h:190
Time series of UINT2 data, see DATATYPE-TimeSeries types for more details.
Definition: LALDatatypes.h:521
Vector of type UINT2, see DATATYPE-Vector types for more details.
Definition: LALDatatypes.h:100
Multidimentional array of UINT4, see DATATYPE-Array types for more details.
Definition: LALDatatypes.h:202
Time series of UINT4 data, see DATATYPE-TimeSeries types for more details.
Definition: LALDatatypes.h:540
Vector of type UINT4, see DATATYPE-Vector types for more details.
Definition: LALDatatypes.h:118
Multidimentional array of UINT8, see DATATYPE-Array types for more details.
Definition: LALDatatypes.h:214
Time series of UINT8 data, see DATATYPE-TimeSeries types for more details.
Definition: LALDatatypes.h:560
Vector of type UINT8, see DATATYPE-Vector types for more details.
Definition: LALDatatypes.h:136
Incomplete type for a pointer to an HDF5 file or group or dataset.
Definition: H5FileIO.h:110
LALH5Dataset * dset
Pointer to a LALH5Dataset dataset.
Definition: H5FileIO.h:113
LALH5File * file
Pointer to a LALH5File file.
Definition: H5FileIO.h:112