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] |