compute the compactification of an given function on the Sphere. 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 spherical polynomials 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',128)
v = compactify(f,'points',500,'itermax',1000,'tol',1e-4)Input
| f | S2Fun |
| v | vector3d (starting nodes) |
| psi | S2Kernel (Disposition-kernel) |
Output
| v | vector3d |
Options
| points | specify number of output points (default = 1000) |
| bandwidth | harmonic degree to approximate (default = 128) |
| maxIter | for gradient descent (default = 5000) |
| tol | for gradient descent (default = 5e-4) |
| weights | weights of points |