aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/man/indexamajig.112
-rw-r--r--libcrystfel/src/felix.c20
-rw-r--r--libcrystfel/src/felix.h4
-rw-r--r--src/indexamajig.c53
4 files changed, 49 insertions, 40 deletions
diff --git a/doc/man/indexamajig.1 b/doc/man/indexamajig.1
index e4fa91bd..a434bf05 100644
--- a/doc/man/indexamajig.1
+++ b/doc/man/indexamajig.1
@@ -362,14 +362,16 @@ These set low-level parameters for the TakeTwo indexing algorithm. Respectively
The defaults are: \fB--taketwo-member-threshold=20\fR, \fB--taketwo-len-tolernace=0.001\fR, \fB--taketwo-angle-tolerance=0.6\fR and \fB--taketwo-trace-tolerance=3\fR.
.PD 0
-.IP \fB--felix-tthrange-min=\fIn\fR
-.IP \fB--felix-tthrange-max=\fIn\fR
-.IP \fB--felix-min-measurements=\fIn\fR
+.IP \fB--felix-domega=\fIn\fR
+.IP \fB--felix-fraction-max-visits=\fIn\fR
+.IP \fB--felix-max-internal-angle=\fIn\fR
+.IP \fB--felix-max-uniqueness=\fIn\fR
.IP \fB--felix-min-completeness=\fIn\fR
-.IP \fB--felix-min-uniqueness=\fIn\fR
+.IP \fB--felix-min-visits=\fIn\fR
.IP \fB--felix-num-voxels=\fIn\fR
-.IP \fB--felix-test-fraction=\fIn\fR
.IP \fB--felix-sigma=\fIn\fR
+.IP \fB--felix-tthrange-max=\fIn\fR
+.IP \fB--felix-tthrange-min=\fIn\fR
.PD 0
These set low-level parameters for the Felix indexing algorithm.
diff --git a/libcrystfel/src/felix.c b/libcrystfel/src/felix.c
index e226b037..98b2c7b4 100644
--- a/libcrystfel/src/felix.c
+++ b/libcrystfel/src/felix.c
@@ -77,11 +77,11 @@ struct felix_private
float domega;
float omegarange_min;
float omegarange_max;
- int min_measurements; /* related to "cuts" */
+ int min_visits; /* related to "cuts" */
float min_completeness; /* related to "cuts" */
float max_uniqueness; /* related to "cuts" */
int n_voxels; /* related to "frustsumsize" */
- float test_fraction; /* related to "frustsumsize" */
+ float fraction_max_visits; /* related to "frustsumsize" */
float sigma_tth; /* related to "uncertainties" */
float sigma_eta; /* related to "uncertainties" */
float sigma_omega; /* related to "uncertainties" */
@@ -389,10 +389,10 @@ static char *write_ini(struct image *image, struct felix_private *gp)
fprintf(fh, "domega %f\n", gp->domega);
fprintf(fh, "omegarange %f %f\n", gp->omegarange_min, gp->omegarange_max);
fprintf(fh, "filespecs %s %s\n", gveFilename, logFilename);
- fprintf(fh, "cuts %i %f %f\n", gp->min_measurements, gp->min_completeness,
+ fprintf(fh, "cuts %i %f %f\n", gp->min_visits, gp->min_completeness,
gp->max_uniqueness);
fprintf(fh, "frustumsize %i %f\n", gp->n_voxels,
- gp->test_fraction);
+ gp->fraction_max_visits);
fprintf(fh, "uncertainties %f %f %f\n", gp->sigma_tth,
gp->sigma_eta, gp->sigma_omega);
fprintf(fh, "nsigmas %i\n", gp->n_sigmas);
@@ -644,10 +644,10 @@ void *felix_prepare(IndexingMethod *indm, UnitCell *cell,
gp->domega = 2;
gp->omegarange_min = -1.0;
gp->omegarange_max = 1.0;
- gp->min_measurements = 15;
+ gp->min_visits = 15;
gp->min_completeness = 0.001;
gp->max_uniqueness = 0.5;
- gp->test_fraction = 0.75;
+ gp->fraction_max_visits = 0.75;
gp->sigma_tth = 0.2;
gp->sigma_eta = 0.2;
gp->sigma_omega = 0.2;
@@ -667,8 +667,8 @@ void *felix_prepare(IndexingMethod *indm, UnitCell *cell,
if ( opts->ttmax > 0.0 ) {
gp->tthrange_max = opts->ttmax;
}
- if ( opts->min_measurements > 0 ) {
- gp->min_measurements = opts->min_measurements;
+ if ( opts->min_visits > 0 ) {
+ gp->min_visits = opts->min_visits;
}
if ( opts->min_completeness > 0.0 ) {
gp->min_completeness = opts->min_completeness;
@@ -679,8 +679,8 @@ void *felix_prepare(IndexingMethod *indm, UnitCell *cell,
if ( opts->n_voxels > 0 ) {
gp->n_voxels = opts->n_voxels;
}
- if ( opts->test_fraction > 0.0 ) {
- gp->test_fraction = opts->test_fraction;
+ if ( opts->fraction_max_visits > 0.0 ) {
+ gp->fraction_max_visits = opts->fraction_max_visits;
}
if ( opts->sigma > 0.0 ) {
gp->sigma_tth = opts->sigma;
diff --git a/libcrystfel/src/felix.h b/libcrystfel/src/felix.h
index 6cd78fdb..b1776293 100644
--- a/libcrystfel/src/felix.h
+++ b/libcrystfel/src/felix.h
@@ -40,11 +40,11 @@ struct felix_options
{
double ttmin; /* radians */
double ttmax; /* radians */
- int min_measurements;
+ int min_visits;
double min_completeness;
double max_uniqueness;
int n_voxels;
- double test_fraction;
+ double fraction_max_visits;
double sigma;
double domega;
double max_internal_angle;
diff --git a/src/indexamajig.c b/src/indexamajig.c
index 0af10f0e..36c52d7d 100644
--- a/src/indexamajig.c
+++ b/src/indexamajig.c
@@ -139,24 +139,31 @@ static void show_help(const char *s)
" --taketwo-trace-tolerance\n"
" Rotation matrix equivalence tolerance (in degrees)\n"
"\n"
-" --felix-tthrange-min Minimum 2theta to consider for indexing (degrees)\n"
-" Default: 0\n"
-" --felix-tthrange-max Maximum 2theta to consider for indexing (degrees)\n"
-" Default: 30\n"
-" --felix-min-measurements\n"
-" How many Rodrigue lines cross in the first search\n"
-" Default: 15\n"
+" --felix-domega Degree range of omega (moscaicity) to consider.\n"
+" Default: 2\n"
+" --felix-fraction-max-visits\n"
+" Cutoff for minimum fraction of the max visits.\n"
+" Default: 0.75\n"
+" --felix-max-internal-angle\n"
+" Cutoff for maximum internal angle between observed\n"
+" spots and predicted spots. Default: 0.25"
+" --felix-max-uniqueness\n"
+" Cutoff for maximum fraction of found spots which\n"
+" can belong to other crystallites. Default: 0.5\n"
" --felix-min-completeness\n"
-" Fraction of projected spots found in the pattern\n"
-" Default: 0.001\n"
-" --felix-min-uniqueness\n"
-" Fraction of found spots which can belong to other\n"
-" crystallites. Default: 0.5\n"
+" Cutoff for minimum fraction of projected spots\n"
+" found in the pattern. Default: 0.001\n"
+" --felix-min-visits\n"
+" Cutoff for minimum number of voxel visits.\n"
+" Default: 15\n"
" --felix-num-voxels Number of voxels for Rodrigues space search\n"
" Default: 100\n"
-" --felix-test-fraction Fraction of space to test. Default: 0.75\n"
" --felix-sigma The sigma of the 2theta, eta and omega angles.\n"
" Default: 0.2\n"
+" --felix-tthrange-max Maximum 2theta to consider for indexing (degrees)\n"
+" Default: 30\n"
+" --felix-tthrange-min Minimum 2theta to consider for indexing (degrees)\n"
+" Default: 0\n"
"\nIntegration options:\n\n"
" --integration=<meth> Integration method (rings,prof2d)-(cen,nocen)\n"
" Default: rings-nocen\n"
@@ -292,11 +299,11 @@ int main(int argc, char *argv[])
iargs.taketwo_opts.trace_tol = -1.0;
iargs.felix_opts.ttmin = -1.0;
iargs.felix_opts.ttmax = -1.0;
- iargs.felix_opts.min_measurements = 0;
+ iargs.felix_opts.min_visits = 0;
iargs.felix_opts.min_completeness = -1.0;
iargs.felix_opts.max_uniqueness = -1.0;
iargs.felix_opts.n_voxels = 0;
- iargs.felix_opts.test_fraction = -1.0;
+ iargs.felix_opts.fraction_max_visits = -1.0;
iargs.felix_opts.sigma = -1.0;
iargs.felix_opts.domega = -1.0;
iargs.felix_opts.max_internal_angle = -1.0;
@@ -384,15 +391,15 @@ int main(int argc, char *argv[])
{"taketwo-trace-tol", 1, NULL, 35}, /* compat */
{"felix-tthrange-min", 1, NULL, 36},
{"felix-tthrange-max", 1, NULL, 37},
- {"felix-min-measurements", 1, NULL, 38},
+ {"felix-min-visits", 1, NULL, 38},
{"felix-min-completeness", 1, NULL, 39},
{"felix-max-uniqueness", 1, NULL, 40},
{"felix-num-voxels", 1, NULL, 41},
- {"felix-test-fraction", 1, NULL, 42},
+ {"felix-fraction-max-visits", 1, NULL, 42},
{"felix-sigma", 1, NULL, 43},
{"serial-start", 1, NULL, 44},
{"felix-domega", 1, NULL, 45},
- {"felix-max-inter-angle", 1, NULL, 46},
+ {"felix-max-internal-angle", 1, NULL, 46},
{0, 0, NULL, 0}
};
@@ -648,9 +655,9 @@ int main(int argc, char *argv[])
break;
case 38:
- if ( sscanf(optarg, "%i", &iargs.felix_opts.min_measurements) != 1 )
+ if ( sscanf(optarg, "%i", &iargs.felix_opts.min_visits) != 1 )
{
- ERROR("Invalid value for --felix-min-measurements\n");
+ ERROR("Invalid value for --felix-min-visits\n");
return 1;
}
break;
@@ -680,9 +687,9 @@ int main(int argc, char *argv[])
break;
case 42:
- if ( sscanf(optarg, "%lf", &iargs.felix_opts.test_fraction) != 1 )
+ if ( sscanf(optarg, "%lf", &iargs.felix_opts.fraction_max_visits) != 1 )
{
- ERROR("Invalid value for --felix-test-fraction\n");
+ ERROR("Invalid value for --felix-fraction-max-visits\n");
return 1;
}
break;
@@ -714,7 +721,7 @@ int main(int argc, char *argv[])
case 46:
if ( sscanf(optarg, "%lf", &iargs.felix_opts.max_internal_angle) != 1 )
{
- ERROR("Invalid value for --felix-max-inter-angle\n");
+ ERROR("Invalid value for --felix-max-internal-angle\n");
return 1;
}
break;