pyxem / kikuchipy

Toolbox for analysis of electron backscatter diffraction (EBSD) patterns
https://kikuchipy.org
GNU General Public License v3.0
79 stars 30 forks source link

Allow pseudo-symmetry operators in ori and ori/PC refinement #598

Closed hakonanes closed 1 year ago

hakonanes commented 1 year ago

Description of the change

After dictionary indexing of the sigma phase (4/mmm) in a super duplex steel in (120, 120) patterns binned to (40, 40) with an average angular step size of 1.4 degrees in the dictionary, I discovered that some areas were indexed with two or three orientations. The two-three orientations apparently alternated at random within these areas. Although quite noisy, inspection of the unbinned patterns convinced me that the areas have a continuous orientation. Using no binning in dictionary indexing did not solve the problem. Turns out the two-three orientations in many such areas were all related by a 30 deg <001> misorientation. Refining all areas with the initial best match in the dictionary as well as the two pseudo-symmetry orientations found by applying the 30 deg <00 +/- 1> operators showed that one of these three orientations were always the best match within an area, instead of the two-three orientations provided by dictionary indexing.

This PR adds a pseudo_symmetry_ops parameter to EBSD.refine_orientation() and EBSD.refine_orientation_projection_center() where one or more Rotation can be passed. When refining each orientation, these operators are applied to each initial guess of the orientation, and the best match from these two or more refinements for each point is returned as the refined solution.

Note that the refinement time scales with the number of pseudo-symmetry operators given. Passing two operators e.g. results in refinement taking three times as long as when no operators are given.

Progress of the PR

Minimal example of the bug fix or new feature

No tutorial or example is added showing this feature for the time being, but I hope to add one in a couple of months.

For reviewers