==========================
Added
-----
- ``FundamentalSector`` class of vector normals describing a fundamental sector in the
stereographic projection, typically the inverse pole figure of a ``Symmetry``.
- ``Symmetry.fundamental_sector`` attribute with a ``FundamentalSector`` for that
symmetry.
- ``StereographicPlot.restrict_to_sector()`` to restrict the stereographic projection to
a sector, typically the inverse pole figure of a ``Symmetry``.
- ``StereographicPlot.stereographic_grid()`` to control the azimuth and polar grid
lines.
- Sampling of vectors in UV mesh on a unit sphere (*S2*).
- ``ndim`` attribute to Object3d and derived classes which returns number of navigation
dimensions.
- Setting the symmetry of a (Mis)Orientation via a ``symmetry.setter``.
- Projection of vectors into the fundamental sector (inverse pole figure) of a symmetry.
- Plotting of orientations within an inverse pole figure given a Laue symmetry and
sample direction.
- Inverse pole figure colouring of orientations given a Laue symmetry and sample
direction.
- ``from_axes_angles()`` method to ``Rotation`` and ``Orientation`` as a shortcut to
``from_neo_euler()`` for axis/angle pairs.
- ``Orientation`` based classes now accept a ``symmetry`` argument upon initialisation.
- Euler angle colouring of orientations given a proper point group symmetry.
- Simple unit cell orientation plotting with ``plot_unit_cell`` for ``Orientation``
instances.
Changed
-------
- ``StereographicPlot`` doesn't use Matplotlib's ``transforms`` framework anymore, and
(X, Y) replaces (azimuth, polar) as internal coordinates.
- Renamed ``Symmetry`` method ``fundamental_sector()`` to ``fundamental_zone()``.
- ``Orientation`` class methods ``from_euler``, ``from_matrix``, and ``from_neo_euler``
no longer return the smallest angle orientation when a ``symmetry`` is given.
- ``CrystalMap.orientations`` no longer returns smallest angle orientation.
- The methods ``flatten``, ``reshape``, and ``squeeze`` have been overridden in
``Misorientation`` based classes to maintain the initial symmetry of the returned
instance.
- ``Rotation.to_euler()`` returns angles in the ranges (0, 2 pi), (0, pi), and
(0, 2 pi).
- ``CrystalMap.get_map_data()`` doesn't round values by default anymore. Passing
``decimals=3`` retains the old behaviour.
- ``CrystalMap.plot()`` doesn't override the Matplotlib status bar by default anymore.
Passing ``override_status_bar=True`` retains the old behaviour.
Deprecated
----------
- The ``data_dim`` attribute of Object3d and all derived classes is deprecated from 0.8
and will be removed in 0.9. Use ``ndim`` instead.
- Setting (Mis)Orientation symmetry via ``set_symmetry()`` is deprecated in 0.8, in
favour of setting it directly via a ``symmetry.setter``, and will be removed in 0.9.
Use ``map_into_symmetry_reduced_zone()`` instead.
Removed
-------
- ``StereographicPlot`` methods ``azimuth_grid()`` and ``polar_grid()``.
Use ``stereographic_grid()`` instead.
- ``from_euler()`` no longer accepts ``"Krakow_Hielscher"`` as a convention, use
``"MTEX"`` instead.
Fixed
-----
- ``CrystalMap.get_map_data()`` can return an array of shape (3,) if there are that many
points in the map.
- Reading of point groups with "-" sign, like -43m, from EMsoft h5ebsd files.