26#ifndef POLARSCANPARAM_H
27#define POLARSCANPARAM_H
This is a wrapper around a lazy nodelist reader used for fetching data from a HL_NodeList.
struct _LazyDataset_t LazyDataset_t
Defines a LazyNodeListReader instance.
Definition lazy_dataset.h:39
Utilities for performing polar navigation.
RaveCoreObjectType PolarScanParam_TYPE
Type definition to use when creating a rave object.
Definition polarscanparam.c:760
long PolarScanParam_getNrays(PolarScanParam_t *scanparam)
Returns the number of rays/scan.
Definition polarscanparam.c:320
RaveAttribute_t * PolarScanParam_getAttribute(PolarScanParam_t *scanparam, const char *name)
Returns the rave attribute that is named accordingly.
Definition polarscanparam.c:415
RaveLegend_t * PolarScanParam_getLegend(PolarScanParam_t *self)
Returns the legend associated with this parameter.
Definition polarscanparam.c:751
RaveObjectList_t * PolarScanParam_getQualityFields(PolarScanParam_t *param)
Returns all quality fields belonging to this scan parameter.
Definition polarscanparam.c:489
void PolarScanParam_setNodata(PolarScanParam_t *scanparam, double nodata)
Sets the nodata.
Definition polarscanparam.c:217
void PolarScanParam_setLegend(PolarScanParam_t *self, RaveLegend_t *legend)
Sets the legend associated with this parameter.
Definition polarscanparam.c:738
int PolarScanParam_addAttributeVersion(PolarScanParam_t *scanparam, RaveAttribute_t *attribute, RaveIO_ODIM_Version version)
Adds a rave attribute to the parameter.
Definition polarscanparam.c:387
void PolarScanParam_setGain(PolarScanParam_t *scanparam, double gain)
Sets the gain.
Definition polarscanparam.c:189
int PolarScanParam_setData(PolarScanParam_t *scanparam, long nbins, long nrays, void *data, RaveDataType type)
Sets the data.
Definition polarscanparam.c:241
RaveObjectList_t * PolarScanParam_getAttributeValues(PolarScanParam_t *scanparam)
Returns a list of attribute values that should be stored for this parameter.
Definition polarscanparam.c:451
int PolarScanParam_hasAttribute(PolarScanParam_t *scanparam, const char *name)
Returns if the specified attribute exists.
Definition polarscanparam.c:433
RaveList_t * PolarScanParam_getAttributeNamesVersion(PolarScanParam_t *scanparam, RaveIO_ODIM_Version version)
Returns a list of attribute names for specified version.
Definition polarscanparam.c:445
RaveValueType PolarScanParam_getConvertedValue(PolarScanParam_t *scanparam, int bin, int ray, double *v)
Returns the linear converted value at the specified index.
Definition polarscanparam.c:363
void * PolarScanParam_getData(PolarScanParam_t *scanparam)
Returns a pointer to the internal data storage.
Definition polarscanparam.c:293
int PolarScanParam_addQualityField(PolarScanParam_t *param, RaveField_t *field)
Adds a quality field to this scan.
Definition polarscanparam.c:463
RaveField_t * PolarScanParam_getQualityFieldByHowTask(PolarScanParam_t *param, const char *value)
Returns a quality field based on the value of how/task that should be a string.
Definition polarscanparam.c:495
RaveList_t * PolarScanParam_getAttributeNames(PolarScanParam_t *scanparam)
Returns a list of attribute names.
Definition polarscanparam.c:439
int PolarScanParam_getNumberOfQualityFields(PolarScanParam_t *param)
Returns the number of quality fields.
Definition polarscanparam.c:475
RaveField_t * PolarScanParam_getQualityField(PolarScanParam_t *param, int index)
Returns the quality field at the specified location.
Definition polarscanparam.c:469
void PolarScanParam_setOffset(PolarScanParam_t *scanparam, double offset)
Sets the offset.
Definition polarscanparam.c:205
int PolarScanParam_setQuantity(PolarScanParam_t *scanparam, const char *quantity)
Sets the quantity.
Definition polarscanparam.c:165
long PolarScanParam_getNbins(PolarScanParam_t *scanparam)
Returns the number of bins.
Definition polarscanparam.c:311
RaveObjectList_t * PolarScanParam_getAttributeValuesVersion(PolarScanParam_t *scanparam, RaveIO_ODIM_Version version)
Returns a list of attribute values in specified version that has been added to this parameter.
Definition polarscanparam.c:457
double PolarScanParam_getOffset(PolarScanParam_t *scanparam)
Returns the offset.
Definition polarscanparam.c:211
int PolarScanParam_setLazyDataset(PolarScanParam_t *scanparam, LazyDataset_t *lazyDataset)
Sets a lazy dataset as data member.
Definition polarscanparam.c:252
double PolarScanParam_getUndetect(PolarScanParam_t *scanparam)
Returns the undetect.
Definition polarscanparam.c:235
void PolarScanParam_setUndetect(PolarScanParam_t *scanparam, double undetect)
Sets the undetect.
Definition polarscanparam.c:229
RaveDataType PolarScanParam_getDataType(PolarScanParam_t *scan)
Returns the data type.
Definition polarscanparam.c:329
int PolarScanParam_setData2D(PolarScanParam_t *scanparam, RaveData2D_t *data2d)
Sets the data from a rave data 2d object.
Definition polarscanparam.c:264
double PolarScanParam_getNodata(PolarScanParam_t *scanparam)
Returns the nodata.
Definition polarscanparam.c:223
double PolarScanParam_getGain(PolarScanParam_t *scanparam)
Returns the gain.
Definition polarscanparam.c:199
int PolarScanParam_hasLegend(PolarScanParam_t *self)
Returns if there is a legend associated with this parameter or not.
Definition polarscanparam.c:745
PolarScanParam_t * PolarScanParam_fromField(RaveField_t *field)
Translates a rave field into a polar scan parameter.
Definition polarscanparam.c:601
struct _PolarScanParam_t PolarScanParam_t
Defines a Polar Scan Parameter.
Definition polarscanparam.h:41
RaveAttribute_t * PolarScanParam_getAttributeVersion(PolarScanParam_t *scanparam, const char *name, RaveIO_ODIM_Version version)
Returns the rave attribute that is named accordingly and version.
Definition polarscanparam.c:422
int PolarScanParam_shiftData(PolarScanParam_t *param, int nrays)
Performs a circular shift of the dataset and the attributes that are associated with the rays.
Definition polarscanparam.c:721
const char * PolarScanParam_getQuantity(PolarScanParam_t *scanparam)
Returns the quantity.
Definition polarscanparam.c:183
int PolarScanParam_addAttribute(PolarScanParam_t *scanparam, RaveAttribute_t *attribute)
Adds a rave attribute to the parameter.
Definition polarscanparam.c:381
int PolarScanParam_setValue(PolarScanParam_t *scanparam, int bin, int ray, double v)
Sets the value.
Definition polarscanparam.c:376
RaveValueType PolarScanParam_getValue(PolarScanParam_t *scanparam, int bin, int ray, double *v)
Returns the value at the specified index.
Definition polarscanparam.c:338
RaveField_t * PolarScanParam_toField(PolarScanParam_t *param)
Converts a polar scan parameter into a rave field.
Definition polarscanparam.c:516
RaveData2D_t * PolarScanParam_getData2D(PolarScanParam_t *scanparam)
Returns a copy of the internal 2d data field.
Definition polarscanparam.c:299
void PolarScanParam_removeQualityField(PolarScanParam_t *param, int index)
Removes the quality field at the specified location.
Definition polarscanparam.c:481
int PolarScanParam_createData(PolarScanParam_t *scanparam, long nbins, long nrays, RaveDataType type)
Creates a data field with the specified dimensions and type.
Definition polarscanparam.c:282
int PolarScanParam_convertDataDoubleToUchar(PolarScanParam_t *param)
Converter for 64-bit float (from BUFR) to 8-bit uint, primarily for reverting reflectivity data back ...
Definition polarscanparam.c:671
Used for keeping track on attributes.
struct _RaveAttribute_t RaveAttribute_t
Defines a rave attribute.
Definition rave_attribute.h:47
struct _RaveData2D_t RaveData2D_t
Defines a Rave 2-dimensional data array.
Definition rave_data2d.h:34
Generic field that only provides a 2-dim data field and a number of dynamic attributes.
struct _RaveField_t RaveField_t
Defines a Rave field.
Definition rave_field.h:38
struct _RaveLegend_t RaveLegend_t
Defines a attribute tablee.
Definition rave_legend.h:35
Implementation of a simple list.
struct _RaveList_t RaveList_t
Defines a list.
Definition rave_list.h:33
Generic implementation of an object that is used within rave.
struct _raveobjecttype RaveCoreObjectType
The rave object type definition.
Type definitions for RAVE.
RaveIO_ODIM_Version
The /Conventions version in a ODIM HDF5 file.
Definition rave_types.h:43
RaveDataType
Different data types that are supported during transformation.
Definition rave_types.h:130
RaveValueType
Different value types.
Definition rave_types.h:72
Implementation of a rave object list that ensures that the objects contained within the list are rele...
struct _RaveObjectList_t RaveObjectList_t
Defines a list.
Definition raveobject_list.h:38
Represents one param in a scan.
Definition polarscanparam.c:41
double offset
offset when scaling
Definition polarscanparam.c:48
char * quantity
< the legend
Definition polarscanparam.c:46
double nodata
nodata
Definition polarscanparam.c:49
RAVE_OBJECT_HEAD RaveData2D_t * data
Always on top.
Definition polarscanparam.c:43
double undetect
undetect
Definition polarscanparam.c:50
LazyDataset_t * lazyDataset
the lazy dataset
Definition polarscanparam.c:44
double gain
gain when scaling
Definition polarscanparam.c:47