TU Delft logo QN logo Kavli logo

Welcome to StrainMAPPER documentation website!

StrainMAPPER is a Python package that calculates local strain variations within a specimen by comparing the measured atomic spacing across the specimen with respect to a reference area. The package uses an approach that involves multiple steps:

  1. Generating an Exit-Wave Power Cepstrum (EWPC) for each pixel in the 4D dataset [Padgett et al., 2020].

  2. Peak tracking of the EWPC peaks with a Difference of Gaussian (DoG) detection scheme [Lowe, 2004].

  3. K-means clustering of unique peak positions. Providing the flexibility to measure strain fields in complex nanostructures, like Moiré patterns and heterostructures.

  4. Calculating the sub-pixel maximum position of the EWPC peaks using a center-of-mass (CoM) algorithm.

  5. Determining the affine transformation relative to a reference area.

The method uses Dask arrays for parallel CPU computing to significantly accelerate all operations. The package uses custom code and existing Python packages such as scikit-image and scikit-learn for the DoG detection and K-means clustering, respectively, and SciPy for polar decomposition. The final output is a strain map that represents the shift in crystal spacing, which is calculated by measuring the sub-pixel location of the EWPC peaks with respect to the crystal spacing in the reference region.

Please note that StrainMAPPER and its documentation is still under active development

Team description

The StrainMAPPER developer team is currently composed by the following members:

  • Maarten Bolhuis, Kavli Institiute of Nanoscience, Delft University of Technology

  • Sabrya E. van Heijst, Kavli Institiute of Nanoscience, Delft University of Technology

  • Abel Brokkelkamp, Kavli Institiute of Nanoscience, Delft University of Technology

  • Sonia Conesa-Boj, Kavli Institiute of Nanoscience, Delft University of Technology

Citation policy

If StrainMAPPER has been significant in your research, and you would like to acknowledge the project in your academic publication please cite the public gitlab repository.

For questions regarding the project please contact Sonia Conesa-Boj at: s.conesaboj@tudelft.nl

Scientific contributions

StrainMAPPER has been used in the following scientific publications:

  • Automated Strain Mapping with 4D-STEM for 2D Materials Beyond the Planar Configuration, Bolhuis, Maarten, van Heijst, Sabrya E., and Conesa-Boj, Sonia, in preparation.

  • Heterostrain-Driven Bandgap increase in Twisted WS2: A Nanoscale Study, van Heijst, Sabrya E., Bolhuis, Maarten, Brokkelkamp, Abel, and Conesa-Boj, Sonia, in preparation.

Indices and tables