Slide 1

Slide 1 text

Point Spread Function Photometry with astropy/photutils: a Google Summer of Code project Z´ e Vin´ ıcius mirca.github.io Lorentz Center, Leiden May 10, 2017

Slide 2

Slide 2 text

• Google Summer of Code 1

Slide 3

Slide 3 text

• Google Summer of Code • astropy/photutils 1

Slide 4

Slide 4 text

Google Summer of Code 2

Slide 5

Slide 5 text

Google Summer of Code • Project Idea: PSF photometry for fitting overlapping sources simultaneously 2

Slide 6

Slide 6 text

Google Summer of Code • Project Idea: PSF photometry for fitting overlapping sources simultaneously • Astropy Mentors 2

Slide 7

Slide 7 text

Google Summer of Code • Project Idea: PSF photometry for fitting overlapping sources simultaneously • Astropy Mentors • Student 2

Slide 8

Slide 8 text

DAOPHOT-like PSF Photometry of a Single Star • Data: Z = znm, n = 1, 2, ..., N, m = 1, 2, ..., M • Parameters: θ = (x0, y0, F) • Model: g(x, y, θ) • Objective: θ = arg min θ∈Θ n,m (znm − g(n, m, θ))2 3

Slide 9

Slide 9 text

DAOPHOT-like PSF Photometry of Multiple Overlapping Stars • Data: Z = znm, n = 1, 2, ..., N, m = 1, 2, ..., M • Parameters: θ(1) = x(1) 0 , y(1) 0 , F(1) θ(2) = x(2) 0 , y(2) 0 , F(2) ... θ(K) = x(K) 0 , y(K) 0 , F(K) • Model: g x, y, θ(k) • Objective: θ = arg min θ∈Θ n,m znm − k g n, m, θ(k) 2 4

Slide 10

Slide 10 text

DAOPHOT-like PSF Photometry stars = find(image) while len(stars) > 0: groups = group(stars) fitted_groups = fit(groups, model) residual = subtract(image, fitted_groups) stars = find(residual) basic_phot = BasicPSFPhotometry(...) itr_phot = IterativelySubtractedPSFPhotometry(...) daophot = DAOPhotPSFPhotometry(...) results = daophot(image) 5

Slide 11

Slide 11 text

DAOPHOT-like PSF Photometry 0 10 20 30 40 50 60 0 10 20 30 40 50 60 6

Slide 12

Slide 12 text

DAOPHOT-like PSF Photometry 0 10 20 30 40 50 60 0 10 20 30 40 50 60 7

Slide 13

Slide 13 text

astropy/photutils 8