Source code for galfitools.galout.getPeak

#!/usr/bin/env python3


import os.path
import sys

import numpy as np
from astropy.io import fits
from galfitools.galin.std import GetAxis
from galfitools.galin.std import GetSize
from galfitools.galin.std import GetInfoEllip
from galfitools.galin.std import Ds9ell2Kronellv2
from galfitools.galin.std import GetPmax


[docs] def getPeak(image: str, regfile: str, center: bool, maskfile: str) -> None: """Returns the coordinates of the pixel with the highest value of counts from a DS9 ellipse region file Parameters ---------- image : str name of the image FITS file regfile : str name of the DS9 region file that containts the ellipse center : bool if True it uses the geometrical center of the ellipse instead of the peak maskfile : str name of the mask FITS file Returns ------- float, float X,Y coordinates of the pixel with the highest count value axratio : float axis ratio of the DS9 ellipse region file theta : float """ # root_ext = os.path.splitext(image) # timg= root_ext[0] if maskfile: errmsg = "file {} does not exist".format(maskfile) assert os.path.isfile(maskfile), errmsg hdu = fits.open(maskfile) mask = hdu[0].data hdu.close() else: mask = np.array([]) # mask = np.array([]) #empty for the moment i = 0 hdu = fits.open(image) img = hdu[i].data hdu.close() (ncol, nrow) = GetAxis(image) obj, xpos, ypos, rx, ry, angle = GetInfoEllip(regfile) xx, yy, Rkron, theta, eps = Ds9ell2Kronellv2(xpos, ypos, rx, ry, angle) if center: print("center of DS9 ellipse region will be used") xpeak, ypeak = round(xpos), round(ypos) else: (xmin, xmax, ymin, ymax) = GetSize(xx, yy, Rkron, theta + 90, eps, ncol, nrow) xpeak, ypeak = GetPmax(img, mask, xmin, xmax, ymin, ymax) # print("object found at ", xpeak + 1, ypeak + 1) axratio = 1 - eps return xpeak + 1, ypeak + 1, axratio, theta
#################################################### #################################################### ##################################################### ############################################################################# # End of program ################################### # ______________________________________________________________________ # /___/___/___/___/___/___/___/___/___/___/___/___/___/___/___/___/___/_/| # |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__/| # |_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|/| # |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__/| # |_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|/| # |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__/| # |_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|/ ##############################################################################