aboutsummaryrefslogtreecommitdiff
path: root/libcrystfel/src/index.h
AgeCommit message (Collapse)Author
2023-07-28indexamajig: Hooks for MilleThomas White
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-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-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-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-12Clean up after mergeThomas White
2021-03-12Merge branch 'pascal/electrons'Thomas White
2021-03-11indexamajig: Add --max-indexer-threadsThomas White
This is a more general replacement for --pinkIndexer-thread-count.
2021-03-11setup_indexing: Remove dtemplThomas White
There is absolutely nothing useful that an indexing algorithm can do with the opaque DataTemplate object.
2021-03-11indexamajig: Add --wavelength-estimateThomas White
This is a more sensible non-indexer-specific and non-Xray-specific replacement for --pinkIndexer-override-photon-energy
2021-03-05Mass update of copyright dates in source code commentsThomas White
2020-08-20Add default_method_options()Thomas White
This allows the indexing method private options structures to be set up easily.
2020-08-17Expose parse_indexing_methods and base_indexer_strThomas White
2020-08-17FormattingThomas White
2020-08-07Move indexers out of APIThomas White
2020-07-29Remove config.h from libcrystfel headersThomas White
Same reason as removing them from tests. Also, libcrystfel might be used in projects which have HAVE_CONFIG_H defined.
2020-07-29Port indexamajig to new API, part IThomas White
2020-07-09unit cell vectors are correct, space group missingPascal Hogan-Lamarre
2020-01-10Mass update of copyright datesThomas White
2019-09-23Merge branch 'tom/pinkindexer'Thomas White
2019-09-16Fix cell comparison logicThomas White
2019-09-12Add indexing_methods() to examine the actual list of methodsThomas White
2019-09-12Avoid duplication of beam and detector parameters for pinkIndexerThomas White
2019-09-12Add pinkIndexer interfaceYaroslav Gevorkov
2019-08-29indexamajig: Remove --no-cell-combinationsThomas White
Also remove all the related API stuff. We now have a much better way of checking indexing results.
2019-05-07Update all source code comments to Doxygen formatThomas White
2018-11-15indexamajig: Name and shame slow processing stagesThomas White
2018-06-18Add interface to XGANDALF indexerYaroslav Gevorkov
2017-10-27Merge branch 'tom/simpler_felix'Thomas White
2017-10-18indexamajig: Auto-detection of available indexing methodsThomas White
2017-10-17Handle old indexing methodsThomas White
There are limits to how well they can be handled, but this avoids screwing users over too much.
2017-10-12indexamajig: Simplify Felix optionsThomas White
2017-09-22Remove "latt" from asdfThomas White
For consistency with other algorithms, let's standardise on an interpretation where just using the centering information in combination with the cell parameters, which is always necessary, doesn't qualify as "cell-latt", only "cell-nolatt". "Using lattice type as prior information" implies that asdf would behave differently with cell-nolatt, if it were allowed, than with cell-latt. It wouldn't. It just needs the centering to calculate the cell volume correctly. Note that TakeTwo, by contrast, would behave differently in this hypothetical case, because it uses the lattice type to exclude certain solutions by symmetry. Mosflm allows all four combinations of no/cell and no/latt, and does indeed behave differently between them.
2017-09-22asdf uses prior information for its volume constraint, so add "cell" to the ↵Thomas White
method
2017-09-15Simplify indexing optionsThomas White
mosflm-cell-nolatt-multi-refine-bad-retry.... it's all getting a bit too much. This commit removes all the options from the indexing methods except for the prior information flags (cell/nocell and latt/nolatt). All the other options are now given at the top level with new indexamajig options, e.g. --no-multi and --no-retry. They are applied to all the methods, with no option to (say) use retry for one method and not for another. This also makes the "peak alignment test" default to OFF, and multi-lattice indexing ON. I think that the prediction refinement does a good enough job of checking the validity of indexing solutions, allowing us to turn off the alignment check which filters out most multi-lattice solutions.
2017-07-06indexamajig: Add TakeTwo-specific optionsThomas White
2017-07-06Merge branch 'master' into taketwoThomas White
2017-07-05Update docsThomas White
2017-03-08Allow indexing system to store its own data, independently of indexing methodsThomas White
Previously, the indexing system passed all the information on to the indexing engines and then forgot about it. That made it difficult to do things like check the indexing solution after prediction refinement, because the target unit cell was unavailable. Now, the indexing system itself can keep some information. Of course, that information includes the private pointers for the indexing engines themselves. I took the opportunity to streamline things a little bit. The caller can now set up the indexing system in one step, without having to separately parse the names of the indexing methods. The caller no longer has to keep track of a separate array of methods, instead just one structure which contains everything.
2017-02-02Merge branch 'master' into taketwoThomas White
2017-02-02indexamajig: Add ping mechanism to avoid timing out when trying lots of indexersThomas White
2016-10-19Default/required/optional flags for TakeTwoThomas White
2016-10-17Initial TakeTwo importThomas White
Only changes from Helen's code so far: 1. Stripping trailing spaces 2. Tweaking includes (<> -> "") 3. Adding initial CrystFEL hooks at the bottom of taketwo.c 4. Moving definition of struct SpotVec to taketwo.c 5. Removing prototype for run_taketwo from taketwo.h (comment moved to .c) 6. Authorship/copyright boilerplate
2016-01-30indexamajig: Restore --no-refineThomas White
Adds yet another indexing option...
2016-01-15Set indexing -nomulti as the default, and add a warningThomas White
2016-01-08Make indexing "retry" and "multi" optionalThomas White
2015-09-15Implement Felix IndexerKenneth Beyerlein
2015-07-21Update API docsThomas White
2015-06-25Set MOSFLM default flags to include cell parameters, and add some checksThomas White
2015-06-19Remove ReAx and GrainSpotterThomas White
Neither of these ever really worked, and better algorithms exist now.