aboutsummaryrefslogtreecommitdiff
path: root/libcrystfel/src/index.c
AgeCommit message (Collapse)Author
2018-02-27Read debug indexing from fileThomas White
2017-11-28Fix check for cell parameters at startThomas White
2017-10-27Merge branch 'tom/simpler_felix'Thomas White
2017-10-19Add probe for TakeTwoThomas 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-10-09indexer_str(): Don't return "none-nolatt-nocell"Thomas White
2017-09-27Add an assertionThomas White
2017-09-27Don't reset user flag to zeroThomas White
Some indexing methods may set it to 1 already, in which case we should take the hint.
2017-09-26Remove unnecessary countingThomas White
2017-09-22Don't send detector and tolerance to indexing methodsThomas White
The detector isn't used for anything, and the tolerance is none of their business.
2017-09-22Fix silly mistake in friendly_indexer_name()Thomas White
2017-09-22Set --no-check-cell if cell is given, but has no parametersThomas White
2017-09-22If no cell params or lattice type, set nocell/nolatt at top levelThomas White
Another thing that the indexing engines don't need to be repsonsible for.
2017-09-22Stop if an indexing method can't be preparedThomas White
2017-09-21indexamajig: Friendlier display of indexing enginesThomas White
2017-09-15Perform peak alignment check if requestedThomas White
2017-09-15Remove debugging statementThomas White
2017-09-15Better way of displaying cell check optionThomas White
2017-09-15Factorise cell parameter checkThomas White
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-09-07Use compare_cells() for multi-lattice indexingThomas White
2017-08-31setup_indexing(): Honour no_refineThomas White
Fixes a regression caused by 61565336125, which broke indexamajig --no-refine.
2017-07-06indexamajig: Add TakeTwo-specific optionsThomas White
2017-07-06Merge branch 'master' into taketwoThomas White
2017-06-27Dummy setup bits for INDEXING_NONEThomas White
This doesn't do much except for preventing a possibly confusing warning message about "Failed to prepare indexing method none". You can actually do --indexing=none,asdf, but don't tell anyone...
2017-06-27If prediction refinement fails, don't carry on and check the cellThomas White
Doing so results in one crystal being counted as bad twice, which messes up the logic which follows.
2017-03-24Propagate error if indexing method is unrecognisedThomas White
2017-03-08Check unit cell parameters after prediction refinementThomas 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-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-07-01No more slab-relative coordinates in libcrystfelThomas White
2016-02-03Set initial prediction parameters even when not doing prediction refinementThomas White
Silly bug fix. Beamtime programming FTL.
2016-01-30indexamajig: Restore --no-refineThomas White
Adds yet another indexing option...
2016-01-29Perform prediction refinement straight after indexingThomas White
This allows indexing to be attempted again (either a new method or with "retry") if the prediction refinement fails, increasing overall indexing rate. Side-effect: there are some hoops which would need to be jumped through to store the profile radius before refinement and hence enable scripts/plot-predict-refine to work. For now, we'll ignore this as it's clear that the prediction refinement is working.
2016-01-29Use a fresh copy of the peak list for each new indexing methodThomas White
2016-01-15Set indexing -nomulti as the default, and add a warningThomas White
2016-01-13Fix logic for -retry and -multiThomas White
2016-01-08Make indexing "retry" and "multi" optionalThomas White
2015-12-18"Retry" mechanism for indexingThomas White
This increases the indexing rate a bit in situations where there are lots of weak peaks which, although they may be real, don't help indexing. The weakest 10% of peaks get cut out and the indexing re-run. This also allows multiple hits to be indexed, using the "inelegant peak subtraction method", by retrying indexing in the same way after deleting peaks which are accounted for by the lattice just found.
2015-09-15Formatting / fussinessThomas White
2015-09-15Update boilerplate commentsThomas White
2015-09-15Remove unnecessary breaksThomas White
2015-09-15Implement Felix IndexerKenneth Beyerlein
2015-06-25Set MOSFLM default flags to include cell parameters, and add some checksThomas White
2015-06-25Tidy up some small leaks and memory bugsThomas White
2015-06-19Remove ReAx and GrainSpotterThomas White
Neither of these ever really worked, and better algorithms exist now.