32 #ifndef RACK_POLAR_SLIDING_WINDOW_OP
33 #define RACK_POLAR_SLIDING_WINDOW_OP
35 #include <drain/imageops/SlidingWindowOp.h>
38 #include "radar/RadarWindows.h"
39 #include "PolarProductOp.h"
53 typename W::conf_t conf;
57 parameters.link(
"width", this->conf.widthM = 1500,
"metres");
58 parameters.link(
"height", this->conf.heightD = 3.0,
"deg");
59 parameters.link(
"threshold", this->conf.contributionThreshold = 0.5,
"percentage");
60 parameters.link(
"invertPolar", this->conf.invertPolar =
false,
"cart/polar");
62 dataSelector.setQuantities(
"^DBZH$");
63 dataSelector.setMaxCount(1);
71 if (srcData.hasQuality()){
72 mout.
warn(
"quality found, weighted operation" );
76 mout.
warn(
"no quality, unweighted operation" );
77 mout.
warn(dstData.data.getScaling() );
78 processPlainData(srcData, dstData);
87 if (srcData.odim.getGeometry().empty()){
88 mout.
warn(
"srcData.odim: empty geometry");
92 mout.
special(
"srcData.odim: " , srcData.odim );
95 typename W::conf_t pixelConf;
97 this->conf.setPixelConf(pixelConf, srcData.odim);
102 mout.
special(
"provided functor: " , op.conf.getFunctorName() ,
'|' , op.conf.functorParameters );
104 mout.
debug(
"pixelConf.contributionThreshold " , pixelConf.contributionThreshold );
105 mout.
debug(
"op.conf.contributionThreshold " , op.conf.contributionThreshold );
110 op.
process(srcData.data, dstData.data);
113 dstData.odim.prodpar = this->parameters.
getValues();
121 mout.
warn(
"not implemented, calling for plain data" );
123 processPlainData(srcData, dstData);
LogSourc e is the means for a function or any program segment to "connect" to a Log.
Definition: Log.h:308
Logger & special(const TT &... args)
Other useful information.
Definition: Log.h:527
Logger & warn(const TT &... args)
Possible error, but execution can continue.
Definition: Log.h:426
Logger & debug(const TT &... args)
Public, yet typically used "internally", when TIMING=true.
Definition: Log.h:676
void getValues(std::ostream &ostr) const
Dumps the values.
Definition: SmartMap.h:353
virtual void process(const ImageFrame &src, Image &dst) const
Main interface. Typically splits processing to each channel.
Definition: ImageOp.cpp:126
Template for operators applying pipeline-like sliding window.
Definition: SlidingWindowOp.h:59
Data structure consisting of plain data and an optional quality data.
Definition: Data.h:1144
Essential class for storing radar data.
Definition: Data.h:302
Base class for flat (2D) products computed in the polar coordinate system. Volume is used as input.
Definition: PolarProductOp.h:61
Definition: PolarSlidingWindowOp.h:175
Window operator with support.
Definition: PolarSlidingWindowOp.h:48
virtual void processDataWeighted(const Data< src_t > &srcData, Data< dst_t > &dstData) const
Quality-weighted prosessing of data.
Definition: PolarSlidingWindowOp.h:119
Definition: DataSelector.cpp:44