![]() |
|
Detects ships. More...
#include <ShipOp.h>


Public Member Functions | |
| ShipOp (double reflMin=25.0, double reflDev=15.0, int windowWidth=1500, double windowHeight=3.0) | |
Public Member Functions inherited from DetectorOp | |
| 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 |
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). | |
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) | |
| 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 | reflMin |
| int | windowWidth |
| double | windowHeight |
| double | reflDev |
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. | |
| OutputFlagger | outputDataVerbosity = DEFAULT |
Protected Member Functions | |
| virtual void | runDetector (const PlainData< PolarSrc > &srcData, PlainData< PolarDst > &dstProb) const |
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 type="") 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 |
Static Public Member Functions inherited from ProductBase | |
| static void | applyODIM (ODIM &productODIM, const ODIM &srcODIM, bool applyDefaults=false) |
| Modifies encoding. If type is changed, resets scaling first. | |
| static void | setRackVersion (drain::VariableMap &metadata) |
Static Public Attributes inherited from DetectorOp | |
| static bool | SUPPORT_UNIVERSAL |
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 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 |
| const std::string | description |
| map_t | parameters |
Static Protected Attributes inherited from DetectorOp | |
| static unsigned short int | _count |
Detects ships.
Detects ships based on their high absolute reflectivity and local reflectivity difference.
|
inline |
| minDBZ | - minimum reflectance of ship |
| reflDev | - dbz difference in the neighbourhood window |
| windowWidth | - width of the neighbourhood window; in metres |
| windowHeight | - height of the neighbourhood window; in degrees |
|
protectedvirtual |
| srcData | - the raw measurement data (DBZH only), with ODIM metadata, in polar coords |
| dstData | - the resulting probability field, with ODIM metadata, in polar coords |
This function is called for each desired elevation, typically just the lowest 1-2.
For verbose mode (monitoring and debugging the process)
Use natural (SI) units for neighbourhood window dimension, not bins/pixels.
Temp image (probability field, fuzzy membership of "high reflectivity")
Step 1: compute fuzzy membership of "high reflectivity"
Step 2b: detect high peaks Temp image for peaks
Step 2b: imitate sidelobes (expontential, "IRF style"), adding them to the peaks
Step 3: combine the two evidence field by multiplying them (fuzzy-AND operation)
Reimplemented from DetectorOp.
1.9.8