-
Notifications
You must be signed in to change notification settings - Fork 30
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
ECPMasterPattern class and readers for ECP and TKD master patterns from EMsoft's HDF5 files #476
ECPMasterPattern class and readers for ECP and TKD master patterns from EMsoft's HDF5 files #476
Conversation
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>
The updated documentation can be viewed in the docs built off of this PR by ReadTheDocs: |
Great! thank you for the effort. I have fetched your branch and will have a play. I'll put some more thought in the methods that we need in the |
Thanks. To keep this PR on the topic of the IO plugins only, I suggest we discuss ECP functionality in #477. |
Signed-off-by: Håkon Wiik Ånes <hwaanes@gmail.com>
Two tests are failing due to #509, and the code style fails because of changes in the stable release of black (see pyxem/orix#273). |
Signed-off-by: Håkon Wiik Ånes <hwaanes@gmail.com>
Signed-off-by: Håkon Wiik Ånes <hwaanes@gmail.com>
Closed in favor of #564. |
Description of the change
EBSDMasterPattern
class to an abstractKikuchiMasterPattern
class (not to be used directly), whichEBSDMasterPattern
now is a derived class of.ECPMasterPattern
class also derived fromKikuchiMasterPattern
.EMTKDmaster.f90
andEMECPmaster.f90
programs, respectively. The TKD reader returns aEBSDMasterPattern
instance, while the ECP reader returns aECPMasterPattern
instance. All three master pattern readers, EBSD, TKD, and ECP, are derived from a private, generalizedEMsoftMasterPatternReader
class which holds all of the functionality in the old EBSD master pattern class. Thanks to EMsoft's generalized approach to their HDF5 files, this required very little extra work!The
ECPMasterPattern
class does not have other methods than rescaling/normalization of intensities yet. That is, I decided to restrict theEBSDMasterPattern.get_patterns()
to EBSD and TKD patterns. To project a part of an ECP master pattern onto a detector, we need to define a newECPDetector
. The interpolation should be the same as for EBSD/TKD patterns. For now, if it is desirable to useget_patterns()
with an ECP master pattern, one can change the signal type fromECPMasterPattern
toEBSDMasterPattern
withmp_ecp.set_signal_type("EBSDMasterPattern")
.I decided that as of now it is not necessary to create a separate
TKDMasterPattern
class, as theEBSDMasterPattern.get_patterns()
works nicely to project parts of the TKD kikuchi sphere onto a TKD detector (EBSDDetector
), as long as parameters like the sample tilt are set correctly.Note that this PR is a substantial step towards supporting dictionary indexing for TKD patterns.
@IMBalENce, I would appreciate it if you could try out my branch to:
ECPMasterPattern
.ECPMasterPattern
class should have. I haven't conducted an ECP experiment before, so I wouldn't know what would be the most useful functionality to have.See #477 for discussing ECP functionality.
Progress of the PR
ECPMasterPattern.get_patterns()
functionality. Should be done in a separate PR.KikuchiMasterPattern._is_suitable_for_projection()
method should be moved toEBSDMasterPattern
, since it shouldn't be supported for ECP master patternskikuchipy.data
module for testing and documentationoriginal_metadata
Minimal example of the bug fix or new feature
For reviewers
__init__.py
.section in
CHANGELOG.rst
.