w2img::GlobalGmmFilter Class Reference

Inheritance diagram for w2img::GlobalGmmFilter:

w2img::GMMFilter w2img::ImageFilter w2img::SingleData2DFilter w2img::Data2DFilter List of all members.

Detailed Description

Fits a GMM to entire image.

Author:
Lakshman
Version:
Id
w2img_GMMFilter.h,v 1.8 2010/02/16 16:32:56 lakshman Exp


Public Member Functions

 GlobalGmmFilter (float minThresh, float maxThresh, float incr, int n_models, float gamma_correction)
void getPoints (const code::Image< float > &data, std::vector< float > &ptx, std::vector< float > &pty, std::vector< int > &start_index, int &min_models, int &max_models, double &vol_scale)
 helper function to get the points that need to be fit to a GMM.
void fitPoints (const code::Image< float > &data, const std::vector< float > &ptx, const std::vector< float > &pty, const std::vector< int > &start_index, int min_models, int max_models, double vol_scale)
 helper function to fit the points to a GMM.
float createCandidate (const code::Image< float > &data, const std::vector< float > &ptx, const std::vector< float > &pty, const std::vector< int > &startindex, int nmodels, double vol_scale, std::vector< GMMFilter::GMM > &candidate)
 helper function to create a candidate GMM and compute its error
virtual ~GlobalGmmFilter ()
virtual code::Image< float > filterImage (const code::Image< float > &data)
 the work-horse function.
const std::vector< GMM > & getFittedGMMs () const
virtual code::Image< float > recreateImage (int dimx, int dimy)
 use the computed GMM to recreate an image with these dimensions.
virtual code::Image< float > recreateImage (const std::vector< GMM > &gmm, int dimx, int dimy)
 use the supplied GMM to recreate an image with these dimensions.
virtual code::SmartPtr< code::DataType > filter (const code::RadialSet &)
virtual code::SmartPtr< code::DataType > filter (const code::CartesianGrid2D &)
virtual code::SmartPtr< code::DataType > filter (const code::LatLonGrid &)
void process (code::PolarGrid &)
 Note that you need to call getResult() to get the result.
void process (code::RadialSet &)
 Note that you need to call getResult() to get the result.
void process (code::CartesianGrid2D &)
 Note that you need to call getResult() to get the result.
void process (code::LatLonGrid &)
 Note that you need to call getResult() to get the result.
void process (code::WindFieldStruct< code::LatLonGrid > &)
 Note that you need to call getResult() to get the result.
void process (code::WindFieldStruct< code::CartesianGrid2D > &)
 Note that you need to call getResult() to get the result.
void allowChangingMissingData (bool in)
 Should we filter at missing data values also, or not process missing values? By default, smoothing around a missing value might produce a value at that point in the result i.e.
bool canChangeMissing () const
void setToHandleRadialData (bool in)
 Pass in true if radial data should be filtered directly instead, of as is default, to convert to CartesianGrid before contouring.
void setCartesianGridResolutionRatio (double inres)
 changes the grid resolution of CartesianGrids created from RadialSets from that of the gate width.
void setCartesianGridDimension (const code::Length &indim)
 clips cartesian grids to this extent in the horizontal and vertical directions.
void setWrapAroundRadials (size_t numWrapAroundRadials)
 Normally, the RadialSet processing is done with no radial "wrapping".
size_t getWrapAroundRadials () const
code::SmartPtr< code::DataType > getResult ()
 get the result of the filtering -- returns 0 on error.
void reset ()

Protected Attributes

float minThresh
float maxThresh
float incr
std::vector< GMM > allGMM
code::SmartPtr< code::DataType > myResult


Constructor & Destructor Documentation

w2img::GlobalGmmFilter::GlobalGmmFilter ( float  minThresh,
float  maxThresh,
float  incr,
int  n_models,
float  gamma_correction 
)

virtual w2img::GlobalGmmFilter::~GlobalGmmFilter (  )  [virtual]


Member Function Documentation

void w2img::SingleData2DFilter::allowChangingMissingData ( bool  in  )  [inline, virtual, inherited]

Should we filter at missing data values also, or not process missing values? By default, smoothing around a missing value might produce a value at that point in the result i.e.

the bool is true.

Implements w2img::Data2DFilter.

bool w2img::SingleData2DFilter::canChangeMissing (  )  const [inline, virtual, inherited]

Implements w2img::Data2DFilter.

float w2img::GlobalGmmFilter::createCandidate ( const code::Image< float > &  data,
const std::vector< float > &  ptx,
const std::vector< float > &  pty,
const std::vector< int > &  startindex,
int  nmodels,
double  vol_scale,
std::vector< GMMFilter::GMM > &  candidate 
)

helper function to create a candidate GMM and compute its error

virtual code::SmartPtr<code::DataType> w2img::ImageFilter::filter ( const code::LatLonGrid &   )  [virtual, inherited]

Implements w2img::SingleData2DFilter.

Reimplemented in w2img::DistanceFilter.

virtual code::SmartPtr<code::DataType> w2img::ImageFilter::filter ( const code::CartesianGrid2D &   )  [virtual, inherited]

Implements w2img::SingleData2DFilter.

Reimplemented in w2img::DistanceFilter.

