aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2012-11-29 11:14:31 +0100
committerThomas White <taw@physics.org>2012-11-29 12:01:37 +0100
commit0537442509a01e70c29f980752f440c3716d1e23 (patch)
tree0fd8bb2844bb4a9a71a0e0a602db924cee31006f
parentfcba20a4c51793701c5946cca8fc264aa2e72450 (diff)
indexamajig: Add --no-revalidate and update manpage
-rw-r--r--doc/man/indexamajig.115
-rw-r--r--src/im-sandbox.c8
-rw-r--r--src/im-sandbox.h1
-rw-r--r--src/indexamajig.c13
4 files changed, 30 insertions, 7 deletions
diff --git a/doc/man/indexamajig.1 b/doc/man/indexamajig.1
index de95e307..3519dc5f 100644
--- a/doc/man/indexamajig.1
+++ b/doc/man/indexamajig.1
@@ -319,6 +319,21 @@ Normally, indexamajig will check that the projected reciprocal space positions o
Don't subtract local background estimates from integrated intensities. This is almost never useful, but might help to detect problems from troublesome background noise.
+.PD 0
+.IP \fB--use-saturated\fR
+.PD
+Normally, peaks which contain one or more pixels above max_adu (defined in the detector geometry file) will not be used for indexing. Using this option skips this check, possibly improving the indexing rate if there is a large proportion of saturated peaks.
+
+.PD 0
+.IP \fB--integrate-saturated\fR
+.PD
+Normally, reflections which contain one or more pixels above max_adu (defined in the detector geometry file) will not be integrated and written to the stream. Using this option skips this check, and allows saturated reflections to be passed to the later merging stages. This is not usually a good idea, but might be your only choice if there are many saturated reflections.
+
+.PD 0
+.IP \fB--no-revalidate\fR
+.PD
+When using \fB--peaks=hdf5\fR, the peaks will be put through the same checks as if you were using \fB--peaks=zaef\fR. These checks reject peaks which are too close to panel edges, are saturated (unless you use \fB--use-saturated\fR), fall short of the minimum SNR value given by \fB--min-snr\fR, have other nearby peaks (closer than twice the inner integration radius, see \fB--int-radius\fR), or have any part in a bad region. Using this option skips this validation step, and uses the peaks directly.
+
.SH BUGS
Don't run more than one indexamajig jobs simultaneously in the same working
directory - they'll overwrite each other's DirAx or MOSFLM files, causing subtle
diff --git a/src/im-sandbox.c b/src/im-sandbox.c
index aed0b04b..1b460d4e 100644
--- a/src/im-sandbox.c
+++ b/src/im-sandbox.c
@@ -291,9 +291,11 @@ static void process_image(const struct index_args *iargs,
iargs->hdf5_peak_path)) {
ERROR("Failed to get peaks from HDF5 file.\n");
}
- validate_peaks(&image, iargs->min_int_snr,
- iargs->ir_inn, iargs->ir_mid, iargs->ir_out,
- iargs->use_saturated);
+ if ( !iargs->no_revalidate ) {
+ validate_peaks(&image, iargs->min_int_snr,
+ iargs->ir_inn, iargs->ir_mid,
+ iargs->ir_out, iargs->use_saturated);
+ }
break;
case PEAK_ZAEF:
diff --git a/src/im-sandbox.h b/src/im-sandbox.h
index 50dc599b..3851fb40 100644
--- a/src/im-sandbox.h
+++ b/src/im-sandbox.h
@@ -68,6 +68,7 @@ struct index_args
struct copy_hdf5_field *copyme;
int integrate_saturated;
int use_saturated;
+ int no_revalidate;
};
diff --git a/src/indexamajig.c b/src/indexamajig.c
index 57c16932..ae03986c 100644
--- a/src/indexamajig.c
+++ b/src/indexamajig.c
@@ -161,10 +161,12 @@ static void show_help(const char *s)
" least 10%% of the located peaks.\n"
" --no-bg-sub Don't subtract local background estimates from\n"
" integrated intensities.\n"
-" --use-saturated During the initial peak search, don't reject\n"
-" peaks which contain pixels above max_adu.\n"
-" --integrate-saturated During the final integration stage, don't reject\n"
-" peaks which contain pixels above max_adu.\n"
+" --use-saturated During the initial peak search, don't reject\n"
+" peaks which contain pixels above max_adu.\n"
+" --integrate-saturated During the final integration stage, don't reject\n"
+" peaks which contain pixels above max_adu.\n"
+" --no-revalidate Don't re-integrate and check HDF5 peaks for\n"
+" validity.\n"
);
}
@@ -248,6 +250,7 @@ int main(int argc, char *argv[])
float ir_out = 7.0;
int integrate_saturated = 0;
int use_saturated = 0;
+ int no_revalidate = 0;
copyme = new_copy_hdf5_field_list();
if ( copyme == NULL ) {
@@ -296,6 +299,7 @@ int main(int argc, char *argv[])
{"int-radius", 1, NULL, 14},
{"integrate-saturated",0, &integrate_saturated,1},
{"use-saturated",0, &use_saturated, 1},
+ {"no-revalidate", 0, &no_revalidate, 1},
{0, 0, NULL, 0}
};
@@ -644,6 +648,7 @@ int main(int argc, char *argv[])
iargs.ir_out = ir_out;
iargs.use_saturated = use_saturated;
iargs.integrate_saturated = integrate_saturated;
+ iargs.no_revalidate = no_revalidate;
create_sandbox(&iargs, n_proc, prefix, config_basename, fh,
use_this_one_instead, ofh);