/** * Estimate a multidimensional Gaussian from the data * * @param samples * the data * @return the Gaussian with the best fit to the data */ public static CachingMultivariateGaussian estimate(float[][] samples) { final int ndims = samples[0].length; final CachingMultivariateGaussian gauss = new CachingMultivariateGaussian(); gauss.N = ndims; final MeanAndCovariance res = new MeanAndCovariance(samples); gauss.mean = res.mean; gauss.covar = res.covar; gauss.cacheValues(); return gauss; }
/** * Estimate a multidimensional Gaussian from the data * * @param samples * the data * @return the Gaussian with the best fit to the data */ public static MultivariateGaussian estimate(double[][] samples) { final int ndims = samples[0].length; final CachingMultivariateGaussian gauss = new CachingMultivariateGaussian(); gauss.N = ndims; final MeanAndCovariance res = new MeanAndCovariance(samples); gauss.mean = res.mean; gauss.covar = res.covar; gauss.cacheValues(); return gauss; }
@Override public SingleGaussianPixelModel clone() { final SingleGaussianPixelModel model = new SingleGaussianPixelModel(ndims); model.gauss = new CachingMultivariateGaussian(gauss.getMean().copy(), gauss.getCovariance().copy()); return null; } }
@Override public SingleGaussianPixelModel clone() { final SingleGaussianPixelModel model = new SingleGaussianPixelModel(ndims); model.gauss = new CachingMultivariateGaussian(gauss.getMean().copy(), gauss.getCovariance().copy()); return null; } }