Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
self._partial_tpcorr = JWSTgWCS._v2v3_to_tpcorr_from_full(self._tpcorr)
idx_v2v3 = frms.index(self._v23name)
pipeline = deepcopy(self._wcs.pipeline)
pf, pt = pipeline[idx_v2v3]
pipeline[idx_v2v3] = (pf, deepcopy(self._tpcorr))
frm_v2v3corr = deepcopy(pf)
frm_v2v3corr.name = 'v2v3corr'
pipeline.insert(idx_v2v3 + 1, (frm_v2v3corr, pt))
self._wcs = gwcs.WCS(pipeline, name=self._owcs.name)
self._v23name = 'v2v3corr'
else:
# combine old and new corrections into a single one and replace
# old transformation with the combined correction transformation:
JWSTgWCS._tpcorr_combine_affines(
self._tpcorr,
matrix,
_ARCSEC2RAD * np.asarray(shift)
)
self._partial_tpcorr = JWSTgWCS._v2v3_to_tpcorr_from_full(self._tpcorr)
idx_v2v3 = frms.index(self._v23name)
pipeline = deepcopy(self._wcs.pipeline)
pipeline[idx_v2v3 - 1] = (pipeline[idx_v2v3 - 1][0],
deepcopy(self._tpcorr))
self._wcs = gwcs.WCS(pipeline, name=self._owcs.name)
# reset definitions of the transformations from detector/world
# coordinates to the tangent plane:
self._update_transformations()
frm_v2v3corr = deepcopy(pf)
frm_v2v3corr.name = 'v2v3corr'
pipeline.insert(idx_v2v3 + 1, (frm_v2v3corr, pt))
self._wcs = gwcs.WCS(pipeline, name=self._owcs.name)
self._v23name = 'v2v3corr'
else:
# combine old and new corrections into a single one and replace
# old transformation with the combined correction transformation:
JWSTgWCS._tpcorr_combine_affines(
self._tpcorr,
matrix,
_ARCSEC2RAD * np.asarray(shift)
)
self._partial_tpcorr = JWSTgWCS._v2v3_to_tpcorr_from_full(self._tpcorr)
idx_v2v3 = frms.index(self._v23name)
pipeline = deepcopy(self._wcs.pipeline)
pipeline[idx_v2v3 - 1] = (pipeline[idx_v2v3 - 1][0],
deepcopy(self._tpcorr))
self._wcs = gwcs.WCS(pipeline, name=self._owcs.name)
# reset definitions of the transformations from detector/world
# coordinates to the tangent plane:
self._update_transformations()
# save linear transformation info to the meta attribute:
super().set_correction(matrix=matrix, shift=shift, meta=meta, **kwargs)