Loading observation_sim/mock_objects/Galaxy.py +19 −13 Original line number Diff line number Diff line Loading @@ -337,11 +337,13 @@ class Galaxy(MockObject): chip, pos_img_local=pos_img_local, bandNo=i+1, galsimGSObject=True, g_order=order, grating_split_pos=grating_split_pos) star_p = galsim.Convolve(psf, gal) if nnx == 0: galImg = star_p.drawImage(wcs=chip_wcs_local, offset=offset) galImg = star_p.drawImage( wcs=chip_wcs_local, offset=offset) nnx = galImg.xmax - galImg.xmin + 1 nny = galImg.ymax - galImg.ymin + 1 else: galImg = star_p.drawImage(nx = nnx, ny = nny, wcs=chip_wcs_local, offset=offset) galImg = star_p.drawImage( nx=nnx, ny=nny, wcs=chip_wcs_local, offset=offset) galImg.setOrigin(0, 0) # n1 = np.sum(np.isinf(galImg.array)) # n2 = np.sum(np.isnan(galImg.array)) Loading Loading @@ -397,7 +399,8 @@ class Galaxy(MockObject): isAlongY=0, flat_cube=flat_cube) self.addSLStoChipImage(sdp=sdp_p1, chip=chip, xOrderSigPlus = xOrderSigPlus, local_wcs=chip_wcs_local) self.addSLStoChipImage( sdp=sdp_p1, chip=chip, xOrderSigPlus=xOrderSigPlus, local_wcs=chip_wcs_local) # pos_shear = self.addSLStoChipImageWithPSF(sdp=sdp_p1, chip=chip, pos_img_local=[xcenter_p1, ycenter_p1], # psf_model=psf_model, bandNo=i + 1, # grating_split_pos=grating_split_pos, Loading @@ -423,7 +426,8 @@ class Galaxy(MockObject): isAlongY=0, flat_cube=flat_cube) self.addSLStoChipImage(sdp=sdp_p2, chip=chip, xOrderSigPlus = xOrderSigPlus, local_wcs=chip_wcs_local) self.addSLStoChipImage( sdp=sdp_p2, chip=chip, xOrderSigPlus=xOrderSigPlus, local_wcs=chip_wcs_local) # pos_shear = self.addSLStoChipImageWithPSF(sdp=sdp_p2, chip=chip, pos_img_local=[xcenter_p2, ycenter_p2], # psf_model=psf_model, bandNo=i + 1, # grating_split_pos=grating_split_pos, Loading @@ -439,7 +443,8 @@ class Galaxy(MockObject): conf=chip.sls_conf[1], isAlongY=0, flat_cube=flat_cube) self.addSLStoChipImage(sdp=sdp, chip=chip, xOrderSigPlus = xOrderSigPlus, local_wcs=chip_wcs_local) self.addSLStoChipImage( sdp=sdp, chip=chip, xOrderSigPlus=xOrderSigPlus, local_wcs=chip_wcs_local) # pos_shear = self.addSLStoChipImageWithPSF(sdp=sdp, chip=chip, pos_img_local=[x_nominal, y_nominal], # psf_model=psf_model, bandNo=i + 1, # grating_split_pos=grating_split_pos, Loading @@ -453,7 +458,8 @@ class Galaxy(MockObject): conf=chip.sls_conf[0], isAlongY=0, flat_cube=flat_cube) self.addSLStoChipImage(sdp=sdp, chip=chip, xOrderSigPlus = xOrderSigPlus, local_wcs=chip_wcs_local) self.addSLStoChipImage( sdp=sdp, chip=chip, xOrderSigPlus=xOrderSigPlus, local_wcs=chip_wcs_local) # pos_shear = self.addSLStoChipImageWithPSF(sdp=sdp, chip=chip, pos_img_local=[x_nominal, y_nominal], # psf_model=psf_model, bandNo=i + 1, # grating_split_pos=grating_split_pos, Loading observation_sim/mock_objects/MockObject.py +40 −31 Original line number Diff line number Diff line Loading @@ -257,15 +257,18 @@ class MockObject(object): continue # orders = {'A': 'order1', 'B': 'order0', 'C': 'order2', 'D': 'order-1', 'E': 'order-2'} orders = {'A': 'order1', 'B': 'order0', 'C': 'order0', 'D': 'order0', 'E': 'order0'} orders = {'A': 'order1', 'B': 'order0', 'C': 'order0', 'D': 'order0', 'E': 'order0'} gratingN = chip_utils.getChipSLSGratingID(chip.chipID)[1] if pos_img_local[0] < grating_split_pos: gratingN = chip_utils.getChipSLSGratingID(chip.chipID)[0] chip.img_stack[gratingN][orders[k]]['w' + str(bandNo)].setOrigin(0, 0) chip.img_stack[gratingN][orders[k]]['w' + str(bandNo)][bounds] = chip.img_stack[gratingN][orders[k]]['w' + str(bandNo)][bounds] + specImg[bounds] chip.img_stack[gratingN][orders[k]]['w' + str(bandNo)].setOrigin(chip.bound.xmin, chip.bound.ymin) chip.img_stack[gratingN][orders[k] ]['w' + str(bandNo)].setOrigin(0, 0) chip.img_stack[gratingN][orders[k]]['w' + str( bandNo)][bounds] = chip.img_stack[gratingN][orders[k]]['w' + str(bandNo)][bounds] + specImg[bounds] chip.img_stack[gratingN][orders[k]]['w' + str(bandNo)].setOrigin(chip.bound.xmin, chip.bound.ymin) else: for k, v in spec_orders.items(): Loading Loading @@ -330,9 +333,11 @@ class MockObject(object): specImg.wcs = local_wcs specImg.setOrigin(origin_order_x, origin_order_y) try: specImg = psf_model.get_PSF_AND_convolve_withsubImg(chip, cutImg=specImg, pos_img_local=pos_img_local, bandNo=bandNo, g_order=k, grating_split_pos=grating_split_pos) specImg = psf_model.get_PSF_AND_convolve_withsubImg( chip, cutImg=specImg, pos_img_local=pos_img_local, bandNo=bandNo, g_order=k, grating_split_pos=grating_split_pos) except: psf, pos_shear = psf_model.get_PSF(chip=chip, pos_img=pos_img) psf, pos_shear = psf_model.get_PSF( chip=chip, pos_img=pos_img) psf_img = psf.drawImage(nx=100, ny=100, wcs=local_wcs) Loading Loading @@ -441,11 +446,13 @@ class MockObject(object): # star_p = galsim.Convolve(psf, star) star_p = psf.withFlux(tel.pupil_area * exptime) if nnx == 0: starImg = star_p.drawImage(wcs=chip_wcs_local, offset=offset) starImg = star_p.drawImage( wcs=chip_wcs_local, offset=offset) nnx = starImg.xmax - starImg.xmin + 1 nny = starImg.ymax - starImg.ymin + 1 else: starImg = star_p.drawImage(nx = nnx, ny = nny, wcs=chip_wcs_local, offset=offset) starImg = star_p.drawImage( nx=nnx, ny=nny, wcs=chip_wcs_local, offset=offset) # n1 = np.sum(np.isinf(starImg.array)) # n2 = np.sum(np.isnan(starImg.array)) # if n1>0 or n2 > 0: Loading @@ -463,7 +470,6 @@ class MockObject(object): for order in ["A", "B", "C", "D", "E"]: starImg_List.append(starImg) # psf_tmp = galsim.Gaussian(sigma=0.002) # star = galsim.Convolve(psf_tmp, star) Loading Loading @@ -498,12 +504,12 @@ class MockObject(object): isAlongY=0, flat_cube=flat_cube) self.addSLStoChipImage(sdp=sdp_p1, chip=chip, xOrderSigPlus=xOrderSigPlus, local_wcs=chip_wcs_local) self.addSLStoChipImage( sdp=sdp_p1, chip=chip, xOrderSigPlus=xOrderSigPlus, local_wcs=chip_wcs_local) # pos_shear = self.addSLStoChipImageWithPSF(sdp=sdp_p1, chip=chip, pos_img_local=[xcenter_p1, ycenter_p1], # psf_model=psf_model, bandNo=i+1, grating_split_pos=grating_split_pos, # local_wcs=chip_wcs_local, pos_img=pos_img) star_p2s = [] for starImg in starImg_List: Loading @@ -524,7 +530,8 @@ class MockObject(object): isAlongY=0, flat_cube=flat_cube) self.addSLStoChipImage(sdp=sdp_p2, chip=chip, xOrderSigPlus=xOrderSigPlus, local_wcs=chip_wcs_local) self.addSLStoChipImage( sdp=sdp_p2, chip=chip, xOrderSigPlus=xOrderSigPlus, local_wcs=chip_wcs_local) # pos_shear = self.addSLStoChipImageWithPSF(sdp=sdp_p2, chip=chip, pos_img_local=[xcenter_p2, ycenter_p2], # psf_model=psf_model, bandNo=i + 1, grating_split_pos=grating_split_pos, # local_wcs=chip_wcs_local, pos_img=pos_img) Loading @@ -539,7 +546,8 @@ class MockObject(object): conf=chip.sls_conf[1], isAlongY=0, flat_cube=flat_cube) self.addSLStoChipImage(sdp=sdp, chip=chip, xOrderSigPlus=xOrderSigPlus, local_wcs=chip_wcs_local) self.addSLStoChipImage( sdp=sdp, chip=chip, xOrderSigPlus=xOrderSigPlus, local_wcs=chip_wcs_local) # pos_shear = self.addSLStoChipImageWithPSF(sdp=sdp, chip=chip, pos_img_local=[x_nominal, y_nominal], # psf_model=psf_model, bandNo=i + 1, grating_split_pos=grating_split_pos, # local_wcs=chip_wcs_local, pos_img=pos_img) Loading @@ -552,7 +560,8 @@ class MockObject(object): conf=chip.sls_conf[0], isAlongY=0, flat_cube=flat_cube) self.addSLStoChipImage(sdp=sdp, chip=chip, xOrderSigPlus=xOrderSigPlus, local_wcs=chip_wcs_local) self.addSLStoChipImage( sdp=sdp, chip=chip, xOrderSigPlus=xOrderSigPlus, local_wcs=chip_wcs_local) # pos_shear = self.addSLStoChipImageWithPSF(sdp=sdp, chip=chip, pos_img_local=[x_nominal, y_nominal], # psf_model=psf_model, bandNo=i + 1, grating_split_pos=grating_split_pos, # local_wcs=chip_wcs_local, pos_img=pos_img) Loading observation_sim/psf/PSFInterpSLS.py +2 −2 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ NPSF = 900 # ***# 30*30 PIX_SIZE_MICRON = 5. # ***# in microns ### find neighbors-KDtree### # find neighbors-KDtree # def findNeighbors(tx, ty, px, py, dr=0.1, dn=1, OnlyDistance=True): # """ # find nearest neighbors by 2D-KDTree Loading Loading @@ -212,7 +212,7 @@ PIX_SIZE_MICRON = 5. # ***# in microns # return psfMaker ### define PSFInterp### # define PSFInterp class PSFInterpSLS(PSFModel): def __init__(self, chip, filt, PSF_data_prefix="", sigSpin=0, psfRa=0.15, pix_size=0.005): if LOG_DEBUG: Loading tools/get_pointing.py +1 −1 Original line number Diff line number Diff line Loading @@ -60,7 +60,7 @@ class Chip(object): if logger is not None: logger.info( " Construct the wcs of the entire image mosaic using Gnomonic/TAN projection") if (xcen == None) or (ycen == None): if (xcen is None) or (ycen is None): xcen = self.cen_pix_x ycen = self.cen_pix_y if pix_scale == None: Loading Loading
observation_sim/mock_objects/Galaxy.py +19 −13 Original line number Diff line number Diff line Loading @@ -337,11 +337,13 @@ class Galaxy(MockObject): chip, pos_img_local=pos_img_local, bandNo=i+1, galsimGSObject=True, g_order=order, grating_split_pos=grating_split_pos) star_p = galsim.Convolve(psf, gal) if nnx == 0: galImg = star_p.drawImage(wcs=chip_wcs_local, offset=offset) galImg = star_p.drawImage( wcs=chip_wcs_local, offset=offset) nnx = galImg.xmax - galImg.xmin + 1 nny = galImg.ymax - galImg.ymin + 1 else: galImg = star_p.drawImage(nx = nnx, ny = nny, wcs=chip_wcs_local, offset=offset) galImg = star_p.drawImage( nx=nnx, ny=nny, wcs=chip_wcs_local, offset=offset) galImg.setOrigin(0, 0) # n1 = np.sum(np.isinf(galImg.array)) # n2 = np.sum(np.isnan(galImg.array)) Loading Loading @@ -397,7 +399,8 @@ class Galaxy(MockObject): isAlongY=0, flat_cube=flat_cube) self.addSLStoChipImage(sdp=sdp_p1, chip=chip, xOrderSigPlus = xOrderSigPlus, local_wcs=chip_wcs_local) self.addSLStoChipImage( sdp=sdp_p1, chip=chip, xOrderSigPlus=xOrderSigPlus, local_wcs=chip_wcs_local) # pos_shear = self.addSLStoChipImageWithPSF(sdp=sdp_p1, chip=chip, pos_img_local=[xcenter_p1, ycenter_p1], # psf_model=psf_model, bandNo=i + 1, # grating_split_pos=grating_split_pos, Loading @@ -423,7 +426,8 @@ class Galaxy(MockObject): isAlongY=0, flat_cube=flat_cube) self.addSLStoChipImage(sdp=sdp_p2, chip=chip, xOrderSigPlus = xOrderSigPlus, local_wcs=chip_wcs_local) self.addSLStoChipImage( sdp=sdp_p2, chip=chip, xOrderSigPlus=xOrderSigPlus, local_wcs=chip_wcs_local) # pos_shear = self.addSLStoChipImageWithPSF(sdp=sdp_p2, chip=chip, pos_img_local=[xcenter_p2, ycenter_p2], # psf_model=psf_model, bandNo=i + 1, # grating_split_pos=grating_split_pos, Loading @@ -439,7 +443,8 @@ class Galaxy(MockObject): conf=chip.sls_conf[1], isAlongY=0, flat_cube=flat_cube) self.addSLStoChipImage(sdp=sdp, chip=chip, xOrderSigPlus = xOrderSigPlus, local_wcs=chip_wcs_local) self.addSLStoChipImage( sdp=sdp, chip=chip, xOrderSigPlus=xOrderSigPlus, local_wcs=chip_wcs_local) # pos_shear = self.addSLStoChipImageWithPSF(sdp=sdp, chip=chip, pos_img_local=[x_nominal, y_nominal], # psf_model=psf_model, bandNo=i + 1, # grating_split_pos=grating_split_pos, Loading @@ -453,7 +458,8 @@ class Galaxy(MockObject): conf=chip.sls_conf[0], isAlongY=0, flat_cube=flat_cube) self.addSLStoChipImage(sdp=sdp, chip=chip, xOrderSigPlus = xOrderSigPlus, local_wcs=chip_wcs_local) self.addSLStoChipImage( sdp=sdp, chip=chip, xOrderSigPlus=xOrderSigPlus, local_wcs=chip_wcs_local) # pos_shear = self.addSLStoChipImageWithPSF(sdp=sdp, chip=chip, pos_img_local=[x_nominal, y_nominal], # psf_model=psf_model, bandNo=i + 1, # grating_split_pos=grating_split_pos, Loading
observation_sim/mock_objects/MockObject.py +40 −31 Original line number Diff line number Diff line Loading @@ -257,15 +257,18 @@ class MockObject(object): continue # orders = {'A': 'order1', 'B': 'order0', 'C': 'order2', 'D': 'order-1', 'E': 'order-2'} orders = {'A': 'order1', 'B': 'order0', 'C': 'order0', 'D': 'order0', 'E': 'order0'} orders = {'A': 'order1', 'B': 'order0', 'C': 'order0', 'D': 'order0', 'E': 'order0'} gratingN = chip_utils.getChipSLSGratingID(chip.chipID)[1] if pos_img_local[0] < grating_split_pos: gratingN = chip_utils.getChipSLSGratingID(chip.chipID)[0] chip.img_stack[gratingN][orders[k]]['w' + str(bandNo)].setOrigin(0, 0) chip.img_stack[gratingN][orders[k]]['w' + str(bandNo)][bounds] = chip.img_stack[gratingN][orders[k]]['w' + str(bandNo)][bounds] + specImg[bounds] chip.img_stack[gratingN][orders[k]]['w' + str(bandNo)].setOrigin(chip.bound.xmin, chip.bound.ymin) chip.img_stack[gratingN][orders[k] ]['w' + str(bandNo)].setOrigin(0, 0) chip.img_stack[gratingN][orders[k]]['w' + str( bandNo)][bounds] = chip.img_stack[gratingN][orders[k]]['w' + str(bandNo)][bounds] + specImg[bounds] chip.img_stack[gratingN][orders[k]]['w' + str(bandNo)].setOrigin(chip.bound.xmin, chip.bound.ymin) else: for k, v in spec_orders.items(): Loading Loading @@ -330,9 +333,11 @@ class MockObject(object): specImg.wcs = local_wcs specImg.setOrigin(origin_order_x, origin_order_y) try: specImg = psf_model.get_PSF_AND_convolve_withsubImg(chip, cutImg=specImg, pos_img_local=pos_img_local, bandNo=bandNo, g_order=k, grating_split_pos=grating_split_pos) specImg = psf_model.get_PSF_AND_convolve_withsubImg( chip, cutImg=specImg, pos_img_local=pos_img_local, bandNo=bandNo, g_order=k, grating_split_pos=grating_split_pos) except: psf, pos_shear = psf_model.get_PSF(chip=chip, pos_img=pos_img) psf, pos_shear = psf_model.get_PSF( chip=chip, pos_img=pos_img) psf_img = psf.drawImage(nx=100, ny=100, wcs=local_wcs) Loading Loading @@ -441,11 +446,13 @@ class MockObject(object): # star_p = galsim.Convolve(psf, star) star_p = psf.withFlux(tel.pupil_area * exptime) if nnx == 0: starImg = star_p.drawImage(wcs=chip_wcs_local, offset=offset) starImg = star_p.drawImage( wcs=chip_wcs_local, offset=offset) nnx = starImg.xmax - starImg.xmin + 1 nny = starImg.ymax - starImg.ymin + 1 else: starImg = star_p.drawImage(nx = nnx, ny = nny, wcs=chip_wcs_local, offset=offset) starImg = star_p.drawImage( nx=nnx, ny=nny, wcs=chip_wcs_local, offset=offset) # n1 = np.sum(np.isinf(starImg.array)) # n2 = np.sum(np.isnan(starImg.array)) # if n1>0 or n2 > 0: Loading @@ -463,7 +470,6 @@ class MockObject(object): for order in ["A", "B", "C", "D", "E"]: starImg_List.append(starImg) # psf_tmp = galsim.Gaussian(sigma=0.002) # star = galsim.Convolve(psf_tmp, star) Loading Loading @@ -498,12 +504,12 @@ class MockObject(object): isAlongY=0, flat_cube=flat_cube) self.addSLStoChipImage(sdp=sdp_p1, chip=chip, xOrderSigPlus=xOrderSigPlus, local_wcs=chip_wcs_local) self.addSLStoChipImage( sdp=sdp_p1, chip=chip, xOrderSigPlus=xOrderSigPlus, local_wcs=chip_wcs_local) # pos_shear = self.addSLStoChipImageWithPSF(sdp=sdp_p1, chip=chip, pos_img_local=[xcenter_p1, ycenter_p1], # psf_model=psf_model, bandNo=i+1, grating_split_pos=grating_split_pos, # local_wcs=chip_wcs_local, pos_img=pos_img) star_p2s = [] for starImg in starImg_List: Loading @@ -524,7 +530,8 @@ class MockObject(object): isAlongY=0, flat_cube=flat_cube) self.addSLStoChipImage(sdp=sdp_p2, chip=chip, xOrderSigPlus=xOrderSigPlus, local_wcs=chip_wcs_local) self.addSLStoChipImage( sdp=sdp_p2, chip=chip, xOrderSigPlus=xOrderSigPlus, local_wcs=chip_wcs_local) # pos_shear = self.addSLStoChipImageWithPSF(sdp=sdp_p2, chip=chip, pos_img_local=[xcenter_p2, ycenter_p2], # psf_model=psf_model, bandNo=i + 1, grating_split_pos=grating_split_pos, # local_wcs=chip_wcs_local, pos_img=pos_img) Loading @@ -539,7 +546,8 @@ class MockObject(object): conf=chip.sls_conf[1], isAlongY=0, flat_cube=flat_cube) self.addSLStoChipImage(sdp=sdp, chip=chip, xOrderSigPlus=xOrderSigPlus, local_wcs=chip_wcs_local) self.addSLStoChipImage( sdp=sdp, chip=chip, xOrderSigPlus=xOrderSigPlus, local_wcs=chip_wcs_local) # pos_shear = self.addSLStoChipImageWithPSF(sdp=sdp, chip=chip, pos_img_local=[x_nominal, y_nominal], # psf_model=psf_model, bandNo=i + 1, grating_split_pos=grating_split_pos, # local_wcs=chip_wcs_local, pos_img=pos_img) Loading @@ -552,7 +560,8 @@ class MockObject(object): conf=chip.sls_conf[0], isAlongY=0, flat_cube=flat_cube) self.addSLStoChipImage(sdp=sdp, chip=chip, xOrderSigPlus=xOrderSigPlus, local_wcs=chip_wcs_local) self.addSLStoChipImage( sdp=sdp, chip=chip, xOrderSigPlus=xOrderSigPlus, local_wcs=chip_wcs_local) # pos_shear = self.addSLStoChipImageWithPSF(sdp=sdp, chip=chip, pos_img_local=[x_nominal, y_nominal], # psf_model=psf_model, bandNo=i + 1, grating_split_pos=grating_split_pos, # local_wcs=chip_wcs_local, pos_img=pos_img) Loading
observation_sim/psf/PSFInterpSLS.py +2 −2 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ NPSF = 900 # ***# 30*30 PIX_SIZE_MICRON = 5. # ***# in microns ### find neighbors-KDtree### # find neighbors-KDtree # def findNeighbors(tx, ty, px, py, dr=0.1, dn=1, OnlyDistance=True): # """ # find nearest neighbors by 2D-KDTree Loading Loading @@ -212,7 +212,7 @@ PIX_SIZE_MICRON = 5. # ***# in microns # return psfMaker ### define PSFInterp### # define PSFInterp class PSFInterpSLS(PSFModel): def __init__(self, chip, filt, PSF_data_prefix="", sigSpin=0, psfRa=0.15, pix_size=0.005): if LOG_DEBUG: Loading
tools/get_pointing.py +1 −1 Original line number Diff line number Diff line Loading @@ -60,7 +60,7 @@ class Chip(object): if logger is not None: logger.info( " Construct the wcs of the entire image mosaic using Gnomonic/TAN projection") if (xcen == None) or (ycen == None): if (xcen is None) or (ycen is None): xcen = self.cen_pix_x ycen = self.cen_pix_y if pix_scale == None: Loading