You can use this gaussian fit to get the correlation rho for any arbitrary distance.
The fit gaussian of the form f(h) = c exp( -(h/a)^2 ). c is called the sill and a is called the range. h is the distance between the two points.
Public Member Functions | |
GaussianFit (const Correlogram &sample_rhos, size_t maxSamples=0) | |
pass in the correlogram and how many samples you want to fit over. | |
bool | isValid () const |
won't be valid incase of singularity problems. | |
float | getSill () const |
Sill (c) of the fit equation. | |
float | getRange () const |
range (a) of the fit equation. | |
float | getDistance (float rho) const |
return the distance, h, at which the correlation falls below this value. | |
float | getRho (float dist) const |
get the correlation at a distance. | |
code::Image< float > | computeKernel () const |
code::Image< float > | computeQuarterKernel () const |
w2img::Correlogram::GaussianFit::GaussianFit | ( | const Correlogram & | sample_rhos, | |
size_t | maxSamples = 0 | |||
) |
pass in the correlogram and how many samples you want to fit over.
Zero indicates everything ...
code::Image<float> w2img::Correlogram::GaussianFit::computeKernel | ( | ) | const |
code::Image<float> w2img::Correlogram::GaussianFit::computeQuarterKernel | ( | ) | const |
float w2img::Correlogram::GaussianFit::getDistance | ( | float | rho | ) | const |
return the distance, h, at which the correlation falls below this value.
float w2img::Correlogram::GaussianFit::getRange | ( | ) | const [inline] |
range (a) of the fit equation.
You *can* pass in distances > range
float w2img::Correlogram::GaussianFit::getRho | ( | float | dist | ) | const |
get the correlation at a distance.
float w2img::Correlogram::GaussianFit::getSill | ( | ) | const [inline] |
Sill (c) of the fit equation.
bool w2img::Correlogram::GaussianFit::isValid | ( | ) | const [inline] |
won't be valid incase of singularity problems.