  I describe a new, open-source astronomical image-fitting program called
Imfit, specialized for galaxies but potentially useful for other sources, which
is fast, flexible, and highly extensible. A key characteristic of the program
is an object-oriented design which allows new types of image components (2D
surface-brightness functions) to be easily written and added to the program.
Image functions provided with Imfit include the usual suspects for galaxy
decompositions (Sersic, exponential, Gaussian), along with Core-Sersic and
broken-exponential profiles, elliptical rings, and three components which
perform line-of-sight integration through 3D luminosity-density models of disks
and rings seen at arbitrary inclinations.
  Available minimization algorithms include Levenberg-Marquardt, Nelder-Mead
simplex, and Differential Evolution, allowing trade-offs between speed and
decreased sensitivity to local minima in the fit landscape. Minimization can be
done using the standard chi^2 statistic (using either data or model values to
estimate per-pixel Gaussian errors, or else user-supplied error images) or
Poisson-based maximum-likelihood statistics; the latter approach is
particularly appropriate for cases of Poisson data in the low-count regime. I
show that fitting low-S/N galaxy images using chi^2 minimization and
individual-pixel Gaussian uncertainties can lead to significant biases in
fitted parameter values, which are avoided if a Poisson-based statistic is
used; this is true even when Gaussian read noise is present.
