mtex icon indicating copy to clipboard operation
mtex copied to clipboard

3D EBSD Features

Open ralfHielscher opened this issue 1 year ago • 0 comments

Implement full 3d support for MTEX

Important

  • [ ] compute normal directions when importing dream3d grains
  • [ ] remove dependency from matgeom
  • [x] revisit grain3d/slice

current use of MatGeom

  • [x] grain3d.isIntersected replace isBelowPlane by plane3d/dist
  • [x] grain3d/triangulate -> two possible implementations / take smallest angle first
  • [x] grain3Boundary/surface should take the code from grain2d/area

rewrite `grain3d/slice'

  • [x] consider only intersected grains
  • [x] compute edges -> tripleJunctions, incidence matrix
  • [x] compute all intersections between edges and the plane -> vertices
  • [x] compute pairs of neighboring edges
  • [x] connect to polygons
  • [x] associate the right grain id
  • [x] consider the case of not connected grains

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

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

ralfHielscher avatar Nov 08 '24 12:11 ralfHielscher