|
Computes Cb s or bottoms in kilometers for a given dBZ threshold, typically 20, 40 or 45 dBZ. More...
#include <ConvOp.h>
Public Member Functions | |
ConvOp (double maxEchoThreshold=25.0, double cellDiameter=3.0, double echoTopThreshold=2.0, double echoTopDBZ=20.0, double smoothRad=0.0, double smoothAzm=0.0) | |
Currently type and gain are not handled due to char<=> int mapping problem. More... | |
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 > | |
F | getParameter (const std::string &p) const |
Gets a single parameter. | |
const ReferenceMap & | getParameters () const |
ReferenceMap & | 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". 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. | |
BeanLike & | operator= (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="") | |
Public Attributes | |
double | maxEchoThreshold |
double | echoTopDBZ |
double | cellDiameter |
double | echoTopThreshold |
double | smoothAzm |
double | smoothRad |
const bool | top |
Public Attributes inherited from PixelVectorOp | |
std::string | functorDef |
Public Attributes inherited from ImageMod | |
bool | physicalScale |
Protected Member Functions | |
void | computeSingleProduct (const DataSetMap< PolarSrc > &srcSweeps, DataSet< PolarDst > &dstProduct) 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. 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() | |
Additional Inherited Members | |
Static Public Attributes inherited from PolarProductOp | |
static const CoordinatePolicy | polarCoordPolicy |
Static Protected Member Functions inherited from ImageOp | |
static void | adaptCoordinateHandler (const Channel &src, CoordinateHandler2D &handler) |
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 |
Computes Cb s or bottoms in kilometers for a given dBZ threshold, typically 20, 40 or 45 dBZ.
|
inline |
Currently type and gain are not handled due to char<=> int mapping problem.
echoTopDBZ | - threshold for Cb |
cellDiameter | - minimum convection cell area |
minHeight | - minimum height of cells of echoTopDBZ |
smoothRad | - radial smoothing width for intermediate results |
smoothAzm | - azimuthal smoothing width for intermediate results Probability of convection based on reflectivity and echo tops. This convection detection algorithm is based on the following assumptions
|
The user-defined parameters for the algorithm are:
Computationally, these properties are handled as fuzzy membership functions.
The resulting quantity
The quality (confidence) of the probability estimation is defined likewise as a product of the component qualities:
|
protected |
Use always maxEcho (consider changing to cappi?) cell and echo top are optional, but used by default.
Step 2: fuzzification