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

Feature/grain3d #2015

Open
wants to merge 374 commits into
base: develop
Choose a base branch
from
Open

Feature/grain3d #2015

wants to merge 374 commits into from

Conversation

ralfHielscher
Copy link
Member

@ralfHielscher ralfHielscher commented Dec 15, 2023

Implement full 3d support for MTEX

the following functions needs to be ported

pseudo3d EBSD

  • calcTraces
  • cat should return EBSD3 if pixels are not within a single plane
  • ebsdSquare and EBSDHex should return gradientZ
  • curvature should make use of gradientZ
  • fill
  • fillByGrainId
  • findByLocation
  • gridify should work also for maps in the xz and yz plane
  • inpolygon
  • interp
  • reduce
  • selectInteractive
  • smooth
  • spatialProfile
  • calcUnitCell
  • weightedBurgersVector

pseudo3d in grain2d

  • checkInside
  • inpolygon

EBSD3

  • calcGrains
  • calcTraces
  • fill
  • fillByGrainId
  • findByLocation
  • gridify
  • interp
  • KAM
  • plot
  • plotUnitCells
  • reduce
  • smooth
  • slice
  • weightedBurgersVec

*EBSDcube

grain3d

  • grain3Boundary/misorientation, grain3Boundary/ebsdId
  • docu
  • grain3dboundary plot (allow rgb, scalar value )
  • sample data set that can be loaded with mtexdata
  • boundary normal distribution
  • grain3d/slice - plane through 3 points
  • neper returns grain3d
  • select grain by mouse in 3d
  • fitEllipse
  • indexing should be possible with "phaseName"
  • grain3d/surface
  • grain3Boundary/curvature
  • grain3/hasHole
  • grain3/isConvex
  • grain3/convHull
  • rotate grain3, grain3boundary
  • intersection should not change the id
  • grain3/intersect
  • grain3/checkInside
  • grain3/neighbours, numNeighbours
  • simulateGrains should set correct symmetry

BjaJac and others added 30 commits April 23, 2024 12:59
# Conflicts:
#	startup_mtex.m
#	tests/check_mex.m
EulerCyclesC.c: only needs the number of points instead of the entire array
Compile everything again (somehow an old version was still there)
I think rotation.map in set.east/north etc. needs a second vector pair to define the correct rotation

otherwise you can accidentally change the first screen direction when setting the other one in the constructor: 


pC = plottingConvention(vector3d.Z,-vector3d.X)
 % pC = plottingConvention
 % 
 %  outOfScreen: (0,0,-1)
 %  north      : (0,1,0) 
 %  east       : (-1,0,0)

pC.rot
% ans = rotation
%
% Bunge Euler angles in degree
% phi1  Phi phi2
%   90  180  270

pC.outOfScreen
% ans = vector3d
%   x  y  z
%   0  0 -1
% % this is wrong

% try to set outOfScreen again
pC.outOfScreen = vector3d.Z
pC.rot
% pC = plottingConvention
% 
%   outOfScreen: (0,0,1) 
%   north      : (0,-1,0)
%   east       : (-1,0,0)
% 
% ans = rotation
% 
%   Bunge Euler angles in degree
%   phi1  Phi phi2
%    180    0    0

pC.outOfScreen
% ans = vector3d
%   x y z
%   0 0 1
% this is now correct
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

grain3d
5 participants