26 from lsst.pex.config 
import Config, Field
 
   32     Settings to define vignetteing pattern 
   36         doc=
"Center of vignetting pattern, in focal plane x coordinates.",
 
   41         doc=
"Center of vignetting pattern, in focal plane y coordinates.",
 
   46         doc=
"Radius of vignetting pattern, in focal plane coordinates.",
 
   48         check=
lambda x: x >= 0
 
   50     numPolygonPoints = Field(
 
   52         doc=
"Number of points used to define the vignette polygon.",
 
   55     doWriteVignettePolygon = Field(
 
   57         doc=
"Persist polygon used to define vignetted region?",
 
   63     """Define a simple circular vignette pattern. 
   65     ConfigClass = VignetteConfig
 
   66     _DefaultName = 
"isrVignette" 
   68     def run(self, exposure):
 
   69         """Generate circular vignette pattern. 
   73         exposure : `lsst.afw.image.Exposure` 
   74             Exposure to construct vignette for. 
   78         polygon : `lsst.afw.Geom.Polygon` 
   79             Polygon defining the boundary of the vignetted region. 
   82         if self.
config.doWriteVignettePolygon:
 
   83             theta = numpy.linspace(0, 2*numpy.pi, num=self.
config.numPolygonPoints, endpoint=
False)
 
   84             x = self.
config.radius*numpy.cos(theta) + self.
config.xCenter
 
   85             y = self.
config.radius*numpy.sin(theta) + self.
config.yCenter
 
   86             points = numpy.array([x, y]).transpose()