Defines | Functions
core/vnl/algo/vnl_chi_squared.txx File Reference
#include "vnl_chi_squared.h"
#include <vnl/algo/vnl_netlib.h>

Go to the source code of this file.

Defines

#define vnl_chi_squared_txx_
#define VNL_CHI_SQUARED_INSTANTIATE(T)

Functions

template<class T >
double vnl_chi_squared_cumulative (T chisq, long dof)
 Compute cumulative distribution function value for chi-squared distribution.
template<class T >
double vnl_chi_squared_statistic_1 (T const *A, T const *B, int n, bool normalize)
 Name space for various chi-squared distribution functions.
template<class T >
double vnl_chi_squared_statistic_2 (T const *A, T const *B, int n, bool normalize)
 $\displaystyle \sum_i \frac{ (a[i] - b[i])^2 }{ b[i] } $
template<class T >
double vnl_chi_squared_statistic_12 (T const *A, T const *B, int n, bool normalize)
 $\displaystyle \sum_i \frac{ (a[i] - b[i])^2 }{ a[i] + b[i] } $

Detailed Description

    Modifications
     24 Mar 2010  Peter Vanroose  renamed from .cxx to .txx and moved out template instantiations
   

Definition in file vnl_chi_squared.txx.


Define Documentation

#define VNL_CHI_SQUARED_INSTANTIATE (   T)
Value:
template double vnl_chi_squared_cumulative  (T chisq, long dof); \
template double vnl_chi_squared_statistic_1 (T const *, T const *, int, bool); \
template double vnl_chi_squared_statistic_2 (T const *, T const *, int, bool); \
template double vnl_chi_squared_statistic_12(T const *, T const *, int, bool)

Definition at line 103 of file vnl_chi_squared.txx.

#define vnl_chi_squared_txx_

Definition at line 3 of file vnl_chi_squared.txx.


Function Documentation

template<class T >
double vnl_chi_squared_cumulative ( chisq,
long  dof 
)

Compute cumulative distribution function value for chi-squared distribution.

This subroutine computes the cumulative distribution function value for the chi-squared distribution with integer degrees of freedom parameter = dof. This distribution is defined for all non-negative chisq. Thus if a random variable x is drawn from a chi-squared distribution with d degrees of freedom, then $P(x < X) =$ vnl_chi_squared_cumulative(X,d). Internally, T=double is used.

Definition at line 19 of file vnl_chi_squared.txx.

template<class T >
double vnl_chi_squared_statistic_1 ( T const *  A,
T const *  B,
int  n,
bool  normalize 
)

Name space for various chi-squared distribution functions.

A[] and B[] are (pointers to) arrays containing histograms. If the 'normalize' parameter is true, each histogram will be implicitly normalized (so as to sum to 1) before the statistic is calculated :

$a[i] = A[i] / \sum_j A[j]$

$b[i] = B[i] / \sum_j B[j]$

*DO NOT* add scale factors to these functions or you will break the code written by those who read the documentation. fsm.

$\displaystyle \sum_i \frac{ (a[i] - b[i])^2 }{ a[i] } $

Definition at line 29 of file vnl_chi_squared.txx.

template<class T >
double vnl_chi_squared_statistic_12 ( T const *  A,
T const *  B,
int  n,
bool  normalize 
)

$\displaystyle \sum_i \frac{ (a[i] - b[i])^2 }{ a[i] + b[i] } $

Definition at line 69 of file vnl_chi_squared.txx.

template<class T >
double vnl_chi_squared_statistic_2 ( T const *  A,
T const *  B,
int  n,
bool  normalize 
)

$\displaystyle \sum_i \frac{ (a[i] - b[i])^2 }{ b[i] } $

Definition at line 63 of file vnl_chi_squared.txx.