def sersic_model(p,x): #16 parameters -- 11 variable '''Define image model with an input parameter list ''' xmax,N,n,flux,q,phi,re,kap,gamma1,gamma2,f1,f2,g1,g2,cx,cy = p N = int(N) params = [kap,gamma1,gamma2,f1,f2,g1,g2] gal = galflex.Sersic(xmax,n,N=N,flux=flux,q=q,phi=phi,re=re,cx=cx,cy=cy) gal.lens(params=params,cx=cx,cy=cy) image = gal.image #PSF acommodation if x != None: image = galflex.applySuppliedPSF(image,x) return image
def disk_bulge_model(p,x): #18 parameters -- 13 variable xmax,N,disk_flux,bulge_flux,q,phi,disk_re,bulge_re,n_b,kap,gamma1,gamma2,f1,f2,g1,g2,cx,cy = p N = int(N) params = [kap,gamma1,gamma2,f1,f2,g1,g2] disk = galflex.Sersic(xmax,1.0,N=N,flux=disk_flux,q=q,phi=phi,re=disk_re,cx=cx,cy=cy) bulge = galflex.Sersic(xmax,n_b,N=N,flux=bulge_flux,q=q,phi=phi,re=bulge_re,cx=cx,cy=cy) gal = disk + bulge gal.lens(params=params,cx=cx,cy=cy) image = gal.image #PSF acommodation if x != None: image = galflex.applySuppliedPSF(image,x) return image
def combined_sersic_model(p,x): #19 parameters -- 14 variable xmax,N,n1,flux1,re1,n2,flux2,re2,q,phi,kap,gamma1,gamma2,f1,f2,g1,g2,cx,cy = p N = int(N) params = [kap,gamma1,gamma2,f1,f2,g1,g2] comp1 = galflex.Sersic(xmax,n1,N=N,flux=flux1,q=q,phi=phi,re=re1,cx=cx,cy=cy) comp2 = galflex.Sersic(xmax,n2,N=N,flux=flux2,q=q,phi=phi,re=re2,cx=cx,cy=cy) gal = comp1 + comp2 gal.lens(params=params,cx=cx,cy=cy) image = gal.image #PSF acommodation if x != None: image = galflex.applySuppliedPSF(image,x) return image