aboutsummaryrefslogtreecommitdiff
path: root/libcrystfel/src/indexers/asdf.c
AgeCommit message (Collapse)Author
2024-09-17asdf: Fix prototype of placeholder routine (for building without FFTW)Thomas White
2024-04-22asdf: Force cell to be right-handed after refinementThomas White
In some rare cases, the cell changes from right to left handed during the vector refinement stage of asdf, while ending up at an apparently correct indexing solution. This commit just flips the axis round when necessary, in the same way that asdf already does in an earlier stage. I haven't done a proper survey, but I can say that the image I used to isolate and test this issue had very low resolution while still being what we would call "indexable". The left-handed cells appeared for six out of the 12173 hits in that run, or slightly below 0.05%. So, it's rare but not totally impossible.
2024-04-22asdf: Don't store cell volumeThomas White
It's hardly needed for re-use, and invites problems with the volume going out of sync with the vectors. Better just to calculate it when needed.
2024-02-06Use libcrystfel memory allocation routines everywhereThomas White
2024-01-30asdf: Use fftw_alloc_{real,complex}Thomas White
A little clearer than fftw_malloc(*sizeof)
2024-01-30asdf: Remove unnecessary fftw_cleanupThomas White
This is only needed to reset FFTW to a "pristine" state, which is not required here, and possibly even detrimental.
2024-01-30asdf: Use FFTW arrays directlyThomas White
We don't need to fish out the arrays and use FFTW's "new array execution" functions: http://fftw.org/fftw3_doc/New_002darray-Execute-Functions.html
2023-07-26asdf: Fix a memory leakThomas White
2023-02-17asdf: Restrict domain for search for peaks in frequency graphAlexandra Tolstikova
Previously, it was possible for the search to run over the part of the array initialised by FFTW.
2023-01-16asdf: Avoid integer overflow with number of tripletsThomas White
Co-authored-by: Alexandra Tolstikova <alexandra.tolstikova@desy.de> Fixes: https://gitlab.desy.de/thomas.white/crystfel/-/issues/76
2022-09-21asdf: Add fast modeAlexandra Tolstikova
This adds an optional fast mode for asdf indexing, which is around 3 times faster with only a few percent lower success rate.
2021-07-23asdf: Rename shadow variableThomas White
2021-07-21asdf: Remove unnecessary checkThomas White
'changed' is initialised to zero, so there's no way this check can fail.
2021-07-21Reduce variable scope where possibleThomas White
2021-07-21Add missing cleanup on error pathsThomas White
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-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-11Update copyright dates in libcrystfel/src/indexersThomas 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-10-07asdf: Fix incorrect units conversion for cell volumeThomas White
2020-10-01asdf: Replace weird loop syntaxThomas White
2020-08-07Move indexers out of APIThomas White