aboutsummaryrefslogtreecommitdiff
path: root/libcrystfel/src/integration.c
AgeCommit message (Collapse)Author
2021-04-27Rename libcrystfel's config.h to libcrystfel-config.hThomas White
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.
2021-03-26Add str_integration_methodThomas White
2021-03-11detgeom_transform_coords: Take an additional detector shiftThomas White
This allows the refined detector position to be used in a lot of places.
2021-03-05Mass update of copyright dates in source code commentsThomas White
2021-01-08Remove "Bragg proximity check" during integrationThomas White
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.
2021-01-07Formatting fussinessThomas White
2020-12-07Get rid of ImageFeature->rx,ry,rzThomas White
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.
2020-07-30Eliminate duplicate symbolsThomas White
This makes searching easier, and also permits Meson's unity build mode.
2020-07-29Expose a couple more functions for easier testingThomas White
2020-07-29Add low-level integration API (for better testing)Thomas White
2020-07-29Convert more bits to detgeomThomas White
2020-07-29Convert make_BgMask to detgeomThomas White
2020-07-29Convert prediction and integration to detgeomThomas White
2020-03-09integrate_rings_once: Handle case where reflection is negative by < 1 photonThomas White
2020-01-10Mass update of copyright datesThomas White
2019-09-23Get rid of "rescut" integration flagThomas White
Its behaviour is 100% covered by the push-res parameter, which can be set to infinity for no cutoff.
2019-09-17Add warning if reflections could not be integrated (e.g. due to overlap)Thomas White
2019-05-14Remove image.num_peaks and num_saturated_peaksThomas White
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.
2019-05-07Update all source code comments to Doxygen formatThomas White
2018-05-17Merge branch 'tom/cmake'Thomas White
2018-03-22Test for CursesThomas White
2018-02-27indexamajig: Add --overpredictThomas White
2018-02-27New partiality model from Ginn et al.Thomas White
2018-02-27Separate partiality calculation from predictionThomas White
2016-07-01No more slab-relative coordinates in libcrystfelThomas White
2016-04-01Add adu_per_photon (distinct from adu_per_eV)Thomas White
2015-12-10Fix integration tests for new saturation mapThomas White
2015-12-05Add option for per-pixel saturation valuesThomas White
2015-11-17Add a warningThomas White
2015-11-17Make gradient background fitting optionalThomas White
2015-11-10Remove old codeThomas White
2015-11-10Fix hardcoded maximum gradient for integrationThomas White
2015-06-26Plug some more leaksThomas White
2015-06-18Replace semaphore with a mutexThomas White
A mutex (in a shared memory segment) is the correct synchronisation primitive here. I had confused myself...
2015-06-17Use a POSIX semaphore for synchronising terminal access during indexingThomas White
Nice side-effect: indexamajig -j and --int-diag can now be used together
2015-04-28Reject boxes with very large gradients during rings integrationThomas White
2015-04-20Make panel assignments invariant during prediction- and post-refinementThomas White
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.
2015-03-13Move solve_svd() to utilsThomas White
2015-02-12prof2d: Fix number of reference profilesThomas White
Thanks again to Takanori Nakane for spotting this
2015-02-12Show warning if CrystFEL was compiled without ncursesThomas White
2014-11-28Remove twod_mapping functionValerio Mariani
2014-11-28indexamajig: Report implausibly negative reflections only after final ↵Thomas White
integration
2014-11-27Fix pre-merging Poisson error calculation for low photon countsThomas White
2014-11-26Do not predict reflections beyond the resolution limit in the first placeThomas White
This is significantly faster than predicting to the edge then applying the resolution cutoff. With the "new" way of estimating the resolution limit, there's no need to integrate first.
2014-11-26Show panel name and correct coordinates in int-diagThomas White
2014-11-09Record number of implausibly negative reflections in streamThomas White
2014-11-02Report filename on terminal if it has implausibly negative reflectionsThomas White
2014-10-23Fix a load of memory leaksThomas White
2014-09-25Remove "sphere", "thin" and "gaussian" partiality models, add "scgaussian"Thomas White
2014-09-05Pass the partiality model through correctlyThomas White