Skip to content

Instantly share code, notes, and snippets.

@jdswinbank
Last active August 29, 2015 14:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jdswinbank/56b739524f1369832519 to your computer and use it in GitHub Desktop.
Save jdswinbank/56b739524f1369832519 to your computer and use it in GitHub Desktop.
#!/usr/bin/env python2
from __future__ import absolute_import, division, print_function
import timeit
import lsst.afw
import lsst.afw.detection as afwDetect
import lsst.afw.geom as afwGeom
import lsst.afw.geom.ellipses as afwGeomEllipses
def grow(isotropic, size, ngrow):
width, height = 2000, 2000
theta = 0
box = afwGeom.Box2I(afwGeom.Point2I(0, 0), afwGeom.Extent2I(height, width))
e = afwGeomEllipses.Ellipse(afwGeomEllipses.Axes(size, size, theta), afwGeom.Point2D(width/2, height/2))
foot1 = afwDetect.Footprint(e, box)
foot2 = afwDetect.growFootprint(foot1, ngrow, isotropic)
assert(foot1.getNpix() < foot2.getNpix())
if __name__ == "__main__":
print("Not isotropic: ", timeit.timeit("grow(False, 10, 2)", setup="from __main__ import grow", number=20))
print("Isotropic: ", timeit.timeit("grow(True, 10, 2)", setup="from __main__ import grow", number=20))
print("Not isotropic: ", timeit.timeit("grow(False, 100, 20)", setup="from __main__ import grow", number=20))
print("Isotropic: ", timeit.timeit("grow(True, 100, 20)", setup="from __main__ import grow", number=20))
print("Not isotropic: ", timeit.timeit("grow(False, 300, 30)", setup="from __main__ import grow", number=20))
print("Isotropic: ", timeit.timeit("grow(True, 300, 30)", setup="from __main__ import grow", number=20))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment