-
Notifications
You must be signed in to change notification settings - Fork 26
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 Kikuchi lines to simulations #80
Comments
Thanks for bringing this up, @dnjohnstone! I've been thinking to start looking at orix to link analysis of EBSD patterns to orientations read from vendor files, and diffsims for simulations of bands, but haven't gotten around to it... I envision detecting bands or comparing experimental to simulated patterns with KikuchiPy, while creating indexing lookup tables (to compare the bands interplanar angles with) with orix or creating the simulated patterns with diffsims. I haven't looked into this topic much, but I'm immediately thinking of these packages and resources which have models we could look into:
|
Thanks @hakonanes for all that information - I think in the first instance I'm just thinking of a very simple geometric model to draw the lines on for experimental design in (S)TEM experiments. I.e. the plan being for diffsims users to simulate a load of zone axes patterns to help them navigate tilting the sample around in the microscope. If you do start making lookup tables for Kikuchi indexing - that should be diffsims functionality rather than orix. It's what diffsims already does for transmission electron diffraction. But indeed, our longer term plan is to make diffsims depend on orix to bring that functionality through and keep anything that is crystal orientation related in orix whereas anything that is simulation based in diffsims. |
OK, then, in the short term, we have different interest. What will be most fruitful for me in my work is to read EBSD master patterns, from e.g. EMsoft, and project parts of that, corresponding to a certain orientation and pattern centre, onto my detector, and then compare these simulated patterns to my experimental patterns (what EMsoft already does, i.e. dictionary indexing, but more lightweight without terminal scripting, and directly in Python). Since I start out with a finished simulated master pattern, I will implement this projection in KikuchiPy. Or can you tell if it would fit into diffsims? Since all detector parameters and the pattern centre is in my EBSD metadata already, I envision loading a master pattern, and either indexing directly via an EBSD class method (dynamic indexing in EMsoft-speak) or creating a dictionary of simulated patterns and then indexing (static indexing). For Hough indexing, look-up tables usually mean a table of interplanar angles between pairs of crystallographic planes, i.e. not involving any simulations, only orientation computations, which I believe is orix territory? |
This is in the pipeline for kikuchipy after a Plotting plane traces, like is explained in the supplementary material for the paper Britton et al. (referenced above, https://doi.org/10.1016/j.matchar.2016.04.008), then includes a series of transformations from the unit cell to the detector. I have this more or less figured out for an EBSD detector based on that work, but haven't got a robust implementation yet. |
Should this all just go directly into diffsims? |
Did you take a look at the example in the top PR comment (pyxem/kikuchipy#197)? There is definitely overlap between the I would be interested to hear from anyone working on something for diffsims at the moment, if they would be interested? I thought of creating a |
Yep - I think everything in pyxem/kikuchipy#197 would be a better fit in diffsims in terms of where I see the modularity of packages. The kikuchipy.detectors does sound different though. Is there any issue with doing that? It would actually solve a number of issues highlighted in #104 Also, you'd get things like alternative parameterizations of electron scattering factors that we already have in diffsims, which I think are good alternatives to the ones you've used. |
I'm (softly) pro pyxem/kikuchipy#197 going into diffsims, as that seems to preserve the hyperspy/non-hyperspy distinction we have with pyxem at the moment. |
Yeah, the detectors module is a little ways off yet, we can discuss that at a later stage.
It depends on what functionality it will replace. I can set up a WIP PR with a suggestion of its place in the package structure, and then we can work out what stuff to change together.
Sorry, it's not clear to me which issues in that PR this would address? Could you give some specifics?
If you mean giving the user the option to pick from all these parametrizations, including the Doyle-Turner I've included in that PR from EMsoft, then that sounds great. It is just a good idea in general for me to put that stuff into diffsims, since it will be used more and errors will be discovered quicker. |
No HyperSpy, only |
Sorry, this wasn't clear from me at all. |
Makes perfect sense to me, I like the simple guide. |
It would replace a number of things in the current
Well in #104 one aim was to harmonize powder pattern simulations with single crystal diffraction pattern simulations. I think basing both of those off of the
Yes, that's what I mean. The current
I think basically your Also the points from @pc494 about being "hyperspy independent" is a good thing for use and re-usability I think. |
As mentioned elsewhere - I would say diffsims is the library that needs the most attention of those linked to pyxem right now, and this + removing orientation sampling would be an excellent platform for that. |
It would be nice to add Kikuchi lines to basic simulations using a simple geometric model. Perhaps starting with zone axis geometries only.
@hakonanes - don't know if you know of any packages already doing this?
The text was updated successfully, but these errors were encountered: