Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add EBSDMasterPattern class #159

Merged
merged 5 commits into from
May 11, 2020

Conversation

hakonanes
Copy link
Member

@hakonanes hakonanes commented May 7, 2020

Signed-off-by: Håkon Wiik Ånes hwaanes@gmail.com

Description

Adds:

  • a EBSDMasterPattern class to store EBSD master patterns as a signal with one (beam energies) or two (both hemispheres, beam energies) navigation axes and two signal axes (px, px).
  • a reader of master patterns from EMsoft's master pattern files returned from their EMEBSDmaster.f90 program. The reader can return one projection (spherical/square Lambert), one or both hemispheres, and all or a certain energy range in the file.
  • function to figure out the correct reader from multiple readers of HDF5 files (.h5 or .hdf5 extensions) from a footprint, i.e. a HDF5 group and/or data set pattern (e.g. manufacturer, version and scan are all among the top groups for h5ebsd files).

Type of change

  • New feature (non-breaking change which adds functionality)
  • This change requires a documentation update

Progress

  • Reader of master patterns from EMsoft's master pattern HDF5 file.
  • Figure out which attributes are necessary in EBSD master pattern class.
  • Axes units.
  • Restructure documentation to accomodate multiple signal types.
  • Master pattern user guide.
  • Code is commented, particularly in hard-to-understand areas (if appropriate)
  • Tests have been written
  • Ready for review!

How has this been tested?

  • All tests pass with my change

Minimal example of the bug fix or new feature

>>> import kikuchipy as kp
>>> s = kp.load("mp_file.h5")
>>> s
<EBSDMasterPattern, title: , dimensions: (16|1001, 1001)>  # 16 beam energies
>>> s = kp.load("mp_file.h5", projection="both", hemisphere="both", energy_range=(10, 20))
>>> s
<EBSDMasterPattern, title: , dimensions: (2, 10|1001, 1001)>  # north/south hemispheres, 10 beam energies

Signed-off-by: Håkon Wiik Ånes <hwaanes@gmail.com>
@hakonanes hakonanes added enhancement New feature or request work in progress labels May 7, 2020
@coveralls
Copy link

coveralls commented May 7, 2020

Coverage Status

Coverage remained the same at 100.0% when pulling 2deff05 on hakonanes:ebsd-masterpattern-class into 0f4573e on kikuchipy:master.

@hakonanes hakonanes changed the title Set up EBSDMasterPattern class and reader for EMsoft's EBSD MP Add EBSDMasterPattern class May 7, 2020
Signed-off-by: Håkon Wiik Ånes <hwaanes@gmail.com>
Signed-off-by: Håkon Wiik Ånes <hwaanes@gmail.com>
Signed-off-by: Håkon Wiik Ånes <hwaanes@gmail.com>
Signed-off-by: Håkon Wiik Ånes <hwaanes@gmail.com>
@hakonanes hakonanes mentioned this pull request May 11, 2020
@hakonanes hakonanes merged commit cf446c2 into pyxem:master May 11, 2020
@hakonanes hakonanes deleted the ebsd-masterpattern-class branch May 11, 2020 14:25
@hakonanes hakonanes added this to the v0.2.0 milestone May 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants