Published August 30, 2023 | Version 0.9
Dataset Open

Ultrafast dark-field X-ray microscopy to image strain wave propagation

  • 1. Department of Physics, Technical University of Denmark
  • 2. Department of Materials Science & Engineering, Stanford University
  • 3. Physics Division, Lawrence Livermore National Laboratory
  • 4. SLAC National Accelerator Laboratory

Description

This dataset includes DF-XRM data obtained at an X-FEL source.
The sample is a diamond single crystal with a strain wave propagating through the center, which is imaged in a stroboscopic fashion.
This data originated the LCLS, see arXiv:2211.01042 for a description of the experiment.
Run 538 contains a time series with 1 ns between each step, run 540 contains a time series with 72 ns steps (one full period) while run 536 contains a rocking curve.

Each run is divided into hdf5 files with 2000 shots each. Each hdf5 file has then been zipped using the BZIP2 algorithm to reduce the overall size.

Each run contains header information with the status of the X-FEL beam and the laser (the laser excites the strain wave). The shots where the X-FEL beam is off should be used to subtract the detector background. Run 536 additionally contains motor positions for the goniometer.

Please note: for run 538 and 540 there are ~120 shots at each position. However, the timing tool is unreliable, giving a ±1 ns error, and to analyze this data the correct time of each shot must be first identified. This can be done by looking at the position of the strain wave.

Using python, the data may be unziped, opened, and visualized in the following way:

import zipfile
import numpy as np
import h5py

#unzip
with zipfile.ZipFile(f'538_0.zip', 'r') as zip_ref:
    zip_ref.extractall('')


with h5py.File(f'538_0.hdf5', 'r') as f:
    # print contents of file
    for key in f.keys():
        print(key, f[key].shape, f[key].dtype)
    # approximate the detector background
    mask = np.array(f[b'lightStatus_xray']) == 0
    Images_DF_Xray_OFF = np.array(f['images_dark_field_arm'][mask,:,:])
    df_noise = np.median(Images_DF_Xray_OFF, axis = 0)
    # extract desired frames
    ims = np.array(f['images_dark_field_arm'][120*1:120*2])
    im = np.average(ims, axis = 0)

# plot the detector background and the average of the selected frames
import matplotlib.pyplot as plt
fig, axes = plt.subplots(1,2, figsize = (4, 12), dpi = 300)
axes[0].imshow(df_noise, vmin = np.percentile(df_noise,1), vmax = np.percentile(df_noise,99))
axes[1].imshow(im-df_noise, vmin = np.percentile(im-df_noise,1), vmax = np.percentile(im-df_noise,99))

 

Notes

Financial support was provided by the Villum FONDEN (grant no. 00028346) and the ESS lighthouse on hard materials in 3D, SOLID, funded by the Danish Agency for Science and Higher Education (grant number 8144-00002B). Moreover, H.F.P. and H.S. acknowledges support from the European Research Council (Advanced grant no 885022 and Starting grant no 804665, respectively). We further acknowledge that this work was performed in part under the auspices of the US Department of Energy by Lawrence Livermore National Laboratory under contract DE-AC52-07NA27344. Initial contributions from LEDM were also funded by the support of the Lawrence Fellowship at LLNL. TMR acknowledges funding from the European Union's Horizon 2020 research and innovation programme under the Marie Skłodowska-Curie grant agreement No 899987.

Files

536_0.zip

Files (26.6 GB)

Name Size Download all
md5:926ce8a3bc383d085915f5e299a0cc1f
1.4 GB Preview Download
md5:f25ae95349d0ffa599c2ea4937b58b15
1.5 GB Preview Download
md5:f4256b3dfb6818d039d5b421032ca7b7
723.4 MB Preview Download
md5:be325526f806fef2165863db568fe08d
1.4 GB Preview Download
md5:fe7a991fe56ce4416fab64d0558b019b
1.4 GB Preview Download
md5:11390511df0b2cfca49e403bc32b109d
1.4 GB Preview Download
md5:1546d14bd5742c0bdb2b4c0b8c8468f8
1.4 GB Preview Download
md5:062d1c6aa8a0639915250cbef93bc6f6
1.2 GB Preview Download
md5:cc72d86335160c4fed3a72472ac74ee7
1.4 GB Preview Download
md5:3d3f4f0968cdee562244c2307b24fdb2
1.4 GB Preview Download
md5:5d6b11cde492bbf840464ba95a9e6a8a
1.4 GB Preview Download
md5:ebac9903ad2c11654151b1b37ff3ec03
1.4 GB Preview Download
md5:6e6796c798c99384139fbd87104f3461
1.4 GB Preview Download
md5:d71b0589ef381d1775c95435147b12fb
1.4 GB Preview Download
md5:315ccdf2b6f3165cacb0a20bfa3bdfe8
1.4 GB Preview Download
md5:603c2373d95bca8e21b79fc64ca4aca4
1.4 GB Preview Download
md5:42f240115afe8ee1713b2724207c02c9
1.4 GB Preview Download
md5:e378a7d47401774d96f17ccb8fa4d4fc
1.4 GB Preview Download
md5:afe9c7c47200b4862654b5e6ae27941b
1.4 GB Preview Download
md5:dc0bbdb859b8987fccdd53cda82f8185
212.4 MB Preview Download

Additional details

Funding

PMP – The Physics of Metal Plasticity 885022
European Commission
3D-PXM – 3D Piezoresponse X-ray Microscopy 804665
European Commission
EuroTechPostdoc2 – International Postdoc Academy in Science and Technology 899987
European Commission