Navigation
| class Kernel( object ) | Source |
|---|
A kernel is an even real-valued integrable function.
It is satisfying the following two requirements
- The integral over [-Inf,+Inf] exists ( < Inf ).
- It is an even function: K( x ) = K( -x ).
A kernel is called bound when it is 0 everywhere except when |x| < range < inf.
All kernels are scaled such that its value at x=0 is 1.0.
Several kernel functions, K( x ) are defined in this package
| Name | Definition | Integral | FWHM | range | comment |
|---|---|---|---|---|---|
| Biweight | ( 1-x2 )2 | 16/15 | 1.08 | 1.0 | aka Tukey |
| CosSquare | cos2(0.5*π*x) | 1.0 | 1.00 | 1.0 | |
| Cosine | cos( 0.5*π*x ) | 4/π | 1.33 | 1.0 | |
| Gauss | exp( -0.5*x2 ) | √(2*π) | 1.22 | inf | |
| Huber | min( 1, 1/|x| ) | inf | 4.00 | inf | improper |
| aka Median | |||||
| Lorentz | 1 / ( 1 + x2 ) | π | 2.00 | inf | |
| Parabola | 1 - x2 | 4/3 | 1.41 | 1.0 | |
| Sinc | sin(π*x)/(π*x) | 1.0 | 1.21 | inf | |
| Triangle | 1 - |x| | 1.0 | 1.00 | 1.0 | |
| Tricube | ( 1 - |x|3 )3 | 81/70 | 1.18 | 1.0 | |
| Triweight | ( 1 - x2 )3 | 32/35 | 0.91 | 1.0 | |
| Uniform | 1.0 | 2.0 | 2.00 | 1.0 | aka Clip |
| Tophat 0 | 1.0 | 1.0 | 1.00 | 0.5 | like Uniform |
| Tophat 1 | 1 - |x| | 1.0 | 1.00 | 1.0 | aka Triangle |
| Tophat 2 | 2nd order polynome | 1.0 | 1.26 | 1.5 | |
| Tophat 3 | 3rd order polynome | 1.0 | 1.44 | 2.0 | |
| Tophat 4 | 4th order polynome | 1.0 | 1.60 | 2.5 | |
| Tophat 5 | 5th order polynome | 1.0 | 1.73 | 3.0 | |
| Tophat 6 | 6th order polynome | 1.0 | 1.86 | 3.5 |
For all bound Kernels the definition in the table is true for |x| < range; elsewhere it is 0.
Huber is not a proper Kernel as the integral is inf. However it is important in robust fitting (RobustShell) to get a madian-like solution for the outliers.
Attributes
- integral : float
the integral over the valid range - fwhm : float
the full width at half maximum - range : float
the region [-range..+range] where the kernel is non-zero.
Author Do Kester
Category mathematics/Fitting
| Kernel( integral=1.0, fwhm=1.0, range=1.0 ) |
|---|
Constructor
Parameters
- integral : float
over [-inf, +inf] - fwhm : float
full width at half maximum - range : float
the region [-range,+range] where the kernel is nonzero
| result( x ) |
|---|
Parameters
- x : array-like
input values
| resultsq( xsq ) |
|---|
Parameters
- x : array-like
the squares of the input values
| partial( x ) |
|---|
Parameters
- x : array-like
the input values
| isBound( ) |
|---|
| name( ) |
|---|