optimal discrete sampling points of an orientation density function
Description
optimalSample behaves similarly as discreteSample with the difference, that the sampling points are optimized to reproduce the input density function as perfect as possible. The price you pay is time. optimalSample computes the sampling points by solving a minimization problem, which becomes harder the more points you want to generate.
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
ori = optimalSample(f)
ori = optimalSample(f,ori)
ori = optimalSample(f,n,'bandwidth',32)
ori = optimalSample(f,n,'maxIter',1000,'tol',0.05*degree)Input
| f | SO3Fun |
| n | number of sampling points |
| ori | rotation (starting nodes) |
Output
| ori | rotation |
Options
| 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 |