26#ifndef PDP_PROCESSOR_H
27#define PDP_PROCESSOR_H
28#include "polarvolume.h"
29#include "rave_data2d.h"
44#define TRAP_UNDEF_VALUE -99999999999.0
118 RaveData2D_t* texturePHIDP, RaveData2D_t* RHOHV, RaveData2D_t* textureZ, RaveData2D_t* clutterMap,
double nodataZ,
double nodataVRADH);
138 RaveData2D_t* texturePHIDP, RaveData2D_t* RHOHV, RaveData2D_t* textureZ, RaveData2D_t* clutterMap,
139 double nodataZ,
double nodataVRADH,
double qualityThreshold,
140 RaveData2D_t** outZ, RaveData2D_t** outQuality, RaveData2D_t** outClutterMask);
164 double thresholdZ,
double thresholdTexture,
long filtXsize,
long filtYsize);
166int PdpProcessor_pdpProcessing(
PdpProcessor_t* self, RaveData2D_t* pdp,
double dr,
long window,
long nrIter, RaveData2D_t** pdpf, RaveData2D_t** kdp);
168int PdpProcessor_pdpScript(
PdpProcessor_t* self, RaveData2D_t* pdp,
double dr,
double rWin1,
double rWin2,
long nrIter, RaveData2D_t** pdpf, RaveData2D_t** kdp);
170int PdpProcessor_attenuation(
PdpProcessor_t* self, RaveData2D_t* Z, RaveData2D_t* zdr, RaveData2D_t* dbzh, RaveData2D_t* pdp,
171 RaveData2D_t* mask,
double gamma_h,
double alpha,
double zundetect,
double dbzhundetect, RaveData2D_t** outz, RaveData2D_t** outzdr, RaveData2D_t** outPIA, RaveData2D_t** outDBZH);
173int PdpProcessor_zphi(
PdpProcessor_t* self, RaveData2D_t* Z, RaveData2D_t* pdp, RaveData2D_t* mask,
174 double dr,
double BB,
double gamma_h, RaveData2D_t** outzphi, RaveData2D_t** outAH);
RaveData2D_t * PdpProcessor_clutterID(PdpProcessor_t *self, RaveData2D_t *Z, RaveData2D_t *VRADH, RaveData2D_t *texturePHIDP, RaveData2D_t *RHOHV, RaveData2D_t *textureZ, RaveData2D_t *clutterMap, double nodataZ, double nodataVRADH)
Clutter identificaton function.
Definition pdp_processor.c:927
double PdpProcessor_getMeltingLayerBottomHeight(PdpProcessor_t *scan)
Definition pdp_processor.c:768
void PdpProcessor_setMeltingLayerBottomHeight(PdpProcessor_t *scan, double height)
Sets the melting layer bottom height.
Definition pdp_processor.c:763
int PdpProcessor_setRadarOptions(PdpProcessor_t *self, PpcRadarOptions_t *options)
Sets the option instance to be used in the processing.
Definition pdp_processor.c:313
RaveData2D_t * PdpProcessor_residualClutterFilter(PdpProcessor_t *self, RaveData2D_t *Z, double thresholdZ, double thresholdTexture, long filtXsize, long filtYsize)
Runs the residual clutter filter on the image.
Definition pdp_processor.c:1178
int PdpProcessor_clutterCorrection(PdpProcessor_t *self, RaveData2D_t *Z, RaveData2D_t *VRADH, RaveData2D_t *texturePHIDP, RaveData2D_t *RHOHV, RaveData2D_t *textureZ, RaveData2D_t *clutterMap, double nodataZ, double nodataVRADH, double qualityThreshold, RaveData2D_t **outZ, RaveData2D_t **outQuality, RaveData2D_t **outClutterMask)
Performs the clutter correction.
Definition pdp_processor.c:1028
PolarScan_t * PdpProcessor_process(PdpProcessor_t *self, PolarScan_t *scan, RaveData2D_t *sclutterMap)
Combines all functions implemented in this class into one process that performs the actual polar data...
Definition pdp_processor.c:353
RaveCoreObjectType PdpProcessor_TYPE
Type definition to use when creating a rave object.
Definition pdp_processor.c:1834
RaveData2D_t * PdpProcessor_trap(PdpProcessor_t *self, RaveData2D_t *x, double a, double b, double s, double t)
Trapezoidal function.
Definition pdp_processor.c:873
PpcRadarOptions_t * PdpProcessor_getRadarOptions(PdpProcessor_t *self)
Definition pdp_processor.c:324
RaveData2D_t * PdpProcessor_medfilt(PdpProcessor_t *self, RaveData2D_t *Z, double thresh, double nodataZ, long filtXsize, long filtYsize)
Creates a median filtered field.
Definition pdp_processor.c:1096
RaveData2D_t * PdpProcessor_texture(PdpProcessor_t *self, RaveData2D_t *X)
Calculates the texture from the data 2d field.
Definition pdp_processor.c:777
Keeps one radar options setup This object does support #RAVE_OBJECT_CLONE.
Represents one transformator.
Definition pdp_processor.c:41
PpcRadarOptions_t * options
the processing options
Definition pdp_processor.c:44
The radar options class.
Definition ppc_radar_options.c:39