IRAFStarFinder

class photutils.detection.IRAFStarFinder(threshold, fwhm, sigma_radius=1.5, minsep_fwhm=2.5, sharplo=0.5, sharphi=2.0, roundlo=0.0, roundhi=0.2, sky=None, exclude_border=False, brightest=None, peakmax=None, xycoords=None, min_separation=None)[source]

Bases: StarFinderBase

Detect stars in an image using IRAF’s “starfind” algorithm.

IRAFStarFinder searches images for local density maxima that have a peak amplitude greater than threshold above the local background and have a PSF full-width at half-maximum similar to the input fwhm. The objects’ centroid, roundness (ellipticity), and sharpness are calculated using image moments.

Parameters:
thresholdfloat

The absolute image value above which to select sources. If the star finder is run on an image that is a Quantity array, then threshold must have the same units.

fwhmfloat

The full-width half-maximum (FWHM) of the 2D circular Gaussian kernel in units of pixels.

sigma_radiusfloat, optional

The truncation radius of the Gaussian kernel in units of sigma (standard deviation) [1 sigma = FWHM / 2.0*sqrt(2.0*log(2.0))].

minsep_fwhmfloat, optional

The separation (in units of fwhm) for detected objects. The minimum separation is calculated as int((fwhm * minsep_fwhm) + 0.5) and is clipped to a minimum value of 2. Note that large values may result in long run times.

sharplofloat, optional

The lower bound on sharpness for object detection.

sharphifloat, optional

The upper bound on sharpness for object detection.

roundlofloat, optional

The lower bound on roundness for object detection.

roundhifloat, optional

The upper bound on roundness for object detection.

skyfloat, optional

Deprecated since version 1.13.0.

The background sky level of the image. Inputing a sky value will override the background sky estimate. Setting sky affects only the output values of the object peak, flux, and mag values. The default is None, which means the sky value will be estimated using the starfind method. If the star finder is run on an image that is a Quantity array, then sky must have the same units.

exclude_borderbool, optional

Set to True to exclude sources found within half the size of the convolution kernel from the image borders. The default is False, which is the mode used by starfind.

brightestint, None, optional

The number of brightest objects to keep after sorting the source list by flux. If brightest is set to None, all objects will be selected.

peakmaxfloat, None, optional

The maximum allowed peak pixel value in an object. Only objects whose peak pixel values are strictly smaller than peakmax will be selected. This may be used, for example, to exclude saturated sources. If the star finder is run on an image that is a Quantity array, then peakmax must have the same units. If peakmax is set to None, then no peak pixel value filtering will be performed.

xycoordsNone or Nx2 ndarray, optional

The (x, y) pixel coordinates of the approximate centroid positions of identified sources. If xycoords are input, the algorithm will skip the source-finding step.

min_separationNone or float, optional

The minimum separation (in pixels) for detected objects. If None then minsep_fwhm will be used, otherwise this keyword overrides minsep_fwhm. Note that large values may result in long run times.

See also

DAOStarFinder

Notes

If the star finder is run on an image that is a Quantity array, then threshold, sky, and peakmax must all have the same units as the image.

For the convolution step, this routine sets pixels beyond the image borders to 0.0. The equivalent parameters in IRAF’s starfind are boundary='constant' and constant=0.0.

IRAF’s starfind uses hwhmpsf, fradius, and sepmin as input parameters. The equivalent input values for IRAFStarFinder are:

  • fwhm = hwhmpsf * 2

  • sigma_radius = fradius * sqrt(2.0*log(2.0))

  • minsep_fwhm = 0.5 * sepmin

The main differences between DAOStarFinder and IRAFStarFinder are:

  • IRAFStarFinder always uses a 2D circular Gaussian kernel, while DAOStarFinder can use an elliptical Gaussian kernel.

  • IRAFStarFinder calculates the objects’ centroid, roundness, and sharpness using image moments.

References

Methods Summary

__call__(data[, mask])

Call self as a function.

find_stars(data[, mask])

Find stars in an astronomical image.

Methods Documentation

__call__(data, mask=None)

Call self as a function.

find_stars(data, mask=None)[source]

Find stars in an astronomical image.

Parameters:
data2D array_like

The 2D image array. The image should be background-subtracted.

mask2D bool array, optional

A boolean mask with the same shape as data, where a True value indicates the corresponding element of data is masked. Masked pixels are ignored when searching for stars.

Returns:
tableQTable or None

A table of found objects with the following parameters:

  • id: unique object identification number.

  • xcentroid, ycentroid: object centroid.

  • fwhm: object FWHM.

  • sharpness: object sharpness.

  • roundness: object roundness.

  • pa: object position angle (degrees counter clockwise from the positive x axis).

  • npix: the total number of (positive) unmasked pixels.

  • sky: the local sky value.

  • peak: the peak, sky-subtracted, pixel value of the object.

  • flux: the object instrumental flux.

  • mag: the object instrumental magnitude calculated as -2.5 * log10(flux).

None is returned if no stars are found.