added kappa conversion for bernina

This commit is contained in:
Henrik Lemke
2020-12-17 15:10:01 +01:00
parent 746db73fc8
commit 321fe85da5
+9 -5
View File
@@ -1,7 +1,7 @@
import numpy as np
def you2kappa(eta, chi, phi, kappa_angle=60, degrees=True):
def you2kappa(eta, chi, phi, kappa_angle=60, degrees=True, bernina_kappa=True):
"""tool to convert from you definition angles to kappa angles, in
particular the bernina kappa where the"""
if degrees:
@@ -10,19 +10,23 @@ def you2kappa(eta, chi, phi, kappa_angle=60, degrees=True):
eta_k = eta - delta_angle
kappa = 2 * np.arcsin(np.sin(chi / 2) / np.sin(kappa_angle))
phi_k = phi - delta_angle
# eta_k = -np.pi / 2 + eta_k
if bernina_kappa:
eta_k = eta_k - np.pi/2
phi_k = -phi_k + np.pi/2
if degrees:
eta_k, kappa, phi_k = np.rad2deg([eta_k, kappa, phi_k])
return eta_k, kappa, phi_k
def kappa2you(eta_k, kappa, phi_k, kappa_angle=60, degrees=True):
def kappa2you(eta_k, kappa, phi_k, kappa_angle=60, degrees=True, bernina_kappa=True):
if degrees:
eta_k, kappa, phi_k, kappa_angle = np.deg2rad(
[eta_k, kappa, phi_k, kappa_angle]
)
# eta_k = np.pi / 2 + eta_k
if bernina_kappa:
eta_k = eta_k + np.pi / 2
phi_k = -phi_k + np.pi / 2
delta_angle = np.arctan(np.tan(kappa / 2) * np.cos(kappa_angle))
eta = eta_k - delta_angle
chi = 2 * np.arcsin(np.sin(kappa / 2) * np.sin(kappa_angle))