49                                                            double tweakingConstant) {
    56       : m_model(other.m_model), 
    57         m_tweakingConstant(other.m_tweakingConstant) {
    61   MaximumLikelihoodWFunctions::~MaximumLikelihoodWFunctions() {
    65   MaximumLikelihoodWFunctions &MaximumLikelihoodWFunctions::operator=(
    66       const MaximumLikelihoodWFunctions &other) {
   151       IString msg = 
"Maximum likelihood estimation tweaking constants must be > 0.0";
   184       return this->
huber(residualZScore);  
   188       return this->
welsch(residualZScore);  
   190       return this->
chen(residualZScore);
   279     return exp(-(weightFactor)*(weightFactor));
   298                             - residualZScore * residualZScore;
   299       return 6 * weightFactor * weightFactor;  
   360     if (modelName.compare(
"HUBER", Qt::CaseInsensitive) == 0) {
   363     else if (modelName.compare(
"HUBER_MODIFIED", Qt::CaseInsensitive) == 0 ||
   364              modelName.compare(
"HUBERMODIFIED", Qt::CaseInsensitive) == 0 ||
   365              modelName.compare(
"HUBER MODIFIED", Qt::CaseInsensitive) == 0) {
   368     else if (modelName.compare(
"WELSCH", Qt::CaseInsensitive) == 0) {
   371     else if (modelName.compare(
"CHEN", Qt::CaseInsensitive) == 0) {
   376                        "Unknown maximum likelihood model name " + modelName + 
".",
   411   QDataStream &MaximumLikelihoodWFunctions::write(QDataStream &stream)
 const {
   419   QDataStream &MaximumLikelihoodWFunctions::read(QDataStream &stream) {
   428   QDataStream &
operator<<(QDataStream &stream, 
const MaximumLikelihoodWFunctions &mlwf) {
   429     return mlwf.write(stream);
   434   QDataStream &
operator>>(QDataStream &stream,  MaximumLikelihoodWFunctions &mlwf) {
   435     return mlwf.read(stream);
   441     stream << (qint32)modelEnum;
   449     stream >> modelInteger;
 void setTweakingConstant(double tweakingConstant)
Allows the tweaking constant to be changed without changing the maximum likelihood function...
 
double tweakingConstantQuantile()
Suggest a quantile of the probility distribution of the residuals to use as the tweaking constants ba...
 
double sqrtWeightScaler(double residualZScore)
This provides the scaler to the sqrt of the weight, which is very useful for building normal equation...
 
According to Zhang (Parameter Estimation: A Tutorial with application to conic fitting) "[Huber's] es...
 
double weightScaler(double residualZScore)
This provides the scalar for the weight (not the scaler for the square root of the weight...
 
QString weightedResidualCutoff()
Method to return a string represtentation of the weighted residual cutoff (if it exists) for the Maxi...
 
const double HALFPI
The mathematical constant PI/2. 
 
Model m_model
The enumerated value for the maximum likelihood estimation model to be used. 
 
QString toString(bool boolToConvert)
Global function to convert a boolean to a string. 
 
double chen(double residualZScore)
Modified Huber maximum likelihood estimation function evaluation. 
 
Model
The supported maximum likelihood estimation models. 
 
This error is for when a programmer made an API call that was illegal. 
 
double huber(double residualZScore)
Huber maximum likelihood estimation function evaluation. 
 
The Chen method was found in "Robust Regression with Projection Based M-estimators" Chen...
 
A modification to Huber's method propsed by William J.J. 
 
The Welsch method aggresively discounts measures with large resiudals. 
 
void setModel(Model modelSelection)
Allows the maximum likelihood model to be changed together and the default tweaking constant to be se...
 
MaximumLikelihoodWFunctions()
Sets up a maximumlikelihood estimation function with Huber model and default tweaking constant...
 
void setTweakingConstantDefault()
Sets default tweaking constants based on the maximum likelihood estimation model being used...
 
double m_tweakingConstant
The tweaking constant for the maximum likelihood models. 
 
#define _FILEINFO_
Macro for the filename and line number. 
 
std::istream & operator>>(std::istream &is, CSVReader &csv)
Input read operator for input stream sources. 
 
Class provides maximum likelihood estimation functions for robust parameter estimation, e.g. 
 
double huberModified(double residualZScore)
Modified Huber maximum likelihood estimation function evaluation. 
 
double welsch(double residualZScore)
Modified Huber maximum likelihood estimation function evaluation. 
 
Model model() const
Accessor method to return the MaximumLikelihoodWFunctions::Model enumeration. 
 
Adds specific functionality to C++ strings. 
 
Namespace for ISIS/Bullet specific routines. 
 
double tweakingConstant() const
Returns the current tweaking constant. 
 
static QString modelToString(Model model)
Static method to return a string represtentation for a given MaximumLikelihoodWFunctions::Model enum...
 
QDebug operator<<(QDebug debug, const Hillshade &hillshade)
Print this class out to a QDebug object.