profitCubaMoffat: Moffat Profile Specific Functions

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/profitCubaMoffat.R

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<box<1 will produce visually boxy distortions. Negative values have a pin-cushion effect, whereas positive values have a barrel effect (the major and minor axes staying fixed in all cases).

dim

Vector; The dimensions of the image to be generated. Typically this should be c(Nx,Ny). If length 1 then the value will be replicated for both dimensions.

rel.tol

Scalar; the requested relative accuracy. Default, 0.001.

abs.tol

Scalar; the requested absolute accuracy. The algorithm stops when either the relative or the absolute accuracies are met. Default, near 1e-10.

plot

Logical; should a magimage plot of the output be generated?

...

Further arguments to be passed to magimage. Only relevant is plot=TRUE.

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.

Author(s)

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.