All notable changes to this project will be documented in this file. The format is based on Keep a Changelog, and this project tries its best to adhere to Semantic Versioning.
- Numpy 2.0.0 compatibility in (#228).
- Explicit support for Python 3.11.
- pre-commit configuration file for code formatting.
- Deprecation tools for deprecating functions, parameters, methods, and properties.
- Documentation theme from Furo to the PyData-Sphinx-Theme.
- Ran
black
formatting to update the code style.
get_hkl()
,get_highest_hkl()
, andget_equivalent_hkl()
methods in the crystallography module. Please use the following corresponding methods in theReciprocalLatticeVector
class instead:from_highest_hkl()
,from_min_dspacing()
, andsymmetrise()
.
- Removed support for Python 3.6 and Python 3.7, leaving 3.8 as the oldest supported version.
ReciprocalLatticePoint
class; Use theReciprocalLatticeVector
class instead, which is an improved replacement.StructureLibrary.from_crystal_systems()
class method, which previously raised aNotImplementedError
, but now will throw anAttributeError
instead.
- Always use no-python mode to silence Numba deprecation warnings.
ReciprocalLatticeVector.allowed
rounds indices (hkl) internally to ensure correct selection of which vectors are allowed or not given a lattice centering. Integer indices are assumed.
- Support for Python 3.6 is deprecated and will be removed in v0.6.
- Extra parameters in diffraction pattern's plot method for drawing miller index labels next to the diffraction spots.
- Option to use None for
scattering_params
which ignores atomic scattering. - Python 3.10 support.
- Class
ReciprocalLatticeVector
for handling generation, handling and plotting of vectors. This class replacesReciprocalLatticePoint
, which is deprecated.
- Minimal version of dependencies orix >= 0.9, numpy >= 1.17 and tqdm >= 4.9.
- The Laue group representing the rotation list sampling of "hexagonal" from 6/m to 6/mmm.
- Loosened the angle tolerance in
DiffractionLibrary.get_library_entry()
from1e-5
to1e-2
.
- Class
ReciprocalLatticePoint
is deprecated and will be removed in v0.6. UseReciprocalLatticeVector
instead.
- Simulations now have a .get_as_mask() method (#154, #158)
- Python 3.9 testing (#161)
- Simulations now use a fractional (rather than absolute) min_intensity (#161)
- Precession simulations (#161)
- get_grid_beam_directions default meshing changed to "spherified_cube_edge" from "spherified_cube_corner"
- get_grid_beam_directions now behaves correctly for the triclinic and monoclinic cases
- API reference documentation via Read The Docs: https://diffsims.readthedocs.io/en/latest/
- New module: sphere_mesh_generators
- New module: detector_functions
- New module: ring_pattern_utils
- beam precession is now supported in simulating electron diffraction patterns
- plot method for DiffractionSimulation
- more shape factor functions have been added
- This project now keeps a Changelog
- get_grid_beam_directions, now works based off of meshes
- the arguments in the DiffractionGenerator constructor and the DiffractionLibraryGenerator.get_diffraction_library function have been shuffled so that the former captures arguments related to "the instrument/physics" while the latter captures arguments relevant to "the sample/material".
- CI is now provided by github actions
- Python 3.6 testing
- ReciprocalLatticePoint handles having only one point/vector