Features of the free and open source toolbox MTEX for texture

Download Report

Transcript Features of the free and open source toolbox MTEX for texture

Features of the free and open source toolbox
MTEX for texture analysis
Ralf Hielscher1
1 Applied
2 Geoscience
Florian Bachmann2
David Mainprice4
Helmut Schaeben3
Functional Analysis, Technische Universit¨
at Chemnitz, Germany
Mathematics and Informatics, Technische Universit¨
at Bergakademie
Freiberg, Germany
3 G´
e osciences
Montpellier UMR 5242, Universit´
e Montpellier 2 & CNRS, France
DMG MTEX Short Course, TU Friebug, 18-22 March 2013
History of MTEX : A Texture Calculation Toolbox
1
Originally developed by Ralf Hielscher as part of this Ph.D.
thesis The Radon Transform on the Rotation Group :
Inversion and Application to Texture Analysis (2007) under
the direction of Helmut Schaeben at Technische Universit¨at
Bergakademie Freiberg, Germany.
2
The toolbox has been extended to include the analysis of 2D
and 3D EBSD data by Florian Bachmann and others.
3
The physical properties of 2nd , 3rd and 4th rank tensors have
been incorporated by David Mainprice and others.
Features of MTEX
crystal geometry: all kind of symmetries, different Euler angle
conventions, import from crystallographic information files (CIF);
pole figure data analysis: 20 data formats, data correction;
pole figure to ODF inversion: all symmetries, any sampling of pole
figures including irregular grids, incomplete and non-normalized pole
figures, ghost correction option, zero range option;
EBSD data analysis: 5 data formats, data correction;
grain detection: fabric analysis, misorientation analysis;
ODF estimation from EBSD data: automized determination of kernel
width, arbitrarily many individual orientations;
ODF analysis: modal orientations, difference ODFs, volume portions,
entropy, texture index, Fourier coefficients;
ODF modeling: any composition of uniform, unimodal, fibre and
Bingham ODFs, simulation of pole figure and individual orientation data;
material property tensors: average tensors from EBSD data and ODFs;
elasticity tensors: elastic stiffness tensor, elastic compliance tensor,
Young’s modulus, shear modulus, Poisson’s ratio, linear compressibility,
compressional and shear elastic wave velocities, velocity ratios.
Definition of a orientation distribution function
The orientation of a crystal is defined historically in texture analysis by the letter g, which is typically
characterized by a Euler angle triplet.
The orientation distribution function (ODF) of crystal orientations is defined by the volume fraction of
crystals that have the orientation with an infinitesimal orientation volume dg. The ODF (f (g)) is formally
defined by
dV
V
= f (g)dg
where
dg =
1
8π 2
sin Φdφ1dΦdφ2
where φ1,Φ,φ2 are Bunge Euler angles.
The ODF is normalized and ODF densities are expressed in multiples of the uniform density (m.u.d.). The
normalization for the ODF is defined as
Z
f (g)dg = 1
For a uniform distribution the ODF density is 1 for all orientations in the ODF, defined by
f (g)uniform ≡ 1
The strength of preferred orientation of an ODF may be expressed by the ODF ”texture index” in MTEX,
”J-index” of Bunge(1982) or ”F2” by Matthies et al.(1997) as it is a function of f (g)2
Z
Todf =
2
f (g) dg
Definition of a pole figure
A pole figure is the angular distribution function of a chosen crystal direction h in specimen coordinates.
It is defined by the volume fraction dV /V of crystals having their direction h parallel to the specimen
direction y.
dV
V
=
1
4π
Ph (y)dy
where
dy = sin αdαdβ
and
y = {α, β}
where α and β are pole figure spherical polar and azimuthal angles respectively.
The pole figure is normalized and pole figure densities are expressed in multiples of the uniform density
(m.u.d.). The normalization for the pole figure the sphere (upper and lower hemispheres) is defined as
Z
Ph (y)dy = 4π
For a uniform distribution the pole figure density is 1 for all directions on the sphere, defined by
Ph (y)uniform ≡ 1
h may be a pole to plane with Miller indices (hkl) or a direction with indices [uvw], defined in MTEX by
Miller(1,0,0,CS,’hkl’) or Miller(1,0,0,CS,’uvw’) where CS is the Crystal Symmetry.
y is vector in a specimen coordinates defined in MTEX by y = vector3D(1.0,0.0,0.0) for example for the X
specimen direction.
The strength of preferred orientation of a pole figure may be expressed by the ”texture index” defined by
Z
2
Tpf =
Ph (y) dy
Definition of an inverse pole figure
A inverse pole figure is the angular distribution function of a chosen specimen direction y in crystal
coordinates.
It is defined by the volume fraction dV /V of crystals directions h parallel to a fixed specimen direction y.
dV
V
=
1
4π
Ry (h)dh
The inverse pole figure is normalized and inverse pole figure densities are expressed in multiples of the
uniform density (m.u.d.). The normalization for the inverse pole figure the sphere (upper and lower
hemispheres) is defined as
Z
Ry (h)dh = 4π
For a uniform distribution the inverse pole figure density is 1 for all directions on the sphere, defined by
Ry (h)uniform ≡ 1
h may be a pole to plane with Miller indices (hkl) or a direction with indices [uvw], defined in MTEX by
Miller(1,0,0,CS,’hkl’) or Miller(1,0,0,CS,’uvw’) where CS is the Crystal Symmetry.
y is vector in a specimen coordinates defined in MTEX by y = vector3D(1.0,0.0,0.0) for example for the X
specimen direction.
The strength of preferred orientation of an inverse pole figure may be expressed by the ”texture index”
defined by
Z
2
Tipf =
Ry (h) dh
MTEX : The Concept
MATLAB toolbox
Fourier and numerical methods on
SO3
EBSD Data
Analysis
Pole Figure
Analysis
Pole figure inversion route to ODF
Individual orientation route to ODF
ODF
Estimation
MTEX
ODF
Modelling
Spatially referenced data in 2D or
3D EBSD...
> 1000 functions
> 20 data formats imported
Publication ready plots
Plotting
Texture
Characteristics
Batch processing
FREE ! for everyone
MTEX : Webpage an import source of information
MTEX : Not so frequently asked questions
MTEX : Issues - a contact with the development team
MTEX : Central role of Orientation Distribution Function
(ODF)
MTEX : Analyzing and Visualizing ODFs
Overview of MATLAB
1
High-level (line by line interpreter) language for technical
computing
2
A large number of mathematical functions integrated in the
language for matrix algebra, statistics, Fourier analysis, ...
3
2-D and 3-D graphics functions for visualizing data
4
Extensions using commercial or free open source toolboxes
(e.g. MTEX )
5
Functions for integrating MATLAB based algorithms with
external languages, such as C, C++, FORTRAN ...
Vectors and Matrices
Define vectors:
v
h
M
s
=
=
=
=
[1;2;3;4];
[1 2 3 4 ] ;
[[1;2] [3;4]];
1:4;
%
%
%
%
a v e r t i c a l vector
a horizontal vector
a 2 by 2 M a t r i x
t h e same a s h i n l i n e 2
Calculate with vectors:
u
w
x
u0
y
=
=
=
∗
=
5 ∗ v
u − v
u .∗ v
v , u ∗ v0
[u v]
%
%
%
%
%
m u l t i p l y v e c t o r s by a s c a l a r
s u b t r a c t two v e c t o r s
elementwise m u l t i p l i c a t i o n
inner & outer product
concatenation of vectors
Example: polar to Euclidean coordinates
x = s i n ( theta ) .∗ cos ( rho )
y = s i n ( theta ) .∗ s i n ( rho )
Vectors
Indexing by numbers:
v (1)
v ( 2 : end )
M( 2 , 1 )
M( : , 2 )
%
%
%
%
the
the
the
the
f i r s t element
l a s t three elements
bottom l e f t e l e m e n t
s e c o n d column
Indexing by conditions:
v ( v > 1 ) % a l l elements that are l a r g e r then 1
v ( u == v ) % a l l e l e m e n t s where u and v c o i n c i d e
Changing elements
v ( 1 : 3 ) = 1 % s e t the f i r s t t h r e e elements to 1
v ( v == 0 ) = [ ] % remove a l l z e r o s
MATLAB programming style - Orientation tensor 1
For a pole figure displaying one crystallographic direction h of
number (N) individual orientation pixels or grains the orientation
tensor is traditionally defined in the geological literature as:
 P
N 2
x
1  PNi i
Mij =
x
y

PiN i i
N
i xi zi
PN
xy
Pi N i 2i
y
PNi i
i yi zi

PN
xi zi
i
PN

yz 
Pi N i 2i
i zi
where r = (xi yi zi ) are direction cosines of a crystallographic
direction h in specimen coordinates r with Cartesian reference axes
X, Y and Z.
MATLAB programming style - Orientation tensor 2
The same Orientation tensor can also be formulated as a
symmetric matrix and the product of the multiplication of a vector
containing all r by its transpose:


N
M11 M12 M13
1 X T
Mij =  M12 M22 M23  =
ri ri
N
i
M13 M23 M33
where r = (xi yi zi ) are direction cosines of a crystallographic
direction h in specimen coordinates r with Cartesian reference axes
X, Y and Z.
MATLAB programming style - Orientation tensor 3
The two methods of calculation are illustrated by small MATLAB
script. The method using the formation of covariance matrix from
a column and row vector of r is 300 times faster. Efficient
programming requires adapting to the MATLAB style.
MATLAB programming style - Orientation tensor 4
An example of c-axes pole figure of ice 1h at 1171m Talos Dome
ice core, Antarctica.
Eigen-vectors (red squares) : E 1, E 2, E 3 Eigen-values (magnitudes) : EM1 > EM2 > EM3
G50 fabric analyser data courtesy of Maurine Montagnat LGGE UMR5183, CNRS / UJF Grenoble, France
Single Orientation Measurements in MTEX
Parameters of a single EBSD phase in MTEX
arbitrary as list:
crystal symmetry
specimen symmetry
list of individual orientations
phase example olivine
spatial coordinates x y
Band Contrast diffraction
signal
MAD Mean Angular
Deviation
...
Olivine in torsion: EBSD map data courtesy of Sylvie Demouchy,Montpellier
Colorcode for crystallographic directions
parallel to shear direction
Importing EBSD Data with The MTEX Import Wizard
Two ways to import
EBSD data.
TIP: Make you data folder your ”Current
folder”.
1
From command window link
Import EBSD data
2
Type in the command window
import_wizard(’EBSD’)
Formats supported by
MTEX :
*.ang TSL-EDAX
*.ctf HKL-Oxford
*.csv Oxford
*.sor LaboTEX
*.txt (Generic ASCII files
generated by user)
Importing EBSD Data - Using a script
This script was generated by the EBSD import wizard:
TIP: You can edit the name of your minerals in this file - make the names as simple as possible. Example change
’Enstatite Opx AV77’ to ’Enstatite’.
% C r y s t a l s y m m e t r i e s − d e f i n e a , b , c , a l p h a , b e t a , gamma
% and c r y s t a l d i r e c t i o n s u s e d f o r E u l e r a n g l e C a r t e s i a n r e f e r e n c e f r a m e
CS = { . . .
’ notIndexed ’ , . . .
symmetry ( ’mmm’ , [ 4 . 7 5 6 1 0 . 2 0 7 5 . 9 8 ] , ’ m i n e r a l ’ , ’ O l i v i n e ’ ) , . . .
symmetry ( ’mmm’ , [ 1 8 . 2 4 0 6 8 . 8 3 0 2 5 . 1 8 5 2 ] , ’ m i n e r a l ’ , ’ E n s t a t i t e Opx AV77 ’ ) , . . .
symmetry ( ’ 2/m ’ , [ 9 . 7 4 6 8 . 9 9 5 . 2 5 1 ] , [ 9 0 . 0 0 , 1 0 5 . 6 3 , 9 0 . 0 0 ] ∗ d e g r e e , . . .
’X | | a∗ ’ , ’Y | | b ’ , ’ Z | | c ’ , ’ m i n e r a l ’ , ’ D i o p s i d e ’ ) , . . .
symmetry ( ’m−3m ’ , ’ m i n e r a l ’ , ’ M a g n e t i t e ’ ) , . . .
symmetry ( ’m−3m ’ , ’ m i n e r a l ’ , ’ C h r o m i t e ’ ) } ;
% Sp e c i m en symmetry
SS = symmetry ( ’−1 ’ ) ;
% path to f i l e s
pname = ’ / MatLab Programs / ’
% w h i c h f i l e s t o be i m p o r t e d
fname = { [ pname ’ 920D−13. c t f ’ ] , }
% c r e a t e an EBSD v a r i a b l e c o n t a i n i n g t h e d a t a
e b s d = loadEBSD ( fname , CS , SS , ’ i n t e r f a c e ’ , ’ c t f ’ )
Visualize EBSD Data in MTEX : orientation space
Scatter plots in orientation space (Rodrigues space, axis-angle
space or Euler angle space)
% Not v e r y u s e f u l a s a x e s a r e n o t l a b e l l e d
s c a t t e r ( e b s d ( ’ O l i v i n e ’ ) , ’ AXISANGLE ’ )
s c a t t e r ( e b s d ( ’ O l i v i n e ’ ) , ’RODRIGUES ’ )
% More u s e f u l w i t h l a b e l l e d s e c t i o n s
p l o t o d f ( e b s d ( ’ O l i v i n e ’ ) , ’ s i g m a ’ , ’ SECTIONS ’ , 1 8 , ’ p o i n t s ’ , 3 2 0 7 4 4 )
Visualize EBSD Data in MTEX : specimen space
Scatter plots of pole figures: crystal direction h in specimen space r
% Olivine pole f i g u r e s
% plotting convention plotx2east
% X=E a s t Y=N o r t h Z=C e n t e r u p p e r h e m i s p h e r e
plotx2east
% s p e c i f y c r y s t a l d i r e c t i o n s h w i t h ’ h k l ’ f o r p o l e and ’ uvw ’ d i r e c t i o n s
h = [ M i l l e r ( 1 , 0 , 0 , ’ uvw ’ ) , M i l l e r ( 0 , 1 , 0 , ’ uvw ’ ) , M i l l e r ( 0 , 0 , 1 , ’ uvw ’ ) ]
f i g u r e ( ’ p o s i t i o n ’ , [ 1 0 0 100 700 3 5 0 ] )
p l o t p d f ( ebsd ( ’ O l i v i n e ’ ) , h , ’ a n t i p o d a l ’ , ’ p o i n t s ’ ,320744)
% s p e c i f y specimen d i r e c t i o n s r
% you can u s e d p r e d e f i n e d x v e c t o r , y v e c t o r o r z v e c t o r
% or d e f i n e a r b i t a r y d i r e c t i o n s with vector3d ( 1 . 0 , 0 . 0 , 0 . 0 )
r = [ vector3d ( 1 . 0 , 0 . 0 , 0 . 0 ) , vector3d ( 0 . 0 , 1 . 0 , 0 . 0 ) , vector3d ( 0 . 0 , 0 . 0 , 1 . 0 ) ]
a n n o t a t e ( r , ’ a l l ’ , ’ l a b e l ’ ,{ ’X ’ , ’Y ’ , ’ Z ’ } , ’ B a c k g r o u n d C o l o r ’ , ’w ’ )
Option : Antipodal (non-polar)
Option : Complete (polar)
Visualize EBSD Data in MTEX : crystal space
Scatter plots of inverse pole figures: specimen direction r in crystal
space h
% O l i v i n e i n v e r s e pole f i g u r e s : specimen d i r e c t i o n r i n c r y s t a l space h
% s p e c i f y specimen d i r e c t i o n s r
r = [ vector3d ( 1 . 0 , 0 . 0 , 0 . 0 ) , vector3d ( 0 . 0 , 1 . 0 , 0 . 0 ) , vector3d ( 0 . 0 , 0 . 0 , 1 . 0 ) ]
f i g u r e ( ’ p o s i t i o n ’ , [ 1 0 0 100 700 3 5 0 ] )
p l o t i p d f ( ebsd ( ’ O l i v i n e ’ ) , r , ’ a n t i p o d a l ’ , ’ p o i n t s ’ ,320744)
% specify crystal directions h
h = [ M i l l e r ( 1 , 0 , 0 , ’ uvw ’ ) , M i l l e r ( 0 , 1 , 0 , ’ uvw ’ ) , M i l l e r ( 0 , 0 , 1 , ’ uvw ’ ) ]
a n n o t a t e ( h , ’ a l l ’ , ’ l a b e l e d ’ , ’ B a c k g r o u n d C o l o r ’ , ’w ’ )
Visualize EBSD Data in MTEX : Spatial maps
Example hkl color coded orientation map
Spatial plots of EBSD data
% i p f o r i e n t a t i o n map
p l o t ( ebsd , ’ c o l o r c o d i n g ’ , ’ i p d f ’ )
% p h a s e d i s t r i b u t i o n map
p l o t ( ebsd , ’ p r o p e r t y ’ , ’ p h a s e ’ )
% d i f f r a c t e d i n t e n s i t y map
p l o t ( ebsd , ’ p r o p e r t y ’ , ’ bc ’ )
% mean a n g u l a r d e v i a t i o n e r r o r map
p l o t ( ebsd , ’ p r o p e r t y ’ , ’ mad ’ )
Color Codings: ’bunge’,’angle’,’sigma’,’ihs’,
’ipdf’,’rodriguesquat’,
’rodriguesinverse’,’euler’,’bunge2’,’hkl’
(Olivine torsion data courtesy of Sylvie Demouchy, GM, UM2, Montpellier)
Definition of a orientation distribution function
The orientation of a crystal is defined historically in texture analysis by the letter g, which is typically
characterized by a Euler angle triplet.
The orientation distribution function (ODF) of crystal orientations is defined by the volume fraction of
crystals that have the orientation with an infinitesimal orientation volume dg. The ODF is formally defined
by
dV
V
= f (g)dg
where
dg =
1
8π 2
sin Φdφ1dΦdφ2
where φ1,Φ,φ2 are Bunge Euler angles.
The ODF is normalized and ODF densities are expressed in multiples of the uniform density (m.u.d.). The
normalization for the ODF is defined as
Z
f (g)dg = 1
For a uniform distribution the ODF density is 1 for all orientations in the ODF, defined by
f (g)uniform ≡ 1
The strength of preferred orientation of an ODF may be expressed by the ODF texture index
Z
Todf =
2
f (g) dg
Calculate in the Orientation Distribution Function (ODF)
in MTEX
The ODF is central to quantitative texture analysis in MTEX
To plot contoured pole figures etc you need the ODF
The ODF is calculated using radially symmetric kernel
functions
Over 10 functions are supplied by MTEX , 2 are very
important
de la Vallee Poussin kernel for ODF, MODF,Pole figures etc
Dirichlet kernel for physical properties
ODF calculated from EBSD data in MTEX
MTEX uses radially symmetric kernel density estimation to
compute an ODF from EBSD data. The sensitive parameter of this
method is the choice of the kernel function. The kernel function is
specified by a half-width angle in orientation space (SO3) or
band-width in Fourier space, which is the maximum development
in Fourier coefficients (Lmax).
%% Calculate an ODF - Specification of kernel and half-width
odf quartz = calcODF(ebsd(’Quartz’),...
kernel(’de la Vallee Poussin’,’halfwidth’,10*degree))
%% Calculate an ODF - Default kernel and half-width
odf = calcODF(ebsd(’Quartz’))
Options:
’ kernel ’
% t h e k e r n e l t o be u s e d
( d e f a u l t − de l a V a l l e e P o u s s i n k e r n e l )
’ h a l f w i d t h ’ % h a l f −w i d t h o f t h e k e r n e l ( d e f a u l t − 10 d e g r e e s )
’ Fourier ’
% ODF r e p r e s e n t e d by i t s F o u r i e r c o e f f i c i e n t s
de la Vall´e e Poussin and Dirichlet kernels
The de La Vall´
e e Poussin is named
after the Belgian mathematician
Charles-Jean de La Vall´
e e Poussin,
who was professor of mineralogy
and geology at the Catholic
University of Louvain for 40 years !
The Dirichlet kernel is named after
the German mathematician Johann
Dirichlet who studied with the
best-known French mathematicians
Legendre, Laplace and Fourier of
his era.
Visualization of the de La Vall´e e Poussin and Dirichlet
kernels 1
The de la Vallee Poussin kernel has the unique property that for a given half-width can be described
exactly by a finite number of Fourier coefficients. This kernel is recommended for Texture analysis as it is
always positive in Orientation space and there is no truncation error in Fourier space.
The Dirichlet kernel has the unique property of being a convergent finite series in Fourier coefficients with
an integral of one. This kernel is recommended for calculating physical properties as all the Fourier
coefficients always have a value of one for a given band-width.
Both kernels with half-width of 29◦ . Band-width (BW) de la Vallee Poussin BW=12 Dirichlet BW=4
Visualization of the de la Vallee Poussin and Dirichlet
kernels 2
The de la Vallee Poussin kernel has the unique property that for a given half-width can be described
exactly by a finite number of Fourier coefficients. This kernel is recommended for Texture analysis as it is
always positive in Orientation space and there is no truncation error in Fourier space.
The Dirichlet kernel has the unique property of being a convergent finite series in Fourier coefficients with
an integral of one. This kernel is recommended for calculating physical properties as all the Fourier
coefficients always have a value of one for a given band-width.
Half-width (HW) de la Vallee Poussin HW=10◦ Dirichlet HW=29◦
Band-width (BW) de la Vallee Poussin BW=28 Dirichlet BW=4
Visualization of the orientation distribution function (ODF)
The ODF is a distribution function in orientation space. Therefore it can be represented in various ways;
Euler angles (of different types,Bunge,Roe,Matthies or combinations of them), rotation axis and angle
space, Rodrigues vector space, quaternion space ...
The most comment presentation is in Euler space for ODFs and rotation axis and angle space for
misorientation distribution function (MODF). For ODFs Bunge Euler angles (φ1,Φ,φ2) or Roe and
Matthies Euler angles (α,β,γ).
Sigma (σ) sections of a Quartz ODF where section is σ = α + γ with α = azimuth
%% Plot ODF as sigma sections
plot(odf,’SIGMA’, ’sections’,12, ’contourf’)
colorbar
Definition of a pole figure
A pole figure is the angular distribution function of a chosen crystal direction h in specimen coordinates.
It is defined by the volume fraction dV /V of crystals having their direction h parallel to the specimen
direction y.
dV
V
=
1
4π
Ph (y)dy
where
dy = sin αdαdβ
and
y = {α, β}
where α and β are pole figure spherical polar and azimuthal angles respectively.
The pole figure is normalized and pole figure densities are expressed in multiples of the uniform density
(m.u.d.). The normalization for the pole figure the sphere (upper and lower hemispheres) is defined as
Z
Ph (y)dy = 4π
For a uniform distribution the pole figure density is 1 for all directions on the sphere, defined by
Ph (y)uniform ≡ 1
h may be a pole to plane with Miller indices (hkl) or a direction with indices [uvw], defined in MTEX by
Miller(1,0,0,CS,’hkl’) or Miller(1,0,0,CS,’uvw’) where CS is the Crystal Symmetry.
y is vector in a specimen coordinates defined in MTEX by y = vector3D(1.0,0.0,0.0) for example for the X
specimen direction.
The strength of preferred orientation of a pole figure may be expressed by the pole figure texture index
defined by
Z
2
Tpf =
Ph (y) dy
Visualization of contoured pole figures
1
STEP 1 : Import the Data
% Create an EBSD variable containing the data
ebsd = loadEBSD(fname,CS,SS,’interface’,’ctf’)
2
STEP 2 : You must create an ODF to plot contoured ODF, MODF, pole figures, inverse plot figures etc
% Calculate an ODF for the mineral Olivine
odf olivine = calcODF(ebsd(’Olivine’))
3
STEP 3 : Create a list of hkls or uvws for your pole figure plot
PFs olivine hkl = [ ...
Miller(1,0,0,CS,’hkl’,’Olivine’),...
Miller(0,1,0,CS,’hkl’,’Olivine’),...
Miller(0,0,1,CS,’hkl’,’Olivine’),...
];
4
STEP 4 : Plot pole figures
% figure position vectors - [left bottom width height]
figure(’position’,[100 100 700 250])
plotpdf(odf olivine,PFs olivine hkl,...
’lower’,’resolution’,5 ∗ degree,’contourf’)
colorbar
5
STEP 5 : Save graphics file
% file name
savefigure(’/MatLab Programs/PFs LMA2−1 olivine.png’)
Options for contoured pole figures
Options:
’antipodal’ , also known as non-polar, the +hkl/+uvw and -hkl/-uvw directions (e.g. 001 and 00-1) are rotated
into the same hemisphere (NOTE default upper hemisphere, possibility to choose lower hemisphere should
appear in next version), resulting in all data is plotted in one hemisphere. This typically is the default setting
used by most frequently in texture analysis.
Alternative options:
’complete’ = whole hemisphere, plots upper and lower hemispheres.
’north’ or ’upper’ = plots data in the upper hemisphere.
’south’ or ’lower’ = plots data in the lower hemisphere.
Contouring options:
’resolution’ - resolution in degrees
’grid’,’grid res’,10*degree - add a spherical grid with resolution in degrees
’contour’ - colour/gray contour lines
’contourf’ - filled color between contours
’logarithmic’ - log scale
’gray’ - gray colour scale
’3D’ - 3D plot of pole figure(s)
Figure layout:
figure position vectors - [’left bottom width height’ ]
Contoured pole figures with default color setting
With colorbar
With option ’contour’
With colorbar and option ’logarithmic’
With options ’contour’ and ’grid’,’grid res’,10*degree
With option ’contourf’
With option ’3D’
With options ’contourf’ and ’gray’
Eigen analysis of pole figures 1
STEP 1 : Extract individual orientations from ebsd object
% Create an Orientation variable ”o” containing the individual orientations
o = get(ebsd,’orientations’,’phase’,’Olivine’)
STEP 2 : Create a vector variable containing the directions in the pole figure associated with each
orientation
% vectors of [100] directions in specimen co-ordinates
v = o * Miller(1,0,0,CS,’uvw’))
STEP 3 : Orientation tensor and eigenvalue analysis pole figure
% Use Func Orientation Tensor to calculate the Orientation Tensor ”OT”,
% Eigen-values ”value” and 3 orthogonal Eigen-vectors ”vec1,vec2,vec3”
OT,value,vec1,vec2,vec3= Func Orientation Tensor(v)
% [100] Eigen-values
EV1 100=value(1)
EV2 100=value(2)
EV3 100=value(3)
% convert Eigen-vectors to MTEX specimen co-ordinates vector3d
E1 100 = vector3d(vec1(1),vec1(2),vec1(3))
E2 100 = vector3d(vec2(1),vec2(2),vec2(3))
E3 100 = vector3d(vec3(1),vec3(2),vec3(3))
% Calculate parameters Point maximum, Girdle and Random
% see Vollmer,F.W., 1990 Geological Society of America Bulletin 102,786-791.
NORM=value(1)+value(2)+value(3)
% Point maximum
P100=(value(1)-value(2))/NORM
% Girdle
G100=(2.0*(value(2)-value(3)))/NORM
% Random
R100=(3.0*value(3))/NORM
Eigen analysis of pole figures 2
STEP 4 : Plot pole figure as points
% figure position vectors - [left bottom width height]
figure(’position’,[100 100 700 250])
plotpdf(o,Miller(1,0,0,CS,’uvw’),’complete’)
% plot Eigen-vectors
annotate([E1 100,E2 100,E3 100],’label’,’E1’,’E2’,’E3’,...
’BackgroundColor’,’w’,’markersize’,10)
STEP 5 : Save graphics file
% file name
savefigure(’/MatLab Programs/Olivine 100 eigen point plot podal.png’)
Definition of an inverse pole figure
A inverse pole figure is the angular distribution function of a chosen specimen direction y in crystal
coordinates.
It is defined by the volume fraction dV /V of crystals directions h parallel to a fixed specimen direction y.
dV
V
=
1
4π
Ry (h)dh
The inverse pole figure is normalized and inverse pole figure densities are expressed in multiples of the
uniform density (m.u.d.). The normalization for the inverse pole figure the sphere (upper and lower
hemispheres) is defined as
Z
Ry (h)dh = 4π
For a uniform distribution the inverse pole figure density is 1 for all directions on the sphere, defined by
Ry (h)uniform ≡ 1
h may be a pole to plane with Miller indices (hkl) or a direction with indices [uvw], defined in MTEX by
Miller(1,0,0,CS,’hkl’) or Miller(1,0,0,CS,’uvw’) where CS is the Crystal Symmetry.
y is vector in a specimen coordinates defined in MTEX by y = vector3D(1.0,0.0,0.0) for example for the X
specimen direction.
The strength of preferred orientation of an inverse pole figure may be expressed by the inverse pole figure
texture index defined by
Z
2
Tipf =
Ry (h) dh
Visualization of contoured inverse pole figures
1
STEP 1 : Import the Data
% Create an EBSD variable containing the data
ebsd = loadEBSD(fname,CS,SS,’interface’,’ctf’)
2
STEP 2 : You must create an ODF to plot contoured ODF, MODF, pole figures, inverse plot figures etc
% Calculate an ODF for the mineral Olivine
odf olivine = calcODF(ebsd(’Olivine’))
3
STEP 3 : Create a list of specimen directions for your inverse pole figure plot
% Sample directions in the Cartesian coordinate system are vectors
% X=100, Y=010 and Z=001 defined by the function vector3d in MTEX
% for example
IPF directions = [vector3d(1,0,0),vector3d(0,1,0),vector3d(0,0,1)]
4
STEP 4 : Plot inverse pole figures
% figure position vectors - [left bottom width height]
figure(’position’,[100 100 700 250])
plotipdf(odf olivine ,IPF directions, ...
’antipodal’,’complete’,’resolution’,5*degree)
colorbar
% add labels for (100), (010) and (001) on IPFs
annotate([Miller(1,0,0,’pole’),Miller(0,1,0,’pole’),...
Miller(0,0,1,’pole’)],’all’,’labeled’)
5
STEP 5 : Save graphics file
% file name
savefigure(’/MatLab Programs/IPFs LMA2−1 olivine.png’)
Options for contoured inverse pole figures
Options:
’antipodal’ , also known as non-polar, the +hkl/+uvw and -hkl/-uvw directions (e.g. 001 and 00-1) are rotated
into the same hemisphere (NOTE default upper hemisphere, possibility to choose lower hemisphere should
appear in next version), resulting in all data is plotted in one hemisphere. This typically is the default setting
used by most frequently in texture analysis.
Alternative options:
’complete’ = whole hemisphere, plots upper and lower hemispheres.
’north’ or ’upper’ = plots data in the upper hemisphere.
’south’ or ’lower’ = plots data in the lower hemisphere.
Contouring options:
’resolution’ - resolution in degrees
’contour’ - colour/gray contour lines
’contourf’ - filled color between contours
’logarithmic’ - log scale
’gray’ - gray colour scale
’3D’ - 3D plot of pole figure(s)
Figure layout:
figure position vectors - [’left bottom width height’ ]