Inheritance diagram for w2qcref::QCNN:

Public Member Functions | |
| QCNN (int additionalInputs_through_subclasses=0) | |
| virtual code::PolarGrid | computeProbabilityOfPrecip (const std::vector< code::Image< float > > &nnInputs) |
| Given the computed parameters, compute the probability of precip . | |
| virtual | ~QCNN () |
| virtual void | reset (bool time_also) |
| void | setPostprocessor (code::SmartPtr< Postprocessor > proc) |
| pass in an invalid SmartPtr to avoid post-process. | |
| code::SmartPtr< Postprocessor > | postprocessor () |
| int | getTrainedSize () const |
| How many input features are needed by this NN? | |
| int | getEchoSizeIndex () const |
| virtual float | getPrecipThreshold () const |
| Obtained after analysis of the ROC curve after training the network. | |
| virtual code::SmartPtr< BasicStatistics > | createStatistic (const std::string &typeName, int elevNo) |
| Create, and return, the appropriate statistic. | |
| virtual void | preprocessData (code::RadialSet &rs) |
| In addition to making velocity data match gate-resolution of reflectivity data, it sets reflectivity returns below the noise threshold to be -14dBZ instead of MISSING. | |
| int | setupNNInputs (const std::vector< code::Image< float > > &nnInputs, int x, int y, std::vector< float > *final_inputs) |
| copy and pre-process the NN params to get a array of inputs to the network (at a pixel). | |
| virtual void | cleanInitialScan (code::PolarGrid &result) |
| thresholds the input, without doing any thing more fancy. | |
| virtual void | addOtherNNInputs (const std::vector< code::PolarGrid > &dbz, std::vector< code::Image< float > > *params) |
| Adds distance to high echo and distance to AP. | |
| 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? | |
| code::PolarGrid | computeProbabilityOfPrecip (const std::vector< code::PolarGrid > &dbz) |
| Work-horse function which calls fillNNInput, computes probability of precip. | |
| code::PolarGrid | computeQualityComposite (const std::vector< code::PolarGrid > &dbzScans) |
| Convenience function that computes prob of precip and uses it. | |
| code::PolarGrid | computeQualityComposite (const code::PolarGrid &precipProb, const std::vector< code::PolarGrid > &dbzScans) |
| code::PolarGrid | computeComposite (const std::vector< code::PolarGrid > &dbzScans) |
| code::PolarGrid | computeHybridScan (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) |
| 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. | |
| 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 void | setPostprocessFlag (bool flag) |
| default for this is true. | |
| static void | setPixelwiseFlag (bool flag) |
| default for this is false. | |
| static void | setNeuralNetworkFlag (bool flag) |
| default for this is true. | |
| static void | setClutterDir (const std::string &dir) |
| Set the top-level clutter dir here. | |
| 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 |
Protected Member Functions | |
| virtual code::PolarGrid | runNeuralNetwork (const std::vector< code::Image< float > > &nnInputs) |
| over-ride if you want to change the network. | |
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 |
| w2qcref::QCNN::QCNN | ( | int | additionalInputs_through_subclasses = 0 |
) |
| virtual w2qcref::QCNN::~QCNN | ( | ) | [inline, virtual] |
| virtual void w2qcref::QCNN::addOtherNNInputs | ( | const std::vector< code::PolarGrid > & | dbz, | |
| std::vector< code::Image< float > > * | params | |||
| ) | [virtual] |
Adds distance to high echo and distance to AP.
Reimplemented from w2qcref::RadarQualityControl.
Reimplemented in w2qcref::CloudCoverNN.
| void w2qcref::RadarQualityControl::addReflectivity | ( | const code::PolarGrid & | dbz | ) | [inherited] |
| void w2qcref::RadarQualityControl::addRhoHV | ( | const code::PolarGrid & | rhohv | ) | [inherited] |
| void w2qcref::RadarQualityControl::addSpectrumWidth | ( | const code::PolarGrid & | spw | ) | [inherited] |
| void w2qcref::RadarQualityControl::addVelocity | ( | const code::PolarGrid & | vel | ) | [inherited] |
| void w2qcref::RadarQualityControl::addZdr | ( | const code::PolarGrid & | zdr | ) | [inherited] |
| virtual void w2qcref::QCNN::cleanInitialScan | ( | code::PolarGrid & | result | ) | [virtual] |
thresholds the input, without doing any thing more fancy.
Reimplemented from w2qcref::RadarQualityControl.
| static code::PolarGrid w2qcref::RadarQualityControl::collapseData | ( | const code::PolarGrid & | pg, | |
| const code::Length & | targetGateWidth | |||
| ) | [static, inherited] |
Collapse data to meet target gate width.
| code::PolarGrid w2qcref::RadarQualityControl::computeCleanedElevation | ( | const code::PolarGrid & | precipProb, | |
| const code::RadialSet & | elev | |||
| ) | [inherited] |
| code::PolarGrid w2qcref::RadarQualityControl::computeComposite | ( | const std::vector< code::PolarGrid > & | dbzScans | ) | [inherited] |
| code::PolarGrid w2qcref::RadarQualityControl::computeHybridScan | ( | const code::PolarGrid & | precipProb, | |
| const std::vector< code::PolarGrid > & | dbzScans | |||
| ) | [inherited] |
| code::PolarGrid w2qcref::RadarQualityControl::computeHybridScan | ( | const std::vector< code::PolarGrid > & | dbzScans | ) | [inherited] |
| code::PolarGrid w2qcref::RadarQualityControl::computeProbabilityOfPrecip | ( | const std::vector< code::PolarGrid > & | dbz | ) | [inline, inherited] |
Work-horse function which calls fillNNInput, computes probability of precip.
| virtual code::PolarGrid w2qcref::QCNN::computeProbabilityOfPrecip | ( | const std::vector< code::Image< float > > & | nnInputs | ) | [virtual] |
Given the computed parameters, compute the probability of precip .
..
Implements w2qcref::RadarQualityControl.
| code::PolarGrid w2qcref::RadarQualityControl::computeQualityComposite | ( | const code::PolarGrid & | precipProb, | |
| const std::vector< code::PolarGrid > & | dbzScans | |||
| ) | [inherited] |
| code::PolarGrid w2qcref::RadarQualityControl::computeQualityComposite | ( | const std::vector< code::PolarGrid > & | dbzScans | ) | [inline, inherited] |
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 | |||
| ) | [inherited] |
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::QCNN::createStatistic | ( | const std::string & | typeName, | |
| int | elevNo | |||
| ) | [virtual] |
| void w2qcref::RadarQualityControl::fillNNInput | ( | const std::vector< code::PolarGrid > & | dbz, | |
| std::vector< code::Image< float > > * | params | |||
| ) | [inherited] |
Fills in a vector of inputs that can be passed to computeQualityComposite() or used for training the network.
| int w2qcref::QCNN::getEchoSizeIndex | ( | ) | const |
| int w2qcref::RadarQualityControl::getFirstReflectivityIndex | ( | ) | const [inline, inherited] |
Index of the entry in the NN table that corresponds to the first reflectivity data if it exists.
| int w2qcref::RadarQualityControl::getFirstRhoHVIndex | ( | ) | const [inline, inherited] |
Index of the entry in the NN table that corresponds to the first RhoHV data if it exists.
| int w2qcref::RadarQualityControl::getFirstSpectrumWidthIndex | ( | ) | const [inline, inherited] |
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, inherited] |
Index of the entry in the NN table that corresponds to the first velocity data if it exists.
| int w2qcref::RadarQualityControl::getFirstVerticalIndex | ( | ) | const [inline, inherited] |
| int w2qcref::RadarQualityControl::getFirstZdrIndex | ( | ) | const [inline, inherited] |
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, inherited] |
| int w2qcref::RadarQualityControl::getNumFields | ( | ) | const [inline, inherited] |
How many fields are there in a NN input?
| size_t w2qcref::RadarQualityControl::getNumReflectivityElevations | ( | ) | const [inline, inherited] |
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, inherited] |
| size_t w2qcref::RadarQualityControl::getNumRhoHVElevations | ( | ) | const [inline, inherited] |
| static size_t w2qcref::RadarQualityControl::getNumRhoHVElevationsRequired | ( | ) | [inline, static, inherited] |
| int w2qcref::RadarQualityControl::getNumRhoHVFields | ( | ) | const [inline, inherited] |
| size_t w2qcref::RadarQualityControl::getNumSpectrumWidthElevations | ( | ) | const [inline, inherited] |
the number of spw elevations from current volume, not the number of spw statistics being maintained.
| static size_t w2qcref::RadarQualityControl::getNumSpectrumWidthElevationsRequired | ( | ) | [inline, static, inherited] |
| int w2qcref::RadarQualityControl::getNumSpectrumWidthFields | ( | ) | const [inline, inherited] |
| size_t w2qcref::RadarQualityControl::getNumVelocityElevations | ( | ) | const [inline, inherited] |
the number of velocity elevations from current volume, not the number of velocity statistics being maintained.
| static size_t w2qcref::RadarQualityControl::getNumVelocityElevationsRequired | ( | ) | [inline, static, inherited] |
| int w2qcref::RadarQualityControl::getNumVelocityFields | ( | ) | const [inline, inherited] |
| int w2qcref::RadarQualityControl::getNumVerticalFields | ( | ) | const [inline, inherited] |
| size_t w2qcref::RadarQualityControl::getNumZdrElevations | ( | ) | const [inline, inherited] |
| static size_t w2qcref::RadarQualityControl::getNumZdrElevationsRequired | ( | ) | [inline, static, inherited] |
| int w2qcref::RadarQualityControl::getNumZdrFields | ( | ) | const [inline, inherited] |
| virtual float w2qcref::QCNN::getPrecipThreshold | ( | ) | const [virtual] |
Obtained after analysis of the ROC curve after training the network.
Implements w2qcref::RadarQualityControl.
| static code::Angle w2qcref::RadarQualityControl::getTargetAzSpacing | ( | ) | [inline, static, inherited] |
| static const code::Length& w2qcref::RadarQualityControl::getTargetGateWidth | ( | ) | [inline, static, inherited] |
| static code::Length w2qcref::RadarQualityControl::getTargetMaxRange | ( | ) | [inline, static, inherited] |
| static int w2qcref::RadarQualityControl::getTargetNumGates | ( | ) | [inline, static, inherited] |
| int w2qcref::QCNN::getTrainedSize | ( | ) | const [inline] |
How many input features are needed by this NN?
| void w2qcref::RadarQualityControl::handleVolumeStart | ( | ) | [inherited] |
| bool w2qcref::RadarQualityControl::isChangeAbnormal | ( | ) | const [inline, inherited] |
| bool w2qcref::RadarQualityControl::isReadyToComputeResults | ( | ) | const [inherited] |
are we ready to compute, or are we waiting for some input?
| static bool w2qcref::RadarQualityControl::isReflectivityOnly | ( | ) | [static, inherited] |
| bool w2qcref::RadarQualityControl::isRhoHVKnown | ( | int | x, | |
| int | y | |||
| ) | const [inline, inherited] |
| bool w2qcref::RadarQualityControl::isSpectrumWidthKnown | ( | int | x, | |
| int | y | |||
| ) | const [inline, inherited] |
| bool w2qcref::RadarQualityControl::isVelocityKnown | ( | int | x, | |
| int | y | |||
| ) | const [inline, inherited] |
| bool w2qcref::RadarQualityControl::isVolumeComplete | ( | ) | const [inherited] |
is the volume complete? a convenience function.
| bool w2qcref::RadarQualityControl::isZdrKnown | ( | int | x, | |
| int | y | |||
| ) | const [inline, inherited] |
| code::SmartPtr<Postprocessor> w2qcref::QCNN::postprocessor | ( | ) | [inline] |
| virtual void w2qcref::QCNN::preprocessData | ( | code::RadialSet & | rs | ) | [virtual] |
In addition to making velocity data match gate-resolution of reflectivity data, it sets reflectivity returns below the noise threshold to be -14dBZ instead of MISSING.
Reimplemented from w2qcref::RadarQualityControl.
| virtual void w2qcref::RadarQualityControl::preprocessDataWithTerrain | ( | code::RadialSet & | rs | ) | [virtual, inherited] |
Use terrain information to preprocess this scan.
| virtual void w2qcref::QCNN::reset | ( | bool | time_also | ) | [virtual] |
Reimplemented from w2qcref::RadarQualityControl.
| virtual code::PolarGrid w2qcref::QCNN::runNeuralNetwork | ( | const std::vector< code::Image< float > > & | nnInputs | ) | [protected, virtual] |
| static void w2qcref::RadarQualityControl::setBeamBlockageThreshold | ( | float | thresh | ) | [static, inherited] |
The default value is 0.5.
| static void w2qcref::QCNN::setClutterDir | ( | const std::string & | dir | ) | [inline, static] |
Set the top-level clutter dir here.
The clutter maps can be created using w2createClutterMap
| static void w2qcref::RadarQualityControl::setDualPol | ( | bool | flag | ) | [static, inherited] |
| static void w2qcref::RadarQualityControl::setHybridScanFlag | ( | bool | h | ) | [inline, static, inherited] |
By default, hybrid scans are not produced.
| static void w2qcref::QCNN::setNeuralNetworkFlag | ( | bool | flag | ) | [inline, static] |
default for this is true.
If false, QCNN's results are solely due to the preprocessing.
| static void w2qcref::QCNN::setPixelwiseFlag | ( | bool | flag | ) | [inline, static] |
default for this is false.
If turned on, blob segmentation will not be done.
| static void w2qcref::QCNN::setPostprocessFlag | ( | bool | flag | ) | [inline, static] |
default for this is true.
| void w2qcref::QCNN::setPostprocessor | ( | code::SmartPtr< Postprocessor > | proc | ) | [inline] |
pass in an invalid SmartPtr to avoid post-process.
By default, a CombineMean() is used.
| static void w2qcref::RadarQualityControl::setReflectivityOnly | ( | int | numZElevationsRequired | ) | [static, inherited] |
| static void w2qcref::RadarQualityControl::setRefType | ( | const std::string & | s | ) | [inline, static, inherited] |
| static void w2qcref::RadarQualityControl::setRhoHVType | ( | const std::string & | s | ) | [inline, static, inherited] |
| static void w2qcref::RadarQualityControl::setSpwType | ( | const std::string & | s | ) | [inline, static, inherited] |
| static void w2qcref::RadarQualityControl::setTargetResolution | ( | const code::Length & | gw, | |
| const code::Angle & | az, | |||
| const code::Length & | maxRange | |||
| ) | [inline, static, inherited] |
| void w2qcref::RadarQualityControl::setTerrain | ( | code::SmartPtr< vol::TerrainBlockage > | terrainBlockage | ) | [inherited] |
set the terrain blockage for this radar.
| int w2qcref::QCNN::setupNNInputs | ( | const std::vector< code::Image< float > > & | nnInputs, | |
| int | x, | |||
| int | y, | |||
| std::vector< float > * | final_inputs | |||
| ) |
copy and pre-process the NN params to get a array of inputs to the network (at a pixel).
This array should be sized already to be params.size()
1 if the point is definitely weather-related
-1 if we do not know at this point -- the point has to be processed by the neural network to be sure.
| static void w2qcref::RadarQualityControl::setVelType | ( | const std::string & | s | ) | [inline, static, inherited] |
| static void w2qcref::RadarQualityControl::setZdrType | ( | const std::string & | s | ) | [inline, static, inherited] |
std::string w2qcref::RadarQualityControl::REF_TYPE [static, protected, inherited] |
std::string w2qcref::RadarQualityControl::RHOHV_TYPE [static, protected, inherited] |
std::string w2qcref::RadarQualityControl::SPW_TYPE [static, protected, inherited] |
std::string w2qcref::RadarQualityControl::VEL_TYPE [static, protected, inherited] |
std::string w2qcref::RadarQualityControl::ZDR_TYPE [static, protected, inherited] |
1.4.7