def create_DetToV2V3(v2ref=0.0, v3ref=0.0, roll=0.0, cd=[[1.0, 0.0], [0.0, 1.0]], crpix=[0, 0]): tpcorr = JWSTgWCS._tpcorr_init(v2_ref=v2ref, v3_ref=v3ref, roll_ref=roll) afinv = AffineTransformation2D(cd, -np.dot(cd, crpix)).inverse JWSTgWCS._tpcorr_combine_affines(tpcorr, afinv.matrix.value, afinv.translation.value) p = JWSTgWCS._v2v3_to_tpcorr_from_full(tpcorr) partial_tpcorr = p.inverse partial_tpcorr.inverse = p return partial_tpcorr
def _imodel2wcsim(self, image_model): # make sure that we have a catalog: if hasattr(image_model, 'catalog'): catalog = image_model.catalog else: catalog = image_model.meta.tweakreg_catalog model_name = path.splitext(image_model.meta.filename)[0].strip('_- ') if isinstance(catalog, Table): if not catalog.meta.get('name', None): catalog.meta['name'] = model_name else: try: cat_name = str(catalog) catalog = Table.read(catalog, format='ascii.ecsv') catalog.meta['name'] = cat_name except IOError: self.log.error("Cannot read catalog {}".format(catalog)) if 'xcentroid' in catalog.colnames: catalog.rename_column('xcentroid', 'x') catalog.rename_column('ycentroid', 'y') # create WCSImageCatalog object: refang = image_model.meta.wcsinfo.instance im = JWSTgWCS(wcs=image_model.meta.wcs, wcsinfo={ 'roll_ref': refang['roll_ref'], 'v2_ref': refang['v2_ref'], 'v3_ref': refang['v3_ref'] }, meta={ 'image_model': image_model, 'catalog': catalog, 'name': model_name }) return im