![]() |
|
A quick emitter detection based on subtracting horizontal window medians by vertical ones. More...
#include <EmitterOp.h>
Public Member Functions | |
EmitterOp (double lengthMin=5.0, double thicknessMax=5.0, double sensitivity=0.5) | |
![]() | |
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 | runDetection (const DataSet< PolarSrc > &srcDataSet, PlainData< PolarDst > &dstProb, DataSet< PolarDst > &aux) 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 |
Public Attributes | |
double | lengthMin |
double | thicknessMax |
double | sensitivity |
int | samplingDistance |
int | samplingDistanceWidth |
![]() | |
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). | |
![]() | |
MD | odim |
The default data parameters for encoding output (the product). | |
![]() | |
DataSelector | dataSelector |
std::string | targetEncoding |
How the (main) output is encoded. | |
ODIMPathElem | appendResults |
If set, appends outputs in an hdf5 structure instead of overwriting. | |
OutputFlagger | outputDataVerbosity = DEFAULT |
Protected Member Functions | |
virtual void | runDetector (const PlainData< PolarSrc > &srcData, PlainData< PolarDst > &dstProb) const |
Process as sweep (data in one elevation angle) | |
![]() | |
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 |
![]() | |
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() | |
Additional Inherited Members | |
![]() | |
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 |
![]() | |
static void | setODIMspecials (ODIM &productODIM) |
Sets target encoding. | |
![]() | |
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(). | |
![]() | |
bool | aboveSeaLevel |
![]() | |
std::string | lastArguments |
drain::ReferenceMap | allowedEncoding |
Defines which encoding parameters can be changed by the user from command line. | |
![]() | |
const std::string | name |
const std::string | description |
map_t | parameters |
![]() | |
static unsigned short int | _count |
A quick emitter detection based on subtracting horizontal window medians by vertical ones.
|
inline |
Default constructor
thicknessMax | - azimuthal width [degrees] |
samplingDistance | - position [km] of fuzzy peak weighting the sampling |
samplingDistanceWidth | - halfwidth of the weighting curve |
|
protectedvirtual |
Process as sweep (data in one elevation angle)
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. Process using single data only (no quality "involved", because it is created here...) |
srcData | - input data of one elevation; possibly several quantities (measurement parameters). |
dstProb | - output data, typically in the same dataset as srcData. |
Minimum segment width in pixels.
Maximum segment height in pixels.
Maximum segment thickness in degrees, relative to full circle (360deg)
Essentially, morphological closing, horizontally.
Horizontal run lengths are computed on the vertical run lengths; using src would give too long lines (inside clouds)
Reimplemented from DetectorOp.