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