There is a newer version of the record available.

Published November 9, 2019 | Version v0.10.0
Software Open

pyxem/pyxem: pyxem 0.10.0

  • 1. University of Cambridge
  • 2. Univesity of Cambridge, Department of Materials Science and Metallurgy
  • 3. Norwegian University of Science and Technology
  • 4. iwoca
  • 5. TU Delft
  • 6. Department of Materials Science and Metallurgy, University of Cambridge
  • 7. University of Manchester/SuperSTEM Laboratory
  • 8. Diamond Light Source- ePSIC

Description

pyXem 0.10.0 is the Q3 2019 minor release of pyXem, an open-source Python library for crystallographic diffraction.

In this release cycle we have added a significant amount of new functionality to the code, as summarized below. The API for prior functionality from v0.9.x has changed very minimally. Details of all development associated with this release are available here.

HyperSpy Extension & Lazy Signal Classes

  • pyxem now registers as a hyperspy extension on installation.
  • This means that all pyxem Signal and Component classes are recognised by hyperspy
  • LazyDiffraction1D, LazyDiffraction2D, LazyElectronDiffraction1D and LazyElectronDiffraction2D classes have been added and can be used with lazy file loading for hyperspy supported file types.

pyFAI Detector Definitions and Azimuthal Integration

  • pyxem now depends on pyFAI from ESRF, Grenoble.
  • New azimuthal integration using pyFAI has been added in Diffraction2D.get_azimthual_integral()
  • Detector definitions in the pyFAI framework have been added to pyxem for a genereic_flat_detector, a 256x256 Medipix chip and a 515x515 (i.e. quad) Medipix chip.

Analysis of Non-Crystals

  • Pair Distribution Function calculation for every diffraction pattern in a scanned dataset is now supported. This includes numerous additional classes and methods.
  • Fluctuation Microscopy is now supported.

Diffraction Vector Analysis & Indexation

  • New density based clustering has been added to the get_unique_vectors() method
  • New methods filter_vectors_magnitudes() and filter_vectors_detector_edge() have been added to make it easy to exclude commonly problematic vectors.
  • A new integrationGenerator to associated integrated intensity with indexed DiffractionVectors has been added.
  • A new refine_best_orientation() method has been added to the VectorIndexationGenerator.

Strain Mapping

  • We have enhanced code underlying lattice fitting based strain mapping.
  • The StrainMap class now had a change_basis() method to allow easy and reliable coordinate transformations.
  • The existing cross-correlation method of peak refinement has been improved and a new method using a separate template for every disc implemented.
  • Testing of the subpixel refinement methods has been overhauled and improved.

Nanocrystal Segmentation

  • Algorithms for correlating images and isolating diffraction associated with individual crystals have been added.
  • New VDFSegment and LearningSegment classes have been added to support this nanocrystal segmentation

Pattern Matching

  • The algorithm for construction orientation lists for generating libraries of simulated patterns has been adjusted to provide a more generally correct answer at the expense of speed.
  • Testing of the pattern matching methods have been overhauled and improved.

Data Pre-processing

  • New algorithms have been added to the center_direct_beam() method to offer greater flexibility
  • A new function to help optimize background subtraction parameters has been added.
  • Some "big data utils" have been added to support automated chunking of scanned diffraction data into sections that can be processed with restricted RAM.

Merlin/Medipix file reader

  • A new file reader for Merlin/Medipix detectors has been added
  • This file reader supports all current data formats and detector sizes with lazy file loading

Files

pyxem/pyxem-v0.10.0.zip

Files (241.5 kB)

Name Size Download all
md5:c9ffc3e2f8415635f96f767e4a088dd3
241.5 kB Preview Download

Additional details

Related works