profitCubaMoffat: Moffat Profile Specific Functions In ProFit: Fit Projected 2D Profiles to Galaxy Images

Description

Useful functions related to the Moffat profile. `profitCubaMoffat` computes the exact 2D pixel integrals for a given Moffat model image. This is very slow compared to `profitMakeModel`, but it is useful for checking model creation tuning (i.e. the degree to which speed can be increased without overly harming accuracy). Tests with this function were used to tune `profitMakeModel`. `profitRadialMoffat` computes the 1D radial flux intensity of the Moffat profile along the major axis of the profile.

Usage

 ```1 2 3``` ```profitCubaMoffat(xcen = dim[1]/2, ycen = dim[2]/2, mag = 15, fwhm = 3, con = 2, ang = 0, axrat = 1, box = 0, dim = c(25, 25), rel.tol=1e-3, abs.tol= 1e-10, plot = FALSE, ...) profitRadialMoffat(r = 1, mag = 15, fwhm = 3, con = 2, ang = 0, axrat = 1, box = 0) ```

Arguments

 `xcen` Scalar; x centre of the 2D Sersic profile (can be fractional pixel positions). `ycen` Scalar; y centre of the 2D Sersic profile (can be fractional pixel positions). `r` Vector; the radius along the major axis at which to evaluate the flux intensity. `mag` Scalar; total magnitude of the 2D Moffat profile. Converted to flux using flux=10^(-0.4*(mag-magzero)). `fwhm` Scalar; full width half max of the Moffat function. `con` Scalar; concentration parameter for Moffat functions. Must be larger than 1. con=1 is pure Lorentzian and con=Inf is pure Normal. In practice con>5 starts to look very close to Normal. `ang` Scalar; the orientation of the major axis of the Sersic profile in degrees. When plotted as an R image the angle (theta) has the convention that 0= | (vertical), 45= \, 90= - (horizontal), 135= /, 180= | (vertical). Values outside the range 0 <= ang <= 180 are allowed, but these get recomputed as ang = ang. `axrat` Scalar; axial ratio of the Sersic profile defined as minor-axis/major-axis, i.e. 1 is a circle and 0 is a line. `box` Scalar; the boxiness of the Sersic profile that traces contours of iso-flux, defined such that r[mod]=(x^(2+box)+y^(2+box))^(1/(2+box)). When box=0 the iso-flux contours will be normal ellipses, but modifications between -1

Details

This function uses the Cuba package to make an accurate (but expensive) cubature integral. This function was written to test the accuracy of Moffat models generated by `profitMakeModel`.

By ProFit convention the bottom-left part of the bottom-left pixel when plotting the image matrix is c(0,0) and the top-right part of the bottom-left pixel is c(1,1), i.e. the mid-point of pixels are half integer values in x and y.

To confuse things a bit, when R plots an image of a matrix it is transposed and re-ordered vertically to how it appears if you print the matrix directly to screen, i.e. compare print(matrix(1:4,2,2)) and image(matrix(1:4,2,2)). The lowest value (1) is top-left when printed but bottom-left when displayed using image (the red pixel). Both are "correct": the issue is whether you consider the first element of a matrix to be the Cartesian x position (movement in x) or a row element (movement in y). Matrices in maths are always written top-left first where the first argument refers to row number, but images by convention are accessed in a Cartesian sense. Hence [3,4] in a maths matrix means 3 down and 4 right from the top-left, but 3 right and 4 up from the bottom-left in an image.

Value

`profitCubaMoffat`: Matrix; contains the flux values of the specified model image. Dimensions dim.

`profitRadialMoffat`: Vector; same length as input r, specifying the flux intensity of the profile along the major axis.

Aaron Robotham

References

Moffat A. F. J., 1969, A\&A, 3, 455

See Also

`profitMakeModel`, `profitSersic`, `profitFerrer`, `profitCoreSersic`, `profitKing`

Examples

 ```1 2 3 4``` ```## Not run: magimage(profitCubaMoffat(axrat=0.7, ang=30)) ## End(Not run) ```

Example output

```Loading required package: FITSio
Loading required package: LaplacesDemon
Loading required package: magicaxis
Loading required package: MASS
Loading required package: plotrix
Loading required package: sm
Package 'sm', version 2.2-5.4: type help(sm) for summary information

Attaching package: 'sm'

The following object is masked from 'package:MASS':

muscle

Loading required package: mapproj
Loading required package: maps
Loading required package: celestial
Loading required package: RANN
Loading required package: NISTunits
Loading required package: pracma

Attaching package: 'pracma'

The following object is masked from 'package:sm':

nile

The following objects are masked from 'package:LaplacesDemon':

Mode, logit, loglog

Loading required package: R2Cuba
Loading required package: RColorBrewer
```

ProFit documentation built on Nov. 11, 2019, 5:07 p.m.