aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2020-02-11 10:58:19 +0100
committerThomas White <taw@physics.org>2020-02-11 10:58:19 +0100
commit6f2ca6294851780290877c387ada86744bbbebc6 (patch)
tree857b2018bbf21d934256236bc44c196eda8eff15
parentb5de27531020c4446d4ac823246c1ff6bf932b0d (diff)
parent1778d4c86f7afc90ed78ebd58de9a83b6233e33d (diff)
Merge branch 'yaroslav/pinkIndexer_fixes'
-rw-r--r--doc/man/indexamajig.16
-rw-r--r--libcrystfel/src/pinkindexer.c8
2 files changed, 9 insertions, 5 deletions
diff --git a/doc/man/indexamajig.1 b/doc/man/indexamajig.1
index 41e34aa7..7bc71471 100644
--- a/doc/man/indexamajig.1
+++ b/doc/man/indexamajig.1
@@ -448,8 +448,8 @@ These set low-level parameters for the XGANDALF indexing algorithm.
.IP \fB--pinkIndexer-multi=\fIn\fR
.IP \fB--pinkIndexer-thread-count=\fIn\fR
.IP \fB--pinkIndexer-no-check-indexed=\fIn\fR
-.IP \fB--pinkIndexer-override-photon-energy=\fIn\fR
.IP \fB--pinkIndexer-override-bandwidth=\fIn\fR
+.IP \fB--pinkIndexer-override-photon-energy=\fIn\fR
.IP \fB--pinkIndexer-override-visible-energy-range=\fImin-max\fR
.PD
@@ -473,9 +473,9 @@ These set low-level parameters for the PinkIndexer indexing algorithm.
.IP
\fB--pinkIndexer-no-check-indexed\fR Leave the check whether a pattern is indexed completely to CrystFEL. Useful for monochromatic (since CrystFEL's prediction model is smarter than the one of pinkIndexer) or in combnation with --no-check-peaks for geometry optimization. This flag is meant to eventually disappear, when the full pink pipeline is implemented.
.IP
-\fB--pinkIndexer-override-photon-energy=\fIn\fR Overrides the bandwidth in (delta energy)/(mean energy) to use for indexing (which usually is difined in the geometry file). Should be used together with \fB--pinkIndexer-override-bandwidth=\fIn\fR
+\fB--pinkIndexer-override-bandwidth=\fIn\fR Overrides the bandwidth in (delta energy)/(mean energy) to use for indexing (which usually is defined in the geometry file). Should be used together with \fB--pinkIndexer-override-photon-energy=\fIn\fR. Note: this option sets the borders for the spectrum, whereas the option in the geometry file sets the standard deviation for a Gaussian that fits the spectrum. Internally, the standard deviation is multiplied by 5 to compute the hard borders of the spectrum. I.e., photon_energy_bandwith = 0.005 in the geometry file equals --pinkIndexer-override-bandwidth=0.025. For monochromatic experiments usually --pinkIndexer-override-bandwidth=0.02 is sufficiently large. If in doubt, use --pinkIndexer-override-visible-energy-range.
.IP
-\fB--pinkIndexer-override-bandwidth=\fIn\fR Overrides the mean energy in eV to use for indexing (which usually is difined in the geometry file). Should be used together with \fB--pinkIndexer-override-bandwidth=\fIn\fR
+\fB--pinkIndexer-override-photon-energy=\fIn\fR Overrides the mean energy in eV to use for indexing (which usually is defined in the geometry file). Should be used together with \fB--pinkIndexer-override-bandwidth=\fIn\fR
.IP
\fB--pinkIndexer-override-visible-energy-range=\fImin-max\fR Overrides photon energy and bandwidth according to a range of energies that have high enough intensity to produce visible Bragg spots on the detector. min and max range borders are separated by a minus sign (no whitespace).
diff --git a/libcrystfel/src/pinkindexer.c b/libcrystfel/src/pinkindexer.c
index 8941080a..e3ecf5a9 100644
--- a/libcrystfel/src/pinkindexer.c
+++ b/libcrystfel/src/pinkindexer.c
@@ -157,9 +157,9 @@ void *pinkIndexer_prepare(IndexingMethod *indm, UnitCell *cell,
struct pinkIndexer_options *pinkIndexer_opts,
struct detector *det, struct beam_params *beam)
{
- if ( beam->photon_energy_from != NULL && pinkIndexer_opts->customPhotonEnergy > 0) {
+ if ( beam->photon_energy_from != NULL && pinkIndexer_opts->customPhotonEnergy <= 0) {
ERROR("For pinkIndexer, the photon_energy must be defined as a "
- "constant in the geometry file or a parameter\n");
+ "constant in the geometry file or as a parameter (see --pinkIndexer-override-photon-energy)\n");
return NULL;
}
if ( (det->panels[0].clen_from != NULL) && pinkIndexer_opts->refinement_type ==
@@ -222,6 +222,10 @@ void *pinkIndexer_prepare(IndexingMethod *indm, UnitCell *cell,
reflectionRadius_1_per_A = pinkIndexer_opts->reflectionRadius * 1e10; /* m^-1 to A^-1*/
}
+ if(beamEenergy_eV > 75000 && nonMonochromaticity < 0.02 && reflectionRadius_1_per_A < 0.0005){
+ STATUS("Trying to index electron diffraction? It might be helpful to set a higher reflection radius (see documentation for --pinkIndexer-reflection-radius)")
+ }
+
float divergenceAngle_deg = 0.01; //fake
float tolerance = pinkIndexer_opts->tolerance;