Loading...
Searching...
No Matches
Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
FuzzyDetectorOp Class Reference

Base class for BirdOp and InsectOp. More...

#include <FuzzyDetectorOp.h>

Inheritance diagram for FuzzyDetectorOp:
Inheritance graph
[legend]
Collaboration diagram for FuzzyDetectorOp:
Collaboration graph
[legend]

Protected Member Functions

 FuzzyDetectorOp (const std::string &name, const std::string &description, const std::string &classCode)
 Constructor.
 
 FuzzyDetectorOp (const FuzzyDetectorOp &op)
 Copy constructor.
 
virtual const QuantitySelector & getSelectorDBZ () const
 
virtual const QuantitySelector & getSelectorVRAD () const
 
virtual const QuantitySelector & getSelectorZDR () const
 
virtual const QuantitySelector & getSelectorRHOHV () const
 
virtual void runDetection (const DataSet< PolarSrc > &src, PlainData< PolarDst > &dstProb, DataSet< PolarDst > &dstAux) const
 Process as sweep (data in one elevation angle)
 
virtual drain::Fuzzifier< double > & getFuzzifierDBZ (LocalFunctorBank &bank) const
 
virtual drain::Fuzzifier< double > & getFuzzifierVRAD (LocalFunctorBank &bank) const
 
virtual drain::Fuzzifier< double > & getFuzzifierZDR (LocalFunctorBank &bank) const
 
virtual drain::Fuzzifier< double > & getFuzzifierRHOHV (LocalFunctorBank &bank) const
 
virtual void computeFuzzy (const drain::Fuzzifier< double > &fuzzifier, const PlainData< PolarSrc > &src, PlainData< PolarDst > &dstData, DataSet< PolarDst > &dstProduct) const
 
virtual void computeFuzzyVRAD (const drain::Fuzzifier< double > &fuzzifier, const PlainData< PolarSrc > &src, PlainData< PolarDst > &dstData, DataSet< PolarDst > &dstProduct) const
 
void applyOperator (const ImageOp &op, const PlainData< PolarSrc > &src, PlainData< PolarDst > &dstData, DataSet< PolarDst > &dstProductAux) const
 Convenience function for "accumulating" detection results.
 
- Protected Member Functions inherited from DetectorOp
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
 
- Protected Member Functions inherited from VolumeTraversalOp
void collect (const Hi5Tree &src, Hi5Tree &dst) const
 
- Protected Member Functions inherited from PolarProductOp
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.
 
- Protected Member Functions inherited from RadarProductOp< MS, MD >
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 &args="") const
 Sets applicable encoding parametes (type, gain, offset, undetect, nodata) for this product.
 
- Protected Member Functions inherited from ProductBase
 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()
 
- Protected Member Functions inherited from BeanLike
virtual void updateBean () const
 Called after setParameters()
 

Static Protected Member Functions

static void getGammaLookUpTable (double p, std::vector< unsigned char > &lookUpTable)
 Returns a 256-element map of Gamma corrected values, scaled by 256.
 
- Static Protected Member Functions inherited from ProductBase
static void setODIMspecials (ODIM &productODIM)
 Sets target encoding.
 

Protected Attributes

drain::Range< double > dbzParam = {-5.0,+5.0}
 
double vradDevThreshold = 2.0
 
drain::Range< double > rhoHVthreshold = {0.85,0.95}
 
double zdrAbsThreshold = 2.0
 
drain::image::WindowConfig windowConf
 
double gammaAdjustment = 1.0
 
- Protected Attributes inherited from DetectorOp
std::string upperCaseName
 
bool REQUIRE_STANDARD_DATA = false
 Set to true if operator expects fixed background intensities instead of "nodata" defined by the PolarODIM. Affects getValidData().
 
- Protected Attributes inherited from PolarProductOp
bool aboveSeaLevel
 
- Protected Attributes inherited from ProductBase
std::string lastArguments
 
drain::ReferenceMap allowedEncoding
 Defines which encoding parameters can be changed by the user from command line.
 
- Protected Attributes inherited from BeanLike
const std::string name
 Name of this bean, typically also the name of the (derived) class.
 
const std::string description
 Brief, human-readable description of this bean.
 
map_t parameters
 Parameters (name -> linked variable), typically linked to member variables of the derived class.
 

Static Protected Attributes

static const QuantitySelector selectorEmpty
 
static const QuantitySelector selectorDBZ
 
static const QuantitySelector selectorVRAD
 
static const QuantitySelector selectorZDR
 
static const QuantitySelector selectorRHOHV
 
static drain::FuzzyIdentity< double > dummy
 
- Static Protected Attributes inherited from DetectorOp
static unsigned short int _count
 

Additional Inherited Members

- Public Types inherited from RadarProductOp< MS, MD >
typedef SrcType< MS const > src_t
 Type of input, that is, source.
 
typedef DstType< MD > dst_t
 Type of output, that is, destination.
 
- Public Types inherited from ProductConf
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
 
- Public Types inherited from BeanLike
typedef ReferenceMap map_t
 Reference map type used to store this bean's parameters (name -> linked variable).
 
