Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
VolumeTraversalOp Class Reference

Class designed for "sequential" "parallel" processing of Sweeps. More...

#include <VolumeTraversalOp.h>

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

Public Member Functions

 VolumeTraversalOp (const std::string &name, const std::string &description="")
 
virtual void traverseVolume (const Hi5Tree &src, Hi5Tree &dst) const
 Base class for radar data processors.
 
virtual void computeProducts (const DataSetMap< PolarSrc > &srcVolume, DataSetMap< PolarDst > &dstVolume) const
 
- 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 const std::string & getOutputQuantity (const std::string &inputQuantity="") const
 Returns the primary output quantity (ODIM what:quantity , like DBZH)
 
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.
 
virtual void processData (const Data< src_t > &srcData, Data< dst_t > &dstData) const
 
- 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.
 

Protected Member Functions

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 setGeometry (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()
 

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).
 
- 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 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 PolarProductOp
static const CoordinatePolicy polarCoordPolicy
 
- Static Protected Member Functions inherited from ProductBase
static void setODIMspecials (ODIM &productODIM)
 Sets target encoding.
 
- 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.
 

Detailed Description

Class designed for "sequential" "parallel" processing of Sweeps.

Basically, there are two kinds of polar processing

Member Function Documentation

◆ collect()

void collect ( const Hi5Tree &  src,
Hi5Tree &  dst 
) const
protected

virtual inline void setGeometry(const PolarODIM & srcODIM, PlainData<PolarDst> & dstData) const { copyPolarGeometry(srcODIM, dstData); }

◆ computeProducts()

void computeProducts ( const DataSetMap< PolarSrc > &  srcVolume,
DataSetMap< PolarDst > &  dstVolume 
) const
virtual

MAIN COMMAND

Reimplemented in DetectorOp.

◆ traverseVolume()

void traverseVolume ( const Hi5Tree &  src,
Hi5Tree &  dst 
) const
virtual

Base class for radar data processors.

Base class for radar data processors. Input and output as HDF5 data, which has been converted to internal structure, drain::Tree<NodeH5>.

Basically, there are two kinds of polar processing

  • Cumulative: the volume is traversed, each sweep contributing to a single accumulation array, out of which the product layer(s) is extracted.
  • Sequential: each sweep generates new layer (/dataset) in the product; typically, the lowest only is applied.

TODO: Raise to RackOp

its and itd for debugging


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