import astropy.units as u
import matplotlib.pyplot as plt
from photutils.aperture import EllipticalAperture
from photutils.morphology import data_properties
from photutils.datasets import make_4gaussians_image

data = make_4gaussians_image()[43:79, 76:104]  # extract single object
cat = data_properties(data)
columns = ['label', 'xcentroid', 'ycentroid', 'semimajor_sigma',
           'semiminor_sigma', 'orientation']
tbl = cat.to_table(columns=columns)
r = 2.5  # approximate isophotal extent
position = (cat.xcentroid, cat.ycentroid)
a = cat.semimajor_sigma.value * r
b = cat.semiminor_sigma.value * r
theta = cat.orientation.to(u.rad).value
apertures = EllipticalAperture(position, a, b, theta=theta)
plt.imshow(data, origin='lower', cmap='viridis', interpolation='nearest')
apertures.plot(color='#d62728')