Sample Datasets

Bullseye and circular probe diffraction

Scanning convergent beam electron diffraction data of gold nanoparticles (4DSTEM_experiment/data/datacubes/polyAu_4DSTEM/data) and simulated strained gold (4DSTEM_experiment/data/datacubes/simulation_4DSTEM/data) with one file using a standard circular aperture and another using a bullseye aperture.

Link:

https://zenodo.org/record/3592520 [OS19, ZMB+19]

Format:

HDF5 (uint16)

Dimension:

4D (100, 84, 250, 250)

Size:

2.1 GB

Electron Bessel beam diffraction

Scanning convergent beam electron diffraction with ring-shaped aperture and overlapping diffraction orders.

Link:

https://zenodo.org/record/2566137 [GGM+19a, GGM+19b]

Format:

Stack of DM3 (currently only scripting)

Dimension:

3D

Size:

2.6 GB

High-resolution 4D STEM dataset of SrTiO3

This dataset can be used to test various analysis methods for high-resolution 4D STEM, including phase contrast methods such as ptychography.

Link:

https://zenodo.org/record/5113449 [SCWMC21]

Format:

MIB (6 bit)

Dimension:

4D (128, 128, 256, 256)

Size:

177 MB

Synthetic 4D STEM dataset based on a SrTiO3 supercell

This dataset allows to investigate phase contrast methods for 4D scanning transmission electron microscopy, such as ptychography.

Link:

https://zenodo.org/record/5113235 [SWCMC21]

Format:

RAW (float32)

Dimension:

4D (100, 100, 596, 596)

Size:

14.2 GB

Graphene simulated dataset

Link:

https://zenodo.org/record/4476506 [Pen21]

Format:

NPY (float32)

Dimension:

4D (64, 65, 256, 256)

Size:

1.1 GB

Creating random data

Random data can be generated in the following way. It should be kept in mind that the data generated in this way can only be used for simple testing as it has no physical significance.

Raw file:

# Create sample raw file
import numpy as np
sample_data = np.random.randn(16, 16, 16, 16).astype("float32")
sample_data.tofile("raw_sample.raw")
# Load through Python API
from libertem.api import Context
if __name__ == '__main__':
  ctx = Context()
  ds = ctx.load("raw", path="./raw_sample.raw", nav_shape=(16, 16), dtype="float32", sig_shape=(16, 16))

HDF5 file:

# Create sample HDF5 file
import h5py
import numpy as np
file = h5py.File('hdf5_sample.h5','w')
sample_data = np.random.randn(16,16,16,16).astype("float32")
dataset = file.create_dataset("dataset",(16,16,16,16), data=sample_data)
file.close()
# Load through Python API
from libertem.api import Context
if __name__ == '__main__':
  ctx = Context()
  ds = ctx.load("hdf5", path="./hdf5_sample.h5", ds_path="/dataset")

Alternatively, you can enter the parameters (scan_size, dtype, detector_size) directly into the load dialog of the GUI. For more details on loading, please check Loading data.