MTEX. an open source texture analysis toolbox. Ralf Hielscher. Belo Horizonte, TU Chemnitz, Germany

Size: px
Start display at page:

Download "MTEX. an open source texture analysis toolbox. Ralf Hielscher. Belo Horizonte, TU Chemnitz, Germany"

Transcription

1 MTEX an open source texture analysis toolbox Ralf Hielscher TU Chemnitz, Germany Belo Horizonte, 2015

2 What is MTEX? 1 a MATLAB toolbox for quantitative texture analysis 2 a scripting language 3 a tool for generating publication ready plots 4 large, well documented and exhaustively tested 5 free to use, to extend, to modify R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

3 What is MTEX? 1 a MATLAB toolbox for quantitative texture analysis 2 a scripting language 3 a tool for generating publication ready plots 4 large, well documented and exhaustively tested 5 free to use, to extend, to modify why scripts? reproducible results templates for common tasks extensively customizable batch processing of many data sets repeated calculations with different parameters R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

4 What is MTEX? 1 a MATLAB toolbox for quantitative texture analysis 2 a scripting language 3 a tool for generating publication ready plots 4 large, well documented and exhaustively tested 5 free to use, to extend, to modify ebsd = loadebsd( m y l o n i t e. t x t ) % l o a d data g r a i n s = calcgrains ( ebsd ) % r e c o n s t r u c t g r a i n s [m, i d ] = max( g r a i n s. area ) % f i n d l a r g e s t g r a i n p l o t ( g r a i n s ( i d ) ) % p l o t l a r g e s t g r a i n R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

5 What is MTEX? 1 a MATLAB toolbox for quantitative texture analysis 2 a scripting language 3 a tool for generating publication ready plots 4 large, well documented and exhaustively tested 5 free to use, to extend, to modify ebsd = loadebsd( m y l o n i t e. t x t ) ebsd = EBSD ( show methods, plot ) Phase Orientations Mineral Color Symmetry (28) Andesina light blue (31) Quartz light green -3m (2.9) Biotite light red 12/ m (38) Orthoclase cyan 12/ m1 Properties : x, y, bc, Scan unit : um mad R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

6 What is MTEX? 1 a MATLAB toolbox for quantitative texture analysis 2 a scripting language 3 a tool for generating publication ready plots 4 large, well documented and exhaustively tested 5 free to use, to extend, to modify ebsd = loadebsd( m y l o n i t e. t x t ) g r a i n s = calcgrains ( ebsd ) grains = grain2d ( show methods, plot ) Phase Grains Pixels Mineral Symmetry Andesina Quartz -3m Biotite 12/ m Orthoclase 12/ m1 Properties : GOS, meanrotation R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

7 What is MTEX? 1 a MATLAB toolbox for quantitative texture analysis 2 a scripting language 3 a tool for generating publication ready plots 4 large, well documented and exhaustively tested 5 free to use, to extend, to modify ebsd = loadebsd( m y l o n i t e. t x t ) g r a i n s = calcgrains ( ebsd ) [m, i d ] = max( g r a i n s. area ) m = e +06 id = 3369 R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

8 What is MTEX? 1 a MATLAB toolbox for quantitative texture analysis 2 a scripting language 3 a tool for generating publication ready plots 4 large, well documented and exhaustively tested 5 free to use, to extend, to modify ebsd = loadebsd( m y l o n i t e. t x t ) g r a i n s = calcgrains ( ebsd ) [m, i d ] = max( g r a i n s. area ) p l o t ( g r a i n s ( i d ) ) Quartz R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

9 What is MTEX? 1 a MATLAB toolbox for quantitative texture analysis 2 a scripting language 3 a tool for generating publication ready plots 4 large, well documented and exhaustively tested 5 free to use, to extend, to modify Max: 880 {02 21} Max: 7.89 {02 21} {02 21} Min: 0 Min: 0.01 R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

10 What is MTEX? 1 a MATLAB toolbox for quantitative texture analysis 2 a scripting language 3 a tool for generating publication ready plots 4 large, well documented and exhaustively tested 5 free to use, to extend, to modify 9 years of development 1000 functions lines of code, 33 percent comment lines 14 reference paper, about 500 citations 1500 downloads per version 1000 help pages compatible toolboxes: MSAT, PolyLx, CVA (Crystallographic Vorticity Axis analysis), Stabix, ebsdam R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

11 What is MTEX? 1 a MATLAB toolbox for quantitative texture analysis 2 a scripting language 3 a tool for generating publication ready plots 4 large, well documented and exhaustively tested 5 free to use, to extend, to modify R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

12 Feature Overview crystal geometry odf modeling pole figure measurements individual orientation measurements elastic and plastic deformations cs = loadcif ( Magnetite ) O1 = o r i e n t a t i o n ( E u l e r,90 degree,45 degree, 0, cs ) ori1 = orientation ( show methods, plot ) size : 1 x 1 crystal symmetry : Magnetite (m -3m) specimen symmetry : 1 Bunge Euler angles in degree phi1 Phi phi2 Inv R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

13 Feature Overview crystal geometry odf modeling pole figure measurements individual orientation measurements elastic and plastic deformations cs = loadcif ( Magnetite ) O1 = o r i e n t a t i o n ( E u l e r,90 degree,45 degree, 0, cs ) r = O1 M i l l e r ( 1, 1, 1, c s ) r = vector3d ( show methods, plot ) size : 1 x 1 x y z R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

14 Feature Overview crystal geometry odf modeling pole figure measurements individual orientation measurements elastic and plastic deformations cs = loadcif ( Hematite ) O2 = o r i e n t a t i o n ( E u l e r,180 degree,35 degree, 0, cs ) MO = inv (O1) O2 mori = misorientation ( show methods, plot ) size : 1 x 1 crystal symmetry : Hematite ( -3m1, X a*, Y b, Z c) crystal symmetry : Magnetite (m -3m) Bunge Euler angles in degree phi1 Phi phi2 Inv R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

15 Feature Overview crystal geometry odf modeling pole figure measurements individual orientation measurements elastic and plastic deformations odf = 0. 8 unimodalodf (O1) uniformodf ( cs ) odf = ODF ( show methods, plot ) crystal symmetry : Magnetite (m -3m) sample symmetry : triclinic Radially symmetric portion : kernel : de la Vallee Poussin, hw = 10 center : (90, 45, 0) weight : 0.8 Uniform portion : weight : 0.2 R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

16 Feature Overview crystal geometry odf modeling pole figure measurements individual orientation measurements elastic and plastic deformations p f = loadpolefigure ( Queens alu. p l f ) pf = PoleFigure ( show methods, plot ) file name : Queens_alu. plf crystal symmetry : cubic (m -3m) specimen symmetry : orthorhombic h = {111}, r = 90 x17 points h = {200}, r = 90 x17 points h = {220}, r = 90 x17 points h = {311}, r = 90 x17 points R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

17 Feature Overview crystal geometry odf modeling pole figure measurements individual orientation measurements elastic and plastic deformations p f = loadpolefigure ( Queens alu. p l f ) p l o t ( p f ) (111) (200) (220) (311) R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

18 Feature Overview crystal geometry odf modeling pole figure measurements individual orientation measurements elastic and plastic deformations odf = calcodf ( p f ) odf = ODF ( show methods, plot ) file name : Queens_alu. plf crystal symmetry : cubic sample symmetry : orthorhombic Uniform portion : weight : Radially symmetric portion : kernel : de la Vallee Poussin, hw = 4 center : 2444 orientations, resolution : 3.9 weight : R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

19 Feature Overview crystal geometry odf modeling pole figure measurements individual orientation measurements elastic and plastic deformations odf = calcodf ( p f ) plotpdf ( odf, p f. h ) (111) (200) (220) (311) R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

20 Feature Overview crystal geometry odf modeling pole figure measurements individual orientation measurements elastic and plastic deformations ebsd = loadebsd( m y l o n i t e. t x t ) ebsd = EBSD ( show methods, plot ) file name : mylonite. txt Properties : x, y Phase Orientations Mineral Symmetry Crystal reference frame Andesina -1 X a*, Z c Quartz -3m X a*, Y b, Z c* Biotite 2/ m X a*, Y b*, Z c Orthoclase 2/ m X a*, Y b*, Z c R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

21 Feature Overview crystal geometry odf modeling pole figure measurements individual orientation measurements elastic and plastic deformations ebsd = loadebsd( m y l o n i t e. t x t ) p l o t ( ebsd ) R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

22 Feature Overview crystal geometry odf modeling pole figure measurements individual orientation measurements elastic and plastic deformations g r a i n s = calcgrains ( ebsd ) grains = grain2d ( show methods, plot ) Phase Grains Mineral Symmetry Cryst. reference frame Andesina -1 X a*, Z c Quartz -3m X a*, Y b, Z c* Biotite 2/ m X a*, Y b*, Z c Orthoclase 2/ m X a*, Y b*, Z c R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

