Class FitGaussian


  • public class FitGaussian
    extends NLFittedFunction
    FitGaussian -fits an array of points to a normal curve, general from f = a*exp(-(x-b)^2/2sigma^2) Will also perform thresholding techniques to determine useful data points for fitting
    Version:
    0.1
    Author:
    senseneyj
    See Also:
    NLConstrainedEngine
    • Field Detail

      • dataStart

        private int dataStart
        Location in xSeries where Gaussian data starts
      • dataEnd

        private int dataEnd
        Location in xSeries where Gaussian data ends
      • amp

        private double amp
        Amplitude parameter
      • xInit

        private double xInit
        Center parameter
      • sigma

        private double sigma
        Sigma parameter
      • rSquared

        private double rSquared
        R squared
      • iters

        private int iters
    • Constructor Detail

      • FitGaussian

        public FitGaussian()
        FitGaussian - test constructor, builds and test function.
      • FitGaussian

        public FitGaussian​(int nPoints,
                           double[] xData,
                           double[] yData)
        FitGaussian.
        Parameters:
        nPoints - number of points in the function
        xData - DOCUMENT ME!
        yData - DOCUMENT ME!
      • FitGaussian

        public FitGaussian​(int nPoints,
                           float[] xData,
                           float[] yData)
        Constructs new fit gaussian.
        Parameters:
        nPoints - Number of points in the function
        xData - DOCUMENT ME!
        yData - DOCUMENT ME!
    • Method Detail

      • applyKernel

        private double[] applyKernel()
        Apply small kernel to smooth out data. Often helpful when too many bins have been applied by user.
      • estimateInitial

        private void estimateInitial()
      • driver

        public void driver()
        Starts the analysis. For some reason a guess with the wrong sign for a2 will not converge. Therefore, try both sign and take the one with the lowest chi-squared value.
        Overrides:
        driver in class NLConstrainedEngine
      • displayResults

        public void displayResults()
        Display results of displaying exponential fitting parameters.
        Specified by:
        displayResults in class NLFittedFunction
      • getRSquared

        public double getRSquared()
      • fitToFunction

        public void fitToFunction​(double[] a,
                                  double[] residuals,
                                  double[][] covarMat)
        Description copied from class: NLConstrainedEngine
        fitToFunction communicates with 3 protected variables param, nPts, and ctrlMat ctrlMat is used as a wrapper for ctrl or lctrl. Evaluates the residuals or the Jacobian at a certain a[]
        Specified by:
        fitToFunction in class NLConstrainedEngine
        Parameters:
        a - DOCUMENT ME!
        residuals - DOCUMENT ME!
        covarMat - DOCUMENT ME!
      • testData

        private void testData()
        Test data to test fitting of gaussian.
      • gauss

        private double gauss​(double x)
        Gaussian evaluated at a point with given parameters
      • dgdA

        private double dgdA​(double x)
        Partial derivative of gaussian with respect to A.
      • dgdx

        private double dgdx​(double x)
        Partial derivative of gaussian with respect to x.
      • dgdsigma

        private double dgdsigma​(double x)
        Partial derivative of gaussian with respect to sigma.
      • generateJacobian

        protected Jama.Matrix generateJacobian()
        Jacobian used for non-linear least squares fitting.
      • generateResiduals

        protected Jama.Matrix generateResiduals()
        Description copied from class: NLFittedFunction
        Calculates the residuals for a given function, not implemented since some functions might prefer to only use a subset of data points, or not use yDataFitted if working during an iteration
        Specified by:
        generateResiduals in class NLFittedFunction
        Returns: