diff --git a/STEM.md b/STEM.md index 7ff4aef..576cdbb 100644 --- a/STEM.md +++ b/STEM.md @@ -104,11 +104,12 @@ It is important to remember the difference between the wavefunction sampling and Aluminum, iron and gold nanoparticles on a carbon film: **Left** image from a circular detector. **Middle** image from an annular detector **Right** differential phase contrast reconstruction. Notice how changing the collection angles impacts the contrast and signal to noise. ``` +(stem-image-simulation)= #### Image simulation: STO/LTO Scanning imaging modes such as STEM works by rastering an electron probe across a sample pixel by pixel and recording the scattering signal. The computational cost of the simulation is directly proportional to the number of scan pixels, each requiring a separate multislice simulation. For periodic speciments, even though the potential needs to be large enough to fit the probe, there is no need to scan over repated unit cells as tiling afterwards can yield the same result. -As an example, we simulate the BF (0 to 20 mrad), MAADF (40 to 100 mrad) and HAADF (100 to 180 mrad) images of a STO/LTO interface that we built in the [simulation inputs](./sim_inputs.md) chapter. Note that since the structure repeats in the $x$-direction, we only scan over the unit cell, as shown in [](#fig_stem_specimen) below. The images simulated with a primary beam energy of 150 keV, a defocus of 50 Å, and a probe convergence-semiangle of 20 mrad are shown in [](#fig_stem_sto-lto_image) below. Note that these are quite pixelated since we simulated at Nyqvist sampling to save computational effort; see [post-processing](./post.md) for how these are interpolated to a higher resolution. +As an example, we simulate the BF (0 to 20 mrad), MAADF (40 to 100 mrad) and HAADF (100 to 180 mrad) images of a STO/LTO interface that we built in the [simulation inputs](./sim_inputs.md) chapter. Note that since the structure repeats in the $x$-direction, we only scan over the unit cell, as shown in [](#fig_stem_specimen) below. The images simulated with a primary beam energy of 150 keV, a defocus of 50 Å, and a probe convergence-semiangle of 20 mrad are shown in [](#fig_stem_image) below. Note that these are quite pixelated since we simulated at Nyqvist sampling to save computational effort; see [post-processing](./post.md) for how these are interpolated to a higher resolution. ```{figure} #app:stem_sto-lto_scan :name: fig_stem_specimen @@ -118,7 +119,7 @@ A SrTiO3/LaTiO3 (STO/LTO) interface model. The red overlai ```{figure} #app:stem_sto-lto_image :name: fig_stem_image -:placeholder: ./static/stem_image.png +:placeholder: ./static/stem_images.png Bright-field (BF), medium-angle annular dark-field (MAADF), and high-angle annular dark-field (HAADF) imges of the SrTiO3/LaTiO3 (STO/LTO) interface. ``` diff --git a/inputs.md b/inputs.md index a88a6a4..f9477d1 100644 --- a/inputs.md +++ b/inputs.md @@ -5,8 +5,6 @@ numbering: label : sim_inputs_page --- -text - (specimen-models)= ## Specimen models @@ -24,7 +22,9 @@ The `Atoms` object defines a collection of atoms. To define `Atoms` from scratch For example, to create a basic model of the N2 molecule, we could define: -`atoms = ase.Atoms("N2", positions=[(0.0, 0.0, 0.0), (1.0, 0.0, 0.0)], cell=[6, 6, 6])` +```Python +atoms = ase.Atoms("N2", positions=[(0.0, 0.0, 0.0), (1.0, 0.0, 0.0)], cell=[6, 6, 6]) +``` All these attributes of the `Atoms` object are stored in underlying NumPy arrays, which can be directly modified if desired. Convenient arithmetic operations also directly work for the `Atoms` object, so structures can be easily combined to create more complex specimens. @@ -32,7 +32,9 @@ All these attributes of the `Atoms` object are stored in underlying NumPy arrays ASE can import all common atomic-structure formats (full list [here](https://wiki.fysik.dtu.dk/ase/ase/io/io.html)). Below we import a `.cif`-file defining a unit cell of strontium titanate (SrTiO3) that we provide with this text and will use in further examples. -`srtio3 = ase.io.read("srtio3.cif")` +```Python +srtio3 = ase.io.read("srtio3.cif") +``` ### Manipulating atoms *ab*TEM always assumes that the imaging electrons propagate along the $z$-axis in the direction from _negative to positive_ coordinate values. Hence, to choose the zone axis, we need to manipulate the atoms so they are properly aligned. @@ -45,4 +47,13 @@ In the widget below, we have oriented the strontium titanate structure along the :name: fig_sto_supercell :placeholder: ./static/sto_supercell.png **Interactive widget showing supercell construction for the STO(110) supercell. +``` + +Since the positions and atomic numbers are just `NumPy` arrays, they can be modified in-place. Below, we create an SrTiO3/LaTiO3 interface by changing the atomic numbers of the Sr atoms with a $y$-coordinate less than $7.5 \ \mathrm{Å}$ in a (3,4,10) supercell oriented along the (110) zone axis. This interface created from a will be later used for [STEM image simulations](#stem-image-simulation). + +```python +sto_lto = repeated_srtio3.copy() +mask = sto_lto.symbols == "Sr" +mask = mask * (sto_lto.positions[:, 1] < 7.5) +sto_lto.numbers[mask] = 57 ``` \ No newline at end of file diff --git a/notebooks/06.1_Atoms_STO-LTO.ipynb b/notebooks/06.1_Atoms_STO-LTO.ipynb index 4822a36..d010e4d 100644 --- a/notebooks/06.1_Atoms_STO-LTO.ipynb +++ b/notebooks/06.1_Atoms_STO-LTO.ipynb @@ -13,10 +13,36 @@ }, { "cell_type": "code", - "execution_count": 108, + "execution_count": 59, "id": "95c10e75-d7d3-40fa-a127-142d5f84438d", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "faf9dbcc7d8c47dba643e1ed20033b1e", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB+IUlEQVR4nO3dd3hTdcPG8e9J0pZdpKyWpYAUAVllT1kiIkNFfFCQjWwRB+LCAeKeTEHAgYKL6RYFZEPZe4gyWja0ULqSc94/CryioECbnoz7c125gNImd+SY3PmNcwzLsixEREREJGg47A4gIiIiItlLBVBEREQkyKgAioiIiAQZFUARERGRIKMCKCIiIhJkVABFREREgowKoIiIiEiQUQEUERERCTIqgCIiIiJBRgVQREREJMioAIqIiIgEGRVAERERkSCjAigiIiISZFQARURERIKMCqCIiIhIkFEBFBEREQkyKoAiIiIiQUYFUERERCTIqACKiIiIBBkVQBEREZEgowIoIiIiEmRUAEVERESCjAqgiIiISJBRARQREREJMiqAIiIiIkFGBVBEREQkyKgAioiIiAQZFUARERGRIKMCKCIiIhJkVABFREREgowKoIiIiEiQUQEUERERCTIqgCIiIiJBRgVQREREJMioAIqIiIgEGRVAERERkSCjAigiIiISZFQARURERIKMCqCIiIhIkFEBFBEREQkyKoAiIiIiQUYFUERERCTIqACKiIiIBBkVQBEREZEgowIoIiIiEmRUAEVERESCjAqgiIiISJBRARQREREJMiqAIiIiIkFGBVBEREQkyKgAioiIiAQZFUARERGRIKMCKCIiIhJkVABFREREgowKoIiIiEiQUQEUERERCTIuuwP4M9M0iYuLI2/evBiGYXccERERuQKWZXH69GmioqJwOIJzLEwFMBPi4uIoUaKE3TFERETkGuzfv5/ixYvbHcMWKoCZkDdvXiDjAMqXL5/NaURERORKJCYmUqJEiQvv48FIBTATzk/75suXTwVQRETEzwTz8q3gnPi+hJdffhnDMBgyZIjdUURERES8SgUQWL16NRMnTqRy5cp2RxERERHxuqAvgGfOnOH+++9n0qRJXHfddXbHEREREfG6oC+AAwYMoHXr1jRv3tzuKCIiIiLZIqg3gcyYMYO1a9eyevXqK/r+1NRUUlNTL/w5MTHR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KAjoPIAiIiIiQUa7gEVERESCjAqgiIiISJBRARQREREJMiqAIiIiIkFGBVBEREQkyKgAioiIiAQZFUARkSs0Z84cbrjhBmrWrMnOnTvtjiMics10HkARkStUsmRJpkyZwrp161izZg0zZ860O5KIyDXRCKCIyDl//PEHhmFgGAZVq1b9x99HRERQtmxZSpUqRYECBf7x9+d/Nn/+/N4PKyKSCboUnIjI3/z888+XLIBPPvkkZcqUASA+Pv4ffx8fH8/MmTMZMWKEtyOKiGSKRgBFRP4mIiKCiIiIf3x92bJldOrUiWLFirFy5cp//H3RokUJDw/PjogiIpmiAigiAeno0aMULVqUl1566cLXli1bRmhoKAsWLLjq+0tPT2f69Ol06dKF++67j6lTp2ZlXBGRbKUpYBEJSIUKFWLKlCm0b9+eW2+9lejoaLp06cLAgQNp1qzZVd/f/PnzcTqdNG/enGLFilG9enWOHTtGwYIFvZBeRMS7NAIoIgHr9ttvp3fv3tx///307duX3LlzM3r06Gu6r6lTp/K///0Pp9NJpUqVqFChAtOnT8/ixCIi2UMFUEQC2uuvv47b7eaLL75g+vTphIWFXfV9HD58mO+++47OnTtf+Frnzp01DSwifktTwCIS0Pbs2UNcXBymafLHH39w8803X/V9fPzxx7jdbmrXrn3ha5ZlYZom69ato1q1alkZWUTE61QARSRgpaWl0blzZ+69916io6Pp1asXmzZtonDhwld1P1OnTuWRRx6hW7duF3198ODBTJs2TQVQRPyOCqCIBKynnnqKhIQE3n33XfLkycO3335Ljx49mD9//hXfx6pVq9i6dStfffUV5cuXv+jvOnXqxPDhw3nttdcIDQ3N6vgiIl6jNYAiEpAWLlzI22+/zccff0y+fPlwOBx8/PHH/Pbbb4wfP/6K72fq1KlUqFDhH+UPoH379pw6dYp58+ZlZXQREa/TCKCIBKRbbrmF9PT0i752/fXXk5CQcFX3829lsVChQrjd7mvKJyJiJxVAEZG/qVevHlWrVmXZsmVX9XN58uTB7XaTI0cOLyUTEckaKoAiIucUL16cXbt2AVzT6WLWr18PgNPpzMpYIiJZzrAsy7I7hIiIiIhkH20CEREREQkyKoAiIiIiQUYFUERERCTIqACKiIiIBBkVQBEREZEgowIoIiIiEmRUAEVERESCjAqgiIiISJD5P2cOqIkpXMSXAAAAAElFTkSuQmCC", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "import abtem\n", "import ase\n", @@ -27,16 +53,19 @@ "\n", "srtio3 = ase.io.read(\"data/SrTiO3.cif\")\n", "\n", - "srtio3_110 = surface(srtio3, indices=(1, 1, 0), layers=2, periodic=True)\n", + "srtio3_110 = surface(srtio3, indices=(1,0,1), layers=2, periodic=True)\n", "srtio3_110.wrap()\n", "\n", + "atoms = abtem.orthogonalize_cell(srtio3_110)\n", + "abtem.show_atoms(atoms)\n", + "\n", "repeated_srtio3 = srtio3_110.copy()\n", "repeated_srtio3 *= (3, 4, 10)" ] }, { "cell_type": "code", - "execution_count": 103, + "execution_count": 14, "id": "95f90081-91d8-4eb2-9dd9-b56742137669", "metadata": {}, "outputs": [], @@ -71,16 +100,22 @@ }, { "cell_type": "code", - "execution_count": 104, + "execution_count": 65, "id": "5d0aeebf-ee62-40fb-a9ed-80f18db8343c", "metadata": {}, "outputs": [], "source": [ - "def update_atoms(x, y, z):\n", + "def update_atoms(x, y, z, vac, axis):\n", " ax1.cla()\n", " ax2.cla()\n", - " supercell = srtio3_110*(x,y,z)\n", - " supercell.center(2, axis=2)\n", + " axis = tuple(map(int, axis.split(' ')))\n", + " \n", + " cell = surface(srtio3, indices=axis, layers=2, periodic=True)\n", + " cell = abtem.orthogonalize_cell(cell)\n", + " cell.wrap()\n", + " supercell = cell*(x,y,z)\n", + " supercell.center(vac, axis=2)\n", + " \n", " top = abtem.show_atoms(supercell, ax=ax1, show_periodic=True)\n", " beam = abtem.show_atoms(supercell, ax=ax2, plane='xz', show_periodic=True, legend=True)\n", " fig.canvas.draw_idle()\n", @@ -89,11 +124,18 @@ }, { "cell_type": "code", - "execution_count": 105, + "execution_count": 68, "id": "ad7fa665-3417-4c8d-ac8b-9a4f2cb445af", "metadata": {}, "outputs": [], "source": [ + "# Widgets\n", + "dropdown = ipywidgets.Dropdown(\n", + " options = ['1 1 0','1 1 1','1 0 0'],\n", + " value='1 1 0',\n", + " layout = ipywidgets.Layout(width='200px',height='30px'),\n", + ")\n", + "\n", "style = {\n", " 'description_width': 'initial',\n", "}\n", @@ -125,12 +167,24 @@ " style = style,\n", ")\n", "\n", + "slidervac = ipywidgets.FloatSlider(\n", + " orientation='horizontal',\n", + " description='vacuum (A): ',\n", + " value=2,\n", + " min=1,\n", + " max=10,\n", + " step=1,\n", + " style = style,\n", + ")\n", + "\n", "ipywidgets.interactive_output(\n", " update_atoms, \n", " {\n", " 'x':sliderx,\n", " 'y':slidery,\n", " 'z':sliderz,\n", + " 'vac':slidervac,\n", + " 'axis':dropdown\n", " },\n", ")\n", "None" @@ -138,14 +192,14 @@ }, { "cell_type": "code", - "execution_count": 106, + "execution_count": 69, "id": "f7da1ef3-9a6a-4726-b9b8-da3938e02a11", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "cb3eaaca2eb4430083cdee3cd89c6dcb", + "model_id": "244243dcc263431f98e5d2934cf1791c", "version_major": 2, "version_minor": 0 }, @@ -163,11 +217,18 @@ "widget = ipywidgets.VBox(\n", " [\n", " fig.canvas,\n", + " ipywidgets.HBox([\n", " ipywidgets.VBox([\n", " sliderx,\n", " slidery,\n", " sliderz,\n", + " slidervac\n", " ]),\n", + " ipywidgets.VBox([\n", + " ipywidgets.Label('Zone axis',layout=ipywidgets.Layout(width='100px',height='30px')), \n", + " dropdown,\n", + " ])\n", + " ]),\n", " ],\n", ")\n", "\n", diff --git a/notebooks/09.x_STEM_STO-LTO.ipynb b/notebooks/09.x_STEM_STO-LTO.ipynb index 649bca1..0e689b4 100644 --- a/notebooks/09.x_STEM_STO-LTO.ipynb +++ b/notebooks/09.x_STEM_STO-LTO.ipynb @@ -137,7 +137,7 @@ "source": [ "#| label: app:stem_sto-lto_image\n", "stacked_measurements.show(explode=True)\n", - "plt.savefig(\"../static/stem_images.png\", dpi=600)" + "#plt.savefig(\"../static/stem_images.png\", dpi=600)" ] }, { diff --git a/notebooks/data/STO_LTO_STEM.zarr/array0/0.0.0 b/notebooks/data/STO_LTO_STEM.zarr/array0/0.0.0 index 95254ab..a2c361f 100644 Binary files a/notebooks/data/STO_LTO_STEM.zarr/array0/0.0.0 and b/notebooks/data/STO_LTO_STEM.zarr/array0/0.0.0 differ diff --git a/post.md b/post.md index aec109e..836a877 100644 --- a/post.md +++ b/post.md @@ -11,13 +11,13 @@ STEM simulations usually requires some post-processing, we apply some of the mos For these examples, we use an STO/LTO heterointerface as a specimen. The structure was built earlier in the [simulation inputs](./sim_inputs.md) chapter, and simple BF/ADF images simulated in the chapter on [STEM](./STEM.md). #### Interpolation -We can save a great deal of computational effort by scanning at the Nyquist frequency [https://en.wikipedia.org/wiki/Nyquist_frequency], which is information-theoretically guaranteed to be sufficient -- but the result is visually quite pixelated. To address this, we can interpolate the images to a sampling of 0.05 Å. *ab*TEM’s default interpolation algorithm is Fourier-space padding, but spline interpolation is also available, which is more appropriate if the image in non-periodic. +We can save a great deal of computational effort by scanning at the Nyquist frequency [https://en.wikipedia.org/wiki/Nyquist_frequency], which is information-theoretically guaranteed to be sufficient -- but the result is visually quite pixelated. To address this, we can interpolate the images to a sampling of 0.05 $\mathrm{\AA}$. *ab*TEM’s default interpolation algorithm is Fourier-space padding, but spline interpolation is also available, which is more appropriate if the image in non-periodic. #### Blurring -Standard multislice simulations are too idealized to describe a realistic experimental image. For example, a finite Gaussian-shaped source will result in a blurring of the image, and vibrations and other instabilities may further contribute to the blur. It is typical and convenient to approximate these by applying a Gaussian blur with a standard deviation of $0.35 \ \mathrm{Å}$ (corresponding to a source of approximately that size). However, note that correctly including spatial and temporal incoherence is a bit more complicated and may be necessary for quantitative comparisons with experiment. +Standard multislice simulations are too idealized to describe a realistic experimental image. For example, a finite Gaussian-shaped source will result in a blurring of the image, and vibrations and other instabilities may further contribute to the blur. It is typical and convenient to approximate these by applying a Gaussian blur with a standard deviation of $0.35 \ \mathrm{\AA}$ (corresponding to a source of approximately that size). However, note that correctly including spatial and temporal incoherence is a bit more complicated and may be necessary for quantitative comparisons with experiment. #### Noise -Simulations correspond to the limit of infinite electron dose, which again is not realistic for an experimental image. Leaving aside other factors, the main source of noise in STEM is so-called shot noise arising from the discrete nature of electrons. We can effectively emulate finite dose by drawing random numbers from a Poisson distribution for every pixel. We apply this so-called Poisson noise corresponding a dose per area of $10^5 \ \mathrm{e}^- / \mathrm{Å}^2$ to form a more realistic image. +Simulations correspond to the limit of infinite electron dose, which again is not realistic for an experimental image. Leaving aside other factors, the main source of noise in STEM is so-called shot noise arising from the discrete nature of electrons. We can effectively emulate finite dose by drawing random numbers from a Poisson distribution for every pixel. We apply this so-called Poisson noise corresponding a dose per area of $10^5 \ \mathrm{e}^- / \mathrm{\AA}^2$ to form a more realistic image. The different STEM post-processing steps can be explored in [](#fig_stem_processing).