Changelog#
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.
Unreleased#
Added#
Support for wider range of CIF atom type symbols, notably element symbol followed by oxidation number as found in CIF files recently pulled from ICSD (#245).
2025-06-02 - version 0.7.0#
Added#
Progressbar for SimulationGenerator.calculate_diffraction2d in (#233)
Added
fastparameter toSimulation2D.get_diffraction_patternwhich allows for sub pixel sampling of the diffraction pattern. This is useful for simulating an accurate diffraction pattern. (#235)
Fixed#
Fixed bug in masking logic for
Simulation2D.polar_flattenin (#238)Fixed a bug in 1D diffraction patterns for non-cubic lattices. (#238)
2024-10-11 - version 0.6.1#
Fixed#
Numpy 2.0.0 compatibility in (#228).
2024-06-06 - version 0.6.0#
Added#
Explicit support for Python 3.11.
pre-commit configuration file for code formatting.
Deprecation tools for deprecating functions, parameters, methods, and properties.
Changed#
Documentation theme from Furo to the PyData-Sphinx-Theme.
Ran
blackformatting to update the code style.
Deprecated#
get_hkl(),get_highest_hkl(), andget_equivalent_hkl()methods in the crystallography module. Please use the following corresponding methods in theReciprocalLatticeVectorclass instead:from_highest_hkl(),from_min_dspacing(), andsymmetrise().
Removed#
Removed support for Python 3.6 and Python 3.7, leaving 3.8 as the oldest supported version.
ReciprocalLatticePointclass; Use theReciprocalLatticeVectorclass instead, which is an improved replacement.StructureLibrary.from_crystal_systems()class method, which previously raised aNotImplementedError, but now will throw anAttributeErrorinstead.
2023-05-22 - version 0.5.2#
Fixed#
Always use no-python mode to silence Numba deprecation warnings.
2023-01-25 - version 0.5.1#
Fixed#
ReciprocalLatticeVector.allowedrounds indices (hkl) internally to ensure correct selection of which vectors are allowed or not given a lattice centering. Integer indices are assumed.
Deprecated#
Support for Python 3.6 is deprecated and will be removed in v0.6.
2022-06-10 - version 0.5.0#
Added#
Extra parameters in diffraction pattern’s plot method for drawing miller index labels next to the diffraction spots.
Option to use None for
scattering_paramswhich ignores atomic scattering.Python 3.10 support.
Class
ReciprocalLatticeVectorfor handling generation, handling and plotting of vectors. This class replacesReciprocalLatticePoint, which is deprecated.
Changed#
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-5to1e-2.
Deprecated#
Class
ReciprocalLatticePointis deprecated and will be removed in v0.6. UseReciprocalLatticeVectorinstead.
2021-04-16 - version 0.4.2#
Added#
Simulations now have a .get_as_mask() method (#154, #158)
Python 3.9 testing (#161)
Changed#
Simulations now use a fractional (rather than absolute) min_intensity (#161)
Fixed#
Precession simulations (#161)
2021-03-15 - version 0.4.1#
Changed#
get_grid_beam_directions default meshing changed to “spherified_cube_edge” from “spherified_cube_corner”
Fixed#
get_grid_beam_directions now behaves correctly for the triclinic and monoclinic cases
2021-01-11 - version 0.4.0#
Added#
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
Changed#
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
Removed#
Python 3.6 testing
Fixed#
ReciprocalLatticePoint handles having only one point/vector