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:
  • Field Details

    • 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 Details

    • 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 Details

    • 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
    • calculateChiSq

      protected void calculateChiSq()
      Description copied from class: NLFittedFunction
      Calculates chi squared
      Specified by:
      calculateChiSq in class NLFittedFunction
    • calculateFittedY

      protected void calculateFittedY()
      Description copied from class: NLFittedFunction
      Calculates yDataFitted
      Specified by:
      calculateFittedY in class NLFittedFunction
    • 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: