-
Notifications
You must be signed in to change notification settings - Fork 27
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
Scanning 3DXRD Strain refinement #339
Conversation
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
Python 2 tests are currently failing because |
@jonwright are you happy to merge as-is and we exclude |
Sure - go ahead and merge. I have the feeling that numpy V2 is going to break python 27 anyway. Probably it means skipping tests as I would like to keep a fitallb compatible code at least until we sort out the error bars on strain. Maybe that is quite close with this merge? |
Got it, merging now! Managed to skip the test. |
Summary:
We can now do point-by-point strain refinement for S3DXRD data, by implementing a method provided by @AxelHenningsson . Thanks for your help!
This works for grain maps coming from both the point-by-point indexing process and the tomographic mapping process.
PBPRefine:
This is a class to manage the point-by-point refinement process, similar to the
PBP
class.Like the PBP class, we choose some peaks for
self.icolf
which we will refine with.The class also has an input multi-valued map (
self.pbpmap
), a refinement mask (self.mask
) and a single-valued 'choice' of the multi-valued map (required for computing x origins for each grain) (self.singlemap
). For now this is computed fromPBPMap.choose_best
.Features:
self.get_origins()
: Compute origin-of-diffraction for each peak inself.icolf
self.run_refine()
: Initiate point-by-point refinement, either locally or on a cluster machine through SLURMSolves GrainMap class #278
PBPMap:
This is now a subclass of
ImageD11.columnfile.columnfile
. This solves the confusions with multi-valued data structures, ragged arrays, etc etc. in a very simple way that we were already using for the PBP refinement resultsPBP:
Other bits and bobs:
fetch_data.py
and its test accordingly)ImageD11/sinograms/geometry.py
ImageD11/sinograms/tensor_map.py
TODO:
TensorMap