Woolz Image Processing
Version 1.7.5
|
Files | |
file | AlgMixture.c |
Provides a function for computing the maximum liklihood parameters of a mixture of distributions which fit the given data. | |
Functions | |
AlgError | AlgMixtureMLG (int nDbn, int nCls, double samOrg, double samItv, double *freq, double *alpha, double *mu, double *sd, double tol, double sumFreq, double *dstLL, int *dstNItn) |
Computes the maximum liklihood estimate of the parameters of a mixture of normal distributions which best fit the give frequencies. These parameters are the miximg proportions, means, and standard deviations. The log-liklihood and the number of iterations are also computed. This algorithm is based on the article: Agha M. and Ibrahim M.T. Maximum Liklihood Estimation of Mixtures of Distributions AS203 Applied Statistics 33(3):327-332, 1984. More... | |
AlgError | AlgMixtureSyn (int nCls, int *synFreq, int nObv, double synOrg, double synStep, int nDbn, double *alpha, double *mu, double *sigma) |
Synthesise a mixture of normal distributions. More... | |
AlgError AlgMixtureMLG | ( | int | nDbn, |
int | nCls, | ||
double | samOrg, | ||
double | samItv, | ||
double * | freq, | ||
double * | alpha, | ||
double * | mu, | ||
double * | sd, | ||
double | tol, | ||
double | sumFreq, | ||
double * | dstLL, | ||
int * | dstNItn | ||
) |
Computes the maximum liklihood estimate of the parameters of a mixture of normal distributions which best fit the give frequencies. These parameters are the miximg proportions, means, and standard deviations. The log-liklihood and the number of iterations are also computed. This algorithm is based on the article: Agha M. and Ibrahim M.T. Maximum Liklihood Estimation of Mixtures of Distributions AS203 Applied Statistics 33(3):327-332, 1984.
nDbn | Number of distributions in the mixture. |
nCls | Number of classes in the frequency distribution. |
samOrg | Position of first sample (origin). |
samItv | Sample interval. |
freq | Given frequency samples. |
alpha | Estimates of nDbn alpha values, both given and returned. Alpha values must be in the range (0,1]. |
mu | Estimates of nDbn mean values, both given and returned. |
sd | Estimates of nDbn standard deviation values, both given and returned. |
tol | Difference between two consecutive log liklihood values required to terminate iteration. |
sumFreq | Number of observations. |
dstLL | Destination pointer for the log liklihood. |
dstNItn | Destination pointer for the number of iterations taken. |
References ALC_ER_NONE, AlcDouble2Free(), AlcDouble2Malloc(), AlcFree(), AlcMalloc(), ALG_ERR_CONVERGENCE, ALG_ERR_FUNC, ALG_ERR_MALLOC, and ALG_ERR_NONE.
Referenced by WlzHistogramFitPeaks().
AlgError AlgMixtureSyn | ( | int | nCls, |
int * | synFreq, | ||
int | nObv, | ||
double | synOrg, | ||
double | synStep, | ||
int | nDbn, | ||
double * | alpha, | ||
double * | mu, | ||
double * | sigma | ||
) |
Synthesise a mixture of normal distributions.
nCls | Number of classes in the frequency distribution. |
synFreq | Buffer for synthesised frequencies. |
nObv | Number of observations. |
synOrg | Origin of synFreq buffer. |
synStep | Sample interval for the synFreq buffer. |
nDbn | Number of distributions in the mixture. |
alpha | Estimates of nDbn alpha values. |
mu | Estimates of nDbn mu values. |
sigma | Estimates of nDbn standard deviation values. |
References ALG_ERR_FUNC, ALG_ERR_NONE, and ALG_NINT.