Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
EchoTopOp Class Reference
Inheritance diagram for EchoTopOp:
Inheritance graph
[legend]
Collaboration diagram for EchoTopOp:
Collaboration graph
[legend]

Public Member Functions

 EchoTopOp (double threshold=20.0)
 
void computeSingleProduct (const DataSetMap< src_t > &srcSweeps, DataSet< dst_t > &dstProduct) 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 void processVolume (const Hi5Tree &src, Hi5Tree &dst) const
 Traverse through given volume and create new, processed data (volume or polar product). More...
 
- Public Member Functions inherited from BinaryPixelVectorOp< MultiplicationFunctor >
 BinaryPixelVectorOp (const std::string &name, const std::string &description)
 
virtual void process (const ImageFrame &src, Image &dst) const
 Main interface. Typically splits processing to each channel. More...
 
virtual void process (const ImageFrame &src1, const ImageFrame &src2, Image &dst) const
 
virtual void traverseChannels (const ImageTray< const Channel > &srcTray, ImageTray< Channel > &dstTray) const
 
virtual void traverseChannels (const ImageTray< const Channel > &src, const ImageTray< const Channel > &src2, ImageTray< Channel > &dst) const
 
void traverseFrame (const ImageFrame &src1, const ImageFrame &src2, ImageFrame &dst) const
 
- Public Member Functions inherited from PixelVectorOp
virtual void getDstConf (const ImageConf &srcConf, ImageConf &dstConf) const
 Given source image, determine respective dest image configuration. More...
 
- Public Member Functions inherited from ImageOp
virtual void process (const ImageFrame &src, const ImageFrame &srcWeight, Image &dst, Image &dstWeight) const
 
virtual void process (const ImageTray< const Channel > &src, ImageTray< Image > &dst, bool checkOverlap=true) const
 Run the operator on a series of images. Geometry and type may be changed. UNDER CONSTR. More...
 
virtual void traverseChannel (const Channel &src, Channel &dst) const
 Apply to single channel.
 
virtual void traverseChannel (const Channel &src, const Channel &srcAlpha, Channel &dst, Channel &dstAlpha) const
 Apply to single channel with alpha.
 
virtual void makeCompatible (const ImageConf &src, Image &dst) const
 Depending on the operator, modifies the geometry and type of dst. More...
 
virtual void makeCompatible2 (const ImageFrame &src1, const ImageFrame &src2, Image &dst) const
 Modifies the geometry and type of dst to fit the computation result.
 
virtual void help (std::ostream &ostr=std::cout) const
 Prints name, description and parameters using BeanLike::toOStr(). Virtual, so derived classes may extend output.
 
- Public Member Functions inherited from ImageMod
virtual int srcAlpha () const
 Tell if alpha channel(s) is required in input. More...
 
virtual void process (Image &dst) const
 Run this modifier for an image. More...
 
virtual void traverseChannels (ImageTray< Channel > &dst) const
 Run this modifier for a set of channels. More...
 
virtual void traverseChannel (Channel &dst) const
 Run this modifier for an image frame. More...
 
virtual void traverseChannel (Channel &dst, Channel &dstAlpha) const
 Run this modifier for an image frame. More...
 
virtual void traverseChannels (ImageFrame &dst) const
 Converts dst to ImageTray<Channel> and calls traverseFrame(ImageTray<Channel> &) .
 
- Public Member Functions inherited from BeanLike
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 >
getParameter (const std::string &p) const
 Gets a single parameter.
 
const ReferenceMapgetParameters () const
 
ReferenceMapgetParameters ()
 
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". More...
 
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. More...
 
template<class F >
void setParameter (const std::string &p, std::initializer_list< F > value)
 Sets a single parameter.
 
BeanLikeoperator= (const BeanLike &b)
 
virtual std::ostream & toStream (std::ostream &ostr, bool compact=true) const
 
 BeanLike (const BeanLike &b)
 
 BeanLike (const std::string &name, const std::string &description="")
 

Static Public Member Functions

static double getSlope (const Measurement &m1, const Measurement &m2)
 

Protected Attributes

double threshold = 0.0
 
double undetectReflectivity = NAN
 Unless NaN, use the value like a measured dBZ.
 
Measurement reference = {-50.0, 15000.0}
 Virtual measurement high aloft, towards which reflectivity is expected to decrease.
 
MethodWeights< double > weights = {1.0, 0.8, 0.6, 0.4, 0.2}
 Quality weights for interpolative, dry-interpolative, max-limited, min-limited.
 
double weightDecay = 20.0
 Span for linear decay of weights towards zero.
 
RadarWindowGeom avgWindow
 Optional smoothin window. Width (metres) and height (degrees) (also used for reference)
 
bool EXTENDED_OUTPUT = true
 
- Protected Attributes inherited from PolarProductOp
bool aboveSeaLevel
 
- Protected Attributes inherited from BinaryPixelVectorOp< MultiplicationFunctor >
MultiplicationFunctor binaryFunctor
 
- Protected Attributes inherited from PixelVectorOp
double rescale
 
double POW
 
double INVPOW
 
- Protected Attributes inherited from BeanLike
const std::string name
 
const std::string description
 
ReferenceMap parameters
 

Additional Inherited Members

- Public Attributes inherited from PixelVectorOp
std::string functorDef
 
- Public Attributes inherited from ImageMod
bool physicalScale
 
- Static Public Attributes inherited from PolarProductOp
static const CoordinatePolicy polarCoordPolicy
 
- 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. More...
 
virtual void determineMetadata (const DataSetMap< PolarSrc > &srcSweeps, PolarODIM &dstOdim) const
 Update timestamps etc. More...
 
- Protected Member Functions inherited from PixelVectorOp
 PixelVectorOp (const std::string &name, const std::string &description)
 
- Protected Member Functions inherited from ImageOp
 ImageOp (const std::string &name=__FUNCTION__, const std::string &description="")
 
 ImageOp (const ImageOp &op)
 
virtual bool processOverlappingWithTemp (const ImageFrame &src, Image &dst) const
 
virtual bool processOverlappingWithTemp (const ImageTray< const Channel > &src, ImageTray< Image > &dst) const
 
bool traverseOverlappingWithTemp (const Channel &src, Channel &dst) const
 
bool traverseOverlappingWithTemp (const Channel &src, const Channel &srcWeight, Channel &dst, Channel &dstWeight) const
 
void traverseChannelsEqually (const ImageTray< const Channel > &src, ImageTray< Channel > &dst) const
 Calls processWithTemp() if the frames overlap. More...
 
void traverseChannelsRepeated (const ImageTray< const Channel > &src, ImageTray< Channel > &dst) const
 Recycle channels until all dst channels completed.
 
void traverseChannelsSeparately (const ImageTray< const Channel > &src, ImageTray< Channel > &dst) const
 Process each (src,dst) channel pair independently. Raise error if their counts differ. More...
 
void traverseAsChannelTrays (const ImageFrame &src, ImageFrame &dst) const
 Redirect to processing as trays. This is the opposite of processChannels...() functions.
 
void traverseAsChannelTrays (const ImageFrame &src, const ImageFrame &srcWeight, ImageFrame &dst, ImageFrame &dstWeight) const
 Redirect to processing as trays. This is the opposite of processChannels...() functions.
 
virtual void initializeParameters (const ImageFrame &src, const ImageFrame &dst) const
 Set applicable internal parameters before calling traverse().
 
virtual void initializeParameters (const ImageFrame &src, const ImageFrame &src2, const ImageFrame &dst) const
 Set applicable internal parameters before calling traverse().
 
- Protected Member Functions inherited from ImageMod
 ImageMod (const std::string &name=__FUNCTION__, const std::string &description="")
 
 ImageMod (const ImageMod &op)
 
virtual void processChannelsSeparately (ImageTray< Channel > &dst) const
 Run this modifier by calling traverseChannel(Channel &) for each image.
 
virtual void initialize (Image &dst) const
 Modifies the geometry and the type of dst such that traverseChannel(Channel &) can be called.
 
virtual void initializeAlpha (const Image &srcAlpha, Image &dstAlpha) const
 Modifies the geometry and the type of dst such that traverseChannel(Channel &) can be called.
 
- Protected Member Functions inherited from BeanLike
virtual void storeLastArguments (const std::string &p)
 Called after setParameters()
 
virtual void updateBean () const
 Called after setParameters()
 
- Static Protected Member Functions inherited from ImageOp
static void adaptCoordinateHandler (const Channel &src, CoordinateHandler2D &handler)
 

Member Function Documentation

◆ computeSingleProduct()

void computeSingleProduct ( const DataSetMap< src_t > &  srcSweeps,
DataSet< dst_t > &  dstProduct 
) const

Shared, because input data MAY contain different encoding(s)

Quality (confidence) (using storage type encoding)

Class codes (using storage type encoding)

Central differential

NOTE: variable slope , computed with getSlope(), is dH/dZdB However for more useful visualizations, dstSlope data is 1000.0/slope, so reports dBZ per km.

AVERAGING (optional)

Pointer to data array (DBZH)

Index of the bin at the ground distance D of all the elevation beams considered

Reliability/confidence of the measurement value, maximal (1.0) when reflectivity is the threshold value.

Pointer to the measurement

  • lower than the given threshold – but minimally lower
  • above a measurement exceeding the threshold
  • the highest possible

Pointer to the measurement

  • higher than the given threshold – but minimally higher
  • below the last measurement reaching the threshold
  • the highest possible

Azimuthal loop: [0,360[ degrees

Main: compute / approximate the echo top altitude. -------------------------------------------------------------—

◆ getSlope()

static double getSlope ( const Measurement m1,
const Measurement m2 
)
inlinestatic

Division by zero should not occur, as arguments m1 and m2 are distinguished by reflectivity less/greater than threshold. Also, reference point higher than -32 dBZ will be warned.


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