Clustering misorientations#
In this tutorial we will cluster Ti crystal misorientations using data obtained from a highly deformed specimen, using EBSD, as presented in [Johnstone et al., 2020]. The data can be downloaded to your local cache via the orix.data module.
Import orix classes and various dependencies
[1]:
# Exchange "inline" for "notebook" (or "qt5" from pyqt) for interactive plotting
%matplotlib inline
from matplotlib.colors import to_rgb
from matplotlib.lines import Line2D
import matplotlib.pyplot as plt
import numpy as np
from skimage.color import label2rgb
from sklearn.cluster import DBSCAN
from orix import data, plot
from orix.quaternion import Orientation, Misorientation, Rotation
from orix.quaternion.symmetry import D6
from orix.vector import Vector3d
plt.rcParams.update({"font.size": 20, "figure.figsize": (10, 10)})
Import data#
Load Ti orientations with the point group symmetry D6 (622). We have to explicitly allow downloading from an external source.
[2]:
ori = data.ti_orientations(allow_download=True)
ori
[2]:
Orientation (193167,) 622
[[ 0.3027 0.0869 -0.5083 0.8015]
[ 0.3088 0.0868 -0.5016 0.8034]
[ 0.3057 0.0818 -0.4995 0.8065]
...
[ 0.4925 -0.1633 -0.668 0.5334]
[ 0.4946 -0.1592 -0.6696 0.5307]
[ 0.4946 -0.1592 -0.6696 0.5307]]
The orientations define transformations from the sample (lab) to the crystal reference frame, i.e. the Bunge convention. The above referenced paper assumes the opposite convention, which is the one used in MTEX. So, we have to invert the orientations
[3]:
ori = ~ori
Reshape the orientation mapping data to the correct spatial dimension for the scan
[4]:
ori = ori.reshape(381, 507)
Select a subset of the orientations with a suitable size for this demonstration
[5]:
ori = ori[-100:, :200]
Plot orientation maps
[6]:
ckey = plot.IPFColorKeyTSL(D6)
directions = [(1, 0, 0), (0, 1, 0)]
titles = ["X", "Y"]
fig, axes = plt.subplots(ncols=2, figsize=(15, 10))
for i, ax in enumerate(axes):
ckey.direction = Vector3d(directions[i])
# Invert because orix assumes lab2crystal when coloring orientations
ax.imshow(ckey.orientation2color(~ori))
ax.set_title(f"IPF-{titles[i]}")
ax.axis("off")
# Add color key
ax_ipfkey = fig.add_axes(
[0.932, 0.37, 0.1, 0.1], # (Left, bottom, width, height)
projection="ipf",
symmetry=ori.symmetry.laue,
)
ax_ipfkey.plot_ipf_color_key()
ax_ipfkey.set_title("")
fig.subplots_adjust(wspace=0.01)
Map the orientations into the fundamental zone (find symmetrically equivalent orientations with the smallest angle of rotation) of D6
[7]:
ori = ori.map_into_symmetry_reduced_zone()
Compute misorientations (in the horizontal direction)
[8]:
mori_all = Misorientation(~ori[:, :-1] * ori[:, 1:])
Keep only misorientations with a disorientation angle higher than 7\(^{\circ}\), assumed to represent grain boundaries
[9]:
boundary_mask = mori_all.angle > np.deg2rad(7)
mori = mori_all[boundary_mask]
Map the misorientations into the fundamental zone of (D6, D6)
[10]:
mori.symmetry = (D6, D6)
mori = mori.map_into_symmetry_reduced_zone()
Compute distance matrix#
[11]:
# Increase the chunk size for a faster but more memory intensive computation
D = mori.get_distance_matrix()
- [ ] | 0% Completed | 220.37 us
</pre>
- [ ] | 0% Completed | 220.37 us
end{sphinxVerbatim}
[ ] | 0% Completed | 220.37 us
- [ ] | 0% Completed | 180.98 ms
</pre>
- [ ] | 0% Completed | 180.98 ms
end{sphinxVerbatim}
[ ] | 0% Completed | 180.98 ms
- [ ] | 0% Completed | 348.73 ms
</pre>
- [ ] | 0% Completed | 348.73 ms
end{sphinxVerbatim}
[ ] | 0% Completed | 348.73 ms
- [ ] | 0% Completed | 481.25 ms
</pre>
- [ ] | 0% Completed | 481.25 ms
end{sphinxVerbatim}
[ ] | 0% Completed | 481.25 ms
- [ ] | 0% Completed | 618.52 ms
</pre>
- [ ] | 0% Completed | 618.52 ms
end{sphinxVerbatim}
[ ] | 0% Completed | 618.52 ms
- [ ] | 0% Completed | 876.44 ms
</pre>
- [ ] | 0% Completed | 876.44 ms
end{sphinxVerbatim}
[ ] | 0% Completed | 876.44 ms
- [ ] | 0% Completed | 993.12 ms
</pre>
- [ ] | 0% Completed | 993.12 ms
end{sphinxVerbatim}
[ ] | 0% Completed | 993.12 ms
- [ ] | 0% Completed | 1.10 s
</pre>
- [ ] | 0% Completed | 1.10 s
end{sphinxVerbatim}
[ ] | 0% Completed | 1.10 s
- [ ] | 1% Completed | 1.20 s
</pre>
- [ ] | 1% Completed | 1.20 s
end{sphinxVerbatim}
[ ] | 1% Completed | 1.20 s
- [ ] | 1% Completed | 1.30 s
</pre>
- [ ] | 1% Completed | 1.30 s
end{sphinxVerbatim}
[ ] | 1% Completed | 1.30 s
- [ ] | 2% Completed | 1.40 s
</pre>
- [ ] | 2% Completed | 1.40 s
end{sphinxVerbatim}
[ ] | 2% Completed | 1.40 s
- [# ] | 2% Completed | 1.50 s
</pre>
- [# ] | 2% Completed | 1.50 s
end{sphinxVerbatim}
[# ] | 2% Completed | 1.50 s
- [# ] | 3% Completed | 1.60 s
</pre>
- [# ] | 3% Completed | 1.60 s
end{sphinxVerbatim}
[# ] | 3% Completed | 1.60 s
- [# ] | 3% Completed | 1.70 s
</pre>
- [# ] | 3% Completed | 1.70 s
end{sphinxVerbatim}
[# ] | 3% Completed | 1.70 s
- [# ] | 4% Completed | 1.80 s
</pre>
- [# ] | 4% Completed | 1.80 s
end{sphinxVerbatim}
[# ] | 4% Completed | 1.80 s
- [# ] | 4% Completed | 1.91 s
</pre>
- [# ] | 4% Completed | 1.91 s
end{sphinxVerbatim}
[# ] | 4% Completed | 1.91 s
- [# ] | 4% Completed | 2.01 s
</pre>
- [# ] | 4% Completed | 2.01 s
end{sphinxVerbatim}
[# ] | 4% Completed | 2.01 s
- [## ] | 5% Completed | 2.11 s
</pre>
- [## ] | 5% Completed | 2.11 s
end{sphinxVerbatim}
[## ] | 5% Completed | 2.11 s
- [## ] | 5% Completed | 2.21 s
</pre>
- [## ] | 5% Completed | 2.21 s
end{sphinxVerbatim}
[## ] | 5% Completed | 2.21 s
- [## ] | 6% Completed | 2.31 s
</pre>
- [## ] | 6% Completed | 2.31 s
end{sphinxVerbatim}
[## ] | 6% Completed | 2.31 s
- [## ] | 6% Completed | 2.41 s
</pre>
- [## ] | 6% Completed | 2.41 s
end{sphinxVerbatim}
[## ] | 6% Completed | 2.41 s
- [## ] | 6% Completed | 2.51 s
</pre>
- [## ] | 6% Completed | 2.51 s
end{sphinxVerbatim}
[## ] | 6% Completed | 2.51 s
- [## ] | 7% Completed | 2.61 s
</pre>
- [## ] | 7% Completed | 2.61 s
end{sphinxVerbatim}
[## ] | 7% Completed | 2.61 s
- [### ] | 7% Completed | 2.72 s
</pre>
- [### ] | 7% Completed | 2.72 s
end{sphinxVerbatim}
[### ] | 7% Completed | 2.72 s
- [### ] | 8% Completed | 2.82 s
</pre>
- [### ] | 8% Completed | 2.82 s
end{sphinxVerbatim}
[### ] | 8% Completed | 2.82 s
- [### ] | 8% Completed | 2.92 s
</pre>
- [### ] | 8% Completed | 2.92 s
end{sphinxVerbatim}
[### ] | 8% Completed | 2.92 s
- [### ] | 8% Completed | 3.02 s
</pre>
- [### ] | 8% Completed | 3.02 s
end{sphinxVerbatim}
[### ] | 8% Completed | 3.02 s
- [### ] | 9% Completed | 3.12 s
</pre>
- [### ] | 9% Completed | 3.12 s
end{sphinxVerbatim}
[### ] | 9% Completed | 3.12 s
- [### ] | 9% Completed | 3.22 s
</pre>
- [### ] | 9% Completed | 3.22 s
end{sphinxVerbatim}
[### ] | 9% Completed | 3.22 s
- [#### ] | 10% Completed | 3.32 s
</pre>
- [#### ] | 10% Completed | 3.32 s
end{sphinxVerbatim}
[#### ] | 10% Completed | 3.32 s
- [#### ] | 10% Completed | 3.43 s
</pre>
- [#### ] | 10% Completed | 3.43 s
end{sphinxVerbatim}
[#### ] | 10% Completed | 3.43 s
- [#### ] | 11% Completed | 3.53 s
</pre>
- [#### ] | 11% Completed | 3.53 s
end{sphinxVerbatim}
[#### ] | 11% Completed | 3.53 s
- [#### ] | 11% Completed | 3.63 s
</pre>
- [#### ] | 11% Completed | 3.63 s
end{sphinxVerbatim}
[#### ] | 11% Completed | 3.63 s
- [#### ] | 11% Completed | 3.73 s
</pre>
- [#### ] | 11% Completed | 3.73 s
end{sphinxVerbatim}
[#### ] | 11% Completed | 3.73 s
- [#### ] | 12% Completed | 3.83 s
</pre>
- [#### ] | 12% Completed | 3.83 s
end{sphinxVerbatim}
[#### ] | 12% Completed | 3.83 s
- [##### ] | 12% Completed | 3.93 s
</pre>
- [##### ] | 12% Completed | 3.93 s
end{sphinxVerbatim}
[##### ] | 12% Completed | 3.93 s
- [##### ] | 13% Completed | 4.04 s
</pre>
- [##### ] | 13% Completed | 4.04 s
end{sphinxVerbatim}
[##### ] | 13% Completed | 4.04 s
- [##### ] | 13% Completed | 4.14 s
</pre>
- [##### ] | 13% Completed | 4.14 s
end{sphinxVerbatim}
[##### ] | 13% Completed | 4.14 s
- [##### ] | 13% Completed | 4.24 s
</pre>
- [##### ] | 13% Completed | 4.24 s
end{sphinxVerbatim}
[##### ] | 13% Completed | 4.24 s
- [##### ] | 14% Completed | 4.34 s
</pre>
- [##### ] | 14% Completed | 4.34 s
end{sphinxVerbatim}
[##### ] | 14% Completed | 4.34 s
- [##### ] | 14% Completed | 4.44 s
</pre>
- [##### ] | 14% Completed | 4.44 s
end{sphinxVerbatim}
[##### ] | 14% Completed | 4.44 s
- [##### ] | 14% Completed | 4.54 s
</pre>
- [##### ] | 14% Completed | 4.54 s
end{sphinxVerbatim}
[##### ] | 14% Completed | 4.54 s
- [###### ] | 15% Completed | 4.64 s
</pre>
- [###### ] | 15% Completed | 4.64 s
end{sphinxVerbatim}
[###### ] | 15% Completed | 4.64 s
- [###### ] | 15% Completed | 4.75 s
</pre>
- [###### ] | 15% Completed | 4.75 s
end{sphinxVerbatim}
[###### ] | 15% Completed | 4.75 s
- [###### ] | 16% Completed | 4.85 s
</pre>
- [###### ] | 16% Completed | 4.85 s
end{sphinxVerbatim}
[###### ] | 16% Completed | 4.85 s
- [###### ] | 16% Completed | 4.95 s
</pre>
- [###### ] | 16% Completed | 4.95 s
end{sphinxVerbatim}
[###### ] | 16% Completed | 4.95 s
- [###### ] | 17% Completed | 5.05 s
</pre>
- [###### ] | 17% Completed | 5.05 s
end{sphinxVerbatim}
[###### ] | 17% Completed | 5.05 s
- [####### ] | 17% Completed | 5.15 s
</pre>
- [####### ] | 17% Completed | 5.15 s
end{sphinxVerbatim}
[####### ] | 17% Completed | 5.15 s
- [####### ] | 17% Completed | 5.25 s
</pre>
- [####### ] | 17% Completed | 5.25 s
end{sphinxVerbatim}
[####### ] | 17% Completed | 5.25 s
- [####### ] | 18% Completed | 5.36 s
</pre>
- [####### ] | 18% Completed | 5.36 s
end{sphinxVerbatim}
[####### ] | 18% Completed | 5.36 s
- [####### ] | 18% Completed | 5.46 s
</pre>
- [####### ] | 18% Completed | 5.46 s
end{sphinxVerbatim}
[####### ] | 18% Completed | 5.46 s
- [####### ] | 19% Completed | 5.56 s
</pre>
- [####### ] | 19% Completed | 5.56 s
end{sphinxVerbatim}
[####### ] | 19% Completed | 5.56 s
- [####### ] | 19% Completed | 5.66 s
</pre>
- [####### ] | 19% Completed | 5.66 s
end{sphinxVerbatim}
[####### ] | 19% Completed | 5.66 s
- [######## ] | 20% Completed | 5.76 s
</pre>
- [######## ] | 20% Completed | 5.76 s
end{sphinxVerbatim}
[######## ] | 20% Completed | 5.76 s
- [######## ] | 20% Completed | 5.86 s
</pre>
- [######## ] | 20% Completed | 5.86 s
end{sphinxVerbatim}
[######## ] | 20% Completed | 5.86 s
- [######## ] | 20% Completed | 5.97 s
</pre>
- [######## ] | 20% Completed | 5.97 s
end{sphinxVerbatim}
[######## ] | 20% Completed | 5.97 s
- [######## ] | 21% Completed | 6.07 s
</pre>
- [######## ] | 21% Completed | 6.07 s
end{sphinxVerbatim}
[######## ] | 21% Completed | 6.07 s
- [######## ] | 21% Completed | 6.17 s
</pre>
- [######## ] | 21% Completed | 6.17 s
end{sphinxVerbatim}
[######## ] | 21% Completed | 6.17 s
- [######## ] | 22% Completed | 6.27 s
</pre>
- [######## ] | 22% Completed | 6.27 s
end{sphinxVerbatim}
[######## ] | 22% Completed | 6.27 s
- [######## ] | 22% Completed | 6.37 s
</pre>
- [######## ] | 22% Completed | 6.37 s
end{sphinxVerbatim}
[######## ] | 22% Completed | 6.37 s
- [######### ] | 22% Completed | 6.47 s
</pre>
- [######### ] | 22% Completed | 6.47 s
end{sphinxVerbatim}
[######### ] | 22% Completed | 6.47 s
- [######### ] | 23% Completed | 6.57 s
</pre>
- [######### ] | 23% Completed | 6.57 s
end{sphinxVerbatim}
[######### ] | 23% Completed | 6.57 s
- [######### ] | 23% Completed | 6.67 s
</pre>
- [######### ] | 23% Completed | 6.67 s
end{sphinxVerbatim}
[######### ] | 23% Completed | 6.67 s
- [######### ] | 24% Completed | 6.78 s
</pre>
- [######### ] | 24% Completed | 6.78 s
end{sphinxVerbatim}
[######### ] | 24% Completed | 6.78 s
- [######### ] | 24% Completed | 6.88 s
</pre>
- [######### ] | 24% Completed | 6.88 s
end{sphinxVerbatim}
[######### ] | 24% Completed | 6.88 s
- [########## ] | 25% Completed | 6.98 s
</pre>
- [########## ] | 25% Completed | 6.98 s
end{sphinxVerbatim}
[########## ] | 25% Completed | 6.98 s
- [########## ] | 25% Completed | 7.08 s
</pre>
- [########## ] | 25% Completed | 7.08 s
end{sphinxVerbatim}
[########## ] | 25% Completed | 7.08 s
- [########## ] | 25% Completed | 7.18 s
</pre>
- [########## ] | 25% Completed | 7.18 s
end{sphinxVerbatim}
[########## ] | 25% Completed | 7.18 s
- [########## ] | 26% Completed | 7.28 s
</pre>
- [########## ] | 26% Completed | 7.28 s
end{sphinxVerbatim}
[########## ] | 26% Completed | 7.28 s
- [########## ] | 26% Completed | 7.38 s
</pre>
- [########## ] | 26% Completed | 7.38 s
end{sphinxVerbatim}
[########## ] | 26% Completed | 7.38 s
- [########## ] | 27% Completed | 7.48 s
</pre>
- [########## ] | 27% Completed | 7.48 s
end{sphinxVerbatim}
[########## ] | 27% Completed | 7.48 s
- [########### ] | 27% Completed | 7.58 s
</pre>
- [########### ] | 27% Completed | 7.58 s
end{sphinxVerbatim}
[########### ] | 27% Completed | 7.58 s
- [########### ] | 27% Completed | 7.69 s
</pre>
- [########### ] | 27% Completed | 7.69 s
end{sphinxVerbatim}
[########### ] | 27% Completed | 7.69 s
- [########### ] | 28% Completed | 7.79 s
</pre>
- [########### ] | 28% Completed | 7.79 s
end{sphinxVerbatim}
[########### ] | 28% Completed | 7.79 s
- [########### ] | 28% Completed | 7.89 s
</pre>
- [########### ] | 28% Completed | 7.89 s
end{sphinxVerbatim}
[########### ] | 28% Completed | 7.89 s
- [########### ] | 29% Completed | 7.99 s
</pre>
- [########### ] | 29% Completed | 7.99 s
end{sphinxVerbatim}
[########### ] | 29% Completed | 7.99 s
- [########### ] | 29% Completed | 8.09 s
</pre>
- [########### ] | 29% Completed | 8.09 s
end{sphinxVerbatim}
[########### ] | 29% Completed | 8.09 s
- [############ ] | 30% Completed | 8.19 s
</pre>
- [############ ] | 30% Completed | 8.19 s
end{sphinxVerbatim}
[############ ] | 30% Completed | 8.19 s
- [############ ] | 30% Completed | 8.29 s
</pre>
- [############ ] | 30% Completed | 8.29 s
end{sphinxVerbatim}
[############ ] | 30% Completed | 8.29 s
- [############ ] | 30% Completed | 8.39 s
</pre>
- [############ ] | 30% Completed | 8.39 s
end{sphinxVerbatim}
[############ ] | 30% Completed | 8.39 s
- [############ ] | 31% Completed | 8.49 s
</pre>
- [############ ] | 31% Completed | 8.49 s
end{sphinxVerbatim}
[############ ] | 31% Completed | 8.49 s
- [############ ] | 31% Completed | 8.60 s
</pre>
- [############ ] | 31% Completed | 8.60 s
end{sphinxVerbatim}
[############ ] | 31% Completed | 8.60 s
- [############ ] | 32% Completed | 8.70 s
</pre>
- [############ ] | 32% Completed | 8.70 s
end{sphinxVerbatim}
[############ ] | 32% Completed | 8.70 s
- [############# ] | 32% Completed | 8.80 s
</pre>
- [############# ] | 32% Completed | 8.80 s
end{sphinxVerbatim}
[############# ] | 32% Completed | 8.80 s
- [############# ] | 32% Completed | 8.90 s
</pre>
- [############# ] | 32% Completed | 8.90 s
end{sphinxVerbatim}
[############# ] | 32% Completed | 8.90 s
- [############# ] | 33% Completed | 9.00 s
</pre>
- [############# ] | 33% Completed | 9.00 s
end{sphinxVerbatim}
[############# ] | 33% Completed | 9.00 s
- [############# ] | 33% Completed | 9.10 s
</pre>
- [############# ] | 33% Completed | 9.10 s
end{sphinxVerbatim}
[############# ] | 33% Completed | 9.10 s
- [############# ] | 34% Completed | 9.20 s
</pre>
- [############# ] | 34% Completed | 9.20 s
end{sphinxVerbatim}
[############# ] | 34% Completed | 9.20 s
- [############# ] | 34% Completed | 9.30 s
</pre>
- [############# ] | 34% Completed | 9.30 s
end{sphinxVerbatim}
[############# ] | 34% Completed | 9.30 s
- [############## ] | 35% Completed | 9.40 s
</pre>
- [############## ] | 35% Completed | 9.40 s
end{sphinxVerbatim}
[############## ] | 35% Completed | 9.40 s
- [############## ] | 35% Completed | 9.51 s
</pre>
- [############## ] | 35% Completed | 9.51 s
end{sphinxVerbatim}
[############## ] | 35% Completed | 9.51 s
- [############## ] | 35% Completed | 9.61 s
</pre>
- [############## ] | 35% Completed | 9.61 s
end{sphinxVerbatim}
[############## ] | 35% Completed | 9.61 s
- [############## ] | 36% Completed | 9.71 s
</pre>
- [############## ] | 36% Completed | 9.71 s
end{sphinxVerbatim}
[############## ] | 36% Completed | 9.71 s
- [############## ] | 36% Completed | 9.81 s
</pre>
- [############## ] | 36% Completed | 9.81 s
end{sphinxVerbatim}
[############## ] | 36% Completed | 9.81 s
- [############## ] | 37% Completed | 9.91 s
</pre>
- [############## ] | 37% Completed | 9.91 s
end{sphinxVerbatim}
[############## ] | 37% Completed | 9.91 s
- [############### ] | 37% Completed | 10.01 s
</pre>
- [############### ] | 37% Completed | 10.01 s
end{sphinxVerbatim}
[############### ] | 37% Completed | 10.01 s
- [############### ] | 37% Completed | 10.11 s
</pre>
- [############### ] | 37% Completed | 10.11 s
end{sphinxVerbatim}
[############### ] | 37% Completed | 10.11 s
- [############### ] | 38% Completed | 10.21 s
</pre>
- [############### ] | 38% Completed | 10.21 s
end{sphinxVerbatim}
[############### ] | 38% Completed | 10.21 s
- [############### ] | 38% Completed | 10.31 s
</pre>
- [############### ] | 38% Completed | 10.31 s
end{sphinxVerbatim}
[############### ] | 38% Completed | 10.31 s
- [############### ] | 39% Completed | 10.41 s
</pre>
- [############### ] | 39% Completed | 10.41 s
end{sphinxVerbatim}
[############### ] | 39% Completed | 10.41 s
- [############### ] | 39% Completed | 10.52 s
</pre>
- [############### ] | 39% Completed | 10.52 s
end{sphinxVerbatim}
[############### ] | 39% Completed | 10.52 s
- [################ ] | 40% Completed | 10.62 s
</pre>
- [################ ] | 40% Completed | 10.62 s
end{sphinxVerbatim}
[################ ] | 40% Completed | 10.62 s
- [################ ] | 40% Completed | 10.72 s
</pre>
- [################ ] | 40% Completed | 10.72 s
end{sphinxVerbatim}
[################ ] | 40% Completed | 10.72 s
- [################ ] | 40% Completed | 10.82 s
</pre>
- [################ ] | 40% Completed | 10.82 s
end{sphinxVerbatim}
[################ ] | 40% Completed | 10.82 s
- [################ ] | 41% Completed | 10.92 s
</pre>
- [################ ] | 41% Completed | 10.92 s
end{sphinxVerbatim}
[################ ] | 41% Completed | 10.92 s
- [################ ] | 41% Completed | 11.02 s
</pre>
- [################ ] | 41% Completed | 11.02 s
end{sphinxVerbatim}
[################ ] | 41% Completed | 11.02 s
- [################ ] | 42% Completed | 11.12 s
</pre>
- [################ ] | 42% Completed | 11.12 s
end{sphinxVerbatim}
[################ ] | 42% Completed | 11.12 s
- [################# ] | 42% Completed | 11.22 s
</pre>
- [################# ] | 42% Completed | 11.22 s
end{sphinxVerbatim}
[################# ] | 42% Completed | 11.22 s
- [################# ] | 43% Completed | 11.33 s
</pre>
- [################# ] | 43% Completed | 11.33 s
end{sphinxVerbatim}
[################# ] | 43% Completed | 11.33 s
- [################# ] | 43% Completed | 11.43 s
</pre>
- [################# ] | 43% Completed | 11.43 s
end{sphinxVerbatim}
[################# ] | 43% Completed | 11.43 s
- [################# ] | 43% Completed | 11.53 s
</pre>
- [################# ] | 43% Completed | 11.53 s
end{sphinxVerbatim}
[################# ] | 43% Completed | 11.53 s
- [################# ] | 44% Completed | 11.63 s
</pre>
- [################# ] | 44% Completed | 11.63 s
end{sphinxVerbatim}
[################# ] | 44% Completed | 11.63 s
- [################# ] | 44% Completed | 11.73 s
</pre>
- [################# ] | 44% Completed | 11.73 s
end{sphinxVerbatim}
[################# ] | 44% Completed | 11.73 s
- [################## ] | 45% Completed | 11.83 s
</pre>
- [################## ] | 45% Completed | 11.83 s
end{sphinxVerbatim}
[################## ] | 45% Completed | 11.83 s
- [################## ] | 45% Completed | 11.93 s
</pre>
- [################## ] | 45% Completed | 11.93 s
end{sphinxVerbatim}
[################## ] | 45% Completed | 11.93 s
- [################## ] | 45% Completed | 12.04 s
</pre>
- [################## ] | 45% Completed | 12.04 s
end{sphinxVerbatim}
[################## ] | 45% Completed | 12.04 s
- [################## ] | 46% Completed | 12.14 s
</pre>
- [################## ] | 46% Completed | 12.14 s
end{sphinxVerbatim}
[################## ] | 46% Completed | 12.14 s
- [################## ] | 46% Completed | 12.24 s
</pre>
- [################## ] | 46% Completed | 12.24 s
end{sphinxVerbatim}
[################## ] | 46% Completed | 12.24 s
- [################## ] | 47% Completed | 12.34 s
</pre>
- [################## ] | 47% Completed | 12.34 s
end{sphinxVerbatim}
[################## ] | 47% Completed | 12.34 s
- [################### ] | 47% Completed | 12.44 s
</pre>
- [################### ] | 47% Completed | 12.44 s
end{sphinxVerbatim}
[################### ] | 47% Completed | 12.44 s
- [################### ] | 47% Completed | 12.54 s
</pre>
- [################### ] | 47% Completed | 12.54 s
end{sphinxVerbatim}
[################### ] | 47% Completed | 12.54 s
- [################### ] | 48% Completed | 12.64 s
</pre>
- [################### ] | 48% Completed | 12.64 s
end{sphinxVerbatim}
[################### ] | 48% Completed | 12.64 s
- [################### ] | 48% Completed | 12.74 s
</pre>
- [################### ] | 48% Completed | 12.74 s
end{sphinxVerbatim}
[################### ] | 48% Completed | 12.74 s
- [################### ] | 49% Completed | 12.84 s
</pre>
- [################### ] | 49% Completed | 12.84 s
end{sphinxVerbatim}
[################### ] | 49% Completed | 12.84 s
- [################### ] | 49% Completed | 12.94 s
</pre>
- [################### ] | 49% Completed | 12.94 s
end{sphinxVerbatim}
[################### ] | 49% Completed | 12.94 s
- [#################### ] | 50% Completed | 13.05 s
</pre>
- [#################### ] | 50% Completed | 13.05 s
end{sphinxVerbatim}
[#################### ] | 50% Completed | 13.05 s
- [#################### ] | 50% Completed | 13.15 s
</pre>
- [#################### ] | 50% Completed | 13.15 s
end{sphinxVerbatim}
[#################### ] | 50% Completed | 13.15 s
- [#################### ] | 50% Completed | 13.25 s
</pre>
- [#################### ] | 50% Completed | 13.25 s
end{sphinxVerbatim}
[#################### ] | 50% Completed | 13.25 s
- [#################### ] | 51% Completed | 13.35 s
</pre>
- [#################### ] | 51% Completed | 13.35 s
end{sphinxVerbatim}
[#################### ] | 51% Completed | 13.35 s
- [#################### ] | 51% Completed | 13.45 s
</pre>
- [#################### ] | 51% Completed | 13.45 s
end{sphinxVerbatim}
[#################### ] | 51% Completed | 13.45 s
- [#################### ] | 52% Completed | 13.55 s
</pre>
- [#################### ] | 52% Completed | 13.55 s
end{sphinxVerbatim}
[#################### ] | 52% Completed | 13.55 s
- [##################### ] | 52% Completed | 13.65 s
</pre>
- [##################### ] | 52% Completed | 13.65 s
end{sphinxVerbatim}
[##################### ] | 52% Completed | 13.65 s
- [##################### ] | 53% Completed | 13.76 s
</pre>
- [##################### ] | 53% Completed | 13.76 s
end{sphinxVerbatim}
[##################### ] | 53% Completed | 13.76 s
- [##################### ] | 53% Completed | 13.86 s
</pre>
- [##################### ] | 53% Completed | 13.86 s
end{sphinxVerbatim}
[##################### ] | 53% Completed | 13.86 s
- [##################### ] | 53% Completed | 13.96 s
</pre>
- [##################### ] | 53% Completed | 13.96 s
end{sphinxVerbatim}
[##################### ] | 53% Completed | 13.96 s
- [##################### ] | 54% Completed | 14.06 s
</pre>
- [##################### ] | 54% Completed | 14.06 s
end{sphinxVerbatim}
[##################### ] | 54% Completed | 14.06 s
- [##################### ] | 54% Completed | 14.16 s
</pre>
- [##################### ] | 54% Completed | 14.16 s
end{sphinxVerbatim}
[##################### ] | 54% Completed | 14.16 s
- [###################### ] | 55% Completed | 14.26 s
</pre>
- [###################### ] | 55% Completed | 14.26 s
end{sphinxVerbatim}
[###################### ] | 55% Completed | 14.26 s
- [###################### ] | 55% Completed | 14.37 s
</pre>
- [###################### ] | 55% Completed | 14.37 s
end{sphinxVerbatim}
[###################### ] | 55% Completed | 14.37 s
- [###################### ] | 55% Completed | 14.47 s
</pre>
- [###################### ] | 55% Completed | 14.47 s
end{sphinxVerbatim}
[###################### ] | 55% Completed | 14.47 s
- [###################### ] | 56% Completed | 14.57 s
</pre>
- [###################### ] | 56% Completed | 14.57 s
end{sphinxVerbatim}
[###################### ] | 56% Completed | 14.57 s
- [###################### ] | 56% Completed | 14.67 s
</pre>
- [###################### ] | 56% Completed | 14.67 s
end{sphinxVerbatim}
[###################### ] | 56% Completed | 14.67 s
- [###################### ] | 57% Completed | 14.77 s
</pre>
- [###################### ] | 57% Completed | 14.77 s
end{sphinxVerbatim}
[###################### ] | 57% Completed | 14.77 s
- [####################### ] | 57% Completed | 14.88 s
</pre>
- [####################### ] | 57% Completed | 14.88 s
end{sphinxVerbatim}
[####################### ] | 57% Completed | 14.88 s
- [####################### ] | 58% Completed | 14.98 s
</pre>
- [####################### ] | 58% Completed | 14.98 s
end{sphinxVerbatim}
[####################### ] | 58% Completed | 14.98 s
- [####################### ] | 58% Completed | 15.08 s
</pre>
- [####################### ] | 58% Completed | 15.08 s
end{sphinxVerbatim}
[####################### ] | 58% Completed | 15.08 s
- [####################### ] | 58% Completed | 15.18 s
</pre>
- [####################### ] | 58% Completed | 15.18 s
end{sphinxVerbatim}
[####################### ] | 58% Completed | 15.18 s
- [####################### ] | 59% Completed | 15.28 s
</pre>
- [####################### ] | 59% Completed | 15.28 s
end{sphinxVerbatim}
[####################### ] | 59% Completed | 15.28 s
- [####################### ] | 59% Completed | 15.38 s
</pre>
- [####################### ] | 59% Completed | 15.38 s
end{sphinxVerbatim}
[####################### ] | 59% Completed | 15.38 s
- [######################## ] | 60% Completed | 15.48 s
</pre>
- [######################## ] | 60% Completed | 15.48 s
end{sphinxVerbatim}
[######################## ] | 60% Completed | 15.48 s
- [######################## ] | 60% Completed | 15.58 s
</pre>
- [######################## ] | 60% Completed | 15.58 s
end{sphinxVerbatim}
[######################## ] | 60% Completed | 15.58 s
- [######################## ] | 61% Completed | 15.68 s
</pre>
- [######################## ] | 61% Completed | 15.68 s
end{sphinxVerbatim}
[######################## ] | 61% Completed | 15.68 s
- [######################## ] | 61% Completed | 15.79 s
</pre>
- [######################## ] | 61% Completed | 15.79 s
end{sphinxVerbatim}
[######################## ] | 61% Completed | 15.79 s
- [######################## ] | 61% Completed | 15.89 s
</pre>
- [######################## ] | 61% Completed | 15.89 s
end{sphinxVerbatim}
[######################## ] | 61% Completed | 15.89 s
- [######################## ] | 62% Completed | 15.99 s
</pre>
- [######################## ] | 62% Completed | 15.99 s
end{sphinxVerbatim}
[######################## ] | 62% Completed | 15.99 s
- [######################### ] | 62% Completed | 16.09 s
</pre>
- [######################### ] | 62% Completed | 16.09 s
end{sphinxVerbatim}
[######################### ] | 62% Completed | 16.09 s
- [######################### ] | 63% Completed | 16.19 s
</pre>
- [######################### ] | 63% Completed | 16.19 s
end{sphinxVerbatim}
[######################### ] | 63% Completed | 16.19 s
- [######################### ] | 63% Completed | 16.29 s
</pre>
- [######################### ] | 63% Completed | 16.29 s
end{sphinxVerbatim}
[######################### ] | 63% Completed | 16.29 s
- [######################### ] | 63% Completed | 16.40 s
</pre>
- [######################### ] | 63% Completed | 16.40 s
end{sphinxVerbatim}
[######################### ] | 63% Completed | 16.40 s
- [######################### ] | 64% Completed | 16.50 s
</pre>
- [######################### ] | 64% Completed | 16.50 s
end{sphinxVerbatim}
[######################### ] | 64% Completed | 16.50 s
- [######################### ] | 64% Completed | 16.60 s
</pre>
- [######################### ] | 64% Completed | 16.60 s
end{sphinxVerbatim}
[######################### ] | 64% Completed | 16.60 s
- [########################## ] | 65% Completed | 16.70 s
</pre>
- [########################## ] | 65% Completed | 16.70 s
end{sphinxVerbatim}
[########################## ] | 65% Completed | 16.70 s
- [########################## ] | 65% Completed | 16.80 s
</pre>
- [########################## ] | 65% Completed | 16.80 s
end{sphinxVerbatim}
[########################## ] | 65% Completed | 16.80 s
- [########################## ] | 66% Completed | 16.90 s
</pre>
- [########################## ] | 66% Completed | 16.90 s
end{sphinxVerbatim}
[########################## ] | 66% Completed | 16.90 s
- [########################## ] | 66% Completed | 17.00 s
</pre>
- [########################## ] | 66% Completed | 17.00 s
end{sphinxVerbatim}
[########################## ] | 66% Completed | 17.00 s
- [########################## ] | 66% Completed | 17.10 s
</pre>
- [########################## ] | 66% Completed | 17.10 s
end{sphinxVerbatim}
[########################## ] | 66% Completed | 17.10 s
- [########################## ] | 67% Completed | 17.20 s
</pre>
- [########################## ] | 67% Completed | 17.20 s
end{sphinxVerbatim}
[########################## ] | 67% Completed | 17.20 s
- [########################### ] | 67% Completed | 17.31 s
</pre>
- [########################### ] | 67% Completed | 17.31 s
end{sphinxVerbatim}
[########################### ] | 67% Completed | 17.31 s
- [########################### ] | 68% Completed | 17.41 s
</pre>
- [########################### ] | 68% Completed | 17.41 s
end{sphinxVerbatim}
[########################### ] | 68% Completed | 17.41 s
- [########################### ] | 68% Completed | 17.51 s
</pre>
- [########################### ] | 68% Completed | 17.51 s
end{sphinxVerbatim}
[########################### ] | 68% Completed | 17.51 s
- [########################### ] | 69% Completed | 17.61 s
</pre>
- [########################### ] | 69% Completed | 17.61 s
end{sphinxVerbatim}
[########################### ] | 69% Completed | 17.61 s
- [########################### ] | 69% Completed | 17.71 s
</pre>
- [########################### ] | 69% Completed | 17.71 s
end{sphinxVerbatim}
[########################### ] | 69% Completed | 17.71 s
- [########################### ] | 69% Completed | 17.81 s
</pre>
- [########################### ] | 69% Completed | 17.81 s
end{sphinxVerbatim}
[########################### ] | 69% Completed | 17.81 s
- [############################ ] | 70% Completed | 17.92 s
</pre>
- [############################ ] | 70% Completed | 17.92 s
end{sphinxVerbatim}
[############################ ] | 70% Completed | 17.92 s
- [############################ ] | 70% Completed | 18.02 s
</pre>
- [############################ ] | 70% Completed | 18.02 s
end{sphinxVerbatim}
[############################ ] | 70% Completed | 18.02 s
- [############################ ] | 71% Completed | 18.12 s
</pre>
- [############################ ] | 71% Completed | 18.12 s
end{sphinxVerbatim}
[############################ ] | 71% Completed | 18.12 s
- [############################ ] | 71% Completed | 18.22 s
</pre>
- [############################ ] | 71% Completed | 18.22 s
end{sphinxVerbatim}
[############################ ] | 71% Completed | 18.22 s
- [############################ ] | 71% Completed | 18.32 s
</pre>
- [############################ ] | 71% Completed | 18.32 s
end{sphinxVerbatim}
[############################ ] | 71% Completed | 18.32 s
- [############################ ] | 72% Completed | 18.42 s
</pre>
- [############################ ] | 72% Completed | 18.42 s
end{sphinxVerbatim}
[############################ ] | 72% Completed | 18.42 s
- [############################# ] | 72% Completed | 18.53 s
</pre>
- [############################# ] | 72% Completed | 18.53 s
end{sphinxVerbatim}
[############################# ] | 72% Completed | 18.53 s
- [############################# ] | 73% Completed | 18.63 s
</pre>
- [############################# ] | 73% Completed | 18.63 s
end{sphinxVerbatim}
[############################# ] | 73% Completed | 18.63 s
- [############################# ] | 73% Completed | 18.73 s
</pre>
- [############################# ] | 73% Completed | 18.73 s
end{sphinxVerbatim}
[############################# ] | 73% Completed | 18.73 s
- [############################# ] | 74% Completed | 18.83 s
</pre>
- [############################# ] | 74% Completed | 18.83 s
end{sphinxVerbatim}
[############################# ] | 74% Completed | 18.83 s
- [############################# ] | 74% Completed | 18.93 s
</pre>
- [############################# ] | 74% Completed | 18.93 s
end{sphinxVerbatim}
[############################# ] | 74% Completed | 18.93 s
- [############################# ] | 74% Completed | 19.03 s
</pre>
- [############################# ] | 74% Completed | 19.03 s
end{sphinxVerbatim}
[############################# ] | 74% Completed | 19.03 s
- [############################## ] | 75% Completed | 19.13 s
</pre>
- [############################## ] | 75% Completed | 19.13 s
end{sphinxVerbatim}
[############################## ] | 75% Completed | 19.13 s
- [############################## ] | 75% Completed | 19.23 s
</pre>
- [############################## ] | 75% Completed | 19.23 s
end{sphinxVerbatim}
[############################## ] | 75% Completed | 19.23 s
- [############################## ] | 76% Completed | 19.33 s
</pre>
- [############################## ] | 76% Completed | 19.33 s
end{sphinxVerbatim}
[############################## ] | 76% Completed | 19.33 s
- [############################## ] | 76% Completed | 19.43 s
</pre>
- [############################## ] | 76% Completed | 19.43 s
end{sphinxVerbatim}
[############################## ] | 76% Completed | 19.43 s
- [############################## ] | 76% Completed | 19.54 s
</pre>
- [############################## ] | 76% Completed | 19.54 s
end{sphinxVerbatim}
[############################## ] | 76% Completed | 19.54 s
- [############################## ] | 77% Completed | 19.64 s
</pre>
- [############################## ] | 77% Completed | 19.64 s
end{sphinxVerbatim}
[############################## ] | 77% Completed | 19.64 s
- [############################### ] | 77% Completed | 19.74 s
</pre>
- [############################### ] | 77% Completed | 19.74 s
end{sphinxVerbatim}
[############################### ] | 77% Completed | 19.74 s
- [############################### ] | 78% Completed | 19.84 s
</pre>
- [############################### ] | 78% Completed | 19.84 s
end{sphinxVerbatim}
[############################### ] | 78% Completed | 19.84 s
- [############################### ] | 78% Completed | 19.94 s
</pre>
- [############################### ] | 78% Completed | 19.94 s
end{sphinxVerbatim}
[############################### ] | 78% Completed | 19.94 s
- [############################### ] | 79% Completed | 20.04 s
</pre>
- [############################### ] | 79% Completed | 20.04 s
end{sphinxVerbatim}
[############################### ] | 79% Completed | 20.04 s
- [############################### ] | 79% Completed | 20.14 s
</pre>
- [############################### ] | 79% Completed | 20.14 s
end{sphinxVerbatim}
[############################### ] | 79% Completed | 20.14 s
- [############################### ] | 79% Completed | 20.25 s
</pre>
- [############################### ] | 79% Completed | 20.25 s
end{sphinxVerbatim}
[############################### ] | 79% Completed | 20.25 s
- [################################ ] | 80% Completed | 20.35 s
</pre>
- [################################ ] | 80% Completed | 20.35 s
end{sphinxVerbatim}
[################################ ] | 80% Completed | 20.35 s
- [################################ ] | 80% Completed | 20.45 s
</pre>
- [################################ ] | 80% Completed | 20.45 s
end{sphinxVerbatim}
[################################ ] | 80% Completed | 20.45 s
- [################################ ] | 81% Completed | 20.55 s
</pre>
- [################################ ] | 81% Completed | 20.55 s
end{sphinxVerbatim}
[################################ ] | 81% Completed | 20.55 s
- [################################ ] | 81% Completed | 20.65 s
</pre>
- [################################ ] | 81% Completed | 20.65 s
end{sphinxVerbatim}
[################################ ] | 81% Completed | 20.65 s
- [################################ ] | 82% Completed | 20.75 s
</pre>
- [################################ ] | 82% Completed | 20.75 s
end{sphinxVerbatim}
[################################ ] | 82% Completed | 20.75 s
- [################################ ] | 82% Completed | 20.86 s
</pre>
- [################################ ] | 82% Completed | 20.86 s
end{sphinxVerbatim}
[################################ ] | 82% Completed | 20.86 s
- [################################# ] | 82% Completed | 20.96 s
</pre>
- [################################# ] | 82% Completed | 20.96 s
end{sphinxVerbatim}
[################################# ] | 82% Completed | 20.96 s
- [################################# ] | 83% Completed | 21.06 s
</pre>
- [################################# ] | 83% Completed | 21.06 s
end{sphinxVerbatim}
[################################# ] | 83% Completed | 21.06 s
- [################################# ] | 83% Completed | 21.16 s
</pre>
- [################################# ] | 83% Completed | 21.16 s
end{sphinxVerbatim}
[################################# ] | 83% Completed | 21.16 s
- [################################# ] | 84% Completed | 21.26 s
</pre>
- [################################# ] | 84% Completed | 21.26 s
end{sphinxVerbatim}
[################################# ] | 84% Completed | 21.26 s
- [################################# ] | 84% Completed | 21.36 s
</pre>
- [################################# ] | 84% Completed | 21.36 s
end{sphinxVerbatim}
[################################# ] | 84% Completed | 21.36 s
- [################################# ] | 84% Completed | 21.46 s
</pre>
- [################################# ] | 84% Completed | 21.46 s
end{sphinxVerbatim}
[################################# ] | 84% Completed | 21.46 s
- [################################## ] | 85% Completed | 21.56 s
</pre>
- [################################## ] | 85% Completed | 21.56 s
end{sphinxVerbatim}
[################################## ] | 85% Completed | 21.56 s
- [################################## ] | 85% Completed | 21.67 s
</pre>
- [################################## ] | 85% Completed | 21.67 s
end{sphinxVerbatim}
[################################## ] | 85% Completed | 21.67 s
- [################################## ] | 86% Completed | 21.77 s
</pre>
- [################################## ] | 86% Completed | 21.77 s
end{sphinxVerbatim}
[################################## ] | 86% Completed | 21.77 s
- [################################## ] | 86% Completed | 21.87 s
</pre>
- [################################## ] | 86% Completed | 21.87 s
end{sphinxVerbatim}
[################################## ] | 86% Completed | 21.87 s
- [################################## ] | 87% Completed | 21.97 s
</pre>
- [################################## ] | 87% Completed | 21.97 s
end{sphinxVerbatim}
[################################## ] | 87% Completed | 21.97 s
- [################################## ] | 87% Completed | 22.07 s
</pre>
- [################################## ] | 87% Completed | 22.07 s
end{sphinxVerbatim}
[################################## ] | 87% Completed | 22.07 s
- [################################### ] | 87% Completed | 22.17 s
</pre>
- [################################### ] | 87% Completed | 22.17 s
end{sphinxVerbatim}
[################################### ] | 87% Completed | 22.17 s
- [################################### ] | 88% Completed | 22.27 s
</pre>
- [################################### ] | 88% Completed | 22.27 s
end{sphinxVerbatim}
[################################### ] | 88% Completed | 22.27 s
- [################################### ] | 88% Completed | 22.37 s
</pre>
- [################################### ] | 88% Completed | 22.37 s
end{sphinxVerbatim}
[################################### ] | 88% Completed | 22.37 s
- [################################### ] | 89% Completed | 22.47 s
</pre>
- [################################### ] | 89% Completed | 22.47 s
end{sphinxVerbatim}
[################################### ] | 89% Completed | 22.47 s
- [################################### ] | 89% Completed | 22.58 s
</pre>
- [################################### ] | 89% Completed | 22.58 s
end{sphinxVerbatim}
[################################### ] | 89% Completed | 22.58 s
- [################################### ] | 89% Completed | 22.68 s
</pre>
- [################################### ] | 89% Completed | 22.68 s
end{sphinxVerbatim}
[################################### ] | 89% Completed | 22.68 s
- [#################################### ] | 90% Completed | 22.78 s
</pre>
- [#################################### ] | 90% Completed | 22.78 s
end{sphinxVerbatim}
[#################################### ] | 90% Completed | 22.78 s
- [#################################### ] | 90% Completed | 22.88 s
</pre>
- [#################################### ] | 90% Completed | 22.88 s
end{sphinxVerbatim}
[#################################### ] | 90% Completed | 22.88 s
- [#################################### ] | 91% Completed | 22.99 s
</pre>
- [#################################### ] | 91% Completed | 22.99 s
end{sphinxVerbatim}
[#################################### ] | 91% Completed | 22.99 s
- [#################################### ] | 91% Completed | 23.09 s
</pre>
- [#################################### ] | 91% Completed | 23.09 s
end{sphinxVerbatim}
[#################################### ] | 91% Completed | 23.09 s
- [#################################### ] | 92% Completed | 23.19 s
</pre>
- [#################################### ] | 92% Completed | 23.19 s
end{sphinxVerbatim}
[#################################### ] | 92% Completed | 23.19 s
- [#################################### ] | 92% Completed | 23.29 s
</pre>
- [#################################### ] | 92% Completed | 23.29 s
end{sphinxVerbatim}
[#################################### ] | 92% Completed | 23.29 s
- [##################################### ] | 92% Completed | 23.39 s
</pre>
- [##################################### ] | 92% Completed | 23.39 s
end{sphinxVerbatim}
[##################################### ] | 92% Completed | 23.39 s
- [##################################### ] | 93% Completed | 23.49 s
</pre>
- [##################################### ] | 93% Completed | 23.49 s
end{sphinxVerbatim}
[##################################### ] | 93% Completed | 23.49 s
- [##################################### ] | 93% Completed | 23.59 s
</pre>
- [##################################### ] | 93% Completed | 23.59 s
end{sphinxVerbatim}
[##################################### ] | 93% Completed | 23.59 s
- [##################################### ] | 94% Completed | 23.70 s
</pre>
- [##################################### ] | 94% Completed | 23.70 s
end{sphinxVerbatim}
[##################################### ] | 94% Completed | 23.70 s
- [##################################### ] | 94% Completed | 23.80 s
</pre>
- [##################################### ] | 94% Completed | 23.80 s
end{sphinxVerbatim}
[##################################### ] | 94% Completed | 23.80 s
- [##################################### ] | 94% Completed | 23.90 s
</pre>
- [##################################### ] | 94% Completed | 23.90 s
end{sphinxVerbatim}
[##################################### ] | 94% Completed | 23.90 s
- [###################################### ] | 95% Completed | 24.00 s
</pre>
- [###################################### ] | 95% Completed | 24.00 s
end{sphinxVerbatim}
[###################################### ] | 95% Completed | 24.00 s
- [###################################### ] | 95% Completed | 24.10 s
</pre>
- [###################################### ] | 95% Completed | 24.10 s
end{sphinxVerbatim}
[###################################### ] | 95% Completed | 24.10 s
- [###################################### ] | 96% Completed | 24.20 s
</pre>
- [###################################### ] | 96% Completed | 24.20 s
end{sphinxVerbatim}
[###################################### ] | 96% Completed | 24.20 s
- [###################################### ] | 96% Completed | 24.31 s
</pre>
- [###################################### ] | 96% Completed | 24.31 s
end{sphinxVerbatim}
[###################################### ] | 96% Completed | 24.31 s
- [###################################### ] | 97% Completed | 24.41 s
</pre>
- [###################################### ] | 97% Completed | 24.41 s
end{sphinxVerbatim}
[###################################### ] | 97% Completed | 24.41 s
- [###################################### ] | 97% Completed | 24.51 s
</pre>
- [###################################### ] | 97% Completed | 24.51 s
end{sphinxVerbatim}
[###################################### ] | 97% Completed | 24.51 s
- [####################################### ] | 97% Completed | 24.61 s
</pre>
- [####################################### ] | 97% Completed | 24.61 s
end{sphinxVerbatim}
[####################################### ] | 97% Completed | 24.61 s
- [####################################### ] | 98% Completed | 24.71 s
</pre>
- [####################################### ] | 98% Completed | 24.71 s
end{sphinxVerbatim}
[####################################### ] | 98% Completed | 24.71 s
- [####################################### ] | 98% Completed | 24.81 s
</pre>
- [####################################### ] | 98% Completed | 24.81 s
end{sphinxVerbatim}
[####################################### ] | 98% Completed | 24.81 s
- [####################################### ] | 99% Completed | 24.91 s
</pre>
- [####################################### ] | 99% Completed | 24.91 s
end{sphinxVerbatim}
[####################################### ] | 99% Completed | 24.91 s
- [####################################### ] | 99% Completed | 25.01 s
</pre>
- [####################################### ] | 99% Completed | 25.01 s
end{sphinxVerbatim}
[####################################### ] | 99% Completed | 25.01 s
- [####################################### ] | 99% Completed | 25.11 s
</pre>
- [####################################### ] | 99% Completed | 25.11 s
end{sphinxVerbatim}
[####################################### ] | 99% Completed | 25.11 s
- [########################################] | 100% Completed | 25.21 s
</pre>
- [########################################] | 100% Completed | 25.21 s
end{sphinxVerbatim}
[########################################] | 100% Completed | 25.21 s
Clustering#
Apply mask to remove small misorientations associated with grain orientation spread
[12]:
small_mask = mori.angle < np.deg2rad(7)
D = D[~small_mask][:, ~small_mask]
mori = mori[~small_mask]
For parameter explanations of the DBSCAN algorithm (Density-Based Spatial Clustering for Applications with Noise), see the scikit-learn documentation.
[13]:
Labels: [-1 0 1 2 3]
Number of clusters: 4
Calculate the mean misorientation associated with each cluster
[14]:
unique_cluster_labels = unique_labels[
1:
] # Without the "no-cluster" label -1
cluster_sizes = all_cluster_sizes[1:]
rc = Rotation.from_axes_angles((0, 0, 1), 15, degrees=True)
mori_mean = []
for label in unique_cluster_labels:
# Rotate
mori_i = rc * mori[dbscan.labels_ == label]
# Map into the fundamental zone
mori_i.symmetry = (D6, D6)
mori_i = mori_i.map_into_symmetry_reduced_zone()
# Get the cluster mean
mori_i = mori_i.mean()
# Rotate back and add to list
cluster_mean_local = (~rc) * mori_i
mori_mean.append(cluster_mean_local)
cluster_means = Misorientation.stack(mori_mean).flatten()
# Map into the fundamental zone
cluster_means.symmetry = (D6, D6)
cluster_means = cluster_means.map_into_symmetry_reduced_zone()
cluster_means
[14]:
Misorientation (4,) 622, 622
[[ 0.8467 0.2664 0.4606 0.0037]
[-0.7858 -0.3094 -0.5355 -0.0044]
[-0.9515 -0.3075 -0.0015 -0.007 ]
[ 0.8656 0.4338 0.2501 0.0055]]
Inspect misorientations in the axis-angle representation
[15]:
cluster_means.axis
[15]:
Vector3d (4,)
[[0.5006 0.8656 0.007 ]
[0.5003 0.8658 0.0072]
[0.9997 0.0048 0.0228]
[0.8663 0.4994 0.0109]]
[16]:
np.rad2deg(cluster_means.angle)
[16]:
array([64.29349881, 76.40971082, 35.82903611, 60.10115054])
Define reference misorientations associated with twinning orientation relationships
[17]:
# From Krakow et al.
twin_theory = Rotation.from_axes_angles(
axes=[
(1, 0, 0), # sigma7a
(1, 0, 0), # sigma11a
(2, 1, 0), # sigma11b
(1, 0, 0), # sigma13a
(2, 1, 0), # sigma13b
],
angles=[64.40, 34.96, 85.03, 76.89, 57.22],
degrees=True,
)
Calculate difference, defined as minimum rotation angle, between measured and theoretical values
[18]:
mori2 = (~twin_theory).outer(cluster_means)
sym_op = D6.outer(D6).unique()
mori2_equiv = (
D6.outer(~twin_theory).outer(sym_op).outer(cluster_means).outer(D6)
)
D2 = mori2_equiv.angle.min(axis=(0, 2, 4))
[19]:
np.rad2deg(D2)
[19]:
array([[ 0.44196598, 12.01907556, 28.59166542, 31.00602591],
[29.33528603, 41.45127188, 1.18969475, 34.15185331],
[37.89471722, 35.23189781, 54.83306878, 25.25351347],
[12.60503699, 0.70196626, 41.07796156, 37.24075935],
[27.53333357, 34.58980591, 29.35942936, 4.44471339]])
We see that the first, second, third, and fourth clusters are within \(4.5^{\circ}\) of \(\Sigma7\)a, \(\Sigma13\)a, \(\Sigma11\)a, and \(\Sigma13\)b, respectively.
Visualisation#
Associate colours with clusters for plotting
[20]:
Inspect misorientation axes of clusters in an inverse pole figure
[21]:
cluster_sizes = all_cluster_sizes[1:]
cluster_sizes_scaled = 1000 * cluster_sizes / cluster_sizes.max()
fig, ax = plt.subplots(
figsize=(5, 5), subplot_kw=dict(projection="ipf", symmetry=D6)
)
ax.scatter(
cluster_means.axis, c=colors, s=cluster_sizes_scaled, alpha=0.5, ec="k"
)
Plot a top view of the misorientation clusters within the fundamental zone for the (D6, D6) bicrystal symmetry
[22]:
wireframe_kwargs = dict(
color="black", linewidth=0.5, alpha=0.1, rcount=361, ccount=361
)
fig = mori.scatter(
projection="axangle",
wireframe_kwargs=wireframe_kwargs,
c=labels_rgb.reshape(-1, 3),
s=4,
alpha=0.5,
return_figure=True,
)
ax = fig.axes[0]
ax.view_init(elev=90, azim=-60)
handle_kwds = dict(marker="o", color="none", markersize=10)
handles = []
for i in range(n_clusters):
line = Line2D(
[0], [0], label=i + 1, markerfacecolor=colors[i], **handle_kwds
)
handles.append(line)
ax.legend(
handles=handles,
loc="upper left",
numpoints=1,
labelspacing=0.15,
columnspacing=0.15,
handletextpad=0.05,
);
Plot side view of misorientation clusters in the fundamental zone for the (D6, D6) bicrystal symmetry
[23]:
fig2 = mori.scatter(
return_figure=True,
wireframe_kwargs=wireframe_kwargs,
c=labels_rgb.reshape(-1, 3),
s=4,
)
ax2 = fig2.axes[0]
ax2.view_init(elev=0, azim=-60)
Generate map of boundaries colored according to cluster membership
[24]:
Plot map of boundaries colored according to cluster membership
[25]:
fig3, ax3 = plt.subplots(figsize=(15, 10))
ax3.imshow(mapping)
ax3.set_xticks([])
ax3.set_yticks([]);