\n",
"\n",
"\n",
"# Electron Optics\n",
"\n",
"[Download](https://raw.githubusercontent.com/gduscher/MSE672-Introduction-to-TEM//main/Introduction/CH1_07-Electron_Optics.ipynb)\n",
"\n",
"[](\n",
" https://colab.research.google.com/github/gduscher/MSE672-Introduction-to-TEM/blob/main/Introduction/CH1_07-Electron_Optics.ipynb)\n",
" \n",
"part of\n",
"\n",
" **[MSE672: Introduction to Transmission Electron Microscopy](../_MSE672_Intro_TEM.ipynb)**\n",
"\n",
"**Spring 2026** \n",
"by Gerd Duscher\n",
"\n",
"Microscopy Facilities \n",
"Institute of Advanced Materials & Manufacturing \n",
"Materials Science & Engineering \n",
"The University of Tennessee, Knoxville\n",
"\n",
"## Import packages for figures and \n",
"### Check Installed Packages"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"done\n"
]
}
],
"source": [
"import sys\n",
"import importlib.metadata\n",
"def test_package(package_name):\n",
" \"\"\"Test if package exists and returns version or -1\"\"\"\n",
" try:\n",
" version = importlib.metadata.version(package_name)\n",
" except importlib.metadata.PackageNotFoundError:\n",
" version = '-1'\n",
" return version\n",
"\n",
"if test_package('pyTEMlib') < '0.2026.1.2':\n",
" print('installing pyTEMlib')\n",
" !{sys.executable} -m pip install --upgrade pyTEMlib -q\n",
"\n",
"print('done')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Load the plotting and figure packages\n",
">Note for Google Colab\n",
">\n",
">The runtime has to be restarted and the code cell below again to enable interactive plotting\n",
">\n",
">in the Menu **Runtime** choose **Restart Runtime** (**Ctrl-M**) "
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib widget\n",
"import matplotlib.pylab as plt\n",
"import numpy as np\n",
"import sys\n",
"if 'google.colab' in sys.modules:\n",
" from google.colab import output\n",
" output.enable_custom_widget_manager()\n",
" \n",
"import pyTEMlib.animation as animate"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "dfb9CuuUf5qm"
},
"source": [
"## Transmission Electron Microscope\n",
"\n",
"A TEM is a stack of electro-optical elements:\n",
""
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "FsGiRUi_gGAG"
},
"source": [
"- electron source\n",
"- electrostatic lens\n",
"- accelerator\n",
"- magnetic lens\n",
"- magnetic and electrostatic deflectors\n",
"- magnetic multipoles\n",
"- apertures\n",
"- detectors (viewing screen,CCD)\n",
"- sample holder\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "u-YSfinDgaFA"
},
"source": [
"### Start screen on the computer of our TEM: Thermo-Fisher Spectra 300\n",
"\n",
""
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "jqsjOHmEg3p4"
},
"source": [
"The big buttons on upper left, we saw already in the last notebook.\n",
"\n",
"You select the different modes of the TEM with those.\n",
"\n",
""
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "_PEM-4gqhlWo"
},
"source": [
"## Electron Optics - Overview of the Whole System\n",
"\n",
"We start on the top.\n",
"\n",
"#### The Electron Gun \n",
"The electron gun produces the electrons, focuses them and accelerates\n",
"them.\n",
"\n",
"#### The Condenser \n",
"The condenser lens system varies the beam size, the illumination area and the convergence angle.\n",
"\n",
"#### The Objective Lens\n",
"The objective lens does the maximum magnification in imaging mode.\n",
"\n",
"#### The Intermediate Lens\n",
"The Intermediate lens system switches between imaging and\n",
"diffraction mode. The objective lens does not magnify anything in diffraction mode, because the back focal plane of the objective lens is object plane of the intermediate plane. The intermediate lens does the maximum magnification.\n",
"\n",
"#### The Projector Lens \n",
"The projector lens system magnifies everything roughly to the\n",
"magnification indicated on the display/chosen on the console."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "K82oJmm3iVKj"
},
"source": [
"### Electron Optics - Condenser\n",
"\n",
"The electron optics starts at the cross over which the gun produces in the\n",
"differential pumping aperture.\n",
"Then we have a condenser lens system with three lenses, three pairs of deflectors, a pair of stigmators and an aperture. \n",
"\n",
"This allows a very flexible illumination of the specimen."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "WQMzs6txiq4S"
},
"source": [
"### Electron Optics - Projective\n",
"\n",
"The projector lens system in our TEM (Zeiss Libra 200MC) is divided by the electron energy-loss filter into two parts.\n",
"\n",
"The first part switches from imaging to diffraction and does all the magnification. This part has three\n",
"lenses, two pairs of deflectors, a stigmator, and an aperture. \n",
"\n",
"The second part switches from spectroscopy to imaging or diffraction and does only magnification in spectroscopy mode. This part has three lenses, two pairs\n",
"of deflectors, a stigmator, and an aperture."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "HAKbBVLwjDKv"
},
"source": [
"## Electron Optics - Ray Diagrams\n",
"\n",
"To do the optical ray diagram we only have to concern ourselves with the lenses and the apertures.\n",
"\n",
"Deflectors and stigmators (correcting multipoles) are only used to correct for mechanical misalignment of the optical axis.\n",
"The correcting multipoles will be discussed in the phase contrast part of this lecture.\n",
"The deflectors will be discussed in the STEM part in detail.\n",
"\n",
"### Basic Ray Diagram"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "0c0bd180f9d44af3b263e2e022ef34b8",
"version_major": 2,
"version_minor": 0
},
"image/png": "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YcTFxRn333+/y2tt2LDB8PLyMs6ePWukpqYakozVq1dXWFfZ87mzcOFCQ5Lx888/O4+lpKQYkozExETDMAxj1qxZRp8+fdyeo6ioyAgJCTG++OIL5zFJxnPPPee8n52dbVgsFuPrr782DMMwnn/+eWPEiBEu50lLSzMkGampqZXWjOrh8xN1xRxAAJXKyMhQeHi4srOz5ePjI4vFosLCQoWHh2vixInq1KmTNm7cqI0bN9bba3bo0EH33XdfvZ2vtvbv36/CwkINHjzYeczX11f9+/dXSkqKS9uYmBjn961atVLXrl3LtXHYunWr9u3bpyVLljiPGYYhm82mgwcPateuXfL29lZsbGydfwYfHx/169fPeb9bt25q0aKFUlJS1L9//3LtT5w4oRdeeEFr167V77//ruLiYuXm5urw4cMu7Xr37u38Pjg4WCEhITpx4oTz51u3bp2aNWtW7vz79+9Xly5d6vxzAagbAiCASrVs2VIXXnihUlNTVVRUJMk+BywrK0urV6+WxWKpt9cyDEPHjh2TJN15550KDg6ut3PXth5J5X5GwzCq9XO7a2Oz2fQ///M/evjhh8s9Fh4ern379tWi2prV4a62yZMnKz09XW+++aYiIiLk7++vmJgYFRQUuLTz9fUtdz7HPFCbzabRo0frz3/+c7nzt2/fvrY/BoB6RAAEUKW+ffsqNTVVkmS1WjVs2DB9/vnnuuCCC/T888/rjjvukI9P3T9OcnJyKuw18pSoqCj5+flp48aNuvPOOyVJhYWFSkpK0owZM1za/vzzzwoPD5dk7zX997//rW7dulV43ksvvVS//vqroqKiKny8V69estlsSkhI0NVXX13ucT8/P0lScXFxlT9DUVGRkpKSnL19qampOn36tNvaNmzYoHfffVejRo2SJKWlpdV48call16qFStWKDIysl7+XQCofywCAVClgIAA5/eFhYWKj4/X1q1b1b17d02cOFHdu3d39tydT4KDg/Xggw9q5syZ+uabb5ScnKz77rtPubm5uueee1zavvjii/r++++1e/duTZ48WaGhoRo7dmyF533yySf1008/aerUqdqxY4f27t2rlStXavr06ZKkyMhITZo0SVOmTFF8fLwOHjyo9evXa/ny5ZKkiIgIWSwWffnll0pPT1d2drbbn8HX11fTp09XYmKitm3bprvvvlsDBw6scPhXsofejz/+WCkpKUpMTNSECRMUGBhYo/dt6tSpOnXqlO644w5t3rxZBw4c0HfffacpU6ZUK7QCaHgEQABVcsztkuyXJ5HsvTyOIDhq1Ch5e3t7qrwG9fLLL+uWW25RXFycLr30Uu3bt0/ffvutWrZsWa7dI488ossuu0zHjh3TypUrnT11ZfXu3VsJCQnau3evhg4dqujoaD3//PMuw6Pvvfeebr31Vj300EPq1q2b7rvvPudlYi688ELNmTNHTz31lNq2beuyerisoKAgPfnkk7rzzjsVExOjwMBALV261G37BQsWKCMjQ9HR0YqLi3NeAqcmOnTooB9//FHFxcW69tpr1bNnTz3yyCOyWq3y8uLXDtAUWAzHJBegkWVlZclqtSozM1PNmzf3dDlwIy8vT7fddpu++eYb5zyw//znP7rwwgvr/bVKDwFnZ2d7fA5gffn22281cuRI5eXluQ2FDWHRokWaMWMGO4ach/j8RF3xpxiASm3atEmDBg2Sv7+/89gXX3zhwYrOLb///rs+//xzXXzxxY0a/gCgMgRAAJVas2aNrr76apd5gAsWLPBgReeWUaNGac2aNfrrX//q6VIAwIkhYHgMQxjnhpEjR2rVqlUKDw/XkSNHJNlXoZ49e7be53Pl5eXplltukSStWLHCJXQCKMHnJ+qKHkAAbmVkZFQ4cb+goEDLli2r99cLCAjQqlWrtGrVKsIfADQgAiAAt9auXasrr7yywscq238WANC0EQABuOWY/1eRQ4cOKTMzs5ErAgDUBwIgALcOHjyozp07uxxzDAefPn1af//73+v19XJychQcHKzg4GDnNe8AAPWPAAigQocOHVJERES5447LweTn5+vjjz9Wfa8jy83NVW5ubr2eEwDgigAIoELuhn9LL87w9fXV5s2bG7MsAEA9IAACqJC7BSClLwh99uxZ/b//9/8asywAQD0gAAIox2azKSMjQ61bty73mLe3t7p16yZJ2rlzp44dO8ZiEAA4xxAAAZSzc+dO9enTx+3jjqHh4uJi9ezZU0uWLGms0gAA9YAACKCc1atXu738iyRdc801zu+zs7MVHx9f74tBAAANhwAIoJyNGzdq8ODBbh+PjY2Vt7e3JGndunWKjo6ul8UgXl5eio2NVWxsbL1vMwcAKMEnLAAXeXl5kqTAwEC3baxWq/r37y9J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7rnnZJTaaPkf//iH+vXrp5CQELVr10533nmnTpw44XKOX3/9Vddff72aN2+ukJAQDR06VPv376/w9bZu3ao2bdpo7ty5FT5usVi0detWvfjii7JYLM5tAXft2qUrr7xSgYGBat26te6//35lZ2e7PHfBggXq0aOH/P391b59e02bNs352Ouvv65evXopODhYYWFheuihh8o9H0D1EAAB1Ehth4TrslOI1WpV//79JUkpKSk6cuRIzQs/jy1evFg+Pj5KTEzU22+/rTfeeEMfffSR8/GCggK99NJL+uWXXxQfH6+DBw9q8uTJzsePHDmiK664QgEBAVq7dq22bt2qKVOmqKioqNxrrV+/XldddZXmzJmjZ599tsJ6jh07ph49euixxx7TsWPH9Pjjjys3N1fXXXedWrZsqS1btujTTz/VmjVrXALee++9p6lTp+r+++/Xrl27tHLlSkVFRTkf9/Ly0ttvv63du3dr8eLFWrt2rZ544ol6eAcBEzIAD8nMzDQkGZmZmZ4upUmLiYkxpkyZ4ukyKrR8+XLjuuuuMw4fPlyt9jabzbjtttsMSYYko2vXrsbp06edj2dnZzsfy87Odnnu888/73xs8eLFFZ5/9OjRtf9hzlGxsbHGJZdcYthsNuexJ5980rjkkkvcPmfz5s2GJOPMmTOGYRjG008/bXTq1MkoKCiosP2kSZOMMWPGGPHx8UZISIjxySefVFlXnz59jFmzZjnvf/jhh0bLli1d/ruuWrXK8PLyMo4fP24YhmF06NDBePbZZ6s8t8Py5cuN1q1bO+8vXLjQsFqt1X7+uYzPT9QVPYBAE1RUVKTTp0+XO/7HH3+4DO15mmNI+J577qnWkHBNF4WUxjxA9wYOHCiLxeK8HxMTo71796q4uFiStH37do0ZM0YREREKCQnRsGHDJEmHDx+WJO3YsUNDhw6Vr6+v29dITEzULbfcosWLF+uOO+6ocY0pKSnq06ePgoODnccGDx4sm82m1NRUnThxQkePHtVVV13l9hzr1q3TNddcowsvvFAhISGaOHGi/vjjD+Xk5NS4HsDsCIBAEzR//nz16dNHeXl5zmNpaWkKDw/Xt99+68HKyouKitLKlSv1zTffVGtIuLY7hQwcONAZHtasWdOkgnBTlpOToxEjRqhZs2b6xz/+oS1btuizzz6TJOdKa8dFtytz0UUX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vP766+VeOz8/35g5c6bRoUMHIygoyOjfv7+xbt26SuuXZLz77rvGddddZwQEBBiRkZHG8uXLnY8fPHjQkGQ0a9bMMAz7at4pU6YYkZGRRkBAgNGlSxfjzTffdDnnpEmTjDFjxhivvPKK0a5dO6NVq1bGQw89ZBQUFNSpVjQsPj9RV/xZBuCccemll2rixIl68sknNXz48HKPp6en1/icb7zxhgYPHqzt27fr+uuvV1xcnCZOnKi77rpL27ZtU1RUlCZOnOhcZZyXl6fLLrtMX375pXbv3q37779fcXFxSkxMdJ7z0Ucf1Y8//qiVK1dq9erV2rBhQ7kLK99999368ccftXTpUu3cuVPjxo3Tddddp71791Za7/PPP69bbrlFv/zyi+666y7dcccdblf32mw2dezYUcuXL1dycrJeeOEFPfPMM1q+fLlLu3Xr1mn//v1at26dFi9erEWLFmnRokV1rhVAE+bpBArz4i9YlFVVD+D69euNAQMGGJKMmJgY48orr3TpAWzevHml56+oB9BxDUHDMIxjx44Zkoznn3/eeeynn34yJBnHjh1ze95Ro0YZjz32mGEY9t4/X19f49NPP3U+fvr0aSMoKMj52vv27TMsFotx5MgRl/NcddVVxtNPP+32dSQZDzzwgMuxAQMGGA8++KBhGOV7ACvy0EMPGbfccovz/qRJk4yIiAijqKjIeWzcuHHGbbfdVqda0bD4/ERdcRkYAE3SN998o4CAgHLHn3vuOW3btk2ffPKJUlNTFRwcrJycHElSVlaW0tLSFBYWVu3XKX1tu7Zt20qSy+pix7ETJ06oXbt2Ki4u1ssvv6xly5bpyJEjys/PV35+vnOl64EDB1RYWOiy4MJqtapr167O+9u2bZNhGOrSpYtLLfn5+WrdunWl9cbExJS7v2PHDpdjGzZscH7//vvv66OPPtJvv/2ms2fPqqCgQH379nVp36NHD+feypL9si27du2qc60Ami4CIIAmIzg4WL/++qt69+6tW2+9tVrPcYQ/h+nTpys+Pr7ar1n62naO6+RVdMyxwOS1117TG2+8oTfffFO9evVScHCwZsyY4bxmnvHfoeKy19wzSl2o2mazydvbW1u3bnUJXpLUrFmzatdetsayli9frv/zf/6PXnvtNcXExCgkJESvvPKKy3B12Z/Xcb7S1/erz1oBNA0EQABN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",
"text/html": [
"\n",
"
\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# ---INPUT------ #\n",
"focal_length = 1.\n",
"# -------------- #\n",
"\n",
"animate.geometric_ray_diagram(focal_length, magnification=True)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "wZDgbEqYj1ks"
},
"source": [
"The magnification of a\n",
"lens is given by\n",
"Newton's law:\n",
"$$\n",
"\\frac{1}{u}+\\frac{1}{v} =\\frac{1}{f}\n",
"$$\n",
"\n",
"The magnification M is defined as\n",
"$$ \n",
"M = \\frac{v}{u}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "-iSlYQSfkUXk"
},
"source": [
"### Focus\n",
"The microscope consists of a\n",
"stack of lenses in which the\n",
"image plane of one lens is the\n",
"object plane of the next one.\n",
"\n",
"The focal length $f$ of a\n",
"magnetic lens can be changed\n",
"by its electric current.\n",
"\n",
"If the field is too weak, we call\n",
"it underfocus, is it too strong\n",
"we speak of overfocus.\n",
"\n",
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Condenser Ray Diagram\n",
"Below is a stack of lenses that is equivalent to the condenser lens system on the Libra 200.\n",
"\n",
"The objective lens focal length is usually not changed (at least not much), and the sample is in the middle of the objective lens system.\n",
"\n",
"Change the ``focal lengths`` parameters so that there the illumination changes from parallel to convergent. \n",
"\n",
"Tip: do not change the gun (first value), and the objective (last two values) values."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"id": "pEkk_1rHfowo"
},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "980dd12912bc44219b93efc01998338a",
"version_major": 2,
"version_minor": 0
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAeMxJREFUeJzt3Xd4U9X/B/B3uktHSiklHRRwIEuglD0ElL1EFEQQmSqyRVEQFVS2iCACikKBr6Igy4ECBQEZZbfIFNAyCi2jLS3Q3ZzfH+fX0NBBR5Kb5L5fz5MHktwk59wm937uGZ+jEUIIEBEREZFqOChdACIiIiKyLAaARERERCrDAJCIiIhIZRgAEhEREakMA0AiIiIilWEASERERKQyDACJiIiIVIYBIBEREZHKMAAkIiIiUhkGgEREREQqwwCQiIiISGUYABIRERGpDANAIiIiIpVhAEhERESkMgwAiYiIiFSGASARERGRyjAAJCIiIlIZBoBEREREKsMAkIiIiEhlGAASERERqQwDQCIiIiKVYQBIREREpDIMAImIiIhUhgEgERERkcowACQiIiJSGQaARERERCrDAJCIiIhIZRgAEhEREakMA0AiIiIilWEASERERKQyDACJiIiIVIYBIBEREZHKMAAkIiIiUhkGgEREREQqwwCQiIiISGUYABIRERGpDANAIiIiIpVhAEhERESkMgwAiYiIiFSGASARERGRyjAAJCIiIlIZBoBEREREKsMAkIiIiEhlGAASERERqQwDQCIiIiKVYQBIREREpDIMAImIiIhUhgEgERERkcowACQiIiJSGQaARERERCrDAJCIiIhIZRgAEhEREamM3QaAM2fORKNGjeDl5QV/f3/07NkT//zzj9E2QghMnToVgYGBcHd3R5s2bXDq1CmFSkxERERkGXYbAO7evRsjR47EgQMHEBERgezsbHTo0AH37t0zbDNnzhzMmzcPX375JQ4fPgydTof27dvjzp07CpaciIiIyLw0QgihdCEs4ebNm/D398fu3bvx1FNPQQiBwMBAjBs3Du+++y4AICMjA5UqVcLs2bPx+uuvK1xiIiIiIvOw2xbAByUnJwMAfH19AQAxMTGIj49Hhw4dDNu4urqidevW2L9/vyJlJCIiIrIEJ6ULYAlCCIwfPx4tW7ZEnTp1AADx8fEAgEqVKhltW6lSJVy6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/XVx/vx5o21XrVolGjVqZNguNDRUhIeHG55PTEwUL7zwgvDx8REajUbkPeUWdsw6d+6c4XcRERFR4L6IiYkRQ4YMEUFBQcLZ2VlUrFhRNG/eXEybNq04u5IEz99CCKERIk9eDiqRlJQUaLVaJCcn21RrFRERAaGhoXj00Uexbt06pYtCFsbzN7uAiYhIZc6dO4c9e/bgxIkTePnll5UuDpEiGAASEZGqzJw5E7/++iteeeUVjBgxQuniECmCASAREalKQUuuEakN08AQERERqQwDQCIiIiKVYQBIREREpDIMAImIiIhUhgEgERERkcowACQiIiJSGQaARERERCrDAJCIiIhIZRgAEhEREakMA0AiIiIilWEASERERKQyDACJiIiIVIYBIJmcEAKvvfYafH19odFoEB0drXSRzI51Zp3J9JTc3/xbk90TVGrJyckCgEhOTla6KFbl999/F87OzmLfvn0iLi5OZGVllej1rVu3FgCMbi+++KLRNomJieLll18W3t7ewtvbW7z88ssiKSnJhLUombLUOSYmJl99c29r1641bGdPdRZCiNdee0088sgjws3NTfj5+YkePXqIM2fOGJ7fuXNnofvl0KFDhu0OHToknn76aaHVaoWPj49o3769iIqKMlU1jZS1zl9//bVo3bq18PLyEgDy/f1iYmLEkCFDRNWqVYWbm5t45JFHxIcffigyMjIM24SHhxe6X65fv26KaloNJY8lajyOqQnP30LYbQvgX3/9he7duyMwMBAajQabNm0yen7QoEHQaDRGt6ZNmypTWDvz77//IiAgAM2bN4dOp4OTk1OJ3+PVV19FXFyc4fb1118bPd+vXz9ER0djy5Yt2LJlC6KjozFgwABTVaHEylLnypUrG9U1Li4OH330ETw8PNC5c2fDdvZUZwAICwtDeHg4zpw5g61bt0IIgQ4dOiAnJwcA0Lx583z7ZdiwYahatSoaNmwIALhz5w46duyIkJAQHDx4EHv37oW3tzc6duyIrKwsq6tzamoqOnXqhPfee6/A58+ePQu9Xo+vv/4ap06dwueff46vvvrKaPsXX3wx337p2LEjWrduDX9//zLVz9ooeSxR43GMVEbpCNRcfv/9dzF58mSxfv16AUBs3LjR6PmBAweKTp06ibi4OMMtISGhRJ/BK4j8Bg4caHTFW6VKlRK/R+vWrcXY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2RLx8fGoVKlSgdsU1AJYuXJlVc8iIiIisjWcBWxDXcB+fn7w8/Mz2/tHRUXBzc3NsAB7QVxdXeHq6mq2MhARERFZgs0EgCVx+fJlJCYm4vLly8jJyUF0dDQA4LHHHoOnpyd+/fVXxMfHo1mzZnB3d8fOnTsxefJkvPbaawzwiIiIyO7ZZQD44YcfYuXKlYb7oaGhAICdO3eiTZs2cHZ2xuLFizF+/Hjo9Xo88sgj+PjjjzFy5EilikxERERkMTYzBtAacQwBERGR7eH524ZmARMRERGRaTAAJCIiIlIZBoBEREREKsMAkIiIiEhlGAASERERqQwDQCIiIiKVYQBIREREpDIMAImIiIhUhgEgERERkcowACQiIiJSGQaARERERCrDAJCIiIhIZRgAEhEREakMA0AiIiIilWEASERERKQyDACJiIiIVIYBIBEREZHKMAAkIiIiUhkGgEREREQqwwCQiIiISGUYABIRERGpDANAIiIiIpVhAEhERESkMgwAiYiIiFSGASARERGRyjAAJCIiIlIZBoBEREREKsMAkIiIiEhlGAASERERqQwDQCIiIiKVYQBIREREpDIMAImIiIhUhgEgERERkcowACQiIiJSGQaARERERCrDAJCIiIhIZewuALx48SKGDh2KatWqwd3dHY8++iimTJmCzMxMo+0uX76M7t27w8PDA35+fhgzZky+bYiIiIjskZPSBTC1s2fPQq/X4+uvv8Zjjz2GkydP4tVXX8W9e/cwd+5cAEBOTg66du2KihUrYu/evUhISMDAgQMhhMDChQsVrgERERGReWmEEELpQpjbp59+iiVLluC///4DAPzxxx/o1q0brly5gsDAQADAjz/+iEGDBuHGjRvw9vYu1vumpKRAq9UiOTm52K8hIiIiZfH8bYctgAVJTk6Gr6+v4X5kZCTq1KljCP4AoGPHjsjIyMDRo0fRtm3bAt8nIyMDGRkZRu8LyC8SERER2Ybc87YK2sAKZfcB4L///ouFCxfis88+MzwWHx+PSpUqGW1Xvnx5uLi4ID4+vtD3mjlzJj766KN8j1euXNl0BSYiIiKLSEhIgFarVboYirCZAHDq1KkFBl95HT58GA0bNjTcv3btGjp16oTevXtj2LBhRttqNJp8rxdCFPh4rkmTJmH8+PGG+3q9HomJiahQoYLR61JSUlC5cmVcuXJF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dDqdcHV1FU899ZQ4ceKE0fukpaWJUaNGCV9fX+Hu7i66desmLl++bOHalN6DAaC91vnXX38VderUEa6urqJGjRpi6dKlRs/bW71TUlLE2LFjRUhIiHBzcxOPPPKImDx5slEgYOt13rlzZ4G/4YEDBwohTFe/hIQE0b9/f+Hl5SW8vLxE//79RVJSkoVqaayoOsfExBR6XNu5c6fhPWytzkI8/G/9oIICQFurd3HqvGzZMvHYY48JNzc3Ua9ePbFp0yaj97C1OpuSRgghzNvGSERERETWhGMAiYiIiFSGASARERGRyjAAJCIiIlIZBoBEREREKsMAkIiIiEhlGAASERERqQwDQCIiIiKVYQBIREREpDIMAImIiIhUhgEgERERkcowACQiIiJSGQaARERERCrDAJCIiIhIZRgAEhEREakMA0AiIiIilWEASERERKQyDACJiIiIVIYBIBEREZHKMAAkIiIiUhkGgEREREQqwwCQiIiISGUYABIRERGpDANAIiIiIpVhAEhERESkMgwAiYiIiFSGASARERGRyjAAJCIiIlIZBoBEREREKsMAkIiIiEhlGAASERERqQwDQCIiIiKV+T92d7+c2o+RWwAAAABJRU5ErkJggg==",
"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": [
"# ------ INPUT ------#\n",
"focal_lengths = np.array([50.0, 70.0, 378.0, 127.0 , 50, 50]) # Slightly convergent\n",
"\n",
"#--------------------#\n",
"\n",
"# Define lenses here\n",
"lens_labels = ['Gun', 'C1', 'C2', 'C3' , 'Objective', '']\n",
"lens_positions = np.array([200.0, 400.0, 600.0, 800.0, 1100,1200 ]) # lens positions\n",
"\n",
"animate.propagate_beam([0,],1, 3, lens_positions, focal_lengths, lens_labels, 'blue')\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If you select any mode, magnification or brightness, the computer looks up a dataset and provides the stored values of currents to the respective lenses and other optical elements. \n",
"\n",
"An engineering alignment determines those values and users only have to deal with the fine-tuning of the electron optical system."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "GcfSxvtik6os",
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"## Convergence Angle\n",
"\n",
"The condensor lens system defines the illumination of the sample and with it the convergence angle (even parallel illumination has ususally a convergence angle of a few $\\mu$rad).\n",
"\n",
"The convergence angle is set by the condenser lens system and can be measured with a convergent beam electron diffraction (CBED) pattern.\n",
"\n",
"\n",
"Under plane wave illumination the diffraction pattern consists of points. If you imagine a second incident plane wave\n",
"with some angle to the first one, there will be two slightly shifted diffraction patterns made out of points.\n",
"\n",
"\n",
"A lot of plane waves with a conical angle distribution will result in small circles instead of a point. The radius of the circle corresponds to the convergence angle. One can easily calculate the convergence angle from a CBED pattern of a known sample."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Summary Ray Optics of TEM\n",
"- Lenses provide illumination and magnification\n",
"- Lenses switch modes in a TEM\n",
"- Lenses allow to select the angles within a TEM\n",
"- Apertures help to select the information projected in a TEM\n",
"\n",
"A detailed understanding of the angles within the TEM allows for a\n",
"project oriented experimental setup.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Navigation\n",
"- **Back [Overview](CH1_06-Overview.ipynb)** \n",
"- **Next: [Diffraction](../Diffraction/CH2_00-Diffraction.ipynb)** \n",
"- **Chapter 1: [Introduction](CH1_00-Introduction.ipynb)** \n",
"- **List of Content: [Front](../_MSE672_Intro_TEM.ipynb)** "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Appendix:\n",
"### Code for condenser stack ray diagram"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"# ----------------------------------------------------------------\n",
"# Modified from Michael Fairchild :simply draws a thin-lens at the provided location parameters:\n",
"# - z: location along the optical axis (in mm)\n",
"# - f: focal length (in mm, can be negative if div. lens)\n",
"# - diam: lens diameter in mm\n",
"# - lens_labels: label to identify the lens on the drawing\n",
"# ----------------------------------------------------------------\n",
"def add_lens(z, f, diam, lens_labels):\n",
" \"\"\"add lens to propagate beam plot\"\"\"\n",
" ww, tw, rad = diam / 10.0, diam / 3.0, diam / 2.0\n",
" plt.plot([z, z], [-rad, rad], 'k', linewidth=2)\n",
" plt.plot([z, z + tw], [-rad, -rad + np.sign(f) * ww], 'k', linewidth=2)\n",
" plt.plot([z, z - tw], [-rad, -rad + np.sign(f) * ww], 'k', linewidth=2)\n",
" plt.plot([z, z + tw], [rad, rad - np.sign(f) * ww], 'k', linewidth=2)\n",
" plt.plot([z, z - tw], [rad, rad - np.sign(f) * ww], 'k', linewidth=2)\n",
" plt.plot([z + f, z + f], [-ww, ww], 'k', linewidth=2)\n",
" plt.plot([z - f, z - f], [-ww, ww], 'k', linewidth=2)\n",
" plt.text(z, rad + 5.0, lens_labels, fontsize=12)\n",
" plt.text(z, rad + 2.0, 'f=' + str(int(f)), fontsize=10)\n",
"\n",
"\n",
"def add_aperture(z, diam, radius, lens_labels):\n",
" \"\"\"add aperture to propagate beam plot\"\"\"\n",
"\n",
" ww, tw, rad = diam / 10.0, diam / 3.0, diam / 2.0\n",
" radius = radius / 2\n",
" plt.plot([z, z], [-rad, -radius], 'k', linewidth=2)\n",
" plt.plot([z, z], [rad, radius], 'k', linewidth=2)\n",
" plt.text(z, -rad - 2.0, lens_labels, fontsize=12)\n",
"\n",
"\n",
"def propagate_beam(source_position, numerical_aperture, number_of_rays, lens_positions, focal_lengths,\n",
" lens_labels='', color='b'):\n",
" \"\"\"geometrical propagation of light rays from given source\n",
"\n",
" Parameters\n",
" ----------\n",
" source_position: list\n",
" location of the source (z0, x0) along and off axis (in mm)\n",
" numerical_aperture: float\n",
" numerical aperture of the beam (in degrees)\n",
" number_of_rays: int\n",
" number of rays to trace\n",
" lens_positions: numpy array\n",
" array with the location of the lenses\n",
" focal_lengths: numpy array\n",
" array with the focal length of lenses\n",
" lens_labels: list of string\n",
" label for the nature of lenses\n",
" color: str\n",
" color of the rays on plot\n",
" \"\"\"\n",
"\n",
" plt.figure()\n",
" z_max = 1600.\n",
"\n",
" # aperture (maximum angle) in radians\n",
" apa = numerical_aperture * np.pi / 180.0\n",
"\n",
" for i in range(np.size(lens_positions)):\n",
" add_lens(lens_positions[i], focal_lengths[i], 25, lens_labels[i])\n",
"\n",
" add_aperture(840, 25, 7, 'CA')\n",
"\n",
" # position of source is z0,x0\n",
" z0 = source_position[0]\n",
" if np.size(source_position) == 2:\n",
" x0 = source_position[1]\n",
" else:\n",
" x0 = 0.0\n",
"\n",
" # list of lens positions\n",
" zl1, ff1 = lens_positions[(z0 < lens_positions)], focal_lengths[(z0 < lens_positions)]\n",
" nl = np.size(zl1) # number of lenses\n",
"\n",
" zz, xx, tani = np.zeros(nl + 2), np.zeros(nl + 2), np.zeros(nl + 2)\n",
" tan0 = np.tan(apa / 2.0) - np.tan(apa) * np.arange(number_of_rays) / (number_of_rays - 1)\n",
"\n",
" for i in range(number_of_rays):\n",
" tani[0] = tan0[i] # initial incidence angle\n",
" zz[0], xx[0] = z0, x0\n",
" for j in range(nl):\n",
" zz[j + 1] = zl1[j]\n",
" xx[j + 1] = xx[j] + (zz[j + 1] - zz[j]) * tani[j]\n",
" tani[j + 1] = tani[j] - xx[j + 1] / ff1[j]\n",
"\n",
" zz[nl + 1] = z_max\n",
" xx[nl + 1] = xx[nl] + (zz[nl + 1] - zz[nl]) * tani[nl]\n",
" plt.plot(zz, xx, color)\n",
" plt.axis([-20, z_max, -20, 20])\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"colab": {
"authorship_tag": "ABX9TyPpeUffxRTpGpH529V5WM6r",
"collapsed_sections": [],
"name": "02_ElectronOptics.ipynb",
"provenance": [],
"toc_visible": true
},
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.13.5"
},
"toc": {
"base_numbering": "8",
"nav_menu": {},
"number_sections": true,
"sideBar": true,
"skip_h1_title": false,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": true,
"toc_window_display": true
},
"vscode": {
"interpreter": {
"hash": "838e0debddb5b6f29d3d8c39ba50ae8c51920a564d3bac000e89375a158a81de"
}
}
},
"nbformat": 4,
"nbformat_minor": 4
}