added kappa conversion for bernina
This commit is contained in:
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user