compute the compactification of an given function on the Rotation Group. That means, we try to find a in some sense optimal set of orientations, that describes the given density function reasonable well. This is similar to the so called halftoning problem.
Therefore, we solve a minimization problem by gradient descent method to find a set of orientations, such that the corresponding worst case quadrature error with respect to all rotational polynomials (SO3FunHarmonics) up to some specified bandwidth is minimal.
For more details, see
Gräf, Manuel; Potts, Daniel; Steidl, Gabriele (2012). Quadrature Errors, Discrepancies, and Their Relations to Halftoning on the Torus and the Sphere. SIAM Journal on Scientific Computing, 34(5), A2760–A2791. doi:10.1137/100814731
Syntax
v = compactify(f)
v = compactify(f,'points',v,'bandwidth',32)
v = compactify(f,'points',5000,'maxIter',1000,'tol',0.05*degree)Input
| f | SO3Fun |
| ori | rotation (starting nodes) |
Output
| ori | rotation |
Options
| points | specify number of output points (default = 100) |
| bandwidth | harmonic degree to approximate (default = 32) |
| maxIter | for gradient descent (default = 100) |
| tol | for gradient descent (default = 0.01*degree) |
| weights | weights of points |