Mitchell Server




SOI/ISOI Software

Successive Orthogonal Images (SOI) Rotation Sampling

The Successive Orthogonal Images (SOI) and Incremental Successive Orthogonal Images (ISOI) codes generate uniform samples of spheres, ellipsoids and of rotation groups. Both the SOI and ISOI codes provide rotation samples having excellent uniformity (good covering of the 2-sphere and SO(3) are obtained, which can be formulated in terms of spherical dispersion and discrepancy). The SOI code performs a discrete uniform sample that is very uniform, while ISOI attempts to create a series of uniform samplings by adding one point at a time.


SOI Code and Precomputed Rotation Samples

SOI is copyrighted but free for non-commercial use.

Please cite: J. C. Mitchell. Discrete Uniform Sampling of Rotation Groups Using Orthogonal Images. SIAM Journal of Scientific Computing, 30(1):525-547, 2007. View Abstract

SOI_samples.tgz This archive contains precomputed rotation samples calculated using SOI and C-code for converting them to 3x3 rotation matrices.
SOI.tgz This archive contains the SOI code for uniform deterministic sampling on SO(3).


ISOI CODE

ISOI is distributed under a GNU public license.

Please cite: A. Yershova, S. Jain, S. M. LaValle, and J. C. Mitchell. Generating Uniform Incremental Grids on SO(3) Using the Hopf Fibration International Journal of Robotics Research, November 2009. View Abstract

ISOI_S2_sequence.tgz This code provides a uniform deterministic sequence of samples over S^2. It generates an ordered sequence of points from the multiresolution grid structure provided by HEALPix. The output is parametrized by (x,y,z) coordinates in 3D.

ISOI_SO3_grid.tgz This code provides a uniform multiresolution grids over SO(3). The method uses Hopf coordinates to generate grid cells. The base-resolution grid consists of 72 points. The output is parametrized using unit quaternions, represented by (x1,x2,x3,x4) in 4D.

ISOI_SO3_sequence.tgz This code provides a uniform deterministic sequence over SO(3). The base-resolution grid consists of 72 points. The method uses Hopf coordinates to generate grid cells. The output is parametrized using unit quaternions, represented by (x1,x2,x3,x4) in 4D.