LSSTApplications  8.0.0.0+107,8.0.0.1+13,9.1+18,9.2,master-g084aeec0a4,master-g0aced2eed8+6,master-g15627eb03c,master-g28afc54ef9,master-g3391ba5ea0,master-g3d0fb8ae5f,master-g4432ae2e89+36,master-g5c3c32f3ec+17,master-g60f1e072bb+1,master-g6a3ac32d1b,master-g76a88a4307+1,master-g7bce1f4e06+57,master-g8ff4092549+31,master-g98e65bf68e,master-ga6b77976b1+53,master-gae20e2b580+3,master-gb584cd3397+53,master-gc5448b162b+1,master-gc54cf9771d,master-gc69578ece6+1,master-gcbf758c456+22,master-gcec1da163f+63,master-gcf15f11bcc,master-gd167108223,master-gf44c96c709
LSSTDataManagementBasePackage
Classes | Functions
all.h File Reference
#include <cmath>
#include <vector>
#include "lsst/afw/image/Image.h"

Go to the source code of this file.

Classes

struct  FittedModel
 

Functions

template<typename PixelT >
FittedModel twodg (afwImage::Image< PixelT > const &im, double x0, double y0)
 

Function Documentation

template<typename PixelT >
FittedModel twodg ( afwImage::Image< PixelT > const &  im,
double  x0,
double  y0 
)

Compute centroids with 2-D Gaussian fitter

Parameters
imThe image to fit
x0Initial guess for position, column
y0and row

Definition at line 456 of file twodg.cc.

459  {
460 /*
461  * Initialize the fitting structure
462  */
463  Fit2d fit(im);
464 /*
465  * Initialization
466  */
467  fg2(im, x0, y0, &fit);
468  if (fit.status != 0) {
469  std::vector<double> params(FittedModel::NPARAM);
470  std::copy(&fit.elnew[0], &fit.elnew[0] + fit.elnew.size(), params.begin());
471 
472  return FittedModel(fit.status, params);
473  }
474 /*
475  * Find best-fit model
476  */
477  for (fit.iter = 0; fit.status == 0; ++fit.iter) {
478  curf2(&fit);
479  cond2(&fit);
480  }
481 
482 #if 0
483  twodgMinuit(&fit);
484 #endif
485 
486  std::vector<double> params(FittedModel::NPARAM);
487  std::copy(&fit.elnew[0], &fit.elnew[0] + fit.elnew.size(), params.begin());
488 
489  return FittedModel(fit.status, params, fit.iter, fit.flamd, fit.chnew);
490 }
Definition: twodg.cc:38
SelectEigenView< T >::Type copy(Eigen::EigenBase< T > const &other)
Copy an arbitrary Eigen expression into a new EigenView.
Definition: eigen.h:390