  We present ProFit, a new code for Bayesian two-dimensional photometric galaxy
profile modelling. ProFit consists of a low-level C++ library (libprofit),
accessible via a command-line interface and documented API, along with
high-level R (ProFit) and Python (PyProFit) interfaces (available at
github.com/ICRAR/ libprofit, github.com/ICRAR/ProFit, and
github.com/ICRAR/pyprofit respectively). R ProFit is also available pre-built
from CRAN, however this version will be slightly behind the latest GitHub
version. libprofit offers fast and accurate two- dimensional integration for a
useful number of profiles, including Sersic, Core-Sersic, broken-exponential,
Ferrer, Moffat, empirical King, point-source and sky, with a simple mechanism
for adding new profiles. We show detailed comparisons between libprofit and
GALFIT. libprofit is both faster and more accurate than GALFIT at integrating
the ubiquitous Serrsic profile for the most common values of the Serrsic index
n (0.5 < n < 8).
  The high-level fitting code ProFit is tested on a sample of galaxies with
both SDSS and deeper KiDS imaging. We find good agreement in the fit
parameters, with larger scatter in best-fit parameters from fitting images from
different sources (SDSS vs KiDS) than from using different codes (ProFit vs
GALFIT). A large suite of Monte Carlo-simulated images are used to assess
prospects for automated bulge-disc decomposition with ProFit on SDSS, KiDS and
future LSST imaging. We find that the biggest increases in fit quality come
from moving from SDSS- to KiDS-quality data, with less significant gains moving
from KiDS to LSST.
