diff --git a/images/MaParentGrainReconstruction_15.png b/images/MaParentGrainReconstruction_15.png new file mode 100644 index 000000000..268229850 Binary files /dev/null and b/images/MaParentGrainReconstruction_15.png differ diff --git a/images/SelectingGrains_16.png b/images/SelectingGrains_16.png new file mode 100644 index 000000000..8209a893d Binary files /dev/null and b/images/SelectingGrains_16.png differ diff --git a/index.md b/index.md index 515208364..4f4e6597e 100644 --- a/index.md +++ b/index.md @@ -13,7 +13,7 @@ scientists, geologists and mathematicians. ### News * MTEX Online Workshop 2021: ・ [Announcement](https://github.com/mtex-toolbox/mtex/discussions/519#discussioncomment-139964) ・ [Homepage](http://www-user.tu-chemnitz.de/~rahi/mtexWorkshop21) ・ -* MTEX 5.5.1 released: ・ [Download](https://github.com/mtex-toolbox/mtex/releases/download/mtex-5.5.1/mtex-5.5.1.zip) ・ [Release Notes](changelog.html) ・ [Installation](download) ・ +* MTEX 5.5.2 released: ・ [Download](https://github.com/mtex-toolbox/mtex/releases/download/mtex-5.5.2/mtex-5.5.2.zip) ・ [Release Notes](changelog.html) ・ [Installation](download) ・ * MTEX GUI 2.4 by J. Hiscocks released: ・ [Download](https://www.researchgate.net/profile/Jessica_Hiscocks/publication/341722714_MTEX_GUI_3pt4-_An_updated_graphical_interface_for_MTEX/data/5ed1b00e299bf1c67d274ede/MTEX-GUI-3pt4.zip) ・ [Announcment](https://www.researchgate.net/publication/341722714_MTEX_GUI_3pt4-_An_updated_graphical_interface_for_MTEX) ・ * New paper: [Gazing at crystal balls - electron backscatter diffraction indexing and cross correlation on the sphere](https://www-user.tu-chemnitz.de/~rahi/paper/gazingAtCrystalBalls.pdf) * New paper: [Denoising of Crystal Orientation Maps](https://www-user.tu-chemnitz.de/~rahi/paper/denoising.pdf) diff --git a/pages/companies/Infineon.png b/pages/companies/Infineon.png new file mode 100644 index 000000000..9704b495a Binary files /dev/null and b/pages/companies/Infineon.png differ diff --git a/pages/companies/dillinger.png b/pages/companies/dillinger.png new file mode 100644 index 000000000..35643730b Binary files /dev/null and b/pages/companies/dillinger.png differ diff --git a/pages/companies/mtu.png b/pages/companies/mtu.png new file mode 100644 index 000000000..16ac47c79 Binary files /dev/null and b/pages/companies/mtu.png differ diff --git a/pages/companies/pic/Infineon.png b/pages/companies/pic/Infineon.png new file mode 100644 index 000000000..a51bf83b2 Binary files /dev/null and b/pages/companies/pic/Infineon.png differ diff --git a/pages/companies/pic/dillinger.png b/pages/companies/pic/dillinger.png new file mode 100644 index 000000000..831a928a7 Binary files /dev/null and b/pages/companies/pic/dillinger.png differ diff --git a/pages/companies/pic/mtu.png b/pages/companies/pic/mtu.png new file mode 100644 index 000000000..544393566 Binary files /dev/null and b/pages/companies/pic/mtu.png differ diff --git a/pages/companies/pic/salzgitter.png b/pages/companies/pic/salzgitter.png new file mode 100644 index 000000000..3ff805a30 Binary files /dev/null and b/pages/companies/pic/salzgitter.png differ diff --git a/pages/companies/pic/vw.png b/pages/companies/pic/vw.png new file mode 100644 index 000000000..8ecae23f4 Binary files /dev/null and b/pages/companies/pic/vw.png differ diff --git a/pages/companies/salzgitter.png b/pages/companies/salzgitter.png new file mode 100644 index 000000000..df606bfed Binary files /dev/null and b/pages/companies/salzgitter.png differ diff --git a/pages/companies/vw.png b/pages/companies/vw.png new file mode 100644 index 000000000..14a0f4470 Binary files /dev/null and b/pages/companies/vw.png differ diff --git a/pages/documentation_matlab/ClusterDemo.html b/pages/documentation_matlab/ClusterDemo.html new file mode 100644 index 000000000..d8878cd4e --- /dev/null +++ b/pages/documentation_matlab/ClusterDemo.html @@ -0,0 +1,138 @@ +--- +title: Cluster demo +last_updated: 11-Dec-2020 +sidebar: documentation_sidebar +permalink: ClusterDemo.html +folder: documentation +toc: false +--- + + + Cluster demo + edit page
+{% highlight matlab %} +cs = crystalSymmetry('432'); +odf = unimodalODF(orientation.rand(2,cs),'halfwidth',5*degree) + + +ori = odf.discreteSample(10000) + +r = ori * Miller(1,0,0,odf.CS) + +%scatter(r) +{% endhighlight %} + +{% highlight plaintext %} +odf = ODF + crystal symmetry : 432 + + Radially symmetric portion: + kernel: de la Vallee Poussin, halfwidth 5° + center: Rotations: 2 x 1 + weight: 1 + + +ori = orientation + size: 10000 x 1 + crystal symmetry : 432 + +r = vector3d + size: 10000 x 1 +{% endhighlight %} + +{% highlight matlab %} +[cId,center] = calcCluster(r,'numCluster',12); + +plotCluster(r,cId) + +annotate(center,'add2all') +{% endhighlight %} +
+{% include inline_image.html file="ClusterDemo_01.png" %} +
+{% highlight matlab %} +r.antipodal = true + +[cId,center] = calcCluster(r,'numCluster',6); + +plotCluster(r,cId) + +annotate(center,'add2all') +{% endhighlight %} + +{% highlight plaintext %} +r = vector3d + size: 10000 x 1 + antipodal: true +{% endhighlight %} +
+{% include inline_image.html file="ClusterDemo_02.png" %} +
+{% highlight matlab %} +h = ori \ vector3d(1,2,0); + +[cId,center] = calcCluster(h,'numCluster',2); + +plotCluster(h.project2FundamentalRegion,cId,'fundamentalSector') + +annotate(center,'add2all') +{% endhighlight %} +
+{% include inline_image.html file="ClusterDemo_03.png" %} +
+{% highlight matlab %} +[cId,center] = calcCluster(ori,'numCluster',2,'method','hierarchical'); + +plotCluster(r,cId) + +annotate(center * Miller(1,0,0,ori.CS),'add2all') +{% endhighlight %} +
+{% include inline_image.html file="ClusterDemo_04.png" %} +
+{% highlight matlab %} +[cId,center] = calcCluster(ori,'numCluster',2,'method','odf'); + +plotCluster(r,cId) + +annotate(center * Miller(1,0,0,ori.CS),'add2all') +{% endhighlight %} + +{% highlight plaintext %} +... +{% endhighlight %} +
+{% include inline_image.html file="ClusterDemo_05.png" %} +
+{% highlight matlab %} +% compute the full distance matrix +d = angle_outer(r,r); +d(d<0.01) = 0; +%d = d(triu(true(size(d)),1)); +d = squareform(d); + + +% use the statistic toolbox +z = linkage(d,'single'); + +%cId = cluster(z,'cutoff',30*degree); +cId = cluster(z,'maxclust',12); + +plotCluster(r,cId) +{% endhighlight %} + +{% highlight matlab %} +function plotCluster(r,cId,varargin) + +scatter(r(cId==1),'MarkerFaceColor',ind2color(1),varargin{:}) +hold on +for i = 2:max(cId) + scatter(r(cId==i),'add2all','MarkerFaceColor',ind2color(i),varargin{:}) +end +hold off +end +{% endhighlight %} +
\ No newline at end of file diff --git a/pages/documentation_matlab/CrystalDirections.html b/pages/documentation_matlab/CrystalDirections.html index b9cf5179b..7aad1a3aa 100644 --- a/pages/documentation_matlab/CrystalDirections.html +++ b/pages/documentation_matlab/CrystalDirections.html @@ -1,6 +1,6 @@ --- title: Miller Indices -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: documentation_sidebar permalink: CrystalDirections.html folder: documentation @@ -11,7 +11,7 @@ Miller Indices + -->Miller Indices edit page

Miller indices are used to describe directions with respect to the crystal reference system.

Crystal Lattice Directions

Since lattice directions are always subject to a certain crystal reference frame, the starting point for any crystal direction is the definition of a variable of type crystalSymmetry.

{% highlight matlab %} cs = crystalSymmetry('triclinic',[5.29,9.18,9.42],[90.4,98.9,90.1]*degree,... diff --git a/pages/documentation_matlab/EBSDReferenceFrame.html b/pages/documentation_matlab/EBSDReferenceFrame.html index 49bd03fa4..8e6e71497 100644 --- a/pages/documentation_matlab/EBSDReferenceFrame.html +++ b/pages/documentation_matlab/EBSDReferenceFrame.html @@ -1,6 +1,6 @@ --- title: Reference Frame Alignment -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: documentation_sidebar permalink: EBSDReferenceFrame.html folder: documentation @@ -11,7 +11,7 @@ Reference Frame Alignment + -->Reference Frame Alignment edit page

The most important difference between MTEX and many other EBSD software is that in MTEX the Euler angle reference is always the map reference frame. This mean the \(x\) and \(z\) axes of the map are exactly the rotation axes of the Euler angles.

In case the map coordinates and the Euler angles in your data are with respect to different reference frames it is highly recommendet to correct for this while importing the data into MTEX. This section explains in detail how to do this.

On Sreen Orientation of the EBSD Map

Many peoply are concerned when the images produced by MTEX are not aligned exactly as they are in their commercial software. It is indeed very important to understand exactly the alignment of you data. However, the important point is not whether a map is upside down on you screen or not. The important point is how your map alignes with the specimen, as we want to use the map to describe properties of the specimen.

There are basicaly two components in an EBSD data set that refers to the specimen reference frame: the spatial coordinates \(x\), \(y\) and the Euler angles \(\phi_1\), \(\Phi\), \(\phi_2\). To explain the difference have a look at the EDAX export dialog

{% include inline_image.html file="edax_coordinate_systems.png" %}

Here we have the axes \(x\) and \(y\) which describe how the map coordinates needs to be interpreted and the axes \(A_1\), \(A_2\), \(A_3\) which describe how the Euler angles, and in consequence, the pole figures needs to be interpreted. We see that in non of these settings the map reference system coincides with the Euler angle reference frame.

This situation is not specific to EDAX but occurs as well with EBSD data from Oxford or Bruker, all of them using different reference system alignments. For that reason MTEX stronly recommends to transform the data such that both map coordinates and Euler angles refer to the same coordinate system.

Doing this we have two choices:

  1. transfrom everything to the reference system \(x\), \(y\) using the option 'convertEuler2SpatialReferenceFrame'. This will keep the map coordinates while changing the Euler angles
  2. transfrom everything to the reference system \(A_1\), \(A_2\), \(A_3\) using the option 'convertSpatial2EulerReferenceFrame'. This will keep the Euler angles while changing the map coordinates.

In the case of EDAX data imported from an *.ang file we still need to specify the export option used by the EDAX software. This is done by the options 'setting 1', 'setting 2', 'setting 3' or 'setting 4'.

Since setting 2 is default for most EDAX exports a typical command for importing data from an ang file would look like this

diff --git a/pages/documentation_matlab/EBSDSelect.html b/pages/documentation_matlab/EBSDSelect.html index 306ef65d2..97c01bc09 100644 --- a/pages/documentation_matlab/EBSDSelect.html +++ b/pages/documentation_matlab/EBSDSelect.html @@ -1,6 +1,6 @@ --- title: Select EBSD data -last_updated: 20-Nov-2020 +last_updated: 15-Dec-2020 sidebar: documentation_sidebar permalink: EBSDSelect.html folder: documentation @@ -11,8 +11,8 @@ Select EBSD data - edit page

In this section we discuss how to select specific EBSD data by certain properties. Let us first import some example EBSD data. and plot the raw data

+ -->Select EBSD data + edit page

In this section we discuss how to select specific EBSD data by certain properties. Let us first import some example EBSD data using the command mtexdata.

{% highlight matlab %} mtexdata forsterite {% endhighlight %} diff --git a/pages/documentation_matlab/GrainSmoothing.html b/pages/documentation_matlab/GrainSmoothing.html index 4dcd9718d..072a6b185 100644 --- a/pages/documentation_matlab/GrainSmoothing.html +++ b/pages/documentation_matlab/GrainSmoothing.html @@ -1,6 +1,6 @@ --- title: Grain Boundary Smoothing -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: documentation_sidebar permalink: GrainSmoothing.html folder: documentation @@ -11,7 +11,7 @@ Grain Boundary Smoothing + -->Grain Boundary Smoothing edit page

EBSD data is usually acquired on a regular grid. Hence, even over a finite number of grid points, all possible grain boundary directions can not be uniquely represented. One way of overcoming this problem - and also allowing to compute grid-independent curvatures and grain boundary directions - is the interpolation of grain boundary coordinates using grains.smooth.

Proper smoothing has an influence on measures such as total grain boundary length, grain boundary curvature, triple point angles or grain boundary directions among others.

While we used grains.smooth before, here we will illustrate the different options.

{% highlight matlab %} mtexdata csl diff --git a/pages/documentation_matlab/MaParentGrainReconstruction.html b/pages/documentation_matlab/MaParentGrainReconstruction.html index 274ded509..424197b24 100644 --- a/pages/documentation_matlab/MaParentGrainReconstruction.html +++ b/pages/documentation_matlab/MaParentGrainReconstruction.html @@ -1,6 +1,6 @@ --- title: Martensite Parent Grain Reconstruction -last_updated: 15-Nov-2020 +last_updated: 11-Dec-2020 sidebar: documentation_sidebar permalink: MaParentGrainReconstruction.html folder: documentation @@ -11,7 +11,7 @@ Martensite Parent Grain Reconstruction + -->Martensite Parent Grain Reconstruction edit page

This script demonstrates the tools MTEX offers to reconstruct a parent austenite phase from a measured martensite phase. Most of the ideas are from Crystallography, Morphology, and Martensite Transformation of Prior Austenite in Intercritically Annealed High-Aluminum Steel by Tuomo Nyyssönen. We shall use the following sample data set.

{% highlight matlab %} % load the data @@ -39,8 +39,6 @@ {% endhighlight %} {% highlight plaintext %} -saving data to /home/hielscher/mtex/master/data/martensite.mat - ebsd = EBSD Phase Orientations Mineral Color Symmetry Crystal reference frame @@ -67,16 +65,18 @@ {% endhighlight %} {% highlight plaintext %} --> Convergence reached after 17 iterations +-> Refinement stopped at maximum number of iterations: 100 without convergence {% endhighlight %} -

Beside the optimized parent to child orientation relationship the command calcParent2Child returns as a second output argument the misfit between all grain to grain misorientations and the theoretical child to child misorientations. In fact, the algorithm assumes that the majority of all boundary misorientations are child to child misorientations and finds the parent to child orientations relationship by minimizing this misfit. The following histogram displays the distribution of the misfit over all grain to grain misorientations.

+
+{% include inline_image.html file="MaParentGrainReconstruction_02.png" %} +

Beside the optimized parent to child orientation relationship the command calcParent2Child returns as a second output argument the misfit between all grain to grain misorientations and the theoretical child to child misorientations. In fact, the algorithm assumes that the majority of all boundary misorientations are child to child misorientations and finds the parent to child orientations relationship by minimizing this misfit. The following histogram displays the distribution of the misfit over all grain to grain misorientations.

{% highlight matlab %} close all histogram(fit./degree) xlabel('disorientation angle') {% endhighlight %}
-{% include inline_image.html file="MaParentGrainReconstruction_02.png" %} +{% include inline_image.html file="MaParentGrainReconstruction_03.png" %}

We may also colorize the grain boundaries according to this misfit. To this end we first compute the relationship between pairs of grains grainPairs and the boundary segments stored in grains.boundary using the command selectByGrainId

{% highlight matlab %} [gB,pairId] = grains.boundary.selectByGrainId(grainPairs); @@ -94,7 +94,7 @@ setColorRange([0,5]) {% endhighlight %}
-{% include inline_image.html file="MaParentGrainReconstruction_03.png" %} +{% include inline_image.html file="MaParentGrainReconstruction_04.png" %}

We observe that the boundary segments with a large misfit form large grain shapes which we want to identify in the next steps as the parent grains.

Create a similarity matrix

Next we set up a adjacency matrix A that describes the probability that two neighbouring grains belong to the same parent grains. This probability is computed from the misfit of the misorientation between two child grains to the theoretical child to child misorientation. More precisely, we model the probability by a cumulative Gaussian distribution with the mean value threshold which describes the misfit at which the probability is exactly 50 percent and the standard deviation tol

{% highlight matlab %} omega = linspace(0,5)*degree; @@ -107,7 +107,7 @@ ylabel('probability') {% endhighlight %}
-{% include inline_image.html file="MaParentGrainReconstruction_04.png" %} +{% include inline_image.html file="MaParentGrainReconstruction_05.png" %}

The above diagram describes the probability distribution as a function of the misfit. After filling the matrix A with these probabilities

{% highlight matlab %} % compute the probabilities @@ -138,7 +138,7 @@ hold off {% endhighlight %}
-{% include inline_image.html file="MaParentGrainReconstruction_05.png" %} +{% include inline_image.html file="MaParentGrainReconstruction_06.png" %}

Compute parent grain orientations

In the next step we compute for each parent grain its parent austenite orientation. This can be done usig the command calcParent. Note, that we ensure that at least two child grains have been merged and that the misfit is smaller than 5 degree.

{% highlight matlab %} % the measured child orientations @@ -171,7 +171,7 @@ plot(parentGrains('Iron fcc'),parentGrains('Iron fcc').meanOrientation) {% endhighlight %}
-{% include inline_image.html file="MaParentGrainReconstruction_06.png" %} +{% include inline_image.html file="MaParentGrainReconstruction_07.png" %}

Compute Child Variants

Knowing the parent grain orientations we may compute the |variantId| of each child grain using the command calcChildVariant. As a bonus this command returns also the packetId, here defined as the closest {111} plane in austenite to the (011) plane in martensite.

{% highlight matlab %} % compute variantId and packetId @@ -191,7 +191,7 @@ hold off {% endhighlight %}
-{% include inline_image.html file="MaParentGrainReconstruction_07.png" %} +{% include inline_image.html file="MaParentGrainReconstruction_08.png" %}

In order to check our parent grain reconstruction we chose the single parent grain outlines in the above map and plot all child variants of its reconstructed parent orientation together with the actually measured child orientations inside the parent grain.

{% highlight matlab %} % the measured child orientations that belong to parent grain 279 @@ -210,12 +210,12 @@ {% endhighlight %} {% highlight plaintext %} -I'm plotting 416 random orientations out of 4906 given orientations +I'm plotting 416 random orientations out of 1060 given orientations You can specify the the number points by the option "points". The option "all" ensures that all data are plotted {% endhighlight %}
-{% include inline_image.html file="MaParentGrainReconstruction_08.png" %} +{% include inline_image.html file="MaParentGrainReconstruction_09.png" %}

So far our analysis was at the grain level. However, once parent grain orientations have been computed we may also use them to compute parent orientations of each pixel in our original EBSD map. To this end we first find pixels that now belong to an austenite grain.

{% highlight matlab %} % consider only martensite pixels that now belong to austenite grains @@ -229,7 +229,7 @@ plot(parentEBSD('Iron fcc'),parentEBSD('Iron fcc').orientations,'figSize','large') {% endhighlight %}
-{% include inline_image.html file="MaParentGrainReconstruction_09.png" %} +{% include inline_image.html file="MaParentGrainReconstruction_10.png" %}

As a second output argument we obtain the misfit between the parent orientation computed for the pixel and the mean orientation of the corresponding parent grain. Let's plot this misfit as a map.

{% highlight matlab %} plot(parentEBSD(isNowFCC),fit ./ degree,'figSize','large') @@ -237,7 +237,7 @@ mtexColorbar {% endhighlight %}
-{% include inline_image.html file="MaParentGrainReconstruction_10.png" %} +{% include inline_image.html file="MaParentGrainReconstruction_11.png" %}

Denoise the parent map

Finaly we may apply filtering to the parent map to fill non indexed or not reconstructed pixels. To this end we first run grain reconstruction on the parent map

{% highlight matlab %} [parentGrains, parentEBSD.grainId] = calcGrains(parentEBSD('indexed'),'angle',3*degree); @@ -254,7 +254,7 @@ hold off {% endhighlight %}
-{% include inline_image.html file="MaParentGrainReconstruction_11.png" %} +{% include inline_image.html file="MaParentGrainReconstruction_12.png" %}

and then use the command smooth to fill the holes in the reconstructed parent map

{% highlight matlab %} % fill the holes @@ -270,7 +270,7 @@ hold off {% endhighlight %}
-{% include inline_image.html file="MaParentGrainReconstruction_12.png" %} +{% include inline_image.html file="MaParentGrainReconstruction_13.png" %}

Summary of relevant thresholds

In the above script several parameters are decisive for the success of the reconstruction

  • threshold for initial grain segmentation (3 degree)
  • theshold (2 degree), tolerance (1.5 degree) and inflation power (p = 1.6) of the Markovian clustering algorithm
  • maximum misfit within a parent grain (5 degree)
  • minimum number of merged child grains

Triple Point Based Analysis

A problem of the boundary based reconstuction algorithm is that often child variants of different grains have a misorientation that is close to the theoretical child to child misorientation. One idea to overcome this problem is to analyze triple junctions. Now all three child orientations must fit to a common parent orientations. This fit is computed by the command calcParent.

{% highlight matlab %} % extract child orientations at triple junctions @@ -295,7 +295,7 @@ hold off {% endhighlight %}
-{% include inline_image.html file="MaParentGrainReconstruction_13.png" %} +{% include inline_image.html file="MaParentGrainReconstruction_14.png" %}

Again we observe, that triple junctions with large misfit outline the shape of the parent grains. In order to identify these parent grains we proceed analogously as for the boundary based analysis. We first set up a similarity matrix between grains connected to the same triple points and than use the Markovian clustering algorithm to detect clusters of child grains, which are than merged into parent grains.

Create a similarity matrix and reconstruct parent grains

The setup and the clustering of the similarity matrix is the same as above

{% highlight matlab %} threshold = 3*degree; @@ -330,5 +330,5 @@ hold off {% endhighlight %}
-{% include inline_image.html file="MaParentGrainReconstruction_14.png" %} +{% include inline_image.html file="MaParentGrainReconstruction_15.png" %}
\ No newline at end of file diff --git a/pages/documentation_matlab/OrientationFibre.html b/pages/documentation_matlab/OrientationFibre.html index 502b15bd8..6ea17cdca 100644 --- a/pages/documentation_matlab/OrientationFibre.html +++ b/pages/documentation_matlab/OrientationFibre.html @@ -1,6 +1,6 @@ --- title: Fibres of Orientations -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: documentation_sidebar permalink: OrientationFibre.html folder: documentation @@ -11,7 +11,7 @@ Fibres of Orientations + -->Fibres of Orientations edit page

A fibre in orientation space is essentially a line connecting two orientations and can be represented in MTEX by a single variable of type fibre. To illustrate the definition of a fibre we first define cube and goss orientation

{% highlight matlab %} % define crystal and specimen symmetry diff --git a/pages/documentation_matlab/PiezoElectricity.html b/pages/documentation_matlab/PiezoElectricity.html index 06135cb66..0a424a26e 100644 --- a/pages/documentation_matlab/PiezoElectricity.html +++ b/pages/documentation_matlab/PiezoElectricity.html @@ -1,6 +1,6 @@ --- title: The Piezoelectricity Tensor -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: documentation_sidebar permalink: PiezoElectricity.html folder: documentation @@ -11,7 +11,7 @@ The Piezoelectricity Tensor + -->The Piezoelectricity Tensor edit page

In this chapter we discuss how to compute and visualize piezoellectirc properties. At first, let us import some piezoelectric contents for a quartz specimen.

{% highlight matlab %} CS = crystalSymmetry('32', [4.916 4.916 5.4054], 'X||a*', 'Z||c', 'mineral', 'Quartz'); diff --git a/pages/documentation_matlab/RotationDefinition.html b/pages/documentation_matlab/RotationDefinition.html index 014669fc1..eb263a6b5 100644 --- a/pages/documentation_matlab/RotationDefinition.html +++ b/pages/documentation_matlab/RotationDefinition.html @@ -1,6 +1,6 @@ --- title: Defining Rotations -last_updated: 20-Nov-2020 +last_updated: 15-Dec-2020 sidebar: documentation_sidebar permalink: RotationDefinition.html folder: documentation @@ -11,15 +11,132 @@ Defining Rotations - edit page

In this section we describe many different ways to define or to describe rotations. In the end however, every description results in an variable of type rotation.rotation.html.

Euler Angles

One of the most common ways to describe a rotation is as three subsequent rotations about fixed axes, e.g., first around the z axis, second around the x axis and third again around the z. The corresponding rotational angles are commonly called Euler angles. As for the axes different conventions are in use. Sorted by popularity in the texture analysis community these are

  • Bunge (phi1,Phi,phi2) - ZXZ
  • Matthies (alpha,beta,gamma) - ZYZ
  • Roe (Psi,Theta,Phi)
  • Kocks (Psi,Theta,phi)
  • Canova (omega,Theta,phi)

The default Euler angle convention in MTEX are the Bunge Euler angles, with axes Z, X, and Z. The following command defines a rotation by its three Bunge Euler angles

+ -->Defining Rotations + edit page

MTEX offers the following functions to define rotations

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+

+ + rotation.byEuler + +

+
+

+ + rotation.byAxisAngle + +

+
+

+ + rotation.byMatrix + +

+
+

+ + rotation.byRodrigues + +

+
+

+ + rotation.byHomochoric + +

+
+

+ + rotation(quat) + +

+
+

+ + rotation.id + +

+
+

+ + rotation.map + +

+
+

+ + rotation.fit + +

+
+

+ + rotation.rand + +

+
+

+ + odf.discreteSample + +

+
+

+ + rotation.nan + +

+
+

+ + rotation.load + +

+
+

+ + rotation.inversion + +

+
+

+ + rotation.mirroring + +

+
+

At the end all functions return a variable of type rotation.rotation.html which represents a list of rotations that are internaly stored as quaternions. An overview of different rotation representations by three dimensional vectors and their properties can be found in the section Representations.

Euler Angles

One of the most common ways to describe a rotation is as three subsequent rotations about fixed axes, e.g., first around the z axis, second around the x axis and third again around the z. The corresponding rotational angles are commonly called Euler angles. Beside the most common ZXZ covention other choices of the axes are sometimes used. Sorted by popularity in the texture analysis community these are

  • Bunge (phi1,Phi,phi2) - ZXZ
  • Matthies (alpha,beta,gamma) - ZYZ
  • Roe (Psi,Theta,Phi)
  • Kocks (Psi,Theta,phi)
  • Canova (omega,Theta,phi)

The default Euler angle convention in MTEX are the Bunge Euler angles, with axes Z, X, and Z. The following command defines a rotation by its three Bunge Euler angles

{% highlight matlab %} rot = rotation.byEuler(30*degree,50*degree,10*degree) {% endhighlight %} {% highlight plaintext %} rot = rotation - size: 1 x 1 Bunge Euler angles in degree phi1 Phi phi2 Inv. @@ -32,7 +149,6 @@ {% highlight plaintext %} rot = rotation - size: 1 x 1 Bunge Euler angles in degree phi1 Phi phi2 Inv. @@ -46,7 +162,6 @@ {% highlight plaintext %} rot = rotation - size: 1 x 1 Roe Euler angles in degree Psi Theta Phi Inv. @@ -60,7 +175,6 @@ {% highlight plaintext %} rot = rotation - size: 1 x 1 Bunge Euler angles in degree phi1 Phi phi2 Inv. @@ -73,7 +187,6 @@

Axis angle parametrisation and Rodrigues Frank vector

A very s {% highlight plaintext %} rot = rotation - size: 1 x 1 Bunge Euler angles in degree phi1 Phi phi2 Inv. @@ -87,7 +200,6 @@

Axis angle parametrisation and Rodrigues Frank vector

A very s {% highlight plaintext %} ans = vector3d - size: 1 x 1 x y z 1 0 0 ans = @@ -102,7 +214,6 @@

Axis angle parametrisation and Rodrigues Frank vector

A very s {% highlight plaintext %} R = vector3d - size: 1 x 1 x y z 0.267949 0 0 ans = @@ -115,7 +226,6 @@

Axis angle parametrisation and Rodrigues Frank vector

A very s {% highlight plaintext %} ans = rotation - size: 1 x 1 Bunge Euler angles in degree phi1 Phi phi2 Inv. @@ -139,7 +249,6 @@

Rotation Matrix

Another common way to represent rotations is b {% highlight plaintext %} rot = rotation - size: 1 x 1 Bunge Euler angles in degree phi1 Phi phi2 Inv. @@ -158,7 +267,6 @@

Four vectors defining a rotation

Another useful method to def {% highlight plaintext %} rot = rotation - size: 1 x 1 Bunge Euler angles in degree phi1 Phi phi2 Inv. @@ -166,18 +274,36 @@

Four vectors defining a rotation

Another useful method to def {% endhighlight %}

The above definition require that the angle between u1 and u2 is the same as between v1 and v2. The function gives an error if this condition is not meet. If only two vectors are specified, then the rotation with the smallest angle is returned that rotates the first vector onto the second one.

{% highlight matlab %} -rot = rotation.map(xvector,yvector) +rot = rotation.map(zvector,yvector) {% endhighlight %} {% highlight plaintext %} rot = rotation - size: 1 x 1 Bunge Euler angles in degree phi1 Phi phi2 Inv. - 90 0 0 0 + 180 90 180 0 +{% endhighlight %} +

More generaly, one can fit a rotation rot to a list of left and right vectors l and r such that rot * l is the best approximation of r. This is done by the function rotation.fit

+{% highlight matlab %} +% take five random left vectors +left = vector3d.rand(5); + +% rotate them by rot and perturbe them a little bit +right = rot * left + 0.1 * vector3d.rand(1,5); + +% recover the rotation rot +rotation.fit(left,right) +{% endhighlight %} + +{% highlight plaintext %} +ans = rotation + + Bunge Euler angles in degree + phi1 Phi phi2 Inv. + 182.205 88.7813 182.998 0 {% endhighlight %} -

Logarithm, Exponential Mapping, Spin Tensor

TODO

+

Radom Rotations

MTEX offers several ways for generating random rotations. In the most

Logarithm, Exponential Mapping, Spin Tensor

TODO

{% highlight matlab %} S = spinTensor(rot) @@ -190,22 +316,20 @@

Logarithm, Exponential Mapping, Spin Tensor

TODO

S = spinTensor rank: 2 (3 x 3) - 0 -1.5708 0 - 1.5708 0 0 0 0 0 + 0 0 1.5708 + 0 -1.5708 0 ans = rotation - size: 1 x 1 Bunge Euler angles in degree phi1 Phi phi2 Inv. - 90 0 0 0 + 180 90 180 0 ans = vector3d - size: 1 x 1 - x y z - 0 0 1.5708 + x y z + -1.5708 0 0 {% endhighlight %} {% highlight matlab %} @@ -216,39 +340,31 @@

Logarithm, Exponential Mapping, Spin Tensor

TODO

{% highlight plaintext %} v = vector3d - size: 1 x 1 - x y z - 0 0 1.5708 + x y z + -1.5708 0 0 ans = rotation - size: 1 x 1 Bunge Euler angles in degree phi1 Phi phi2 Inv. - 90 0 0 0 + 180 90 180 0 {% endhighlight %} -

Quaternions

A last possibility to describe a rotation is by quaternions given by components a, b, c, d.

+

Quaternions

A last possibility to define a rotation is by quaternion coordinates a, b, c, d.

{% highlight matlab %} -q = quaternion(rot) -{% endhighlight %} +q = quaternion(1,0,0,0) -{% highlight plaintext %} -q = quaternion - size: 1 x 1 - a b c d - 0.707107 0 0 0.707107 -{% endhighlight %} -

Actually, MTEX represents internally every rotation as a quaternion. To transform a quaternion back into a rotation do

-{% highlight matlab %} rot = rotation(q) {% endhighlight %} {% highlight plaintext %} +q = quaternion + a b c d + 1 0 0 0 + rot = rotation - size: 1 x 1 Bunge Euler angles in degree phi1 Phi phi2 Inv. - 90 0 0 0 + 0 0 0 0 {% endhighlight %}
\ No newline at end of file diff --git a/pages/documentation_matlab/RotationFit.html b/pages/documentation_matlab/RotationFit.html new file mode 100644 index 000000000..9721d960b --- /dev/null +++ b/pages/documentation_matlab/RotationFit.html @@ -0,0 +1,40 @@ +--- +title: script_RotationFit +last_updated: 15-Dec-2020 +sidebar: documentation_sidebar +permalink: RotationFit.html +folder: documentation +toc: false +--- + + + script_RotationFit + edit page

Fitting a rotation to vectors

+{% highlight matlab %} +rot = rotation.rand + +left = vector3d.rand(3); +right = rot * left; + + +rotation.fit(left,right) +{% endhighlight %} + +{% highlight plaintext %} +rot = rotation + + Bunge Euler angles in degree + phi1 Phi phi2 Inv. + 38.2379 104.784 71.3226 0 + + +ans = rotation + + Bunge Euler angles in degree + phi1 Phi phi2 Inv. + 38.2379 104.784 71.3226 0 +{% endhighlight %} +
\ No newline at end of file diff --git a/pages/documentation_matlab/S2FunApproximationInterpolation.html b/pages/documentation_matlab/S2FunApproximationInterpolation.html index 338b0ff07..6a570bf66 100644 --- a/pages/documentation_matlab/S2FunApproximationInterpolation.html +++ b/pages/documentation_matlab/S2FunApproximationInterpolation.html @@ -1,6 +1,6 @@ --- title: Spherical Approximation and Interpolation -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: documentation_sidebar permalink: S2FunApproximationInterpolation.html folder: documentation @@ -11,7 +11,7 @@ Spherical Approximation and Interpolation + -->Spherical Approximation and Interpolation edit page

On this page, we want to cover the topic of function approximation from discrete values on the sphere. To simulate this, we have stored some nodes and corresponding function values which we can load. The csv-file contains the \(x\)-, \(y\)-, and \(z\)-component of the nodes and the function value in the fourth column. Lets import these data using the function load

{% highlight matlab %} fname = fullfile(mtexDataPath, 'vector3d', 'smiley.csv'); diff --git a/pages/documentation_matlab/S2FunBingham.html b/pages/documentation_matlab/S2FunBingham.html new file mode 100644 index 000000000..d5a61b805 --- /dev/null +++ b/pages/documentation_matlab/S2FunBingham.html @@ -0,0 +1,107 @@ +--- +title: The Spherical Bingham Distribution +last_updated: 11-Dec-2020 +sidebar: documentation_sidebar +permalink: S2FunBingham.html +folder: documentation +toc: false +--- + + + The Spherical Bingham Distribution + edit page

The Bingham distribution on the sphere is an antipodal symmetric distribution (Bingham, 1974) with a probabiliy density function given by

\[p_{b}(\hat{x}\vert AKA^T) = \frac{1}{F(\kappa_{1},\kappa_{2},\kappa_{3})}exp (\hat{x}^T AZA^T \hat{x})\]

where \(A\) is an orthognal covariance matrix, and \(Z\) a concentration matrix with \(diag(\kappa_{1},\kappa_{2},\kappa_{3})\) with \(\kappa_{1} < \kappa_{2} < \kappa_{3}\).

In mtex \(Z\) is given by Z = [k1,k2,k3] with k3 = 0 and \(A\) is given by three orthognal vectors.

Bingham, C., An Antipodally Symmetric Distribution on the Sphere, The Annals of Statistics Vol. 2, No. 6 (Nov., 1974), pp. 1201-1225

+{% highlight matlab %} +% A simple example: +Z = [-10 -4 0] +a = rotation.rand(1).*vector3d([xvector yvector zvector]) +bs2 = BinghamS2(Z,a); +plot(bs2) +{% endhighlight %} + +{% highlight plaintext %} +Z = + -10 -4 0 + +a = vector3d + size: 1 x 3 + x y z + 0.378676 -0.248204 0.891627 + -0.0436466 -0.967087 -0.250673 + 0.9245 0.0560074 -0.377046 +{% endhighlight %} +
+{% include inline_image.html file="S2FunBingham_01.png" %} +

Meaning of \(Z\)

\(k1 = k2\) defines a rotationally symmetric point maximum and \(k2 = 0\) defines a girdle distribution.

+{% highlight matlab %} +close +kappa = [0 4 8 12 24]; +mtexFig = newMtexFigure('layout',[length(kappa) length(kappa)]); +for k2 = kappa + for k1 = kappa + if k1 >= k2 + bs=BinghamS2([-k1 -k2 0]); + plot(bs,'colorRange',[0,25],'TR',['\(\kappa_1\):' num2str(k1)],'BR',['\(\kappa_2\): ' num2str(k2)],'doNotDraw') + nextAxis + else + nextAxis + end + end +end +CLim(mtexFig,'equal') +mtexFig.drawNow; +{% endhighlight %} +
+{% include inline_image.html file="S2FunBingham_02.png" %} +

Drawing a random sample of the Bingham distribution

+{% highlight matlab %} +close +v = bs2.discreteSample(500) +plot(bs2) +hold on +plot(v,'MarkerFaceColor','k') +hold off +{% endhighlight %} + +{% highlight plaintext %} +v = vector3d + size: 500 x 1 + antipodal: true +{% endhighlight %} +
+{% include inline_image.html file="S2FunBingham_03.png" %} +

Estimating a spherical Bingham distribution from discrete data

Given arbitrarily scattered data v on the sphere we can estimate the best fitting Bingham distribution by

+{% highlight matlab %} +% estimate a Bingham distribution +bs = BinghamS2.fit(v,'confElli',0.99) +{% endhighlight %} + +{% highlight plaintext %} +bs = BinghamS2 +{% endhighlight %} +

Lets plot the fitted distribution with the data

+{% highlight matlab %} +plot(bs) +hold on +plot(v,'MarkerFaceColor','Black') +hold off +{% endhighlight %} +
+{% include inline_image.html file="S2FunBingham_04.png" %} +

Under the assumption of sufficiently many and sufficently concetrated data we may also estimate a confidence ellipse for the mean direction (default p = 0.95). The center of the ellipse is given by the largest principle vector stored in bs.a(3)

+{% highlight matlab %} +annotate(bs.a(3),'MarkerFaceColor','red','MarkerSize',10) +{% endhighlight %} +
+{% include inline_image.html file="S2FunBingham_05.png" %} +

The orientation of the ellipse is specified by all the principle vectors bs.a and the a and b axes are computed by the command cEllipse

+{% highlight matlab %} +% annotate the ellipse +ellipse(rotation('matrix',bs.a.xyz'),bs.cEllipse(1),bs.cEllipse(2), ... + 'linewidth',2,'lineColor','r','linestyle','-.') +{% endhighlight %} +
+{% include inline_image.html file="S2FunBingham_06.png" %} +
\ No newline at end of file diff --git a/pages/documentation_matlab/SelectingGrains.html b/pages/documentation_matlab/SelectingGrains.html new file mode 100644 index 000000000..c22a56640 --- /dev/null +++ b/pages/documentation_matlab/SelectingGrains.html @@ -0,0 +1,334 @@ +--- +title: Selecting Grains +last_updated: 15-Dec-2020 +sidebar: documentation_sidebar +permalink: SelectingGrains.html +folder: documentation +toc: false +--- + + + Selecting Grains + edit page

In this section we discuss how to select grains by properties. We start our discussion by reconstructing the grain structure from a sample EBSD data set.

+{% highlight matlab %} +% load sample EBSD data set +mtexdata forsterite silent + +% restrict it to a subregion of interest. +ebsd = ebsd(inpolygon(ebsd,[5 2 10 5]*10^3)); + +% remove all not indexed pixels +ebsd = ebsd('indexed'); + +% reconstruct grains +[grains, ebsd.grainId] = calcGrains(ebsd,'angle',5*degree); + +% smooth them +grains = smooth(grains,5); + +% plot the orientation data of the Forsterite phase +plot(ebsd('fo'),ebsd('fo').orientations) + +% plot the grain boundary on top of it +hold on +plot(grains.boundary,'lineWidth',2) +hold off +{% endhighlight %} +
+{% include inline_image.html file="SelectingGrains_01.png" %} +

Selecting grains by mouse

The most easiest way to select a grain is by using the mouse and the command selectInteractive which allows you to select an arbitrary amount of grains. The index of the selected grains appear as the global variable indSelected in your workspace

+{% highlight matlab %} +selectInteractive(grains,'lineColor','gold') + +% this simulates a mouse click +pause(0.1) +simulateClick(9000,3500) +pause(0.1) + +global indSelected; +grains(indSelected) + +hold on +plot(grains(indSelected).boundary,'lineWidth',4,'lineColor','gold') +hold off +{% endhighlight %} + +{% highlight plaintext %} +ans = grain2d + + Phase Grains Pixels Mineral Symmetry Crystal reference frame + 1 1 323 Forsterite mmm + + boundary segments: 107 + inner boundary segments: 0 + triple points: 10 + + Id Phase Pixels GOS phi1 Phi phi2 + 94 1 323 0.00796443 131 64 250 +{% endhighlight %} +
+{% include inline_image.html file="SelectingGrains_02.png" %} +

Indexing by orientation or position

One can also to select a grain by spatial coordinates without user interaction. This is done using the syntax grains(x,y), i.e.,

+{% highlight matlab %} +x = 12000; y = 4000; + +hold on +plot(grains(x,y).boundary,'linewidth',4,'linecolor','blue') + +plot(x,y,'marker','s','markerfacecolor','k',... + 'markersize',10,'markeredgecolor','w') +hold off +{% endhighlight %} +
+{% include inline_image.html file="SelectingGrains_03.png" %} +

Alternatively one can also select all grains with a certain orientation. Lets find all grains with a similar orientation as the one marked in gold. As threshold we shall use 20 degree

+{% highlight matlab %} +% select grains by orientation +grains_selected = grains.findByOrientation(grains(indSelected).meanOrientation,20*degree) + +hold on +plot(grains_selected.boundary,'linewidth',4,'linecolor','gold') +hold off +{% endhighlight %} + +{% highlight plaintext %} +grains_selected = grain2d + + Phase Grains Pixels Mineral Symmetry Crystal reference frame + 1 4 524 Forsterite mmm + + boundary segments: 204 + inner boundary segments: 0 + triple points: 23 + + Id Phase Pixels GOS phi1 Phi phi2 + 26 1 1 0 130 68 258 + 62 1 181 0.00699418 131 64 245 + 94 1 323 0.00796443 131 64 250 + 123 1 19 0.0103622 144 74 250 +{% endhighlight %} +
+{% include inline_image.html file="SelectingGrains_04.png" %} +

Indexing by a Property

In order the generalize the above concept lets remember that the variable grains is essentially a large vector of grains. Thus when applying a function like area to this variable we obtain a vector of the same lenght with numbers representing the area of each grain

+{% highlight matlab %} +grain_area = grains.area; +{% endhighlight %} +

As a first rather simple application we could colorize the grains according to their area, i.e., according to the numbers stored in grain_area

+{% highlight matlab %} +plot(grains,grain_area) +{% endhighlight %} +
+{% include inline_image.html file="SelectingGrains_05.png" %} +

As a second application, we can ask for the largest grain within our data set. The maximum value and its position within a vector are found by the Matlab command max.

+{% highlight matlab %} +[max_area,max_id] = max(grain_area) +{% endhighlight %} + +{% highlight plaintext %} +max_area = + 4.1013e+06 +max_id = + 208 +{% endhighlight %} +
+{% include inline_image.html file="SelectingGrains_06.png" %} +

The number max_id is the position of the grain with a maximum area within the variable grains. We can access this specific grain by direct indexing

+{% highlight matlab %} +grains(max_id) +{% endhighlight %} + +{% highlight plaintext %} +ans = grain2d + + Phase Grains Pixels Mineral Symmetry Crystal reference frame + 1 1 1545 Forsterite mmm + + boundary segments: 295 + inner boundary segments: 0 + triple points: 31 + + Id Phase Pixels GOS phi1 Phi phi2 + 208 1 1545 0.0129689 167 81 251 +{% endhighlight %} +

and so we can plot it

+{% highlight matlab %} +hold on +plot(grains(max_id).boundary,'linecolor','red','linewidth',4) +hold off +{% endhighlight %} +
+{% include inline_image.html file="SelectingGrains_07.png" %} +

Note that this way of addressing individual grains can be generalized to many grains. E.g. assume we are interested in the largest 5 grains. Then we can sort the vector grain_area and take the indices of the 5 largest grains.

+{% highlight matlab %} +[sorted_area,sorted_id] = sort(grain_area,'descend'); + +large_grain_id = sorted_id(2:5); + +hold on +plot(grains(large_grain_id).boundary,'linecolor','Orange','linewidth',4) +hold off +{% endhighlight %} +
+{% include inline_image.html file="SelectingGrains_08.png" %} +

Indexing by a Condition

By the same syntax as above we can also single out grains that satisfy a certain condition. I.e., to access are grains that are at least one quarter as large as the largest grain we can do

+{% highlight matlab %} +condition = grain_area > max_area/4; + +hold on +plot(grains(condition).boundary,'linecolor','Yellow','linewidth',4) +hold off +{% endhighlight %} +
+{% include inline_image.html file="SelectingGrains_09.png" %} +

This is a very powerful way of accessing grains as the condition can be build up using any grain property. As an example let us consider the phase. The phase of the first five grains we get by

+{% highlight matlab %} +grains(1:5).phase +{% endhighlight %} + +{% highlight plaintext %} +ans = + 2 + 1 + 1 + 1 + 2 +{% endhighlight %} +

Now we can access or grains of the first phase Forsterite by the condition

+{% highlight matlab %} +condition = grains.phase == 1; +plot(grains(condition)) +{% endhighlight %} +
+{% include inline_image.html file="SelectingGrains_10.png" %} +

To make the above more directly you can use the mineral name for indexing

+{% highlight matlab %} +grains('forsterite') +{% endhighlight %} + +{% highlight plaintext %} +ans = grain2d + + Phase Grains Pixels Mineral Symmetry Crystal reference frame + 1 118 14093 Forsterite mmm + + boundary segments: 3541 + inner boundary segments: 14 + triple points: 257 + + Properties: GOS, meanRotation +{% endhighlight %} +

Logical indexing allows also for more complex queries, e.g. selecting all grains perimeter larger than 6000 and at least 600 measurements within

+{% highlight matlab %} +condition = grains.perimeter>6000 & grains.grainSize >= 600; + +selected_grains = grains(condition) + +plot(selected_grains) +{% endhighlight %} + +{% highlight plaintext %} +selected_grains = grain2d + + Phase Grains Pixels Mineral Symmetry Crystal reference frame + 1 4 5248 Forsterite mmm + + boundary segments: 875 + inner boundary segments: 0 + triple points: 79 + + Id Phase Pixels GOS phi1 Phi phi2 + 99 1 1448 0.0134157 166 127 259 + 119 1 1047 0.00765478 89 99 224 + 122 1 1208 0.00807919 153 68 237 + 208 1 1545 0.0129689 167 81 251 +{% endhighlight %} +
+{% include inline_image.html file="SelectingGrains_11.png" %} +

The grainId and how to select EBSD inside specific grains

Besides, the list of grains the command calcGrains returns also two other output arguments.

+{% highlight matlab %} +plot(grains) +largeGrains = grains(grains.grainSize > 50); + +text(largeGrains,largeGrains.id) +{% endhighlight %} +
+{% include inline_image.html file="SelectingGrains_12.png" %} +

The second output argument grainId is a list with the same size as the EBSD measurements that stores for each measurement the corresponding grainId. The above syntax stores this list directly inside the ebsd variable. This enables MTEX to select EBSD data by grains. The following command returns all the EBSD data that belong to grain number 33.

+{% highlight matlab %} +ebsd(grains(33)) +{% endhighlight %} + +{% highlight plaintext %} +ans = EBSD + + Phase Orientations Mineral Color Symmetry Crystal reference frame + 3 1 (100%) Diopside Goldenrod 12/m1 X||a*, Y||b*, Z||c + + Id Phase phi1 Phi phi2 bands bc bs error mad x y grainId + 37553 3 80 16 152 7 65 113 0 0.7 11000 2550 33 + Scan unit : um +{% endhighlight %} +

and is equivalent to the command

+{% highlight matlab %} +ebsd(ebsd.grainId == 33) +{% endhighlight %} + +{% highlight plaintext %} +ans = EBSD + + Phase Orientations Mineral Color Symmetry Crystal reference frame + 3 1 (100%) Diopside Goldenrod 12/m1 X||a*, Y||b*, Z||c + + Id Phase phi1 Phi phi2 bands bc bs error mad x y grainId + 37553 3 80 16 152 7 65 113 0 0.7 11000 2550 33 + Scan unit : um +{% endhighlight %} +

The following picture plots the largest grains together with its individual orientation measurements.

+{% highlight matlab %} +plot(ebsd(grains(max_id)),ebsd(grains(max_id)).orientations) +hold on +plot(grains(max_id).boundary,'lineWidth',2) +hold off +{% endhighlight %} +
+{% include inline_image.html file="SelectingGrains_13.png" %} +

Boundary grains

Sometimes it is desirable to remove all boundary grains as they might distort grain statistics. To do so one should remember that each grain boundary has a property grainId which stores the ids of the neigbouring grains. In the case of an outer grain boundary, one of the neighbouring grains has the id zero. We can filter out all these boundary segments by

+{% highlight matlab %} +% ids of the outer boundary segment +outerBoundary_id = any(grains.boundary.grainId==0,2); + +% plot the outer boundary segments +plot(grains) +hold on +plot(grains.boundary(outerBoundary_id),'linecolor','red','linewidth',2) +hold off +{% endhighlight %} +
+{% include inline_image.html file="SelectingGrains_14.png" %} +

Now grains.boundary(outerBoundary_id).grainId is a list of grain ids where the first column is zero, indicating the outer boundary, and the second column contains the id of the boundary grain. Hence, it remains to remove all grains with these ids.

+{% highlight matlab %} +% next we compute the corresponding grain_id +grain_id = grains.boundary(outerBoundary_id).grainId; + +% remove all zeros +grain_id(grain_id==0) = []; + +% and plot the boundary grains +plot(grains(grain_id)) +{% endhighlight %} +
+{% include inline_image.html file="SelectingGrains_15.png" %} +

finally, we could remove the boundary grains by

+{% highlight matlab %} +grains(grain_id) = [] +{% endhighlight %} +

However, boundary grains can be selected more easily be the command isBoundary.

+{% highlight matlab %} +plot(grains(~grains.isBoundary)) +{% endhighlight %} +
+{% include inline_image.html file="SelectingGrains_16.png" %} +
\ No newline at end of file diff --git a/pages/documentation_matlab/SigmaSections.html b/pages/documentation_matlab/SigmaSections.html index 2ce361bea..073fea014 100644 --- a/pages/documentation_matlab/SigmaSections.html +++ b/pages/documentation_matlab/SigmaSections.html @@ -1,6 +1,6 @@ --- title: Sigma Sections -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: documentation_sidebar permalink: SigmaSections.html folder: documentation @@ -11,7 +11,7 @@ Sigma Sections + -->Sigma Sections edit page

Although \(\varphi_2\) sections are most common to represent orientation distribution functions they heavily suffer from geometrical distortions of the orientation space. Lets illustrate this at a simple example. The following \(\varphi_2\) sections represent a hexagonal ODF composod from several unimodal components

{% highlight matlab %} % the ODF is defined at the bottom of this script to be secret during the first read :) diff --git a/pages/documentation_matlab/TiBetaReconstruction.html b/pages/documentation_matlab/TiBetaReconstruction.html index c4ff705a3..209628b75 100644 --- a/pages/documentation_matlab/TiBetaReconstruction.html +++ b/pages/documentation_matlab/TiBetaReconstruction.html @@ -1,6 +1,6 @@ --- title: Parent Beta Phase Reconstruction in Titanium Alloys -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: documentation_sidebar permalink: TiBetaReconstruction.html folder: documentation @@ -11,7 +11,7 @@ Parent Beta Phase Reconstruction in Titanium Alloys + -->Parent Beta Phase Reconstruction in Titanium Alloys edit page

In this section we discuss parent grain reconstruction at the example of a titanium alloy. Lets start by importing a sample data set

{% highlight matlab %} mtexdata alphaBetaTitanium diff --git a/pages/documentation_matlab/TiltAndTwistBoundaries.html b/pages/documentation_matlab/TiltAndTwistBoundaries.html index ddb8cc106..b4c7816bf 100644 --- a/pages/documentation_matlab/TiltAndTwistBoundaries.html +++ b/pages/documentation_matlab/TiltAndTwistBoundaries.html @@ -1,6 +1,6 @@ --- title: Tilt and Twist Boundaries -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: documentation_sidebar permalink: TiltAndTwistBoundaries.html folder: documentation @@ -11,7 +11,7 @@ Tilt and Twist Boundaries + -->Tilt and Twist Boundaries edit page

If a material deforms through the movement of dislocations, rearrangement of dislocations to a low-energy configuration may happen during deformation (i.e. in slow, geologic deformation) or or afterwards (in many metals). In any case, the arrangement of dislocation walls can lead to so-called subgrains boundaries. If such a boundary is composed of edge dislocations, it is called a tilt boundary and the rotation axis relating both parts of the grain at each side can be expected to be within the boundary plane (ideally parallel to the edge dislocation line). If the boundary is composed of screw dislocations, the rotation axis should be normal to the boundary. Between those end-members, there are general boundaries where the rotation axis is not easily related to the type of dislocations unless further information is available.

In this chapter we discuss the computation of the misorientation axes at subgrain boundaries and discuss whether they vote for twist or tilt boundaries. We start by importing an sample EBSD data set and computing all subgrain boundaries as it is described in more detail in the chapter Subgrain Boundaries.

{% highlight matlab %} % load some test data diff --git a/pages/documentation_matlab/changelog.html b/pages/documentation_matlab/changelog.html index debb612a0..94801ffba 100644 --- a/pages/documentation_matlab/changelog.html +++ b/pages/documentation_matlab/changelog.html @@ -1,6 +1,6 @@ --- title: MTEX Changelog -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: documentation_sidebar permalink: changelog.html folder: documentation @@ -11,8 +11,8 @@ MTEX Changelog - edit page

MTEX 5.5.1 12/2020

  • fixes incompatibilities with Matlab versions earlier then 2019b

MTEX 5.5.0 11/2020

Orientation Embeddings

Orientational embeddings are tensorial representations of orientations with the specific property that each class of symmetrically equivalent orientations has a unique tensor representation. In contrast to the well known representation by Rodrigues vectors those embeddings do not suffer from boundary effects, i.e., the Euclidean distance between the tensors is always close to the misorientation angle. This allows to lift any method that works for multivariate data to orientations. More details of this representation can be found in the chaper orientation embeddings and the paper

  • R. Hielscher, L. Lippert, Isometric Embeddings of Quotients of the Rotation Group Modulo Finite Symmetries, arXiv:2007.09664, 2020.

Low Angle Boundaries

With MTEX 5.5 we make low angle grain boundary analsis much more straight forward by allowing to pass to the command calcGrains two thresholds, i.e.,

+ -->MTEX Changelog + edit page

MTEX 5.5.2 12/2020

  • fixes incompatibilities with Matlab versions earlier then 2019b
  • for compatibility reasons MTEX does by default not make use of openMP. You can gain additional speed by switching on openMP in the file mtex_settings.m

MTEX 5.5.0 11/2020

Orientation Embeddings

Orientational embeddings are tensorial representations of orientations with the specific property that each class of symmetrically equivalent orientations has a unique tensor representation. In contrast to the well known representation by Rodrigues vectors those embeddings do not suffer from boundary effects, i.e., the Euclidean distance between the tensors is always close to the misorientation angle. This allows to lift any method that works for multivariate data to orientations. More details of this representation can be found in the chaper orientation embeddings and the paper

  • R. Hielscher, L. Lippert, Isometric Embeddings of Quotients of the Rotation Group Modulo Finite Symmetries, arXiv:2007.09664, 2020.

Low Angle Boundaries

With MTEX 5.5 we make low angle grain boundary analsis much more straight forward by allowing to pass to the command calcGrains two thresholds, i.e.,

{% highlight matlab %} grains = calcGrains(ebsd,'threshold',[10*degree 1*degree]) {% endhighlight %} diff --git a/pages/download/download.md b/pages/download/download.md index 1141b6c2c..f2720cd49 100644 --- a/pages/download/download.md +++ b/pages/download/download.md @@ -25,7 +25,7 @@ In case you experience any problems, especiall on Mac OSX, have a look at our File Name ||| Release Date||| Comments ||| Downloads :-|-|-|:-|-|-|:-|-|-|- -[**mtex-5.5.1.zip**](https://github.com/mtex-toolbox/mtex/releases/download/mtex-5.5.1/mtex-5.5.1.zip) ||| December 2020 ||| resolves compatibility issues with older Matlab versions, [changelog](changelog.html) ||| ![](https://img.shields.io/github/downloads/mtex-toolbox/mtex/mtex-5.5.1/total?color=%23FFFFFF&label=%20&logoColor=%23FFFFFF&style=flat-square)  +[**mtex-5.5.2.zip**](https://github.com/mtex-toolbox/mtex/releases/download/mtex-5.5.2/mtex-5.5.2.zip) ||| December 2020 ||| resolves compatibility issues with older Matlab versions, [changelog](changelog.html) ||| ![](https://img.shields.io/github/downloads/mtex-toolbox/mtex/mtex-5.5.2/total?color=%23FFFFFF&label=%20&logoColor=%23FFFFFF&style=flat-square)  [**mtex-5.5.0.zip**](https://github.com/mtex-toolbox/mtex/releases/download/mtex-5.5.0/mtex-5.5.0.zip) ||| November 2020 ||| low angle grain boundary analysis, orientation embeddings, [changelog](changelog.html) ||| ![](https://img.shields.io/github/downloads/mtex-toolbox/mtex/mtex-5.5.0/total?color=%23FFFFFF&label=%20&logoColor=%23FFFFFF&style=flat-square)  [**mtex-5.4.0.zip**](https://github.com/mtex-toolbox/mtex/releases/download/mtex-5.4.0/mtex-5.4.0.zip) ||| July 2020 ||| parent grain reconstruction, [changelog](changelog.html) ||| 2767 [**mtex-5.3.1.zip**](https://github.com/mtex-toolbox/mtex/releases/download/mtex-5.3.1/mtex-5.3.1.zip) ||| June 2020 ||| bug fixes, boundary curvature, [changelog](changelog.html) ||| 1051 diff --git a/pages/function_reference_matlab/BinghamS2.fit.html b/pages/function_reference_matlab/BinghamS2.fit.html new file mode 100644 index 000000000..59c915a36 --- /dev/null +++ b/pages/function_reference_matlab/BinghamS2.fit.html @@ -0,0 +1,74 @@ +--- +title: fit +last_updated: 11-Dec-2020 +sidebar: function_reference_sidebar +permalink: BinghamS2.fit.html +folder: function_reference +toc: false +--- + + + fit + edit page

function to fit Bingham parameters

Description

confidence ellipse for the mean direction based on Tanaka (1999) https://doi.org/10.1186/BF03351601

Syntax

+{% highlight matlab %} +BS2 = BinghamS2.fit(v) +{% endhighlight %} +

Input

+ + + + + +
+ v + + vector3d +
+

Output

+ + + + + +
+ BS2 + + BinghamS2 +
+

Options

+ + + + + +
+ ConfElli + + confidence level p (default at 0.95) +
+

Example

+{% highlight matlab %} +% simulate some directions +odf = unimodalODF(quaternion.id,'halfwidth',10*degree); +N = 100; +v = odf.discreteSample(N) .* ... +rotation.byAxisAngle(vector3d.X,rand(N,1)*2*pi) * vector3d.Y; +{% endhighlight %} + +{% highlight plaintext %} +Warning: Possibly applying an orientation to an object in specimen +coordinates! +{% endhighlight %} + +{% highlight matlab %} +% fit a Bingham distribution +S2F = BinghamS2.fit(v) +{% endhighlight %} + +{% highlight plaintext %} +S2F = BinghamS2 +{% endhighlight %} +
\ No newline at end of file diff --git a/pages/function_reference_matlab/EBSD.calcGrains.html b/pages/function_reference_matlab/EBSD.calcGrains.html index 33d93a178..443f49582 100644 --- a/pages/function_reference_matlab/EBSD.calcGrains.html +++ b/pages/function_reference_matlab/EBSD.calcGrains.html @@ -1,6 +1,6 @@ --- title: calcGrains -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: EBSD.calcGrains.html folder: function_reference @@ -11,7 +11,7 @@ calcGrains + -->calcGrains edit page

grains reconstruction from 2d EBSD data

Syntax

{% highlight matlab %} grains = calcGrains(ebsd,'angle',10*degree) diff --git a/pages/function_reference_matlab/EBSD.export_ctf.html b/pages/function_reference_matlab/EBSD.export_ctf.html index 9b7302896..5f43efbda 100644 --- a/pages/function_reference_matlab/EBSD.export_ctf.html +++ b/pages/function_reference_matlab/EBSD.export_ctf.html @@ -1,6 +1,6 @@ --- title: export_ctf -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: EBSD.export_ctf.html folder: function_reference @@ -11,7 +11,7 @@ export_ctf + -->export_ctf edit page

Syntax

{% highlight matlab %} export_ctf(ebsd,fileName) diff --git a/pages/function_reference_matlab/EBSD.extend.html b/pages/function_reference_matlab/EBSD.extend.html index 1badb4c76..02b05ecd2 100644 --- a/pages/function_reference_matlab/EBSD.extend.html +++ b/pages/function_reference_matlab/EBSD.extend.html @@ -1,6 +1,6 @@ --- title: extend -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: EBSD.extend.html folder: function_reference @@ -11,7 +11,7 @@ extend + -->extend edit page

spatial bounds of an EBSD map

Syntax

{% highlight matlab %} [xmin, xmax, ymin, ymax] = extend(ebsd) diff --git a/pages/function_reference_matlab/EBSD.fill.html b/pages/function_reference_matlab/EBSD.fill.html index a107056ba..12574e23f 100644 --- a/pages/function_reference_matlab/EBSD.fill.html +++ b/pages/function_reference_matlab/EBSD.fill.html @@ -1,6 +1,6 @@ --- title: fill -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: EBSD.fill.html folder: function_reference @@ -11,7 +11,7 @@ fill + -->fill edit page

fill EBSD data by nearest neighbour

Syntax

{% highlight matlab %} ebsd_filled = fill(ebsd) diff --git a/pages/function_reference_matlab/EBSD.smooth.html b/pages/function_reference_matlab/EBSD.smooth.html index 91e84938d..865149fe2 100644 --- a/pages/function_reference_matlab/EBSD.smooth.html +++ b/pages/function_reference_matlab/EBSD.smooth.html @@ -1,6 +1,6 @@ --- title: smooth -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: EBSD.smooth.html folder: function_reference @@ -11,7 +11,7 @@ smooth + -->smooth edit page

smooth spatial EBSD

Syntax

{% highlight matlab %} ebsd = smooth(ebsd) diff --git a/pages/function_reference_matlab/EBSD.subsind.html b/pages/function_reference_matlab/EBSD.subsind.html index d3185cd7d..80ddc8bef 100644 --- a/pages/function_reference_matlab/EBSD.subsind.html +++ b/pages/function_reference_matlab/EBSD.subsind.html @@ -1,6 +1,6 @@ --- title: subsind -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: EBSD.subsind.html folder: function_reference @@ -11,7 +11,7 @@ subsind + -->subsind edit page

subindexing of EBSD data

Syntax

{% highlight matlab %} ind = subsind(ebsd,subs) diff --git a/pages/function_reference_matlab/EBSDhex.EBSDhex.html b/pages/function_reference_matlab/EBSDhex.EBSDhex.html index fd59a8caa..a17470c16 100644 --- a/pages/function_reference_matlab/EBSDhex.EBSDhex.html +++ b/pages/function_reference_matlab/EBSDhex.EBSDhex.html @@ -1,6 +1,6 @@ --- title: EBSDhex -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: EBSDhex.EBSDhex.html folder: function_reference @@ -11,7 +11,7 @@ EBSDhex + -->EBSDhex edit page

EBSD data on a hexagonal grid. In contrast to arbitrary EBSD data the values are stored in a matrix.

Syntax

{% highlight matlab %} ebsd = EBSDhex(rot,phaseId,phaseMap,CSList,dHex,isRowAlignment,varargin) diff --git a/pages/function_reference_matlab/MLSSolver.MLSSolver.html b/pages/function_reference_matlab/MLSSolver.MLSSolver.html index 4b3ebc56e..0a40d9454 100644 --- a/pages/function_reference_matlab/MLSSolver.MLSSolver.html +++ b/pages/function_reference_matlab/MLSSolver.MLSSolver.html @@ -1,6 +1,6 @@ --- title: MLSSolver -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: MLSSolver.MLSSolver.html folder: function_reference @@ -11,7 +11,7 @@ MLSSolver + -->MLSSolver edit page

The class MLSSolver implements the modified least squares solver for reconstructing an ODF from arbitrarily scattered pole figure intensities. The resulting ODF is represented as a weighted sum of unimodal components. The shape and the number of component centers can be specified. The algorithm is explained in detail in A novel pole figure inversion method: specification of the MTEX algorithm, Hielscher, Schaeben: J. of Appl. Cryst., 41(6), 2008.

Syntax

{% highlight matlab %} solver = MLSSolver(pf,'resolution',5*degree,'halfwidth',7.5*degree); diff --git a/pages/function_reference_matlab/MLSSolver.calcODF.html b/pages/function_reference_matlab/MLSSolver.calcODF.html index 8c437a2e4..a8878a05e 100644 --- a/pages/function_reference_matlab/MLSSolver.calcODF.html +++ b/pages/function_reference_matlab/MLSSolver.calcODF.html @@ -1,6 +1,6 @@ --- title: calcODF -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: MLSSolver.calcODF.html folder: function_reference @@ -11,7 +11,7 @@ calcODF + -->calcODF edit page

apply zero range method

Syntax

{% highlight matlab %} [odf,alpha] = calcODF(solver,varargin) diff --git a/pages/function_reference_matlab/MLSSolver.doIter.html b/pages/function_reference_matlab/MLSSolver.doIter.html index 1ad1a7d06..7ebad553f 100644 --- a/pages/function_reference_matlab/MLSSolver.doIter.html +++ b/pages/function_reference_matlab/MLSSolver.doIter.html @@ -1,6 +1,6 @@ --- title: doIter -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: MLSSolver.doIter.html folder: function_reference @@ -11,7 +11,7 @@ doIter + -->doIter edit page

perform one iteration step of the modified least squares algorithm

Syntax

{% highlight matlab %} doIter(solver) diff --git a/pages/function_reference_matlab/MLSSolver.initIter.html b/pages/function_reference_matlab/MLSSolver.initIter.html index c38928f04..7bc983a5b 100644 --- a/pages/function_reference_matlab/MLSSolver.initIter.html +++ b/pages/function_reference_matlab/MLSSolver.initIter.html @@ -1,6 +1,6 @@ --- title: initIter -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: MLSSolver.initIter.html folder: function_reference @@ -11,7 +11,7 @@ initIter + -->initIter edit page

maybe no starting vector of coefficients has been specified

Syntax

{% highlight matlab %} initIter(solver) diff --git a/pages/function_reference_matlab/Miller.Miller.html b/pages/function_reference_matlab/Miller.Miller.html index 14a0b9f84..23aac7ea4 100644 --- a/pages/function_reference_matlab/Miller.Miller.html +++ b/pages/function_reference_matlab/Miller.Miller.html @@ -1,6 +1,6 @@ --- title: Miller -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: Miller.Miller.html folder: function_reference @@ -11,7 +11,7 @@ Miller + -->Miller edit page

The class Miller describes crystal directions, i.e., directions relative to the crystal coordinate system. Internally, these are stored with respect to an Eucledean reference system.

Syntax

{% highlight matlab %} m = Miller(h,k,l,cs) diff --git a/pages/function_reference_matlab/Miller.cat.html b/pages/function_reference_matlab/Miller.cat.html index d2787db44..b9fec5322 100644 --- a/pages/function_reference_matlab/Miller.cat.html +++ b/pages/function_reference_matlab/Miller.cat.html @@ -1,6 +1,6 @@ --- title: cat -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: Miller.cat.html folder: function_reference @@ -11,7 +11,7 @@ cat + -->cat edit page

concatenate lists of Miller indices to one list

Syntax

{% highlight matlab %} m = cat(dim,varargin) diff --git a/pages/function_reference_matlab/Miller.char.html b/pages/function_reference_matlab/Miller.char.html index 0a269e87a..cdcdc6d47 100644 --- a/pages/function_reference_matlab/Miller.char.html +++ b/pages/function_reference_matlab/Miller.char.html @@ -1,6 +1,6 @@ --- title: char -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: Miller.char.html folder: function_reference @@ -11,7 +11,7 @@ char + -->char edit page

Miller indece to string

Syntax

{% highlight matlab %} c = char(m,varargin) diff --git a/pages/function_reference_matlab/Miller.cross.html b/pages/function_reference_matlab/Miller.cross.html index e099d1c1f..4c718fd50 100644 --- a/pages/function_reference_matlab/Miller.cross.html +++ b/pages/function_reference_matlab/Miller.cross.html @@ -1,6 +1,6 @@ --- title: cross -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: Miller.cross.html folder: function_reference @@ -11,7 +11,7 @@ cross + -->cross edit page

pointwise cross product of two vector3d

Syntax

{% highlight matlab %} v = cross(v1,v2) diff --git a/pages/function_reference_matlab/Miller.display.html b/pages/function_reference_matlab/Miller.display.html index bbbfb0e71..fe1b47e68 100644 --- a/pages/function_reference_matlab/Miller.display.html +++ b/pages/function_reference_matlab/Miller.display.html @@ -1,6 +1,6 @@ --- title: display -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: Miller.display.html folder: function_reference @@ -11,7 +11,7 @@ display + -->display edit page

standard output

Syntax

{% highlight matlab %} display(m,varargin) diff --git a/pages/function_reference_matlab/Miller.perp.html b/pages/function_reference_matlab/Miller.perp.html index 996e43012..f53381bbc 100644 --- a/pages/function_reference_matlab/Miller.perp.html +++ b/pages/function_reference_matlab/Miller.perp.html @@ -1,6 +1,6 @@ --- title: perp -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: Miller.perp.html folder: function_reference @@ -11,7 +11,7 @@ perp + -->perp edit page

best normal to a list of directions

Syntax

{% highlight matlab %} n = perp(d) diff --git a/pages/function_reference_matlab/Miller.round.html b/pages/function_reference_matlab/Miller.round.html index f6080d885..11eecf05a 100644 --- a/pages/function_reference_matlab/Miller.round.html +++ b/pages/function_reference_matlab/Miller.round.html @@ -1,6 +1,6 @@ --- title: round -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: Miller.round.html folder: function_reference @@ -11,7 +11,7 @@ round + -->round edit page

tries to round miller indizes to greatest common divisor

Syntax

{% highlight matlab %} h = round(h,varargin) diff --git a/pages/function_reference_matlab/Miller.transformReferenceFrame.html b/pages/function_reference_matlab/Miller.transformReferenceFrame.html index 407e0d56c..4a62caf8f 100644 --- a/pages/function_reference_matlab/Miller.transformReferenceFrame.html +++ b/pages/function_reference_matlab/Miller.transformReferenceFrame.html @@ -1,6 +1,6 @@ --- title: transformReferenceFrame -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: Miller.transformReferenceFrame.html folder: function_reference @@ -11,7 +11,7 @@ transformReferenceFrame + -->transformReferenceFrame edit page

change reference frame while keeping hkl or uvw

Syntax

{% highlight matlab %} m = transformReferenceFrame(m,cs) diff --git a/pages/function_reference_matlab/MillerConvention.html b/pages/function_reference_matlab/MillerConvention.html index 2868a030e..5542db078 100644 --- a/pages/function_reference_matlab/MillerConvention.html +++ b/pages/function_reference_matlab/MillerConvention.html @@ -1,6 +1,6 @@ --- title: MillerConvention -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: MillerConvention.html folder: function_reference @@ -11,7 +11,7 @@ MillerConvention + -->MillerConvention edit page

class representing the different Miller conventions

Syntax

{% highlight matlab %} out = isReciprocal(this) diff --git a/pages/function_reference_matlab/ODF.calcModes.html b/pages/function_reference_matlab/ODF.calcModes.html index dac907ef5..b1f19c1e2 100644 --- a/pages/function_reference_matlab/ODF.calcModes.html +++ b/pages/function_reference_matlab/ODF.calcModes.html @@ -1,6 +1,6 @@ --- title: calcModes -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: ODF.calcModes.html folder: function_reference @@ -11,7 +11,7 @@ calcModes + -->calcModes edit page

heuristic to find modal orientations

Syntax

{% highlight matlab %} [modes, values] = calcModes(odf,n) diff --git a/pages/function_reference_matlab/ODF.display.html b/pages/function_reference_matlab/ODF.display.html index 719fd13a4..14baca4c7 100644 --- a/pages/function_reference_matlab/ODF.display.html +++ b/pages/function_reference_matlab/ODF.display.html @@ -1,6 +1,6 @@ --- title: display -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: ODF.display.html folder: function_reference @@ -11,7 +11,7 @@ display + -->display edit page

standard output

Syntax

{% highlight matlab %} display(odf,varargin) diff --git a/pages/function_reference_matlab/ODF.fibreVolume.html b/pages/function_reference_matlab/ODF.fibreVolume.html index 49bdf624d..96c828edd 100644 --- a/pages/function_reference_matlab/ODF.fibreVolume.html +++ b/pages/function_reference_matlab/ODF.fibreVolume.html @@ -1,6 +1,6 @@ --- title: fibreVolume -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: ODF.fibreVolume.html folder: function_reference @@ -11,7 +11,7 @@ fibreVolume + -->fibreVolume edit page

ratio of orientations with a certain orientation

Description

returns the ratio of mass of the odf that is within a certain distance from a given fibre

Syntax

{% highlight matlab %} v = fibreVolume(odf,h,r,radius) diff --git a/pages/function_reference_matlab/ODF.volume.html b/pages/function_reference_matlab/ODF.volume.html index 33c85d8af..1ee8e9e38 100644 --- a/pages/function_reference_matlab/ODF.volume.html +++ b/pages/function_reference_matlab/ODF.volume.html @@ -1,6 +1,6 @@ --- title: volume -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: ODF.volume.html folder: function_reference @@ -11,7 +11,7 @@ volume + -->volume edit page

ratio of orientations with a certain orientation

Description

The function 'volume' returns the ratio of an orientation that is close to an orientation (center) by a misorientation tolerance (radius) to the volume of the entire odf.

Syntax

{% highlight matlab %} v = volume(odf,center,radius) diff --git a/pages/function_reference_matlab/S2DeLaValleePoussin.S2DeLaValleePoussin.html b/pages/function_reference_matlab/S2DeLaValleePoussin.S2DeLaValleePoussin.html index 232dfe0f1..9dfb9264b 100644 --- a/pages/function_reference_matlab/S2DeLaValleePoussin.S2DeLaValleePoussin.html +++ b/pages/function_reference_matlab/S2DeLaValleePoussin.S2DeLaValleePoussin.html @@ -1,6 +1,6 @@ --- title: S2DeLaValleePoussin -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: S2DeLaValleePoussin.S2DeLaValleePoussin.html folder: function_reference @@ -11,7 +11,7 @@ S2DeLaValleePoussin + -->S2DeLaValleePoussin edit page

Syntax

{% highlight matlab %} psi = S2DeLaValleePoussin(20) diff --git a/pages/function_reference_matlab/S2FunHarmonic.S2FunHarmonic.html b/pages/function_reference_matlab/S2FunHarmonic.S2FunHarmonic.html index 41a86069f..54a69f61a 100644 --- a/pages/function_reference_matlab/S2FunHarmonic.S2FunHarmonic.html +++ b/pages/function_reference_matlab/S2FunHarmonic.S2FunHarmonic.html @@ -1,6 +1,6 @@ --- title: S2FunHarmonic -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: S2FunHarmonic.S2FunHarmonic.html folder: function_reference @@ -11,7 +11,7 @@ S2FunHarmonic + -->S2FunHarmonic edit page

a class representing a function on the sphere

Syntax

{% highlight matlab %} on the sphere diff --git a/pages/function_reference_matlab/axialSymbol.html b/pages/function_reference_matlab/axialSymbol.html index deff0952a..5bb1c58ba 100644 --- a/pages/function_reference_matlab/axialSymbol.html +++ b/pages/function_reference_matlab/axialSymbol.html @@ -1,6 +1,6 @@ --- title: axialSymbol -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: axialSymbol.html folder: function_reference @@ -11,7 +11,7 @@ axialSymbol + -->axialSymbol edit page

generates a patch object to be included into a grain or EBSD plot

Syntax

{% highlight matlab %} p = axialSymbol(center,v,symbolSize) diff --git a/pages/function_reference_matlab/calcChildVariant.html b/pages/function_reference_matlab/calcChildVariant.html index 3a8f2b3ec..6e3b863cb 100644 --- a/pages/function_reference_matlab/calcChildVariant.html +++ b/pages/function_reference_matlab/calcChildVariant.html @@ -1,6 +1,6 @@ --- title: calcChildVariant -last_updated: 20-Nov-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: calcChildVariant.html folder: function_reference @@ -11,7 +11,7 @@ calcChildVariant + -->calcChildVariant edit page

Description

Syntax

{% highlight matlab %} childId = calcParent(parentOri,childOri,p2c) diff --git a/pages/function_reference_matlab/calcParent2Child.html b/pages/function_reference_matlab/calcParent2Child.html index 1af2d6439..e9dc9e337 100644 --- a/pages/function_reference_matlab/calcParent2Child.html +++ b/pages/function_reference_matlab/calcParent2Child.html @@ -1,6 +1,6 @@ --- title: calcParent2Child -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: calcParent2Child.html folder: function_reference @@ -11,7 +11,7 @@ calcParent2Child + -->calcParent2Child edit page

Syntax

{% highlight matlab %} p2c = calcParent(childOri,p2c) diff --git a/pages/function_reference_matlab/crystalShape.crystalShape.html b/pages/function_reference_matlab/crystalShape.crystalShape.html index 663c082bf..e174d8558 100644 --- a/pages/function_reference_matlab/crystalShape.crystalShape.html +++ b/pages/function_reference_matlab/crystalShape.crystalShape.html @@ -1,6 +1,6 @@ --- title: crystalShape -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: crystalShape.crystalShape.html folder: function_reference @@ -11,7 +11,7 @@ crystalShape + -->crystalShape edit page

a class representing crystal shapes.

The code of this class is based on the paper

Enderlein, J., 1997. A package for displaying crystal morphology. Mathematica Journal, 7(1).

we need more :)

Syntax

{% highlight matlab %} cS = crystalShape(N,habitus,extension) diff --git a/pages/function_reference_matlab/crystalSymmetry.alignment.html b/pages/function_reference_matlab/crystalSymmetry.alignment.html index c7bf40378..bd101beda 100644 --- a/pages/function_reference_matlab/crystalSymmetry.alignment.html +++ b/pages/function_reference_matlab/crystalSymmetry.alignment.html @@ -1,6 +1,6 @@ --- title: alignment -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: crystalSymmetry.alignment.html folder: function_reference @@ -11,7 +11,7 @@ alignment + -->alignment edit page

return alignment of the reference frame as string, e.g. x||a, y||b*

Syntax

{% highlight matlab %} str = alignment(cs) diff --git a/pages/function_reference_matlab/crystalSymmetry.crystalSymmetry.html b/pages/function_reference_matlab/crystalSymmetry.crystalSymmetry.html index 954ac93bc..19df68d58 100644 --- a/pages/function_reference_matlab/crystalSymmetry.crystalSymmetry.html +++ b/pages/function_reference_matlab/crystalSymmetry.crystalSymmetry.html @@ -1,6 +1,6 @@ --- title: crystalSymmetry -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: crystalSymmetry.crystalSymmetry.html folder: function_reference @@ -11,7 +11,7 @@ crystalSymmetry + -->crystalSymmetry edit page

Syntax

{% highlight matlab %} crystalSymmetry('cubic') diff --git a/pages/function_reference_matlab/crystalSymmetry.display.html b/pages/function_reference_matlab/crystalSymmetry.display.html index ed9f3ad56..6939ecc97 100644 --- a/pages/function_reference_matlab/crystalSymmetry.display.html +++ b/pages/function_reference_matlab/crystalSymmetry.display.html @@ -1,6 +1,6 @@ --- title: display -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: crystalSymmetry.display.html folder: function_reference @@ -11,7 +11,7 @@ display + -->display edit page

standard output

Syntax

{% highlight matlab %} display(cs,varargin) diff --git a/pages/function_reference_matlab/curvatureTensor.fitDislocationSystems.html b/pages/function_reference_matlab/curvatureTensor.fitDislocationSystems.html index 8027d2132..69bda989b 100644 --- a/pages/function_reference_matlab/curvatureTensor.fitDislocationSystems.html +++ b/pages/function_reference_matlab/curvatureTensor.fitDislocationSystems.html @@ -1,6 +1,6 @@ --- title: fitDislocationSystems -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: curvatureTensor.fitDislocationSystems.html folder: function_reference @@ -11,7 +11,7 @@ fitDislocationSystems + -->fitDislocationSystems edit page

fit dislocation systems to a curvature tensor

Formulae are taken from the paper:

Pantleon, Resolving the geometrically necessary dislocation content by conventional electron backscattering diffraction, Scripta Materialia, 2008

Syntax

{% highlight matlab %} rho = fitDislocationSystems(kappa,dS) diff --git a/pages/function_reference_matlab/dislocationSystem.dislocationSystem.html b/pages/function_reference_matlab/dislocationSystem.dislocationSystem.html index 2e7c916c2..98b0717b3 100644 --- a/pages/function_reference_matlab/dislocationSystem.dislocationSystem.html +++ b/pages/function_reference_matlab/dislocationSystem.dislocationSystem.html @@ -1,6 +1,6 @@ --- title: dislocationSystem -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: dislocationSystem.dislocationSystem.html folder: function_reference @@ -11,7 +11,7 @@ dislocationSystem + -->dislocationSystem edit page

class representing dislocation

Syntax

{% highlight matlab %} dS = dislocationSystem(b,l) diff --git a/pages/function_reference_matlab/dispStruct.html b/pages/function_reference_matlab/dispStruct.html index 53f0eeb85..213dcb7b6 100644 --- a/pages/function_reference_matlab/dispStruct.html +++ b/pages/function_reference_matlab/dispStruct.html @@ -1,6 +1,6 @@ --- title: dispStruct -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: dispStruct.html folder: function_reference @@ -11,7 +11,7 @@ dispStruct + -->dispStruct edit page

recursively display a structure

Syntax

{% highlight matlab %} dispStruct(s,varargin) diff --git a/pages/function_reference_matlab/extract_data.html b/pages/function_reference_matlab/extract_data.html index 4c8bd33b6..1784afce1 100644 --- a/pages/function_reference_matlab/extract_data.html +++ b/pages/function_reference_matlab/extract_data.html @@ -1,6 +1,6 @@ --- title: extract_data -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: extract_data.html folder: function_reference @@ -11,7 +11,7 @@ extract_data + -->extract_data edit page

extract data

Syntax

{% highlight matlab %} [data,args] = extract_data(numData,args) diff --git a/pages/function_reference_matlab/extract_option.html b/pages/function_reference_matlab/extract_option.html index 96e09b9f1..e1d6547e8 100644 --- a/pages/function_reference_matlab/extract_option.html +++ b/pages/function_reference_matlab/extract_option.html @@ -1,6 +1,6 @@ --- title: extract_option -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: extract_option.html folder: function_reference @@ -11,7 +11,7 @@ extract_option + -->extract_option edit page

extract options from option list

Syntax

{% highlight matlab %} out = extract_option(option_list,option,types) diff --git a/pages/function_reference_matlab/fibre.display.html b/pages/function_reference_matlab/fibre.display.html index e3399605c..9bdf4105e 100644 --- a/pages/function_reference_matlab/fibre.display.html +++ b/pages/function_reference_matlab/fibre.display.html @@ -1,6 +1,6 @@ --- title: display -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: fibre.display.html folder: function_reference @@ -11,7 +11,7 @@ display + -->display edit page

standard output

Syntax

{% highlight matlab %} display(f,varargin) diff --git a/pages/function_reference_matlab/fibre.fibre.html b/pages/function_reference_matlab/fibre.fibre.html index 673926db1..d1ad97a5c 100644 --- a/pages/function_reference_matlab/fibre.fibre.html +++ b/pages/function_reference_matlab/fibre.fibre.html @@ -1,6 +1,6 @@ --- title: fibre -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: fibre.fibre.html folder: function_reference @@ -11,7 +11,7 @@ fibre + -->fibre edit page

Class representing a fibre in orientation space. Examples are alpha, beta or gamma fibres. In general a fibre is defined by a crystal direction h of type Miller and a specimen direction of type vector3d.

Syntax

{% highlight matlab %} cs = crystalSymmetry('432') diff --git a/pages/function_reference_matlab/fibreComponent.calcPDF.html b/pages/function_reference_matlab/fibreComponent.calcPDF.html index 647bdb12a..a9a6244a2 100644 --- a/pages/function_reference_matlab/fibreComponent.calcPDF.html +++ b/pages/function_reference_matlab/fibreComponent.calcPDF.html @@ -1,6 +1,6 @@ --- title: calcPDF -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: fibreComponent.calcPDF.html folder: function_reference @@ -11,7 +11,7 @@ calcPDF + -->calcPDF edit page

calculate pdf for fibre component

Syntax

{% highlight matlab %} value = calcPDF(odf,h,r) diff --git a/pages/function_reference_matlab/grain2d.grain2d.html b/pages/function_reference_matlab/grain2d.grain2d.html index 8bc34f5c4..323256d0c 100644 --- a/pages/function_reference_matlab/grain2d.grain2d.html +++ b/pages/function_reference_matlab/grain2d.grain2d.html @@ -1,6 +1,6 @@ --- title: grain2d -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: grain2d.grain2d.html folder: function_reference @@ -11,7 +11,7 @@ grain2d + -->grain2d edit page

class representing two dimensional grains

Syntax

{% highlight matlab %} grains = grain2d(ebsd,V,F,I_DG,I_FD,A_Db) diff --git a/pages/function_reference_matlab/grain2d.isInclusion.html b/pages/function_reference_matlab/grain2d.isInclusion.html index 766d54423..b37397291 100644 --- a/pages/function_reference_matlab/grain2d.isInclusion.html +++ b/pages/function_reference_matlab/grain2d.isInclusion.html @@ -1,6 +1,6 @@ --- title: isInclusion -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: grain2d.isInclusion.html folder: function_reference @@ -11,7 +11,7 @@ isInclusion + -->isInclusion edit page

checks whether a grain is an inclusion within another grain

Syntax

{% highlight matlab %} [isIncl,hostId] = isInclusion(grains) diff --git a/pages/function_reference_matlab/grain2d.neighbors.html b/pages/function_reference_matlab/grain2d.neighbors.html index 2a2fb5881..1011de092 100644 --- a/pages/function_reference_matlab/grain2d.neighbors.html +++ b/pages/function_reference_matlab/grain2d.neighbors.html @@ -1,6 +1,6 @@ --- title: neighbors -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: grain2d.neighbors.html folder: function_reference @@ -11,7 +11,7 @@ neighbors + -->neighbors edit page

returns the Ids of neighboring grains

Syntax

{% highlight matlab %} % neighbouring relationships within grains diff --git a/pages/function_reference_matlab/homochoricPlot.html b/pages/function_reference_matlab/homochoricPlot.html index 012ec806e..c4537cd8a 100644 --- a/pages/function_reference_matlab/homochoricPlot.html +++ b/pages/function_reference_matlab/homochoricPlot.html @@ -1,6 +1,6 @@ --- title: homochoricPlot -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: homochoricPlot.html folder: function_reference @@ -11,7 +11,7 @@ homochoricPlot + -->homochoricPlot edit page

create a 3d Euler angle plot

Syntax

{% highlight matlab %} oP = homochoricPlot(varargin) diff --git a/pages/function_reference_matlab/latticeType.html b/pages/function_reference_matlab/latticeType.html index 1b3a05ae7..e4645e3f9 100644 --- a/pages/function_reference_matlab/latticeType.html +++ b/pages/function_reference_matlab/latticeType.html @@ -1,6 +1,6 @@ --- title: latticeType -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: latticeType.html folder: function_reference @@ -11,7 +11,7 @@ latticeType + -->latticeType edit page

class representing the different Bravais lattices

Syntax

{% highlight matlab %} abg = defaultAngles(this) diff --git a/pages/function_reference_matlab/loadODF_generic.html b/pages/function_reference_matlab/loadODF_generic.html index fd169b77b..dacbb52eb 100644 --- a/pages/function_reference_matlab/loadODF_generic.html +++ b/pages/function_reference_matlab/loadODF_generic.html @@ -1,6 +1,6 @@ --- title: loadODF_generic -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: loadODF_generic.html folder: function_reference @@ -11,7 +11,7 @@ loadODF_generic + -->loadODF_generic edit page

load pole figure data from (alpha,beta,gamma) files

Description

loadODF_generic loads an ODF from any txt or exel files are of the following format

alpha_1 beta_1 gamma_1 weight_1
 alpha_2 beta_2 gamma_2 weight_2
 alpha_3 beta_3 gamma_3 weight_3
diff --git a/pages/function_reference_matlab/loadOrientation_generic.html b/pages/function_reference_matlab/loadOrientation_generic.html
index 1382f1b75..803052baa 100644
--- a/pages/function_reference_matlab/loadOrientation_generic.html
+++ b/pages/function_reference_matlab/loadOrientation_generic.html
@@ -1,6 +1,6 @@
 ---
 title: loadOrientation_generic
-last_updated: 08-Dec-2020
+last_updated: 11-Dec-2020
 sidebar: function_reference_sidebar
 permalink: loadOrientation_generic.html
 folder: function_reference
@@ -11,7 +11,7 @@
    loadOrientation_generic
+      -->loadOrientation_generic
     edit page

load Orientation data from generic text files

Description

loadOrientation_generic loads individual orientations from text or exel files that have a column oriented format as

phi1_1 Phi_1 phi2_1 prop1_1 prop2_1
 phi1_2 Phi_2 phi2_2 prop1_2 prop2_2
 phi1_3 Phi_3 phi2_3 prop1_3 prop2_3
diff --git a/pages/function_reference_matlab/loadVector3d_generic.html b/pages/function_reference_matlab/loadVector3d_generic.html
index 450830fab..52e2c7620 100644
--- a/pages/function_reference_matlab/loadVector3d_generic.html
+++ b/pages/function_reference_matlab/loadVector3d_generic.html
@@ -1,6 +1,6 @@
 ---
 title: loadVector3d_generic
-last_updated: 08-Dec-2020
+last_updated: 11-Dec-2020
 sidebar: function_reference_sidebar
 permalink: loadVector3d_generic.html
 folder: function_reference
@@ -11,7 +11,7 @@
    loadVector3d_generic
+      -->loadVector3d_generic
     edit page

load pole figure data from (alpha,beta,gamma) files

Description

loadVector3d_generic reads vector3d from any txt or exel files. The assoziation of the columns as cartesian coordinates or polar angles is specified by the options ColumnNames and Columns. The files can be contain any number of header lines.

Syntax

{% highlight matlab %} v = loadVector3d_generic(fname,'ColumnNames',{'x','y','z'}) diff --git a/pages/function_reference_matlab/localOrientationGrid.html b/pages/function_reference_matlab/localOrientationGrid.html index 27a8ec78c..fd4cfd35d 100644 --- a/pages/function_reference_matlab/localOrientationGrid.html +++ b/pages/function_reference_matlab/localOrientationGrid.html @@ -1,6 +1,6 @@ --- title: localOrientationGrid -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: localOrientationGrid.html folder: function_reference @@ -11,7 +11,7 @@ localOrientationGrid + -->localOrientationGrid edit page

define a equispaced grid localized to a center orientation

Syntax

{% highlight matlab %} ori = localOrientationGrid(CS,SS,maxAngle,'center',center) diff --git a/pages/function_reference_matlab/majorityVote.html b/pages/function_reference_matlab/majorityVote.html index 9dc4145e3..d0f023ba4 100644 --- a/pages/function_reference_matlab/majorityVote.html +++ b/pages/function_reference_matlab/majorityVote.html @@ -1,6 +1,6 @@ --- title: majorityVote -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: majorityVote.html folder: function_reference @@ -11,7 +11,7 @@ majorityVote + -->majorityVote edit page

returns

Syntax

{% highlight matlab %} [vote, numVotes] = majorityVote(idList,voteList) diff --git a/pages/function_reference_matlab/mtexFigure.colorbar.html b/pages/function_reference_matlab/mtexFigure.colorbar.html index a9c4bf26f..d60355794 100644 --- a/pages/function_reference_matlab/mtexFigure.colorbar.html +++ b/pages/function_reference_matlab/mtexFigure.colorbar.html @@ -1,6 +1,6 @@ --- title: colorbar -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: mtexFigure.colorbar.html folder: function_reference @@ -11,7 +11,7 @@ colorbar + -->colorbar edit page

Syntax

{% highlight matlab %} h = colorbar(mtexFig,varargin) diff --git a/pages/function_reference_matlab/newOrientationPlot.html b/pages/function_reference_matlab/newOrientationPlot.html index 800aaa9d7..174bfb2d2 100644 --- a/pages/function_reference_matlab/newOrientationPlot.html +++ b/pages/function_reference_matlab/newOrientationPlot.html @@ -1,6 +1,6 @@ --- title: newOrientationPlot -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: newOrientationPlot.html folder: function_reference @@ -11,7 +11,7 @@ newOrientationPlot + -->newOrientationPlot edit page

prepare a 3d orientation plot

Description

Checks whether a compatible 3d orientation plot already exist - then plot into this one - otherwise create a new one.

Syntax

{% highlight matlab %} oP = newOrientationPlot(CS1,CS2) diff --git a/pages/function_reference_matlab/orientation.display.html b/pages/function_reference_matlab/orientation.display.html index 669dfd3a4..1777bfc6e 100644 --- a/pages/function_reference_matlab/orientation.display.html +++ b/pages/function_reference_matlab/orientation.display.html @@ -1,6 +1,6 @@ --- title: display -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: orientation.display.html folder: function_reference @@ -11,7 +11,7 @@ display + -->display edit page

standart output

Syntax

{% highlight matlab %} display(o) diff --git a/pages/function_reference_matlab/orientation.dot_outer.html b/pages/function_reference_matlab/orientation.dot_outer.html index d75c22b6b..a6f6207d3 100644 --- a/pages/function_reference_matlab/orientation.dot_outer.html +++ b/pages/function_reference_matlab/orientation.dot_outer.html @@ -1,6 +1,6 @@ --- title: dot_outer -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: orientation.dot_outer.html folder: function_reference @@ -11,7 +11,7 @@ dot_outer + -->dot_outer edit page

dot_outer

Syntax

{% highlight matlab %} d = dot_outer(o1,o2) diff --git a/pages/function_reference_matlab/orientation.load.html b/pages/function_reference_matlab/orientation.load.html index 08b7e625d..8ac55ed2a 100644 --- a/pages/function_reference_matlab/orientation.load.html +++ b/pages/function_reference_matlab/orientation.load.html @@ -1,6 +1,6 @@ --- title: load -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: orientation.load.html folder: function_reference @@ -11,7 +11,7 @@ load + -->load edit page

import orientation data file

Description

orientation.load is a high level method for importing orientations from column aligned text files or excel spread sheets. In those cases it is neccesary to tell MTEX the column positions of the Euler angles and possible other properties.

Syntax

{% highlight matlab %} ori = orientation.load(fname,cs,'ColumnNames',{'phi1','Phi','phi2'}) diff --git a/pages/function_reference_matlab/orientation.map.html b/pages/function_reference_matlab/orientation.map.html index dccb8d654..2d014b21c 100644 --- a/pages/function_reference_matlab/orientation.map.html +++ b/pages/function_reference_matlab/orientation.map.html @@ -1,6 +1,6 @@ --- title: map -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: orientation.map.html folder: function_reference @@ -11,7 +11,7 @@ map + -->map edit page

define orientations by pairs of vectors

Description

Define an orientation that maps u1 onto v1 and u2 onto v2

Syntax

{% highlight matlab %} ori = orientation.map(u1,v1) diff --git a/pages/function_reference_matlab/orientation.orientation.html b/pages/function_reference_matlab/orientation.orientation.html index 9ea747835..fbfaed4ac 100644 --- a/pages/function_reference_matlab/orientation.orientation.html +++ b/pages/function_reference_matlab/orientation.orientation.html @@ -1,6 +1,6 @@ --- title: orientation -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: orientation.orientation.html folder: function_reference @@ -11,7 +11,7 @@ orientation + -->orientation edit page

The class orientation represents orientations and misorientations.

Syntax

{% highlight matlab %} ori = orientation(rot) diff --git a/pages/function_reference_matlab/orientation.round2Miller.html b/pages/function_reference_matlab/orientation.round2Miller.html index bf0d41c8d..2376cb314 100644 --- a/pages/function_reference_matlab/orientation.round2Miller.html +++ b/pages/function_reference_matlab/orientation.round2Miller.html @@ -1,6 +1,6 @@ --- title: round2Miller -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: orientation.round2Miller.html folder: function_reference @@ -11,7 +11,7 @@ round2Miller + -->round2Miller edit page

find lattice alignements for arbitrary orientations and misorientations

Description

Given an orienation ori find [hkl](uvw) such that ori * [hkl] = Z and ori * (uvw) = X.

Given a misorientation mori find corresponding face normals n1, n2 and crystal directions d1, d2, i.e., such that mori * n1 = n2 and mori * d1 = d2.

Syntax

{% highlight matlab %} [uvw,hkl] = round2Miller(ori) diff --git a/pages/function_reference_matlab/orientation.variants.html b/pages/function_reference_matlab/orientation.variants.html index 81d4c1ea8..5e5ea8f9d 100644 --- a/pages/function_reference_matlab/orientation.variants.html +++ b/pages/function_reference_matlab/orientation.variants.html @@ -1,6 +1,6 @@ --- title: variants -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: orientation.variants.html folder: function_reference @@ -11,7 +11,7 @@ variants + -->variants edit page

variants parent to child orientation relationship

Syntax

{% highlight matlab %} p2cVariants = variants(p2c, 'child') diff --git a/pages/function_reference_matlab/orientationPlot.html b/pages/function_reference_matlab/orientationPlot.html index 6b70f91aa..bda39e0f2 100644 --- a/pages/function_reference_matlab/orientationPlot.html +++ b/pages/function_reference_matlab/orientationPlot.html @@ -1,6 +1,6 @@ --- title: orientationPlot -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: orientationPlot.html folder: function_reference @@ -11,7 +11,7 @@ orientationPlot + -->orientationPlot edit page

ODFSECTIONS

Syntax

{% highlight matlab %} oP = orientationPlot(ax,CS1,varargin) diff --git a/pages/function_reference_matlab/pfSections.html b/pages/function_reference_matlab/pfSections.html index f19fcc94e..a902ce794 100644 --- a/pages/function_reference_matlab/pfSections.html +++ b/pages/function_reference_matlab/pfSections.html @@ -1,6 +1,6 @@ --- title: pfSections -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: pfSections.html folder: function_reference @@ -11,7 +11,7 @@ pfSections + -->pfSections edit page

Syntax

{% highlight matlab %} oS = pfSections(CS1,CS2,varargin) diff --git a/pages/function_reference_matlab/phaseList.html b/pages/function_reference_matlab/phaseList.html index 3fb5a9939..feea8833f 100644 --- a/pages/function_reference_matlab/phaseList.html +++ b/pages/function_reference_matlab/phaseList.html @@ -1,6 +1,6 @@ --- title: phaseList -last_updated: 20-Nov-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: phaseList.html folder: function_reference @@ -11,7 +11,7 @@ phaseList + -->phaseList edit page

handles a list of phases

Syntax

{% highlight matlab %} pL = phaseList(phases,CSList) diff --git a/pages/function_reference_matlab/quaternion.display.html b/pages/function_reference_matlab/quaternion.display.html index 6af86fe1d..aad5553c8 100644 --- a/pages/function_reference_matlab/quaternion.display.html +++ b/pages/function_reference_matlab/quaternion.display.html @@ -1,6 +1,6 @@ --- title: display -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: quaternion.display.html folder: function_reference @@ -11,7 +11,7 @@ display + -->display edit page

standart output

Syntax

{% highlight matlab %} display(q) diff --git a/pages/function_reference_matlab/quaternion.symmetrise.html b/pages/function_reference_matlab/quaternion.symmetrise.html index 07c604e8e..f2f3cae6e 100644 --- a/pages/function_reference_matlab/quaternion.symmetrise.html +++ b/pages/function_reference_matlab/quaternion.symmetrise.html @@ -1,6 +1,6 @@ --- title: symmetrise -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: quaternion.symmetrise.html folder: function_reference @@ -11,7 +11,7 @@ symmetrise + -->symmetrise edit page

symmetrcially equivalent orientations

Syntax

{% highlight matlab %} varargout = symmetrise(q,CS,SS,varargin) diff --git a/pages/function_reference_matlab/quaternion.unique.html b/pages/function_reference_matlab/quaternion.unique.html index 4fa319e43..5e548a3d1 100644 --- a/pages/function_reference_matlab/quaternion.unique.html +++ b/pages/function_reference_matlab/quaternion.unique.html @@ -1,6 +1,6 @@ --- title: unique -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: quaternion.unique.html folder: function_reference @@ -11,7 +11,7 @@ unique + -->unique edit page

disjoint list of quaternions

Syntax

{% highlight matlab %} u = unique(q) diff --git a/pages/function_reference_matlab/rotation.display.html b/pages/function_reference_matlab/rotation.display.html index 78d30fd1f..9c5f9cae8 100644 --- a/pages/function_reference_matlab/rotation.display.html +++ b/pages/function_reference_matlab/rotation.display.html @@ -1,6 +1,6 @@ --- title: display -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: rotation.display.html folder: function_reference @@ -11,7 +11,7 @@ display + -->display edit page

standart output

Syntax

{% highlight matlab %} display(rot,varargin) diff --git a/pages/function_reference_matlab/rotation.map.html b/pages/function_reference_matlab/rotation.map.html index bca22a76b..332f26474 100644 --- a/pages/function_reference_matlab/rotation.map.html +++ b/pages/function_reference_matlab/rotation.map.html @@ -1,6 +1,6 @@ --- title: map -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: rotation.map.html folder: function_reference @@ -11,7 +11,7 @@ map + -->map edit page

define rotations by pairs of vectors

Description

Define a rotation that maps u1 onto v1 and u2 onto v2

Syntax

{% highlight matlab %} % an arbitrary rotation that maps u1 parallel to v1 diff --git a/pages/function_reference_matlab/rotation.unique.html b/pages/function_reference_matlab/rotation.unique.html index 51a2f7341..cd6a2aeaa 100644 --- a/pages/function_reference_matlab/rotation.unique.html +++ b/pages/function_reference_matlab/rotation.unique.html @@ -1,6 +1,6 @@ --- title: unique -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: rotation.unique.html folder: function_reference @@ -11,7 +11,7 @@ unique + -->unique edit page

disjoint list of rotations

Syntax

{% highlight matlab %} u = unique(r) diff --git a/pages/function_reference_matlab/slipSystem.slipSystem.html b/pages/function_reference_matlab/slipSystem.slipSystem.html index 70db5354c..f59c4b34e 100644 --- a/pages/function_reference_matlab/slipSystem.slipSystem.html +++ b/pages/function_reference_matlab/slipSystem.slipSystem.html @@ -1,6 +1,6 @@ --- title: slipSystem -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: slipSystem.slipSystem.html folder: function_reference @@ -11,7 +11,7 @@ slipSystem + -->slipSystem edit page

class representing slip systems

Syntax

{% highlight matlab %} sS = slipSystem(b,n) diff --git a/pages/function_reference_matlab/slipSystem.symmetrise.html b/pages/function_reference_matlab/slipSystem.symmetrise.html index 1a400ed98..63457bdf7 100644 --- a/pages/function_reference_matlab/slipSystem.symmetrise.html +++ b/pages/function_reference_matlab/slipSystem.symmetrise.html @@ -1,6 +1,6 @@ --- title: symmetrise -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: slipSystem.symmetrise.html folder: function_reference @@ -11,7 +11,7 @@ symmetrise + -->symmetrise edit page

find all symmetrically equivalent slips systems

Syntax

{% highlight matlab %} sSAll = sS.symmetrise diff --git a/pages/function_reference_matlab/specimenSymmetry.specimenSymmetry.html b/pages/function_reference_matlab/specimenSymmetry.specimenSymmetry.html index bf0888629..6de3b4dbb 100644 --- a/pages/function_reference_matlab/specimenSymmetry.specimenSymmetry.html +++ b/pages/function_reference_matlab/specimenSymmetry.specimenSymmetry.html @@ -1,6 +1,6 @@ --- title: specimenSymmetry -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: specimenSymmetry.specimenSymmetry.html folder: function_reference @@ -11,7 +11,7 @@ specimenSymmetry + -->specimenSymmetry edit page

defines a specimen symmetry

usually specimen symmetry is either triclinic or orthorhombic

Syntax

{% highlight matlab %} s = specimenSymmetry(varargin) diff --git a/pages/function_reference_matlab/sphericalPlot.html b/pages/function_reference_matlab/sphericalPlot.html index ad34f5b46..dc22c4b45 100644 --- a/pages/function_reference_matlab/sphericalPlot.html +++ b/pages/function_reference_matlab/sphericalPlot.html @@ -1,6 +1,6 @@ --- title: sphericalPlot -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: sphericalPlot.html folder: function_reference @@ -11,7 +11,7 @@ sphericalPlot + -->sphericalPlot edit page

sphericalPlot is responsible for visualizing spherical data

Syntax

{% highlight matlab %} sP = sphericalPlot(ax,proj,varargin) diff --git a/pages/function_reference_matlab/symmetry.disjoint.html b/pages/function_reference_matlab/symmetry.disjoint.html index 493473217..cb7a3bf09 100644 --- a/pages/function_reference_matlab/symmetry.disjoint.html +++ b/pages/function_reference_matlab/symmetry.disjoint.html @@ -1,6 +1,6 @@ --- title: disjoint -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: symmetry.disjoint.html folder: function_reference @@ -11,7 +11,7 @@ disjoint + -->disjoint edit page

returns the disjoint of two symmetry groups

Syntax

{% highlight matlab %} s1 = disjoint(s1,s2) diff --git a/pages/function_reference_matlab/symmetry.symmetry.html b/pages/function_reference_matlab/symmetry.symmetry.html index 0fa229b2f..e80b8e6b1 100644 --- a/pages/function_reference_matlab/symmetry.symmetry.html +++ b/pages/function_reference_matlab/symmetry.symmetry.html @@ -1,6 +1,6 @@ --- title: symmetry -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: symmetry.symmetry.html folder: function_reference @@ -11,7 +11,7 @@ symmetry + -->symmetry edit page

symmetry is an abstract class for crystal and specimen symmetries

Syntax

{% highlight matlab %} s = symmetry(id,rot) diff --git a/pages/function_reference_matlab/tensor.EinsteinSum.html b/pages/function_reference_matlab/tensor.EinsteinSum.html index bc3f19e44..73ac03c8e 100644 --- a/pages/function_reference_matlab/tensor.EinsteinSum.html +++ b/pages/function_reference_matlab/tensor.EinsteinSum.html @@ -1,6 +1,6 @@ --- title: EinsteinSum -last_updated: 20-Nov-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: tensor.EinsteinSum.html folder: function_reference @@ -11,7 +11,7 @@ EinsteinSum + -->EinsteinSum edit page

tensor multiplication according to Einstein summation convention

Description

This function computes a tensor product according to Einstein summation convention

Syntax

{% highlight matlab %} % sumation against dimension 1 and 2 diff --git a/pages/function_reference_matlab/triplePointList.triplePointList.html b/pages/function_reference_matlab/triplePointList.triplePointList.html index 86490910d..ed99dc98a 100644 --- a/pages/function_reference_matlab/triplePointList.triplePointList.html +++ b/pages/function_reference_matlab/triplePointList.triplePointList.html @@ -1,6 +1,6 @@ --- title: triplePointList -last_updated: 08-Dec-2020 +last_updated: 15-Dec-2020 sidebar: function_reference_sidebar permalink: triplePointList.triplePointList.html folder: function_reference @@ -11,7 +11,7 @@ triplePointList + -->triplePointList edit page

triple points or triple juctions list of grain boundaries in 2-D

triplePointList is used to extract, analyze and visualize triple points between grain boundaries in 2-D.

Syntax

{% highlight matlab %} % creates an empty list of triple points diff --git a/pages/function_reference_matlab/vector3d.calcCluster.html b/pages/function_reference_matlab/vector3d.calcCluster.html index 28f675767..8369dd3f3 100644 --- a/pages/function_reference_matlab/vector3d.calcCluster.html +++ b/pages/function_reference_matlab/vector3d.calcCluster.html @@ -1,6 +1,6 @@ --- title: calcCluster -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: vector3d.calcCluster.html folder: function_reference @@ -11,7 +11,7 @@ calcCluster + -->calcCluster edit page

seperate directions into clusters

Syntax

{% highlight matlab %} [cId,center] = calcCluster(vec,'halfwidth',2.5*degree) diff --git a/pages/function_reference_matlab/vector3d.display.html b/pages/function_reference_matlab/vector3d.display.html index 3fd389a05..0f12fe886 100644 --- a/pages/function_reference_matlab/vector3d.display.html +++ b/pages/function_reference_matlab/vector3d.display.html @@ -1,6 +1,6 @@ --- title: display -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: vector3d.display.html folder: function_reference @@ -11,7 +11,7 @@ display + -->display edit page

standard output

Syntax

{% highlight matlab %} display(v,varargin) diff --git a/pages/function_reference_matlab/vector3d.histogram.html b/pages/function_reference_matlab/vector3d.histogram.html index 7768dcfd4..4cb140e48 100644 --- a/pages/function_reference_matlab/vector3d.histogram.html +++ b/pages/function_reference_matlab/vector3d.histogram.html @@ -1,6 +1,6 @@ --- title: histogram -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: vector3d.histogram.html folder: function_reference @@ -11,7 +11,7 @@ histogram + -->histogram edit page

Syntax

{% highlight matlab %} h = histogram(v,varargin) diff --git a/pages/function_reference_matlab/vector3d.load.html b/pages/function_reference_matlab/vector3d.load.html index 107dd0140..23360c263 100644 --- a/pages/function_reference_matlab/vector3d.load.html +++ b/pages/function_reference_matlab/vector3d.load.html @@ -1,6 +1,6 @@ --- title: load -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: vector3d.load.html folder: function_reference @@ -11,7 +11,7 @@ load + -->load edit page

import directions

Description

vector3d.load is a high level method for importing vector data from external files. It autodetects the format of the file. As parameters the method requires a filename and the column positions of either the x, y, z coordinates or the polar angles

Syntax

{% highlight matlab %} v = vector3d.load(fname,'ColumnNames',{'x','y','z'}) diff --git a/pages/function_reference_matlab/vector3d.perp.html b/pages/function_reference_matlab/vector3d.perp.html index 63a728b80..c6ed0cd5f 100644 --- a/pages/function_reference_matlab/vector3d.perp.html +++ b/pages/function_reference_matlab/vector3d.perp.html @@ -1,6 +1,6 @@ --- title: perp -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: vector3d.perp.html folder: function_reference @@ -11,7 +11,7 @@ perp + -->perp edit page

compute an vector best orthogonal to a list of directions

Syntax

{% highlight matlab %} N = perp(v) diff --git a/pages/function_reference_matlab/vector3d.plot.html b/pages/function_reference_matlab/vector3d.plot.html index 4fbaf79b7..63fa9d280 100644 --- a/pages/function_reference_matlab/vector3d.plot.html +++ b/pages/function_reference_matlab/vector3d.plot.html @@ -1,6 +1,6 @@ --- title: plot -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: vector3d.plot.html folder: function_reference @@ -11,7 +11,7 @@ plot + -->plot edit page

plot vectors as two dimensional projections on the sphere

Syntax

{% highlight matlab %} plot(v) diff --git a/pages/function_reference_matlab/vector3d.round.html b/pages/function_reference_matlab/vector3d.round.html index cdf6f50ca..8170636c6 100644 --- a/pages/function_reference_matlab/vector3d.round.html +++ b/pages/function_reference_matlab/vector3d.round.html @@ -1,6 +1,6 @@ --- title: round -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: vector3d.round.html folder: function_reference @@ -11,7 +11,7 @@ round + -->round edit page

tries to round xyz coordinates to greatest common divisor

Syntax

{% highlight matlab %} v = round(v,varargin) diff --git a/pages/function_reference_matlab/vector3d.unique.html b/pages/function_reference_matlab/vector3d.unique.html index 0baa9f3be..a177939f4 100644 --- a/pages/function_reference_matlab/vector3d.unique.html +++ b/pages/function_reference_matlab/vector3d.unique.html @@ -1,6 +1,6 @@ --- title: unique -last_updated: 08-Dec-2020 +last_updated: 11-Dec-2020 sidebar: function_reference_sidebar permalink: vector3d.unique.html folder: function_reference @@ -11,7 +11,7 @@ unique + -->unique edit page

disjoint list of vectors

Syntax

{% highlight matlab %} u = unique(v) % find disjoined elements of the vector v