23 Feature Overview crystal geometry odf modeling pole figure measurements individual orientation measurements elastic and plastic deformations g r a i n s = calcgrains ( ebsd ) p l o t ( g r a i n s ) R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

24 Feature Overview crystal geometry odf modeling pole figure measurements individual orientation measurements elastic and plastic deformations cs = symmetry ( O l i v i n ) ; C = loadtensor ( Olivine1997PC. GPa, cs,... propertyname, e l a s t i c s t i f f n e s s, u n i t, Pa ) C = elastic stiffness tensor unit : Pa mineral : Olivin ( mmm ) R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

25 Feature Overview crystal geometry odf modeling pole figure measurements individual orientation measurements elastic and plastic deformations SeismicsMultiplot Vp (km/s) S-wave anisotropy (%) Vs1 polarization [100] [010] [001] R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

26 Design Principle - Everything is a List [ g r a i n s, ebsd. grainid, ebsd. mis2mean]= c alcgrains ( ebsd ) grains = grain2d ( show methods, plot ) Phase Grains Pixels Mineral Symmetry Cryst. ref. frame Andesina -1 X a*, Z c Quartz -3m1 X a*, Y b, Z c Biotite 12/ m1 X a, Y b*, Z c Orthoclase 12/ m1 X a*, Y b, Z c Properties : GOS, meanrotation R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

27 Design Principle - Everything is a List [ g r a i n s, ebsd. grainid, ebsd. mis2mean]= c alcgrains ( ebsd ) g r a i n s (3369) ans = grain2d ( show methods, plot ) Phase Grains Pixels Mineral Symmetry Cryst. ref. frame Quartz -3m1 X a*, Y b, Z c Id Phase Pixels GOS phi1 Phi phi R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

28 Design Principle - Everything is a List [ g r a i n s, ebsd. grainid, ebsd. mis2mean]= c alcgrains ( ebsd ) g r a i n s (3369) f o r i = 1 : length ( g r a i n s ) m2m = ebsd ( g r a i n s ( i ) ). mis2mean ; GOS( i ) = s q r t (mean( mori. angle. ˆ 2 ) ) ; end p l o t ( g r a i n s, GOS. / degree ) R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

29 Design Principle - Everything is a List [ g r a i n s, ebsd. grainid, ebsd. mis2mean]= c alcgrains ( ebsd ) g r a i n s (3369) f o r i = 1 : length ( g r a i n s ) m2m = ebsd ( g r a i n s ( i ) ). mis2mean ; GOS( i ) = s q r t (mean( mori. angle. ˆ 2 ) ) ; end p l o t ( g r a i n s, GOS. / degree ) g r a i n s (GOS > 5 degree ) ans = grain2d ( show methods, plot ) Phase Grains Pixels Mineral Symmetry Cryst. ref. frame Andesina -1 X a*, Z c Quartz -3m1 X a*, Y b, Z c Orthoclase 12/ m1 X a*, Y b, Z c Properties : GOS, meanrotation R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

30 Lists of Boundary Segments ebsd = loadebsd( CSL. t x t ) ebsd = EBSD ( show methods, plot ) Phase Orientations Mineral Symmetry (100) iron m -3m Properties : ci, Scan unit : um error, iq, x, y R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

31 Lists of Boundary Segments ebsd = loadebsd( CSL. t x t ) [ g r a i n s, ebsd. g r a i n I d ] = c a lcgrains ( ebsd ) grains = grain2d ( show methods, plot ) Phase Grains Pixels Mineral Symmetry iron m -3m Properties : GOS, meanrotation R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

32 Lists of Boundary Segments ebsd = loadebsd( CSL. t x t ) [ g r a i n s, ebsd. g r a i n I d ] = c a lcgrains ( ebsd ) g r a i n s ( 9 0 ). boundary ans = grainboundary ( show methods, plot ) Segments mineral 1 mineral 2 11 not indexed iron 111 iron iron R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

33 Lists of Boundary Segments ebsd = loadebsd( CSL. t x t ) [ g r a i n s, ebsd. g r a i n I d ] = c a lcgrains ( ebsd ) gb = g r a i n s. boundary ( i n d e x e d ) ; gb3 = gb( angle (gb. misorientation, CSL ( 3 ) ) < 3 degree ) gb3 = grainboundary ( show methods, plot ) Segments mineral 1 mineral iron iron R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

