def bounding_boxes(self):
        """
        A list of minimal bounding boxes (`~photutils.BoundingBox`), one
        for each position, enclosing the exact elliptical apertures.
        """

        cos_theta = np.cos(self.theta)
        sin_theta = np.sin(self.theta)
        ax = self.a_out * cos_theta
        ay = self.a_out * sin_theta
        bx = self.b_out * -sin_theta
        by = self.b_out * cos_theta
        dx = np.sqrt(ax*ax + bx*bx)
        dy = np.sqrt(ay*ay + by*by)

        xmin = self.positions[:, 0] - dx
        xmax = self.positions[:, 0] + dx
        ymin = self.positions[:, 1] - dy
        ymax = self.positions[:, 1] + dy

        return [BoundingBox._from_float(x0, x1, y0, y1)
                for x0, x1, y0, y1 in zip(xmin, xmax, ymin, ymax)]
def bounding_boxes ( self ) : cos_theta = np . cos ( self . theta ) sin_theta = np . sin ( self . theta ) ax = self . a_out * cos_theta ay = self . a_out * sin_theta bx = self . b_out * - sin_theta by = self . b_out * cos_theta dx = np . sqrt ( ax * ax + bx * bx ) dy = np . sqrt ( ay * ay + by * by ) xmin = self . positions [ : , 0 ] - dx xmax = self . positions [ : , 0 ] + dx ymin = self . positions [ : , 1 ] - dy ymax = self . positions [ : , 1 ] + dy return [ BoundingBox . _from_float ( x0 , x1 , y0 , y1 ) for x0 , x1 , y0 , y1 in zip ( xmin , xmax , ymin , ymax ) ]
A list of minimal bounding boxes (`~photutils.BoundingBox`), one
        for each position, enclosing the exact elliptical apertures.