#include <vpdfl_gaussian_kernel_pdf.h>
Inheritance diagram for vpdfl_gaussian_kernel_pdf:

Definition at line 16 of file vpdfl_gaussian_kernel_pdf.h.
Public Member Functions | |
| vpdfl_gaussian_kernel_pdf () | |
| Dflt ctor. | |
| virtual | ~vpdfl_gaussian_kernel_pdf () |
| Destructor. | |
| virtual vpdfl_sampler_base * | new_sampler () const |
| Create a sampler object on the heap. | |
| virtual double | operator() (const vnl_vector< double > &x) const |
| Probability density at x. | |
| virtual double | log_p (const vnl_vector< double > &x) const |
| Log of probability density at x. | |
| virtual void | gradient (vnl_vector< double > &g, const vnl_vector< double > &x, double &p) const |
| Gradient of PDF at x. | |
| virtual void | nearest_plausible (vnl_vector< double > &x, double log_p_min) const |
| Compute nearest point to x which has a density above a threshold. | |
| short | version_no () const |
| Version number for I/O. | |
| virtual vcl_string | is_a () const |
| Name of the class. | |
| virtual bool | is_class (vcl_string const &s) const |
| Does the name of the class match the argument?. | |
| virtual vpdfl_pdf_base * | clone () const |
| Create a copy on the heap and return base class pointer. | |
| virtual void | print_summary (vcl_ostream &os) const |
| Print class to os. | |
| virtual void | b_write (vsl_b_ostream &bfs) const |
| Save class to binary file stream. | |
| virtual void | b_read (vsl_b_istream &bfs) |
| Load class from binary file stream. | |
| void | set_centres (const vnl_vector< double > *x, int n, double width) |
| Initialise so all kernels have the same width. | |
| void | set_centres (const vnl_vector< double > *x, int n, const vnl_vector< double > &width) |
| Initialise so all kernels have given width. | |
| const vcl_vector< vnl_vector< double > > & | centre () const |
| Position of kernel centres. | |
| const vnl_vector< double > & | width () const |
| Width of each kernel. | |
| bool | all_same_width () const |
| True if all kernels have the same width. | |
| const vnl_vector< double > & | mean () const |
| Mean of distribution. | |
| const vnl_vector< double > & | variance () const |
| Variance of each dimension. | |
| int | n_dims () const |
| Number of dimensions. | |
| virtual int | n_peaks () const |
| Number of peaks of distribution. | |
| virtual const vnl_vector< double > & | peak (int) const |
| Position of the i'th peak. | |
| virtual void | gradient_logp (vnl_vector< double > &g, const vnl_vector< double > &x) const |
| Gradient and value of log(p(x)) at x. | |
| virtual double | log_prob_thresh (double pass_proportion) const |
| Compute threshold for PDF to pass a given proportion. | |
| virtual bool | is_valid_pdf () const |
| Return true if the object represents a valid PDF. | |
Protected Member Functions | |
| void | calc_mean_var () |
| Compute mean/variance given current centres and widths. | |
| void | set_mean (const vnl_vector< double > &m) |
| void | set_variance (const vnl_vector< double > &v) |
Protected Attributes | |
| vcl_vector< vnl_vector< double > > | x_ |
| Position of kernel centres. | |
| vnl_vector< double > | width_ |
| Width of each kernel. | |
| bool | all_same_width_ |
| True if all kernels have the same width. | |
|
|
Dflt ctor.
Definition at line 23 of file vpdfl_gaussian_kernel_pdf.cxx. |
|
|
Destructor.
Definition at line 29 of file vpdfl_gaussian_kernel_pdf.cxx. |
|
|
True if all kernels have the same width.
Definition at line 63 of file vpdfl_kernel_pdf.h. |
|
|
Load class from binary file stream.
Reimplemented from vpdfl_kernel_pdf. Definition at line 156 of file vpdfl_gaussian_kernel_pdf.cxx. |
|
|
Save class to binary file stream.
Reimplemented from vpdfl_kernel_pdf. Definition at line 145 of file vpdfl_gaussian_kernel_pdf.cxx. |
|
|
Compute mean/variance given current centres and widths.
Definition at line 33 of file vpdfl_kernel_pdf.cxx. |
|
|
Position of kernel centres.
Definition at line 57 of file vpdfl_kernel_pdf.h. |
|
|
Create a copy on the heap and return base class pointer.
Implements vpdfl_pdf_base. Definition at line 126 of file vpdfl_gaussian_kernel_pdf.cxx. |
|
||||||||||||||||
|
Gradient of PDF at x.
Implements vpdfl_pdf_base. Definition at line 78 of file vpdfl_gaussian_kernel_pdf.cxx. |
|
||||||||||||
|
Gradient and value of log(p(x)) at x. Computes gradient df/dx of f(x)=log(p(x)) at x. Result is vector of same dimensionality as x. Default baseclass implementation uses gradient() to compute grad/p Reimplemented in vpdfl_axis_gaussian. Definition at line 127 of file vpdfl_pdf_base.cxx. |
|
|
Name of the class.
Reimplemented from vpdfl_kernel_pdf. Definition at line 98 of file vpdfl_gaussian_kernel_pdf.cxx. |
|
|
Does the name of the class match the argument?.
Reimplemented from vpdfl_kernel_pdf. Definition at line 108 of file vpdfl_gaussian_kernel_pdf.cxx. |
|
|
Return true if the object represents a valid PDF. This will return false, if n_dims() is 0, for example just ofter default construction. Reimplemented in vpdfl_mixture. Definition at line 141 of file vpdfl_pdf_base.cxx. |
|
|
Log of probability density at x. This value is also the Normalised Mahalanobis distance from the centroid to the given vector. Implements vpdfl_pdf_base. Definition at line 60 of file vpdfl_gaussian_kernel_pdf.cxx. |
|
|
Compute threshold for PDF to pass a given proportion.
Reimplemented in vpdfl_axis_gaussian, and vpdfl_gaussian. Definition at line 40 of file vpdfl_pdf_base.cxx. |
|
|
Mean of distribution.
Definition at line 45 of file vpdfl_pdf_base.h. |
|
|
Number of dimensions.
Definition at line 51 of file vpdfl_pdf_base.h. |
|
|
Number of peaks of distribution.
Definition at line 54 of file vpdfl_pdf_base.h. |
|
||||||||||||
|
Compute nearest point to x which has a density above a threshold. If log_p(x)>log_p_min then x unchanged. Otherwise x is moved (typically up the gradient) until log_p(x)>=log_p_min.
Implements vpdfl_pdf_base. Definition at line 88 of file vpdfl_gaussian_kernel_pdf.cxx. |
|
|
Create a sampler object on the heap. Caller is responsible for deletion. Implements vpdfl_pdf_base. Definition at line 68 of file vpdfl_gaussian_kernel_pdf.cxx. |
|
|
Probability density at x.
Reimplemented from vpdfl_pdf_base. Definition at line 36 of file vpdfl_gaussian_kernel_pdf.cxx. |
|
|
Position of the i'th peak.
Definition at line 57 of file vpdfl_pdf_base.h. |
|
|
Print class to os.
Reimplemented from vpdfl_kernel_pdf. Definition at line 136 of file vpdfl_gaussian_kernel_pdf.cxx. |
|
||||||||||||||||
|
Initialise so all kernels have given width. width[i] is essentially the sd on kernel i Definition at line 78 of file vpdfl_kernel_pdf.cxx. |
|
||||||||||||||||
|
Initialise so all kernels have the same width. width is essentially the sd on the kernels Definition at line 65 of file vpdfl_kernel_pdf.cxx. |
|
|
Reimplemented in vpdfl_gaussian. Definition at line 34 of file vpdfl_pdf_base.h. |
|
|
Definition at line 35 of file vpdfl_pdf_base.h. |
|
|
Variance of each dimension.
Definition at line 48 of file vpdfl_pdf_base.h. |
|
|
Version number for I/O.
Reimplemented from vpdfl_kernel_pdf. Definition at line 117 of file vpdfl_gaussian_kernel_pdf.cxx. |
|
|
Width of each kernel.
Definition at line 60 of file vpdfl_kernel_pdf.h. |
|
|
True if all kernels have the same width.
Definition at line 34 of file vpdfl_kernel_pdf.h. |
|
|
Width of each kernel.
Definition at line 31 of file vpdfl_kernel_pdf.h. |
|
|
Position of kernel centres.
Definition at line 28 of file vpdfl_kernel_pdf.h. |
1.4.4