Age | Commit message (Collapse) | Author |
|
1 photon"
This special case is not necessary, because the same situation is
already handled by the within-one-photon-of-zero check just before.
The value assigned to sig2_poisson in this special case is wrong anyway:
it should be aduph*aduph. The wrong value leads to a jump in Poisson
sigmas at low intensities. However, the overall sigma is usually
dominated by the background variance for weak reflections, so it doesn't
make a big difference overall.
This reverts commit d4873dff09b3cf314fce0019d76e3a4ca64d7221.
|
|
This fixes integration.c, peaks.c and process_hkl.c.
|
|
|
|
|
|
|
|
For cases where you need it (high performance online processing), it's
very spammy.
|
|
It's only used once, to get background colours for 'indexamajig
--int-diag', itself a rarely used feature. The dependency itself seems
to cause problems for some people, particularly those not using system
libraries for everything. So I think it's better just to remove it, and
use ANSI escape codes directly.
|
|
|
|
The warning about "XXX reflections couldn't be integrated" is tiresome -
it appears for practically every indexed pattern because there are
always some reflections that fall in bad regions or at panel edges.
This suppresses the warning unless the number of integration failures is
more than a quarter of the total number of reflections.
|
|
|
|
|
|
|
|
Prompted by the article linked below, for each FIXME/TODO I've either
referenced an issue in the tracker, or removed it if it's not worth
fixing.
https://schleiss.io/plotting-source-code-todos-for-open-source-projects
|
|
This removes the big potential for confusion, which has happened several
times (see e.g. 095cbebaf6). It also fixes in-tree builds with CMake
(but seriously, always use out-of-tree builds).
Fixes #2.
|
|
|
|
This allows the refined detector position to be used in a lot of places.
|
|
|
|
This test is meant to avoid integrating overlapping spots. It does a
very bad job of this, because it doesn't take into account whether
the neighbouring reflection is actually excited, or even allowed by the
lattice. It's even worse when we think about wide bandwidth.
|
|
|
|
These needed to be kept up to date with a call to map_all_peaks every
time anything changed - wavelength, detector position etc. Not doing so
has already led to bugs in another branch, and probably already causes
problems on this branch.
This patch eliminates the rx,ry,rz completely. Anyone who needs
reciprocal space coordinates for a peak is now responsible for calling
detgeom_transform_coords themselves.
|
|
This makes searching easier, and also permits Meson's unity build mode.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Its behaviour is 100% covered by the push-res parameter, which can be
set to infinity for no cutoff.
|
|
|
|
These values were inconsistently set by different parts of the code,
e.g. different peak search methods. num_saturated_peaks was even set
during final integration. Now, the peak count is taken from the
ImageFeatureList, so it's authoritative.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A mutex (in a shared memory segment) is the correct synchronisation
primitive here. I had confused myself...
|
|
Nice side-effect: indexamajig -j and --int-diag can now be used together
|
|
|
|
Reflections appearing and disappearing are problematic when trying to do a
least-squares refinement. Therefore, assume that reflections stay on
panel and keep them under consideration even if their partialities go to
zero (i.e. they drift off Bragg). This should stabilise both
refinements, and simplifies quite a lot of code.
Collateral "damage": the old "select_intersection()" is now gone.
|