Inheritance diagram for w2qcref::RadarQualityControl:

based on other radar data moments.
Use as follows:
Public Member Functions | |
| virtual void | cleanInitialScan (code::PolarGrid &result) |
| To clean up the initial elevation scans, before the QC algorithm has init'ed itself. | |
| std::vector< code::PolarGrid > | computeResults (bool with_precip, bool with_volume_products, bool with_cleaned_elev) |
| The output function meant for end-users. | |
| bool | isVolumeComplete () const |
| is the volume complete? a convenience function. | |
| bool | isReadyToComputeResults () const |
| are we ready to compute, or are we waiting for some input? | |
| virtual code::PolarGrid | computeProbabilityOfPrecip (const std::vector< code::Image< float > > &nnInputs)=0 |
| Given the computed parameters, compute the probability of precip . | |
| virtual | ~RadarQualityControl () |
| virtual code::SmartPtr< BasicStatistics > | createStatistic (const std::string &typeName, int elevNo)=0 |
| Create, and return, the appropriate statistic. | |
| code::PolarGrid | computeProbabilityOfPrecip (const std::vector< code::PolarGrid > &dbz) |
| Work-horse function which calls fillNNInput, computes probability of precip. | |
| virtual void | addOtherNNInputs (const std::vector< code::PolarGrid > &dbz, std::vector< code::Image< float > > *params) |
| This method is called by fillNNInput after all the three radar moment-based attributes have been filled in. | |
| virtual float | getPrecipThreshold () const =0 |
| At what value should the precip values be thresholded if we want to make binary decisions? | |
| code::PolarGrid | computeQualityComposite (const std::vector< code::PolarGrid > &dbzScans) |
| Convenience function that computes prob of precip and uses it. | |
| code::PolarGrid | computeComposite (const std::vector< code::PolarGrid > &dbzScans) |
| code::PolarGrid | computeHybridScan (const std::vector< code::PolarGrid > &dbzScans) |
| code::PolarGrid | computeQualityComposite (const code::PolarGrid &precipProb, const std::vector< code::PolarGrid > &dbzScans) |
| code::PolarGrid | computeHybridScan (const code::PolarGrid &precipProb, const std::vector< code::PolarGrid > &dbzScans) |
| code::PolarGrid | computeCleanedElevation (const code::PolarGrid &precipProb, const code::RadialSet &elev) |
| virtual void | reset (bool time_also) |
| void | handleVolumeStart () |
| bool | isChangeAbnormal () const |
| void | setTerrain (code::SmartPtr< vol::TerrainBlockage > terrainBlockage) |
| set the terrain blockage for this radar. | |
| virtual void | preprocessDataWithTerrain (code::RadialSet &rs) |
| Use terrain information to preprocess this scan. | |
| RadarQualityControl () | |
| virtual void | preprocessData (code::RadialSet &rs) |
| Call this on the input RadialSet _before_ converting it to a PolarGrid. | |
| void | addReflectivity (const code::PolarGrid &dbz) |
| void | addVelocity (const code::PolarGrid &vel) |
| void | addSpectrumWidth (const code::PolarGrid &spw) |
| void | addRhoHV (const code::PolarGrid &rhohv) |
| void | addZdr (const code::PolarGrid &zdr) |
| bool | isVelocityKnown (int x, int y) const |
| bool | isSpectrumWidthKnown (int x, int y) const |
| bool | isRhoHVKnown (int x, int y) const |
| bool | isZdrKnown (int x, int y) const |
| int | getFirstVelocityIndex () const |
| Index of the entry in the NN table that corresponds to the first velocity data if it exists. | |
| int | getNumVelocityFields () const |
| size_t | getNumVelocityElevations () const |
| the number of velocity elevations from current volume, not the number of velocity statistics being maintained. | |
| int | getFirstSpectrumWidthIndex () const |
| Index of the entry in the NN table that corresponds to the first spectrum-width data if it exists. | |
| int | getNumSpectrumWidthFields () const |
| size_t | getNumSpectrumWidthElevations () const |
| the number of spw elevations from current volume, not the number of spw statistics being maintained. | |
| int | getFirstZdrIndex () const |
| Index of the entry in the NN table that corresponds to the first Zdr data if it exists. | |
| int | getNumZdrFields () const |
| size_t | getNumZdrElevations () const |
| int | getFirstRhoHVIndex () const |
| Index of the entry in the NN table that corresponds to the first RhoHV data if it exists. | |
| int | getNumRhoHVFields () const |
| size_t | getNumRhoHVElevations () const |
| int | getFirstReflectivityIndex () const |
| Index of the entry in the NN table that corresponds to the first reflectivity data if it exists. | |
| int | getNumReflectivityFields () const |
| size_t | getNumReflectivityElevations () const |
| note that is not truly the total number of reflectivity elevations, just the number that statistics are computed for. | |
| int | getFirstVerticalIndex () const |
| int | getNumVerticalFields () const |
| int | getNumFields () const |
| How many fields are there in a NN input? | |
| const code::SpaceTimeRef & | getLatestSTRef () const |
| void | fillNNInput (const std::vector< code::PolarGrid > &dbz, std::vector< code::Image< float > > *params) |
| Fills in a vector of inputs that can be passed to computeQualityComposite() or used for training the network. | |
Static Public Member Functions | |
| static const code::Length & | getTargetGateWidth () |
| static code::Angle | getTargetAzSpacing () |
| static int | getTargetNumGates () |
| static code::Length | getTargetMaxRange () |
| static void | setTargetResolution (const code::Length &gw, const code::Angle &az, const code::Length &maxRange) |
| static void | setBeamBlockageThreshold (float thresh) |
| The default value is 0.5. | |
| static void | setHybridScanFlag (bool h) |
| By default, hybrid scans are not produced. | |
| static code::PolarGrid | collapseData (const code::PolarGrid &pg, const code::Length &targetGateWidth) |
| Collapse data to meet target gate width. | |
| static void | setReflectivityOnly (int numZElevationsRequired) |
| static void | setDualPol (bool flag) |
| static bool | isReflectivityOnly () |
| static size_t | getNumVelocityElevationsRequired () |
| static size_t | getNumSpectrumWidthElevationsRequired () |
| static size_t | getNumRhoHVElevationsRequired () |
| static size_t | getNumZdrElevationsRequired () |
| static void | setRefType (const std::string &s) |
| static void | setVelType (const std::string &s) |
| static void | setSpwType (const std::string &s) |
| static void | setRhoHVType (const std::string &s) |
| static void | setZdrType (const std::string &s) |
Public Attributes | |
| RadialPreproc | radialPreproc |
| BloomPreproc | bloomPreproc |
Static Protected Attributes | |
| static std::string | REF_TYPE |
| static std::string | VEL_TYPE |
| static std::string | SPW_TYPE |
| static std::string | RHOHV_TYPE |
| static std::string | ZDR_TYPE |
| virtual w2qcref::RadarQualityControl::~RadarQualityControl | ( | ) | [inline, virtual] |
| w2qcref::RadarQualityControl::RadarQualityControl | ( | ) |
| virtual void w2qcref::RadarQualityControl::addOtherNNInputs | ( | const std::vector< code::PolarGrid > & | dbz, | |
| std::vector< code::Image< float > > * | params | |||
| ) | [virtual] |
This method is called by fillNNInput after all the three radar moment-based attributes have been filled in.
Reimplemented in w2qcref::CloudCoverNN, and w2qcref::QCNN.
| void w2qcref::RadarQualityControl::addReflectivity | ( | const code::PolarGrid & | dbz | ) |
| void w2qcref::RadarQualityControl::addRhoHV | ( | const code::PolarGrid & | rhohv | ) |
| void w2qcref::RadarQualityControl::addSpectrumWidth | ( | const code::PolarGrid & | spw | ) |
| void w2qcref::RadarQualityControl::addVelocity | ( | const code::PolarGrid & | vel | ) |
| void w2qcref::RadarQualityControl::addZdr | ( | const code::PolarGrid & | zdr | ) |
| virtual void w2qcref::RadarQualityControl::cleanInitialScan | ( | code::PolarGrid & | result | ) | [inline, virtual] |
To clean up the initial elevation scans, before the QC algorithm has init'ed itself.
By default, doesn't do anything.
Reimplemented in w2qcref::QCNN.
| static code::PolarGrid w2qcref::RadarQualityControl::collapseData | ( | const code::PolarGrid & | pg, | |
| const code::Length & | targetGateWidth | |||
| ) | [static] |
Collapse data to meet target gate width.
| code::PolarGrid w2qcref::RadarQualityControl::computeCleanedElevation | ( | const code::PolarGrid & | precipProb, | |
| const code::RadialSet & | elev | |||
| ) |
| code::PolarGrid w2qcref::RadarQualityControl::computeComposite | ( | const std::vector< code::PolarGrid > & | dbzScans | ) |
| code::PolarGrid w2qcref::RadarQualityControl::computeHybridScan | ( | const code::PolarGrid & | precipProb, | |
| const std::vector< code::PolarGrid > & | dbzScans | |||
| ) |
| code::PolarGrid w2qcref::RadarQualityControl::computeHybridScan | ( | const std::vector< code::PolarGrid > & | dbzScans | ) |
| code::PolarGrid w2qcref::RadarQualityControl::computeProbabilityOfPrecip | ( | const std::vector< code::PolarGrid > & | dbz | ) | [inline] |
Work-horse function which calls fillNNInput, computes probability of precip.
| virtual code::PolarGrid w2qcref::RadarQualityControl::computeProbabilityOfPrecip | ( | const std::vector< code::Image< float > > & | nnInputs | ) | [pure virtual] |
| code::PolarGrid w2qcref::RadarQualityControl::computeQualityComposite | ( | const code::PolarGrid & | precipProb, | |
| const std::vector< code::PolarGrid > & | dbzScans | |||
| ) |
| code::PolarGrid w2qcref::RadarQualityControl::computeQualityComposite | ( | const std::vector< code::PolarGrid > & | dbzScans | ) | [inline] |
Convenience function that computes prob of precip and uses it.
| std::vector<code::PolarGrid> w2qcref::RadarQualityControl::computeResults | ( | bool | with_precip, | |
| bool | with_volume_products, | |||
| bool | with_cleaned_elev | |||
| ) |
The output function meant for end-users.
Specify what you want. They will be in the order of the input parameters.
| virtual code::SmartPtr<BasicStatistics> w2qcref::RadarQualityControl::createStatistic | ( | const std::string & | typeName, | |
| int | elevNo | |||
| ) | [pure virtual] |
| void w2qcref::RadarQualityControl::fillNNInput | ( | const std::vector< code::PolarGrid > & | dbz, | |
| std::vector< code::Image< float > > * | params | |||
| ) |
Fills in a vector of inputs that can be passed to computeQualityComposite() or used for training the network.
| int w2qcref::RadarQualityControl::getFirstReflectivityIndex | ( | ) | const [inline] |
Index of the entry in the NN table that corresponds to the first reflectivity data if it exists.
| int w2qcref::RadarQualityControl::getFirstRhoHVIndex | ( | ) | const [inline] |
Index of the entry in the NN table that corresponds to the first RhoHV data if it exists.
| int w2qcref::RadarQualityControl::getFirstSpectrumWidthIndex | ( | ) | const [inline] |
Index of the entry in the NN table that corresponds to the first spectrum-width data if it exists.
| int w2qcref::RadarQualityControl::getFirstVelocityIndex | ( | ) | const [inline] |
Index of the entry in the NN table that corresponds to the first velocity data if it exists.
| int w2qcref::RadarQualityControl::getFirstVerticalIndex | ( | ) | const [inline] |
| int w2qcref::RadarQualityControl::getFirstZdrIndex | ( | ) | const [inline] |
Index of the entry in the NN table that corresponds to the first Zdr data if it exists.
| const code::SpaceTimeRef& w2qcref::RadarQualityControl::getLatestSTRef | ( | ) | const [inline] |
| int w2qcref::RadarQualityControl::getNumFields | ( | ) | const [inline] |
How many fields are there in a NN input?
| size_t w2qcref::RadarQualityControl::getNumReflectivityElevations | ( | ) | const [inline] |
note that is not truly the total number of reflectivity elevations, just the number that statistics are computed for.
| int w2qcref::RadarQualityControl::getNumReflectivityFields | ( | ) | const [inline] |
| size_t w2qcref::RadarQualityControl::getNumRhoHVElevations | ( | ) | const [inline] |
| static size_t w2qcref::RadarQualityControl::getNumRhoHVElevationsRequired | ( | ) | [inline, static] |
| int w2qcref::RadarQualityControl::getNumRhoHVFields | ( | ) | const [inline] |
| size_t w2qcref::RadarQualityControl::getNumSpectrumWidthElevations | ( | ) | const [inline] |
the number of spw elevations from current volume, not the number of spw statistics being maintained.
| static size_t w2qcref::RadarQualityControl::getNumSpectrumWidthElevationsRequired | ( | ) | [inline, static] |
| int w2qcref::RadarQualityControl::getNumSpectrumWidthFields | ( | ) | const [inline] |
| size_t w2qcref::RadarQualityControl::getNumVelocityElevations | ( | ) | const [inline] |
the number of velocity elevations from current volume, not the number of velocity statistics being maintained.
| static size_t w2qcref::RadarQualityControl::getNumVelocityElevationsRequired | ( | ) | [inline, static] |
| int w2qcref::RadarQualityControl::getNumVelocityFields | ( | ) | const [inline] |
| int w2qcref::RadarQualityControl::getNumVerticalFields | ( | ) | const [inline] |
| size_t w2qcref::RadarQualityControl::getNumZdrElevations | ( | ) | const [inline] |
| static size_t w2qcref::RadarQualityControl::getNumZdrElevationsRequired | ( | ) | [inline, static] |
| int w2qcref::RadarQualityControl::getNumZdrFields | ( | ) | const [inline] |
| virtual float w2qcref::RadarQualityControl::getPrecipThreshold | ( | ) | const [pure virtual] |
At what value should the precip values be thresholded if we want to make binary decisions?
Implemented in w2qcref::QCNN.
| static code::Angle w2qcref::RadarQualityControl::getTargetAzSpacing | ( | ) | [inline, static] |
| static const code::Length& w2qcref::RadarQualityControl::getTargetGateWidth | ( | ) | [inline, static] |
| static code::Length w2qcref::RadarQualityControl::getTargetMaxRange | ( | ) | [inline, static] |
| static int w2qcref::RadarQualityControl::getTargetNumGates | ( | ) | [inline, static] |
| void w2qcref::RadarQualityControl::handleVolumeStart | ( | ) |
| bool w2qcref::RadarQualityControl::isChangeAbnormal | ( | ) | const [inline] |
| bool w2qcref::RadarQualityControl::isReadyToComputeResults | ( | ) | const |
are we ready to compute, or are we waiting for some input?
| static bool w2qcref::RadarQualityControl::isReflectivityOnly | ( | ) | [static] |
| bool w2qcref::RadarQualityControl::isRhoHVKnown | ( | int | x, | |
| int | y | |||
| ) | const [inline] |
| bool w2qcref::RadarQualityControl::isSpectrumWidthKnown | ( | int | x, | |
| int | y | |||
| ) | const [inline] |
| bool w2qcref::RadarQualityControl::isVelocityKnown | ( | int | x, | |
| int | y | |||
| ) | const [inline] |
| bool w2qcref::RadarQualityControl::isVolumeComplete | ( | ) | const |
is the volume complete? a convenience function.
| bool w2qcref::RadarQualityControl::isZdrKnown | ( | int | x, | |
| int | y | |||
| ) | const [inline] |
| virtual void w2qcref::RadarQualityControl::preprocessData | ( | code::RadialSet & | rs | ) | [virtual] |
Call this on the input RadialSet _before_ converting it to a PolarGrid.
The base class function averages velocity gates such that the resolution matches that of reflectivity data.
Reimplemented in w2qcref::QCNN.
| virtual void w2qcref::RadarQualityControl::preprocessDataWithTerrain | ( | code::RadialSet & | rs | ) | [virtual] |
Use terrain information to preprocess this scan.
| virtual void w2qcref::RadarQualityControl::reset | ( | bool | time_also | ) | [virtual] |
Reimplemented in w2qcref::QCNN.
| static void w2qcref::RadarQualityControl::setBeamBlockageThreshold | ( | float | thresh | ) | [static] |
The default value is 0.5.
| static void w2qcref::RadarQualityControl::setDualPol | ( | bool | flag | ) | [static] |
| static void w2qcref::RadarQualityControl::setHybridScanFlag | ( | bool | h | ) | [inline, static] |
By default, hybrid scans are not produced.
| static void w2qcref::RadarQualityControl::setReflectivityOnly | ( | int | numZElevationsRequired | ) | [static] |
| static void w2qcref::RadarQualityControl::setRefType | ( | const std::string & | s | ) | [inline, static] |
| static void w2qcref::RadarQualityControl::setRhoHVType | ( | const std::string & | s | ) | [inline, static] |
| static void w2qcref::RadarQualityControl::setSpwType | ( | const std::string & | s | ) | [inline, static] |
| static void w2qcref::RadarQualityControl::setTargetResolution | ( | const code::Length & | gw, | |
| const code::Angle & | az, | |||
| const code::Length & | maxRange | |||
| ) | [inline, static] |
| void w2qcref::RadarQualityControl::setTerrain | ( | code::SmartPtr< vol::TerrainBlockage > | terrainBlockage | ) |
set the terrain blockage for this radar.
| static void w2qcref::RadarQualityControl::setVelType | ( | const std::string & | s | ) | [inline, static] |
| static void w2qcref::RadarQualityControl::setZdrType | ( | const std::string & | s | ) | [inline, static] |
std::string w2qcref::RadarQualityControl::REF_TYPE [static, protected] |
std::string w2qcref::RadarQualityControl::RHOHV_TYPE [static, protected] |
std::string w2qcref::RadarQualityControl::SPW_TYPE [static, protected] |
std::string w2qcref::RadarQualityControl::VEL_TYPE [static, protected] |
std::string w2qcref::RadarQualityControl::ZDR_TYPE [static, protected] |
1.4.7