Here is a GUI for those who are interested in obtaining a nearly uniform distribution of antipodally symmetric point set on the unit sphere for use in diffusion or radial MRI. This technique is based on one of my published work.
To use this GUI, please download the jar file, and type the command "java -jar AntipodallySymmetricPointSet.jar. Alternatively, you can just click here through Java Web Start.
Please make sure the version of your java is at least 1.6. Here is a link to Java download site.
If your operating system is properly configured, a double-click on the jar file will also run the application.
Here is a simple means you can do to make your browser in your linux system to recognize the jnlp file extension. Just make sure that the jnlp file is opened with javaws (usually located in the bin folder of the java directory)
Example:
// Java Code Snippet
// K is the number of points on the upper hemisphere
// for large K, say K>100.
public static double[][] AntipodalPointSet(int K){
// Ref. http://dx.doi.org/10.1016/j.jocs.2011.06.007
double PI=Math.PI;
int n = (int)Math.round( Math.sqrt(K*PI/8.0) );
double[][] sc = new double[K][2];
double L = PI / Math.sin(PI/(4.0*n));
double theta, phi,k;
int sum = 0;
int index = 0;
for(int i=1; i<n; i++){
theta = (i-0.5)*0.5*PI/((double) n);
k = (int) Math.round( 2.0*PI*Math.sin(theta)*K/L );
sum += k;
for(int j=1; j<=k; j++){
phi = (j-0.5)*2.0*PI/((double) k);
sc[index][0] = theta;
sc[index][1] = phi;
index++;
}
}
theta = (n-0.5)*0.5*PI/((double) n);
k = K-sum;
for(int j=1; j<=k; j++){
phi = (j-0.5)*2.0*PI/((double) k);
sc[index][0] = theta;
sc[index][1] = phi;
index++;
}
return sc;
}
// END JAVA CODE SNIPPET