Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
roll_ref = wcsinfo['roll_ref']
self._wcsinfo = {'v2_ref': v2_ref, 'v3_ref': v3_ref,
'roll_ref': roll_ref}
# perform additional check that if tangent plane correction is already
# present in the WCS pipeline, it is of TPCorr class and that
# its parameters are consistent with reference angles:
frms = wcs.available_frames
if 'v2v3corr' in frms:
self._v23name = 'v2v3corr'
self._tpcorr = deepcopy(
wcs.pipeline[frms.index('v2v3corr') - 1][1]
)
self._default_tpcorr = None
if not JWSTgWCS._check_tpcorr_structure(self._tpcorr):
raise ValueError("Unsupported tangent-plance correction type.")
# check that transformation parameters are consistent with
# reference angles:
v2ref, v3ref, roll = self._tpcorr['det_to_optic_axis'].angles.value
eps_v2 = 10.0 * np.finfo(v2_ref).eps
eps_v3 = 10.0 * np.finfo(v3_ref).eps
eps_roll = 10.0 * np.finfo(roll_ref).eps
if not (np.isclose(v2_ref, v2ref * 3600.0, rtol=eps_v2) and
np.isclose(v3_ref, -v3ref * 3600.0, rtol=eps_v3) and
np.isclose(roll_ref, roll, rtol=eps_roll)):
raise ValueError(
"WCS/TPCorr parameters 'v2ref', 'v3ref', and/or 'roll' "
"differ from the corresponding reference values."
)