virtual code::SmartPtr<code::DataType> w2img::ImageFilter::filter ( const code::RadialSet &   )  [virtual, inherited]

Implements w2img::SingleData2DFilter.

Reimplemented in w2img::DistanceFilter.

virtual code::Image<float> w2img::GlobalGmmFilter::filterImage ( const code::Image< float > &  data  )  [virtual]

the work-horse function.

Implements w2img::ImageFilter.

void w2img::GlobalGmmFilter::fitPoints ( const code::Image< float > &  data,
const std::vector< float > &  ptx,
const std::vector< float > &  pty,
const std::vector< int > &  start_index,
int  min_models,
int  max_models,
double  vol_scale 
)

helper function to fit the points to a GMM.

const std::vector<GMM>& w2img::GMMFilter::getFittedGMMs (  )  const [inline, inherited]

void w2img::GlobalGmmFilter::getPoints ( const code::Image< float > &  data,
std::vector< float > &  ptx,
std::vector< float > &  pty,
std::vector< int > &  start_index,
int &  min_models,
int &  max_models,
double &  vol_scale 
)

helper function to get the points that need to be fit to a GMM.

code::SmartPtr<code::DataType> w2img::Data2DFilter::getResult (  )  [inline, inherited]

get the result of the filtering -- returns 0 on error.

This may or may not be the same data as passed in, for example process(RadialSet) may return a CartesianGrid.

size_t w2img::SingleData2DFilter::getWrapAroundRadials (  )  const [inline, virtual, inherited]

Implements w2img::Data2DFilter.

void w2img::SingleData2DFilter::process ( code::WindFieldStruct< code::CartesianGrid2D > &   )  [inherited]

Note that you need to call getResult() to get the result.

The input data is not changed.

void w2img::SingleData2DFilter::process ( code::WindFieldStruct< code::LatLonGrid > &   )  [inherited]

Note that you need to call getResult() to get the result.

The input data is not changed.

void w2img::SingleData2DFilter::process ( code::LatLonGrid &   )  [inherited]

Note that you need to call getResult() to get the result.

The input data is not changed.

void w2img::SingleData2DFilter::process ( code::CartesianGrid2D &   )  [inherited]

Note that you need to call getResult() to get the result.

The input data is not changed.

void w2img::SingleData2DFilter::process ( code::RadialSet &   )  [inherited]

Note that you need to call getResult() to get the result.

The input data is not changed.

void w2img::SingleData2DFilter::process ( code::PolarGrid &   )  [inherited]

Note that you need to call getResult() to get the result.

The input data is not changed.

virtual code::Image<float> w2img::GMMFilter::recreateImage ( const std::vector< GMM > &  gmm,
int  dimx,
int  dimy 
) [virtual, inherited]

use the supplied GMM to recreate an image with these dimensions.

Because the GMM stores pixel locations only, these need to be the dimensions of the original image.

virtual code::Image<float> w2img::GMMFilter::recreateImage ( int  dimx,
int  dimy 
) [inline, virtual, inherited]

use the computed GMM to recreate an image with these dimensions.

Because the GMM stores pixel locations only, these need to be the dimensions of the original image.

void w2img::Data2DFilter::reset (  )  [inline, inherited]

void w2img::SingleData2DFilter::setCartesianGridDimension ( const code::Length &  indim  )  [inline, virtual, inherited]

clips cartesian grids to this extent in the horizontal and vertical directions.

(Removes the boundaries, keeping the image centered at the same spot).

by default, no such clipping is done. Pass in Length() to turn off clipping.

Implements w2img::Data2DFilter.

void w2img::SingleData2DFilter::setCartesianGridResolutionRatio ( double  inres  )  [inline, virtual, inherited]

changes the grid resolution of CartesianGrids created from RadialSets from that of the gate width.

For example, if the RadialSet's gate width is 1km, then if the ratio is 3, the CartesianGrid's resolution is 0.33km. If the input ratio is 0.33 then the grid resolution will be 3km.

Implements w2img::Data2DFilter.

void w2img::SingleData2DFilter::setToHandleRadialData ( bool  in  )  [inline, virtual, inherited]

Pass in true if radial data should be filtered directly instead, of as is default, to convert to CartesianGrid before contouring.

Implements w2img::Data2DFilter.

void w2img::SingleData2DFilter::setWrapAroundRadials ( size_t  numWrapAroundRadials  )  [inline, virtual, inherited]

Normally, the RadialSet processing is done with no radial "wrapping".

You can remove boundary effects in the azimuthal direction by calling this function with a value greater than zero.

When filtering with a 5x5 kernel, this class will automatically add 5 radials, do the filtering and then remove the extra five radials. In that case, the number of wraparound radials should be set to 5.

Implements w2img::Data2DFilter.


Member Data Documentation

std::vector<GMM> w2img::GMMFilter::allGMM [protected, inherited]

float w2img::GMMFilter::incr [protected, inherited]

float w2img::GMMFilter::maxThresh [protected, inherited]

float w2img::GMMFilter::minThresh [protected, inherited]

code::SmartPtr<code::DataType> w2img::Data2DFilter::myResult [protected, inherited]


Generated on Fri May 4 13:40:23 2012 for WDSS-IIw2algs by  doxygen 1.4.7