Generate uniform sets of proper Euler angles (ZYZ format) over the SO(3) group using PyTorch.
Note that Euler angles are returned in the order of
See the /examples directory for brief notebooks outlining the usage of the package.
Install via pip
pip install torch-so3Install via source by first cloning the repository then running.
git clone https://github.com/teamtomo/torch-so3.git
cd torch-so3
pip install -e .And for development and testing use
pip install -e ".[dev,test]"For those contributing make sure to run tests before, and to adhere to the pre-commit hooks.
python -m pytest
pre-commit runA basic example of generating uniform Euler angles in 4.0 and 6.0 degree increments across the entire SO(3) group is shown below.
from torch_so3 import get_uniform_euler_angles
angles = get_uniform_euler_angles(
psi_step=4.0, # units of degrees
theta_step=6.0,
)
angles.shape # (103320, 3)