You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We need a class ExactAlignment which has a call operator that returns true or false (equivalent to ExactMatch). Further it has get_transformation(x1, x2) which returns a transformation object and apply_transformation(x1, trans). The format of the transformation object is arbitrary for the different systems.
Low level policies will be called internally from the mindist functions.
ApproximateAlignment also has get_transformation and apply_transformation (same interface?). ApproximateAlignment should do an ExactAlignment test first.
do we want any callbacks
how to get n lowest matches, e.g. via callback?
simple factory for creating exact match objects. Something like: create_exact_match(translations=True, rotations=True, permutations=False)
non periodic systems should have ExactMatch.enumerate() which returns a list of rotations that give an exact alignment with itself. The length of this list should be the point group order (or half of the point group order if there are inversions). If rotations are not allowed, return a list with only the identity. Again the transformations should be able to be applied with ExactMatch.apply_transformation(x1, trans)
For periodic systems this will raise something like Exception("this does not make sense for periodic systems")
When writing the interface I realized it might be a good idea to separate apply_transformation from the Alignment class. One possibility would be that the transformation object has a function transformation.apply()
When writing the interface I realized it might be a good idea to
separate apply_transformation from the Alignment class. One
possibility would be that the transformation object has a function
transformation.apply()
—
Reply to this email directly or view it on GitHub #1 (comment).
Activity
js850 commentedon Sep 11, 2013
non periodic systems should have ExactMatch.enumerate() which returns a list of rotations that give an exact alignment with itself. The length of this list should be the point group order (or half of the point group order if there are inversions). If rotations are not allowed, return a list with only the identity. Again the transformations should be able to be applied with ExactMatch.apply_transformation(x1, trans)
For periodic systems this will raise something like Exception("this does not make sense for periodic systems")
ruehle commentedon Sep 12, 2013
When writing the interface I realized it might be a good idea to separate apply_transformation from the Alignment class. One possibility would be that the transformation object has a function transformation.apply()
js850 commentedon Sep 12, 2013
On 12/09/13 15:04, ruehle wrote:
Yes, actually, I like that idea.