-
Notifications
You must be signed in to change notification settings - Fork 57
New Feature: 3D CrystalMap Objects #598
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
base: develop
Are you sure you want to change the base?
Conversation
created new object `CrystalMap3D` extending from `CrystalMap`. Reintroduced `prop.z` parameter, and updates some of the coordinates functions to add support for z dimension.
Moved z/depth functionality from separate crystal_map_3d class to crystal_map. Deleted crystal_map_3d.py
added 'axis' and 'layer' parameters to plotting functionality for CrystalMap objects. Combination of axis and layer defines a 2D slice within a 3D volume to plot a 2D image of. Uses new '_xmap_slice_from_axis' function to dynamically grab 2D xmap slices.
added return definition '-> "CrystalMap"' to _xmap_slice_from_axis
|
I was looking at this PR and trying to fix the errors, and I think crystal_map.create_coordinate_arrays is transposed from the numpy-like behavior. Can you confirm? What it does (as per the docstring): This is doing the tiling column-major (Fortran style) as opposed to row-major (Numpy style). I would expect the opposite, so that it behaved like np.meshgrid:
The difference is pretty trivial for orix right now, but it matters for how the 3d ebsd is added. Here is what I think it should be corrected to, when extended to three dimensions: |
|
@smason747, check out this branch when you get time and let me know what you think. |
First pass at layer_row_col-based xmap
Description of the change
As discussed in #577, this PR is working to re-introduce the capability for ORIX to handle 3D datasets. As an initial step, I wrote a
CrystalMap3Dclass that extends from the standardCrystalMapclass and adds azvariable as a new property. In discussing this approach, it was recommended to absorb those changes intoCrystalMapitself, rather than introduce a new class. This has not yet been done at the time of submitting the PR, but opens the floor to do so. Along with updating the data structure itself, changes need to be made to the plotting functionality to plot individual slices, either for a default value if not specified, at a chosen depth, on a chosen plane (xy, yz, xz), or with an interactive slider to allow fly-through viewings. Additionally, this could be a helpful time to address any thoughts on the underlying data structure of theCrystalMapclass, as well as ensure loading of 3D files can be handled byorix.io.Progress of the PR
zfunctionality to 'CrystalMap' class, rather than create new 'CrystalMap3D' classMinimal example of the bug fix or new feature
For reviewers
__init__.py.section in
CHANGELOG.rst.__credits__inorix/__init__.pyand in.zenodo.json.