aboutsummaryrefslogtreecommitdiff
path: root/libcrystfel/src/indexers
AgeCommit message (Collapse)Author
9 dayspinkindexer: remove erroneous sys/errno.hPhilipp Middendorf
While compiling CrystFEL using musl, this error message popped up: In file included from ../libcrystfel/src/indexers/pinkindexer.c:36: x86_64-unknown-linux-musl/sys-include/sys/errno.h:1:2: warning: #warning redirecting incorrect #include <sys/errno.h> to <errno.h> [-Wcpp] 1 | #warning redirecting incorrect #include <sys/errno.h> to <errno.h> | ^~~~~~~ So I removed sys/errno.h completely (since I couldn't figure out where it was used in the file anyways), and the result still compiled.
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-06Fix incorrect uses of cell_freeThomas White
This also gets rid of crystal_copy_deep. From now on, all crystal_copy calls also copy the UnitCell.
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.
2022-03-18FormattingThomas White
2022-01-27correct a simple typoJerome Kieffer
2021-09-07TakeTwo: Check for empty observed vector listThomas White
2021-08-20Mosflm: Add -n option when probingThomas White
2021-07-23TakeTwo: Remove unused variablesThomas White
2021-07-23TakeTwo: Avoid potential NULL dereference on error pathThomas White
2021-07-23asdf: Rename shadow variableThomas White
2021-07-22Clean up shadowed variablesThomas 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-21Make sure that memory gets freed on realloc failureThomas White
2021-07-21Add missing cleanup on error pathsThomas White
2021-07-14PinkIndexer: replace long formula with modulus()Thomas White
2021-07-14Make all the indexer-specific option structures non-opaqueThomas White
Making them opaque seemed like a nice idea, because all the indexers could take care of their own command-line arguments. However, it doesn't work at all when indexing is run via the API.
2021-05-17Resolve FIXMEs and TODOsThomas White
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
2021-05-17Mosflm: Remove dead codeThomas White
This removes some old stub code. There doesn't seem to be a big need for doing what the FIXME suggests.
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-04-19Move file_exists to utils (and eliminate several duplicates)Thomas White
2021-04-01FromFile indexer, stream2sol.py: Remove space escapingThomas White
This isn't necessary after all, for the same reason that im-sandbox doesn't need escaping: it can count off the fields where spaces aren't allowed, and anything left is the filename. I was over-thinking things.
2021-03-31FromFile indexer, stream2sol.py: Handle spaces in filenameThomas White
2021-03-31FromFile indexer, stream2sol.py: Add/update copyright commentsThomas White
2021-03-25indexamajig: Add --camera-length-estimateThomas White
Unfortunately, PinkIndexer needs the real camera length for its centre refinement. Giving a fake value and scaling the resulting shift does not work - the indexing rate drops with even a small error. Ideally, this would work in the same way as --wavelength-estimate, by using a static value from the geometry file if it's given. However, this is rather complicated to implement because of the way all the units stuff is implemented. Therefore, this is left as an improvement for the future.
2021-03-25PinkIndexer: fix conversion of detector shiftThomas White
2021-03-25FussinessThomas White
The FIXMEs have both already been fixed.
2021-03-22FromFile indexer: Fix prototypeThomas White
2021-03-19FromFile indexer: add copyright noticeThomas White
There is presumably an MPSD that also needs to be added.
2021-03-19FromFile indexer: Take account of working directoryThomas White
2021-03-19FromFile indexer: New parser and simplification of codeThomas White
Significant change: the solution file must now come with the lattice type, centering and (if applicable) unique axis information at the end of each line, e.g. 'cI' (cubic I), 'mAb' (monoclinic A, unique axis b).
2021-03-19FromFile indexer: Option processingThomas White
This give FromFile its own private command-lien option processing, like the other indexers. It removes the ability to auto-generate the solution filename, but I don't think there's a way to do that without breaking abstractions.
2021-03-12FromFile indexer: Add skeleton cleanup procedureThomas White
2021-03-12FromFile indexer: Update for new event ID in image structureThomas White
2021-03-12FromFile indexer: Remove unnecessary casting/memsetThomas White
2021-03-12FromFile indexer: Remove getcwd()Thomas White
It's only used for some error messages, and it doesn't compile anyway.
2021-03-12FromFile indexer: Remove update_detectorThomas White
Everything should use the per-crystal detector shift now.
2021-03-12FromFile indexer: Add missing semicolonsThomas White
2021-03-12FromFile indexer: Strip trailing whitespace and sort out formattingThomas White
2021-03-12FromFile indexer: Move to libcrystfel/src/indexersThomas White
Also adds to meson.build
2021-03-11indexamajig: Add --max-indexer-threadsThomas White
This is a more general replacement for --pinkIndexer-thread-count.