34 Lists of Boundary Segments ebsd = loadebsd( CSL. t x t ) [ g r a i n s, ebsd. g r a i n I d ] = c a lcgrains ( ebsd ) gb = g r a i n s. boundary ( i n d e x e d ) ; gb3 = gb( angle (gb. misorientation, CSL ( 3 ) ) < 3 degree ) mergedgrains = merge ( g r a i n s, gb3 ) ; R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

35 Frequency (%) Lists of Boundary Segments ebsd = loadebsd( CSL. t x t ) [ g r a i n s, ebsd. g r a i n I d ] = c a lcgrains ( ebsd ) gb = g r a i n s. boundary ( i n d e x e d ) ; gb3 = gb( angle (gb. misorientation, CSL ( 3 ) ) < 3 degree ) p l o t A n g l e D i s t r i b u t i o n (gb. m i s o r i e n t a t i o n ) iron-iron random Misorientation angle (degrees) R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

36 Lists of Boundary Segments ebsd = loadebsd( CSL. t x t ) [ g r a i n s, ebsd. g r a i n I d ] = c a lcgrains ( ebsd ) gb = g r a i n s. boundary ( i n d e x e d ) ; gb3 = gb( angle (gb. misorientation, CSL ( 3 ) ) < 3 degree ) p l o t A x i s D i s t r i b u t i o n (gb. misorientation, c o n t o u r f ) iron - iron R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

37 Lists of Boundary Segments ebsd = loadebsd( CSL. t x t ) [ g r a i n s, ebsd. g r a i n I d ] = c a lcgrains ( ebsd ) gb = g r a i n s. boundary ( i n d e x e d ) ; gb3 = gb( angle (gb. misorientation, CSL ( 3 ) ) < 3 degree ) mdf = calcmdf(gb. m i s o r i e n t a t i o n ) mdf = MDF ( show methods, plot ) crystal symmetry : iron (m -3m) crystal symmetry : iron (m -3m) Radially symmetric portion : kernel : de la Vallee Poussin, halfwidth 2.5 center : 3436 orientations, resolution : 1.2! = 35 / CSL3! = 40 /! = 50 /! = 60 / CSL CSL9 R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

38 Lists of Boundary Segments ebsd = loadebsd( CSL. t x t ) [ g r a i n s, ebsd. g r a i n I d ] = c a lcgrains ( ebsd ) gb = g r a i n s. boundary ( i n d e x e d ) ; gb3 = gb( angle (gb. misorientation, CSL ( 3 ) ) < 3 degree ) mdf = calcmdf(gb. m i s o r i e n t a t i o n ) mori = calcmodes ( mdf, 2 ) mori = misorientation ( show methods, plot ) size : 1 x 2 crystal symmetry : iron (m -3m) crystal symmetry : iron (m -3m) Bunge Euler angles in degree phi1 Phi phi2 Inv R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

39 Noisy Orientation Data R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

40 Noisy Orientation Data R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

41 Noisy Orientation Data R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

42 Noisy Orientation Data R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

43 KAM no noise δ = 0.25 δ = 0.5 δ = 0.75 δ = 1 R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

44 Basic Denoising Techniques noisy data, mean filter: first and second neighbor R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

45 Basic Denoising Techniques noisy data, mean filter: first and second neighbor median filter: first, third, and fifth neighbor R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

46 Advanced Denoising Techniques smoothing spline filter with α = 0.1, α = 0.58, and α = 5 R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

47 Advanced Denoising Techniques smoothing spline filter with α = 0.1, α = 0.58, and α = 5 half quadratic filter with α = 0.025, α = 0.1, and α = 0.5 R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

48 KAM of Denoised Data no noise no de noising α = 0.01 α = 0.04 α = 0.1 α = 0.4 α = 1 R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

49 A deformed grain R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

50 A deformed grain R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

51 A deformed grain R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

52 A deformed grain R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

53 A deformed grain R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

54 A deformed grain R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

55 Not Indexed Data R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

56 Not Indexed Data R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

57 Not Indexed Data R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

58 Not Indexed Data R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

59 Not Indexed Data R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

60 Not Indexed Data R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13

61 Announcement Chemnitz MTEX Workshop 2016 Scope: bring together old and new MTEX users to share their ideas and applications Schedule: MTEX beginners tutorial new developments in MTEX step by step introduction to specific use cases by invited speakers recent applications of MTEX Date: February 2015 Location: Chemnitz University of Technology, Germany Organizer: R. Hielscher R. Hielscher (Germany) MTEX - a texture analysis toolbox Belo Horizonte, / 13