Source code for prometheus.sky

#!/usr/bin/env python

"""SKY.PY - Sky estimation algorithms

"""

__authors__ = 'David Nidever <dnidever@montana.edu?'
__version__ = '20210913'  # yyyymmdd

import numpy as np
import sep
from astropy.stats import SigmaClip
from photutils.background import Background2D, MedianBackground, MADStdBackgroundRMS

[docs]def sepsky(image,box_size=(64,64),filter_size=(3,3)): """ Estimate sky background using sep.""" # Check if the data is "sep ready" data = image.sepready(image.data) mask = image.sepready(image.mask) #image.native() # make sure the arrays use native byte-order ## Background subtraction with SEP ## measure a spatially varying background on the image #if image.data.flags['C_CONTIGUOUS']==False: # data = image.data.copy(order='C') # mask = image.mask.copy(order='C') #else: # data = image.data # mask = image.mask bkg = sep.Background(data, mask=mask, bw=box_size[0], bh=box_size[1], fw=filter_size[0], fh=filter_size[1]) return bkg.back()
[docs]def photutilsky(image, box_size=(50,50), filter_size=(3,3)): """ Estimate sky background using photutils.""" sigma_clip = SigmaClip(sigma=3.) bkg_estimator = MedianBackground() bkg = Background2D(image.data, box_size, mask=image.mask, filter_size=filter_size, sigma_clip=sigma_clip) return bkg.background