Inheritance diagram for w2img::CleanRef:
To make it use cloud-cover information, derived from satellite and model data, set a CloudCoverProvider
Public Member Functions | |
CleanRef (const code::Angle &angular_resolution, const code::Length &gate_width, const code::Length &total_range) | |
specify the dimensions and resolution of the output polar grid. | |
virtual | ~CleanRef () |
void | setElevationsFlag (bool) |
turn on or off writing of cleaned reflectivity products. | |
void | setQualityCompositeFlag (bool) |
turn on or off Quality Composite processing. | |
void | setEnhancedCompositeFlag (bool) |
turn on or off EnhancedComposite computation. | |
void | setIntermediatesFlag (bool) |
turn on or off writing intermediate products. | |
void | setVirtualVolumeFlag (bool) |
process virtual volumes or only complete volumes? by default, process only complete volumes. | |
void | setConservativeFlag (bool flag) |
Should we be conservative when flagging AP or not? By default, we are not conservative -- we will run the risk of losing some data at the lowest tilt to get rid of chaff and "rock rain". | |
void | setQualityHeight (const code::Length &qualityHeight) |
Set the height above mean-sea-level above which any data for the composite can be assumed meteorological. | |
void | setVelocityData (const code::RadialSet &velocity) |
sets the velocity data that will be used in quality-controlled composite creation. | |
void | setCloudCover (const code::LatLonGrid &cloudcover) |
sets the CloudCover field that will be used in quality-controlled composite creation. | |
void | setCloudCoverProvider (code::SmartPtr< CloudCoverProvider > cpr) |
use this cloud-cover provider to obtain the latest value of the cloud-cover field at the current time. | |
virtual std::vector< code::SmartPtr< code::DataType > > | process (const std::vector< code::PolarGrid > &elevations) |
does the cleaning and writing tasks. | |
code::SmartPtr< code::DataType > | computeQualityComposite (const std::vector< code::PolarGrid > &elevations) |
computes and returns a quality-controlled ReflectivityComposite. | |
code::SmartPtr< code::DataType > | computeEnhancedComposite (const code::PolarGrid &compositeField) |
enhances the input ReflectivityComposite. | |
code::SmartPtr< code::DataType > | computeQualityElevation (const code::PolarGrid &elevation, const code::PolarGrid &composite) |
computes and returns a quality-controlled version of the elevation scan. | |
void | computeProbabilityOfAP (const code::PolarGrid &pg) |
given an elevation scan, computes a (num_radials x num_gates) grid with fuzzy numbers in [0,1] such that 0 means definitely not AP and 1 means definitely AP. | |
virtual code::PolarGrid | preprocess (const code::RadialSet &rs) |
Over-rides implementation in VolumeAlgorithm to do clutter removal. | |
virtual bool | atLastTilt () const |
void | setElevationTimeCorrection (bool flag) |
void | setTimeOfEarliest (bool flag) |
void | setRoundOffPrecision (float p) |
float | shouldUseTimeOfEarliest () const |
void | roundOff (code::PolarGrid &p) |
std::vector< code::SmartPtr< code::DataType > > | processRecord (const code::Index::Record &inputRecord) |
process the input record, and return data corresponding to input. | |
std::vector< code::SmartPtr< code::DataType > > | processElevation (const code::PolarGrid &inputData) |
process the input data, and return data corresponding to input. | |
virtual std::vector< code::SmartPtr< code::DataType > > | process (const std::vector< code::PolarGrid > &elevations, int index_of_latest)=0 |
helper method to the processRecord method. | |
const code::Angle & | getCurrentElevation () const |
Returns the most current elevation scan seen. | |
Static Public Member Functions | |
static code::Image< float > | wrapBoundary (const code::PolarGrid &pg, int half_size) |
repeats the gates and wraps the radials. | |
static code::Image< float > | unwrapBoundary (const code::Image< float > &input, int half_sz) |
static void | removeClutter (code::PolarGrid &result, float min_validval=0, float badval=code::Constants::MISSING_DATA) |
Protected Attributes | |
code::Angle | myAngularResolution |
code::Length | myRadialResolution |
int | numAngles |
int | numGates |
Classes | |
struct | Intermediates |
w2img::CleanRef::CleanRef | ( | const code::Angle & | angular_resolution, | |
const code::Length & | gate_width, | |||
const code::Length & | total_range | |||
) |
specify the dimensions and resolution of the output polar grid.
virtual w2img::CleanRef::~CleanRef | ( | ) | [virtual] |
virtual bool w2img::VolumeAlgorithm< code::PolarGrid >::atLastTilt | ( | ) | const [virtual, inherited] |
Implements w2img::VolumeAlgorithmInterface.
code::SmartPtr< code::DataType > w2img::CleanRef::computeEnhancedComposite | ( | const code::PolarGrid & | compositeField | ) |
enhances the input ReflectivityComposite.
void w2img::CleanRef::computeProbabilityOfAP | ( | const code::PolarGrid & | pg | ) |
given an elevation scan, computes a (num_radials x num_gates) grid with fuzzy numbers in [0,1] such that 0 means definitely not AP and 1 means definitely AP.
The elevation scan should correspond to the same elevation as the velocity scan.
code::SmartPtr< code::DataType > w2img::CleanRef::computeQualityComposite | ( | const std::vector< code::PolarGrid > & | elevations | ) |
computes and returns a quality-controlled ReflectivityComposite.
code::SmartPtr< code::DataType > w2img::CleanRef::computeQualityElevation | ( | const code::PolarGrid & | elevation, | |
const code::PolarGrid & | composite | |||
) |
computes and returns a quality-controlled version of the elevation scan.
The composite is a composite that includes this elevation scan.
const code::Angle& w2img::VolumeAlgorithm< code::PolarGrid >::getCurrentElevation | ( | ) | const [inline, virtual, inherited] |
Returns the most current elevation scan seen.
If for some reason the data are not available, may return the zero angle.
Implements w2img::VolumeAlgorithmInterface.
virtual code::PolarGrid w2img::CleanRef::preprocess | ( | const code::RadialSet & | rs | ) | [virtual] |
Over-rides implementation in VolumeAlgorithm to do clutter removal.
Reimplemented from w2img::PolarGridAlgorithm< code::PolarGrid >.
virtual std::vector< code::SmartPtr< code::DataType > > w2img::VolumeAlgorithm< code::PolarGrid >::process | ( | const std::vector< code::PolarGrid > & | elevations, | |
int | index_of_latest | |||
) | [pure virtual, inherited] |
helper method to the processRecord method.
The input elevations are all preprocessed.
Implemented in w2img::PolarCAPPI, w2img::PolarHail, w2img::PolarVAD, and w2img::PolarVIL.
virtual std::vector< code::SmartPtr< code::DataType > > w2img::CleanRef::process | ( | const std::vector< code::PolarGrid > & | elevations | ) | [virtual] |
does the cleaning and writing tasks.
std::vector< code::SmartPtr< code::DataType > > w2img::VolumeAlgorithm< code::PolarGrid >::processElevation | ( | const code::PolarGrid & | inputData | ) | [inherited] |
process the input data, and return data corresponding to input.
std::vector< code::SmartPtr< code::DataType > > w2img::VolumeAlgorithm< code::PolarGrid >::processRecord | ( | const code::Index::Record & | inputRecord | ) | [virtual, inherited] |
process the input record, and return data corresponding to input.
Implements w2img::VolumeAlgorithmInterface.
static void w2img::CleanRef::removeClutter | ( | code::PolarGrid & | result, | |
float | min_validval = 0 , |
|||
float | badval = code::Constants::MISSING_DATA | |||
) | [static] |
void w2img::VolumeAlgorithm< code::PolarGrid >::roundOff | ( | code::PolarGrid & | p | ) | [inherited] |
void w2img::CleanRef::setCloudCover | ( | const code::LatLonGrid & | cloudcover | ) |
sets the CloudCover field that will be used in quality-controlled composite creation.
void w2img::CleanRef::setCloudCoverProvider | ( | code::SmartPtr< CloudCoverProvider > | cpr | ) |
use this cloud-cover provider to obtain the latest value of the cloud-cover field at the current time.
void w2img::CleanRef::setConservativeFlag | ( | bool | flag | ) | [inline] |
Should we be conservative when flagging AP or not? By default, we are not conservative -- we will run the risk of losing some data at the lowest tilt to get rid of chaff and "rock rain".
In areas of the country (such as the Plains) where chaff/rock-rain is not likely, you should set this flag to "true"
void w2img::CleanRef::setElevationsFlag | ( | bool | ) |
turn on or off writing of cleaned reflectivity products.
True by default. If false, only the derived products will be written out.
void w2img::VolumeAlgorithm< code::PolarGrid >::setElevationTimeCorrection | ( | bool | flag | ) | [inline, inherited] |
void w2img::CleanRef::setEnhancedCompositeFlag | ( | bool | ) |
turn on or off EnhancedComposite computation.
True by default. The enhanced composite provides a "staging area" for such things as storm location. This is a good field to threshold for yes/no type decisions.
void w2img::CleanRef::setIntermediatesFlag | ( | bool | ) |
turn on or off writing intermediate products.
False by default.
void w2img::CleanRef::setQualityCompositeFlag | ( | bool | ) |
turn on or off Quality Composite processing.
True by default. The QualityComposite field is the vertical maximum of the cleaned reflectivity volume scan.
void w2img::CleanRef::setQualityHeight | ( | const code::Length & | qualityHeight | ) |
Set the height above mean-sea-level above which any data for the composite can be assumed meteorological.
A fuzzy quality control will be applied to data below this threshold.
2000m by default.
void w2img::VolumeAlgorithm< code::PolarGrid >::setRoundOffPrecision | ( | float | p | ) | [inline, inherited] |
void w2img::VolumeAlgorithm< code::PolarGrid >::setTimeOfEarliest | ( | bool | flag | ) | [inline, inherited] |
void w2img::CleanRef::setVelocityData | ( | const code::RadialSet & | velocity | ) |
sets the velocity data that will be used in quality-controlled composite creation.
void w2img::CleanRef::setVirtualVolumeFlag | ( | bool | ) | [virtual] |
process virtual volumes or only complete volumes? by default, process only complete volumes.
Reimplemented from w2img::VolumeAlgorithm< code::PolarGrid >.
float w2img::VolumeAlgorithm< code::PolarGrid >::shouldUseTimeOfEarliest | ( | ) | const [inline, inherited] |
static code::Image<float> w2img::CleanRef::unwrapBoundary | ( | const code::Image< float > & | input, | |
int | half_sz | |||
) | [static] |
static code::Image<float> w2img::CleanRef::wrapBoundary | ( | const code::PolarGrid & | pg, | |
int | half_size | |||
) | [static] |
repeats the gates and wraps the radials.
code::Angle w2img::PolarGridAlgorithm< code::PolarGrid >::myAngularResolution [protected, inherited] |
code::Length w2img::PolarGridAlgorithm< code::PolarGrid >::myRadialResolution [protected, inherited] |
int w2img::PolarGridAlgorithm< code::PolarGrid >::numAngles [protected, inherited] |
int w2img::PolarGridAlgorithm< code::PolarGrid >::numGates [protected, inherited] |