- Public Member Functions inherited from DetectorOp
 DetectorOp (const std::string &name=__FUNCTION__, const std::string &description="", const std::string &echoClass="")
 
 DetectorOp (const DetectorOp &op)
 Copy constructor.
 
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). Disabled; see runDetection() above for the equivalent, documented version.
 
virtual void processData (const Data< src_t > &srcData, Data< dst_t > &dstData) const
 
- Public Member Functions inherited from VolumeTraversalOp
 VolumeTraversalOp (const std::string &name, const std::string &description="")
 
virtual void traverseVolume (const Hi5Tree &src, Hi5Tree &dst) const
 Base class for radar data processors.
 
- Public Member Functions inherited from PolarProductOp
 PolarProductOp (const std::string &name=__FUNCTION__, const std::string &description="")
 
 PolarProductOp (const PolarProductOp &op)
 
- Public Member Functions inherited from VolumeOp< PolarODIM >
 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).
 
virtual void setPolarSelector (const PolarSelector &ps)
 
- Public Member Functions inherited from RadarProductOp< MS, MD >
 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.
 
- Public Member Functions inherited from ProductBase
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)
 
- Public Member Functions inherited from ProductConf
 ProductConf ()
 Default constructor.
 
 ProductConf (const ProductConf &conf)
 Copy constructor.
 
- Public Member Functions inherited from BeanLike
 BeanLike (const BeanLike &b)
 Copy constructor. Re-links parameters to the member variables of this (new) instance.
 
 BeanLike (const std::string &name, const std::string &description="")
 Constructor.
 
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
 Tells if any parameters have been linked (registered) for this bean.
 
template<class F >
F getParameter (const std::string &p) const
 Gets a single parameter.
 
const map_t & getParameters () const
 Returns the parameter map (const access).
 
map_t & getParameters ()
 Returns the parameter map.
 
template<class F >
void setParametersFromEntries (const F &args)
 Sets several parameters at once from a sequence of key-value pairs.
 
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)
 Assigns the parameter values of another bean (by key) to this one's own parameters.
 
virtual std::ostream & toStream (std::ostream &ostr, bool compact=true) const
 Prints the name, description and current parameter values.
 
- Static Public Member Functions inherited from ProductBase
static void applyODIM (ODIM &productODIM, const ODIM &defaultODIM, bool useDefaults=false)
 Modifies encoding. If type is changed, resets scaling first.
 
static void setRackVersion (drain::VariableMap &metadata)
 
- Public Attributes inherited from DetectorOp
const drain::image::Palette::value_type & classEntry
 Index applied in the legend of the classification results.
 
bool UNIVERSAL = false
 If true, applies also to quantities str than the one used in detection. The detection and the accumulation will be stored one step upwards (dataset-N level).
 
- Public Attributes inherited from RadarProductOp< MS, MD >
MD odim
 The default data parameters for encoding output (the product).
 
- Public Attributes inherited from ProductConf
DataSelector dataSelector
 
std::string targetEncoding
 How the (main) output is encoded.
 
ODIMPathElem appendResults
 If set, appends outputs in an hdf5 structure instead of overwriting.
 
ODIMPathElem appendResultQuality = ODIMPathElem::DATA
 
OutputFlagger outputDataVerbosity = DEFAULT
 
- Static Public Attributes inherited from DetectorOp
static bool SUPPORT_UNIVERSAL
 
- Static Public Attributes inherited from PolarProductOp
static const CoordinatePolicy polarCoordPolicy
 

Detailed Description

Base class for BirdOp and InsectOp.

Member Function Documentation

◆ applyOperator()

void applyOperator ( const ImageOp &  op,
const PlainData< PolarSrc > &  src,
PlainData< PolarDst > &  dstData,
DataSet< PolarDst > &  dstProductAux 
) const
protected

Convenience function for "accumulating" detection results.

Parameters
dstData- actual result
dstProductAux-

◆ getFuzzifierRHOHV()

virtual drain::Fuzzifier< double > & getFuzzifierRHOHV ( LocalFunctorBank &  bank) const
inlineprotectedvirtual

Reimplemented in DualPolBioMetOp, and NonMet2Op.

◆ getFuzzifierZDR()

virtual drain::Fuzzifier< double > & getFuzzifierZDR ( LocalFunctorBank &  bank) const
inlineprotectedvirtual

Reimplemented in DualPolBioMetOp.

◆ runDetection()

void runDetection ( const DataSet< PolarSrc > &  srcDataSet,
PlainData< PolarDst > &  dstProb,
DataSet< PolarDst > &  aux 
) const
protectedvirtual

Process as sweep (data in one elevation angle)

Parameters
srcDataSet- input data of one elevation; possibly several quantities (measurement parameters).
dstProb- probability field ie. the result of the detection algorithm
aux- auxialiary DatasetDst for keeping a copy of normalized data.

Reduction coefficient to compensate missing measurement data

Reimplemented from DetectorOp.


The documentation for this class was generated from the following files: