Age | Commit message (Collapse) | Author |
|
|
|
This adds an optional fast mode for asdf indexing, which is around 3
times faster with only a few percent lower success rate.
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
|
|
This is a more general replacement for --pinkIndexer-thread-count.
|
|
There is absolutely nothing useful that an indexing algorithm can do
with the opaque DataTemplate object.
|
|
This is a more sensible non-indexer-specific and non-Xray-specific
replacement for --pinkIndexer-override-photon-energy
|
|
|
|
This allows the indexing method private options structures to be set up
easily.
|
|
|
|
|
|
|
|
Same reason as removing them from tests. Also, libcrystfel might be
used in projects which have HAVE_CONFIG_H defined.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Also remove all the related API stuff. We now have a much better way of
checking indexing results.
|
|
|
|
|
|
|
|
|
|
|
|
There are limits to how well they can be handled, but this avoids
screwing users over too much.
|
|
|
|
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.
|
|
method
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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
|
|
Adds yet another indexing option...
|
|
|
|
|
|
|
|
|
|
|
|
Neither of these ever really worked, and better algorithms exist now.
|