Skip to content

notes #1

Open
Open

Description

@js850

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.

  1. do we want any callbacks
  2. how to get n lowest matches, e.g. via callback?
  3. simple factory for creating exact match objects. Something like: create_exact_match(translations=True, rotations=True, permutations=False)

Activity

  1. js850 commented on Sep 11, 2013

    @js850
    MemberAuthor

    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")

  2. ruehle commented on Sep 12, 2013

    @ruehle

    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()

  3. js850 commented on Sep 12, 2013

    @js850
    MemberAuthor

    On 12/09/13 15:04, ruehle wrote:

    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).

    Yes, actually, I like that idea.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions