Based on pre-computed clutter map, scales the clutter probability for desired sweeps.
More...
ClutterOp (double decay=0.5, double gamma=1.0, const std::string &quantity="CLUTTER", const std::string &file="cluttermaps/cluttermap-${NOD}-${quantity}.h5")
Default constructor.
void setClutterMap (const std::string &filename) const
Loads a clutter map.
const Hi5Tree & getClutterMap (const PolarODIM &odim ) const
virtual void runDetection (const DataSet < PolarSrc > &src, PlainData < PolarDst > &dst, DataSet < PolarDst > &aux) const
Process as sweep (data in one elevation angle)
DetectorOp (const std::string &name=__FUNCTION__, const std::string &description="", const std::string &echoClass="")
DetectorOp (const DetectorOp &op)
virtual const std::string & getOutputQuantity (const std::string &inputQuantity="") const
Returns the quantity name, by default the name of the class in upper case letters.
virtual void computeProducts (const DataSetMap < PolarSrc > &srcVolume, DataSetMap < PolarDst > &dstVolume) const
virtual void runDetection (const DataSetMap < PolarSrc > &srcVolume, DataSetMap < PolarDst > &dstVolume) const
virtual void runDetector (const PlainData < PolarSrc > &srcData, PlainData < PolarDst > &dstProb) const
Process as sweep (data in one elevation angle)
virtual void processData (const Data < src_t > &srcData, Data < dst_t > &dstData) const
VolumeTraversalOp (const std::string &name, const std::string &description="")
virtual void traverseVolume (const Hi5Tree &src, Hi5Tree &dst) const
Base class for radar data processors.
PolarProductOp (const std::string &name=__FUNCTION__, const std::string &description="")
PolarProductOp (const PolarProductOp &op)
VolumeOp (const std::string &name, const std::string &description="")
virtual Hi5Tree & processVolume (const Hi5Tree &srcRoot, Hi5Tree &dstRoot) const final
Traverse through given volume and create new, processed data (volume or polar product).
RadarProductOp (const std::string &name, const std::string &description)
Default constructor.
RadarProductOp (const RadarProductOp &product)
virtual void processH5 (const Hi5Tree &src, Hi5Tree &dst) const
virtual void computeSingleProduct (const DataSetMap < src_t > &srcSweeps, DataSet < dst_t > &dstProduct) const
Traverse the data applicable for this product and create new, processed data (volume or polar product).
virtual void processDataSet (const DataSet < src_t > &srcSweep, DataSet < DstType < MD > > &dstProduct) const
Process the data of a single sweep and and write the result to given product.
const std::string & getLastArguments () const
virtual ~ProductBase ()
Destructor.
void setDataSelector (const DataSelector &selector)
Copies the conditions of another selector.
const DataSelector & getDataSelector () const
Returns the data selector of this operator.
DataSelector & getDataSelector ()
Returns the data selector of this operator.
void help (std::ostream &ostr=std::cout, bool showDescription=true) const
Dumps the help of this operator.
const drain::ReferenceMap & getAllowedEncoding () const
Returns a map of encoding parameters that can be changed by the user.
virtual void setEncodingRequest (const std::string &p)
Set encoding parameters for the result: type,gain,offset,undetect,nodata.
void setAllowedEncoding (const std::string &keys)
ProductConf ()
Default constructor.
ProductConf (const ProductConf &conf)
Copy constructor.
BeanLike (const BeanLike &b)
BeanLike (const std::string &name, const std::string &description="")
virtual const std::string & getName () const
Return the name of an instance.
virtual const std::string & getDescription () const
Return a brief description.
bool hasParameters () const
template<class F >
F getParameter (const std::string &p) const
Gets a single parameter.
const map_t & getParameters () const
map_t & getParameters ()
template<class F >
void setParametersFromEntries (const F &args)
void setParameters (std::initializer_list< Variable::init_pair_t > args)
Grants access to (if above hidden)
virtual void setParameters (const std::string &p, char assignmentSymbol='=', char separatorSymbol=0)
Sets comma-separated parameters in a predetermined order "a,b,c" or by specifing them "b=2".
template<class T >
void setParameters (const std::map< std::string, T > &args)
Set parameters.
template<class T >
void setParameters (const SmartMap < T > &args)
Set parameters.
void setParameter (const std::string &p, const Castable &value)
Sets a single parameter.
template<class T >
void setParameter (const std::string &p, const VariableT < T > &value)
template<class F >
void setParameter (const std::string &p, const F &value)
Sets a single parameter.
template<class F >
void setParameter (const std::string &p, std::initializer_list< F > value)
Sets a single parameter.
BeanLike & operator= (const BeanLike &b)
virtual std::ostream & toStream (std::ostream &ostr, bool compact=true) const
typedef SrcType < MS const > src_t
Type of input, that is, source.
typedef DstType < MD > dst_t
Type of output, that is, destination.
enum OutputDataVerbosity { DEFAULT =0
, INTERMEDIATE =1
, DEBUG =2
, QUALITY =4
}
Determines if also intermediate results (1) are saved. See –store.
typedef drain::EnumFlagger < drain::MultiFlagger < OutputDataVerbosity > > OutputFlagger
typedef ReferenceMap map_t
static void completeEncoding (ODIM &productODIM, const std::string &targetEncoding )
Modifies encoding. If type is changed, resets scaling first.
static void applyODIM (ODIM &productODIM, const ODIM &srcODIM, bool applyDefaults=false)
Sets target quantity and encoding, if unset. If input odim.
static void setRackVersion (drain::VariableMap &metadata)
static bool SUPPORT_UNIVERSAL
static const CoordinatePolicy polarCoordPolicy
virtual void initDataDst (const PlainData < PolarSrc > &srcData, PlainData < PolarDst > &dstData, const std::string &quantity="") const
If raised, make template? Cf. Volume::initDst ?
void storeDebugData (int debugLevel, const ImageFrame &srcImage, const std::string &label) const
void storeDebugData (const ImageFrame &srcImage, PlainData < PolarDst > &dstData, const std::string &quantityLabel) const
virtual void writeHow (PlainData < PolarDst > &dstData) const
After running a cmd, write execution details.
void _enhanceDirectionally (Image &data, float medianPos, int windowWidth) const
Enhances the detection result by reinforcing sectors of strong response, attenuating others. Optional utility for derived classes.
void _infect (Image &data, int windowWidth, int windowHeight, double enhancement) const
Protected Member Functions inherited from AndreOp
AndreOp (const std::string &name, const std::string &description)
Generally, the whole data structure can be traversed.
virtual void setGeometry (const PolarODIM &srcODIM, PlainData < PolarDst > &dstData) const
void collect (const Hi5Tree &src, Hi5Tree &dst) const
void copyPolarGeometry (const PolarODIM &srcODIM, PlainData < PolarDst > &dstData) const
virtual void deriveDstGeometry (const DataSetMap < PolarSrc > &srcSweeps, PolarODIM &dstOdim, bool MINIMISE_RSCALE=false) const
Based on input data, find geometry that maximises range and ray count.
virtual void determineMetadata (const DataSetMap < PolarSrc > &srcSweeps, PolarODIM &dstOdim) const
Update timestamps etc.
virtual void setGeometry (const MS &srcODIM, PlainData < dst_t > &dstData) const =0
Sets automagically the suitable dst parameters.
virtual void initDst (const MS &srcODIM, PlainData < dst_t > &dstData) const
initialises dst data by setting suitable ODIM metadata and geometry.
virtual void setEncoding (const ODIM &srcODIM, PlainData < dst_t > &dstData) const
Sets applicable encoding parametes (type, gain, offset, undetect, nodata) for this product.
void setEncodingNEW (PlainData < dst_t > &dstData, const std::string quantity="", const std::string type="") const
Sets applicable encoding parametes (type, gain, offset, undetect, nodata) for this product.
ProductBase (const std::string &name, const std::string &description)
Default constructor.
ProductBase (const ProductBase &product)
void storeLastArguments (const std::string &p) override
Called after setParameters()
virtual void updateBean () const
Called after setParameters()
static void setODIMspecials (ODIM &productODIM)
Sets target encoding.
static unsigned short int _count
Based on pre-computed clutter map, scales the clutter probability for desired sweeps.
The scaling is a heuristic. The loaded map should contain quantity CLUTTER
which in each bin represents the probability of contamination. Notice that the quantity does not describe the intensity of contamination, yet might be computed from accumulated dBZ values as described in cluttermaps .
alpha : "sky angle",