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");
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:312
Logger & warn(const TT &... args)
Possible error, but execution can continue.
Definition Log.h:430
Logger & debug(const TT &... args)
Debug information.
Definition Log.h:666
Logger & special(const TT &... args)
Other useful information.
Definition Log.h:531
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
void setQuantities(const std::string &s)
Sets basic quantities and quality quantities. These sets are separated by '/'.
Definition DataSelector.cpp:282
Data structure consisting of plain data and an optional quality data.
Definition Data.h:1146
Essential class for storing radar data.
Definition Data.h:300
Base class for flat (2D) products computed in the polar coordinate system. Volume is used as input.
Definition PolarProductOp.h:59
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