SO3Fun.optimalSample edit page

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