{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Characteristics" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Scalar_X is a set of three modules for:\n", "\n", "* Generation of 1D (x-axis) light source.\n", "* Generation of 1D (x-axis) masks and diffractive optical elements.\n", "* Propagation of light, determination of parameters, and other functions.\n", "* Drawing sources, masks and fields.\n", "\n", "These modules are named: scalar_fields_X.py, scalar_sources_X.py, and scalar_masks_X.py.\n", "\n", "Each module present a main class:\n", "\n", "* Scalar_field_X\n", "* Scalar_masks_X\n", "* Scalar_sources_X\n", "\n", "The main attributes for these classes are the following:\n", "\n", "* self.x (numpy.array): linear array with equidistant positions. The number of data is preferibly \n", "$2^n$ .\n", "* self.wavelength (float): wavelength of the incident field.\n", "* self.u (numpy.array): equal size than x. complex field.\n", "\n", "We can also find these atributes:\n", "\n", "* self.quality (float): quality of RS algorithm. Valid for values > 1.\n", "* self.info (str): description of data.\n", "* self.type (str): Class of the field.\n", "* self.date (str): date when performed.\n", "\n", "The dimensional magnitudes are related to microns: `micron = 1.`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Creating an instance**" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2020-05-01T22:59:18.340256Z", "start_time": "2020-05-01T22:59:16.547227Z" } }, "outputs": [], "source": [ "from diffractio import plt, np\n", "from diffractio import mm, degrees, um\n", "from diffractio.scalar_fields_X import Scalar_field_X\n", "from diffractio.scalar_sources_X import Scalar_source_X\n", "from diffractio.scalar_masks_X import Scalar_mask_X" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Creating a light source**. \n", "\n", "An instance must be created before starting to operate with light sources. The initialization accepts several arguments. " ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2020-05-01T22:59:18.354063Z", "start_time": "2020-05-01T22:59:18.349525Z" } }, "outputs": [], "source": [ "x0 = np.linspace(-0.5 * mm, 0.5 * mm, 1024 * 32)\n", "wavelength = 0.5 * um\n", "\n", "u0 = Scalar_source_X(x=x0, wavelength=wavelength, info=\"u0\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Light sources are defined in the scalar_sources_x.py module. When the field is initialized, the amplitude of the field is zero. There are many methods that can be used to generate a light source:\n", "\n", "* **plane_wave**: Generates a plane wave with a given direction and amplitude\n", "* **gauss_beam**: Generates a gauss beam with a given amplitude, direction, beam-waist and position of beam-waist.\n", "* **spherical_wave**: Generates a spherical wave.\n", "* **plane_waves_several_inclined**: Generate several plane waves with different incident angles.\n", "* **plane_waves_dict**: Generate several plane waves with parameters defined in a dictionary. \n", "* **gauss_beams_several_parallel**: Generates a number of parallel gauss beam at different positions.\n", "* **gauss_beams_several_inclined**: Generates a number of gauss beams all placed at the same position but with different incidence angles.\n", "\n", "For a more detailed description of each method, refer to the individual documentation of each one.\n", "\n", "**Example**: gauss beam." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "ExecuteTime": { "end_time": "2020-05-01T22:59:18.370832Z", "start_time": "2020-05-01T22:59:18.356909Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Scalar_source_X\n", " - x: (32768,), u: (32768,)\n", " - xmin: -500.00 um, xmax: 500.00 um, Dx: 0.03 um\n", " - Imin: 0.00, Imax: 1.00\n", " - phase_min: 0.00 deg, phase_max: 0.01 deg\n", " - wavelength: 0.50 um\n", " - date: 2024-10-21_19_23_36\n", " - info: u0\n", "\n" ] } ], "source": [ "u0.gauss_beam(A=1, w0=250 * um, x0=0, z0=0 * um, theta=0 * degrees)\n", "\n", "print(u0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Several ways to show the field are defined: 'amplitude', 'intensity', 'field', 'phase', ..." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2020-05-01T22:59:18.916224Z", "start_time": "2020-05-01T22:59:18.372903Z" } }, "outputs": [ { "data": { "image/png": "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z2fo0KGuY5goMGLECGbMmOE6himBFYEpldWrV3P11VfbcBImLAkJCbRv356NGze6jmKKYT/NplQWLFhgawOmVEaPHm0nmEU4KwITttWrV9O9e3dbGzClEh8fT8eOHe16BRHMfqJN2ObPn8/111/vOoaJQiNHjuT11193HcNcgBWBCcvKlSu55pprbG3AlEl8fDxdunThk08+cR3FFMF+qk2J8vPzbd+AKbdbbrmF119/3c42jkC+FoGIDBCRbSKSISIPFvH4vSKyVUQ+E5H3RMRGL4tAb775JsOHD7fzBky5xMXF0b9/f5YuXeo6iinEtyIQkTjgb8BAoB0wQkTaFVpsI5Cqqh2B2cCf/MpjyiY3N5d169bRvXt311FMDBg4cCDvvPOOjUwaYfxcI7gSyFDVHaqaC8wEztu2oKorVfWkd/djoKmPeUwZvPjii4wbN851DBMjRIQxY8Ywffp011FMAX4WQRMgs8D93d68CxkHvF3UAyJyu4ikiUjagQMHKjCiKc6xY8fYs2cPbdu2dR3FxJCuXbvy+eefc+LECddRjCcidhaLyGggFZhS1OOqOk1VU1U1tX79+pUbLsCeeOIJJkyY4DqGiUHjx4/n2WefdR3DePwsgj1AswL3m3rzziMiPwYmAUNU9bSPeUwpbNmyheTkZBo0aOA6iolBl1xyCarKrl27XEcx+FsE64DWIpIiIonALcDCgguIyOXAVEIl8LWPWUwpqCrTpk3j9ttvdx3FxLAJEybw9NNPu45h8LEIVDUPuAtYCnwOzFLVLSLyOxEZ4i02BagJvCkin4rIwgs8nalEc+bMYejQoSQkJLiOYmJY9erV6d27N0uWLHEdJfB83UegqktUtY2qtlLVx7x5v1XVhd70j1W1gap29m5Din9G47fs7GzWrl1Lnz59XEcxATB48GDeffddTp065TpKoEXEzmITOf785z9z3333uY5hAmTChAk8+eSTrmMEmhWB+caHH35ISkoKDRs2dB3FBEhKSgo1a9YkPT3ddZTAsiIwAJw+fZqZM2cyduxY11FMAN1xxx288MILnDlzxnWUQLIiMAD89a9/5Z577rHxhIwTcXFx3HnnnXYUkSNWBIYPP/yQevXq0bJlS9dRTIBddtllxMXFsWnTJtdRAseKIOCysrKYNWsWt956q+soxnDXXXcxdepUcnJyXEcJFCuC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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "u0.draw(kind=\"intensity\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Basic operation: add two light sources" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2020-05-01T22:59:19.228520Z", "start_time": "2020-05-01T22:59:18.918079Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "x0 = np.linspace(-0.25 * mm, 0.25 * mm, 1024 * 32)\n", "wavelength = 0.5 * um\n", "\n", "u1 = Scalar_source_X(x=x0, wavelength=wavelength, info=\"u1\")\n", "u2 = Scalar_source_X(x=x0, wavelength=wavelength, info=\"u2\")\n", "\n", "u1.plane_wave(A=1, theta=-1 * degrees)\n", "u2.plane_wave(A=1, theta=+1 * degrees)\n", "\n", "u_sum = u1 + u2\n", "u_sum.draw(kind=\"intensity\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since we have two plane waves propagating at different angles, an interference effect is produced, shown in the intensity variation of the optical field." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Masks**\n", "\n", "Masks are defined in the scalar_masks_x.py module. There are many methods that can be used to generate masks and diffractive optical elements:\n", "\n", "* mask_from_function, mask_from_array\n", "* dots\n", "* slit, double slit\n", "* two_levels, gray_scale\n", "* prism, biprism_fresnel, biprism_fresnel_nh\n", "* lens, aspheric, fresnel_lens\n", "* roughness, dust, dust_different_sizes\n", "* sine_grating, ronchi_grating, binary_grating, blazed_grating\n", "* chriped_grating, chirped_grating_p, chirped_grating_q\n", "* binary_code, binary_code_positions\n", "\n", "For a more detailed description of each method, refer to the individual documentation of each one.\n", "\n", "**Example**: double slit." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2020-05-01T22:59:19.485165Z", "start_time": "2020-05-01T22:59:19.230374Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "t0 = Scalar_mask_X(x=x0, wavelength=wavelength, info=\"t0\")\n", "t0.double_slit(x0=0, size=20 * um, separation=100 * um)\n", "t0.draw(kind=\"amplitude\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Basic operations: multiplication of masks and fields\n", "\n", "When the light $u_0$ passes through a mask $t_0$, the field just after the mask, according to the Thin Element Approximation (TEA), is $u_1 = t_0 . u_0$. This can be represented in the following way:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "ExecuteTime": { "end_time": "2020-05-01T22:59:19.818073Z", "start_time": "2020-05-01T22:59:19.488119Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "u1 = t0 * u0\n", "u1.draw(kind=\"intensity\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Propagation\n", "\n", "Propagation and other actions and parameters of the optical fields are defined in the scalar_field_x.py module. There are several methods of determining the field at a given plane after the mask:\n", "\n", "* **RS**: Rayleigh-Sommerfeld propagation at a certain distance\n", "\n", "* **fft**: Fast Fourier propagation at the far field.\n", "\n", "* **ifft**: Inverse Fast Fourier propagation at the far field.\n", "\n", "\n", "The field can be stored in the same instance, generate a new instance, or generate a numpy.array when fast computation is required.\n", "\n", "Other propagation techniques are possible, in the XZ scheme, which is an extension of X scheme." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Near field: Rayleigh-Sommerfeld approach" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "ExecuteTime": { "end_time": "2020-05-01T22:59:20.205816Z", "start_time": "2020-05-01T22:59:19.821133Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Good result: factor 36.57\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "u2 = u1.RS(z=0.5 * mm, new_field=True, verbose=True)\n", "u2.draw(kind=\"intensity\")" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Good result: factor 326.46\n", "Good result: factor 642.94\n", "Good result: factor 4633.98\n", "Good result: factor 33409.94\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "u2 = u1.RS(z=20 * mm, amplification=4, new_field=True, verbose=True)\n", "u2.draw(kind=\"intensity\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Far field: Fast Fourier transform" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "ExecuteTime": { "end_time": "2020-05-01T22:59:20.459273Z", "start_time": "2020-05-01T22:59:20.207712Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "u3 = u1.fft(new_field=True, shift=True)\n", "u3.draw(kind=\"fft\", normalize=True)\n", "plt.xlim(-5, 5)\n", "plt.ylim(0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Inverse propagation: IFFT" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "ExecuteTime": { "end_time": "2020-05-01T22:59:20.977643Z", "start_time": "2020-05-01T22:59:20.461156Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "x = np.linspace(-500 * um, 500 * um, 512)\n", "wavelength = 0.5 * um\n", "\n", "t1 = Scalar_field_X(x, wavelength)\n", "t1.u = np.sin(2 * np.pi * x / 100)\n", "\n", "t2 = t1.fft(\n", " z=None, shift=True, remove0=False, matrix=False, new_field=True, verbose=False\n", ")\n", "t2.draw()\n", "\n", "t3 = t2.ifft(\n", " z=None, shift=True, remove0=False, matrix=False, new_field=True, verbose=False\n", ")\n", "t3.draw()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Amplification of the field\n", "\n", "The Rayleigh-Sommefeld implementation allows an amplification of the field since, sometimes, light diverges. Processing time increases approximately linearly with amplification number." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "ExecuteTime": { "end_time": "2020-05-01T22:59:21.600123Z", "start_time": "2020-05-01T22:59:20.979949Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEKCAYAAAAfGVI8AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAAsTAAALEwEAmpwYAAATH0lEQVR4nO3de7BdZ13G8e9DalsYCxQSpCYpKZAqwXKpx1qF0aqgSXVSL4DtcFPROKPFVlCnCFOZ4jhTGFALVczIRZhKLVoxSLBALXRgKPQUaG1SC6GKTaltigg4ICH484+9Qjan57JPk7X3Pnm/n5k9Z93OPr+92pznrPd917tSVUiS2vWgSRcgSZosg0CSGmcQSFLjDAJJapxBIEmNO2bSBSzX6tWra8OGDZMuQ5JWlJtuuum+qloz374VFwQbNmxgdnZ20mVI0oqS5HML7bNpSJIaZxBIUuMMAklqnEEgSY0zCCSpcQaBJDWutyBI8uYk9ya5dYH9SXJZkj1Jbklyel+1SJIW1ucVwVuBzYvs3wJs7F7bgD/vsRZJ0gJ6u6Gsqq5PsmGRQ84B3laDByLckOThSU6qqrv7qklayOzsLO9+97tJMrEaqootW7Zw5plnTqwGtWmSdxavBe4cWt/bbbtfECTZxuCqgZNPPnksxaktH/nIR7jwwgs58cQTJ1bD1772NS677DKDQGO3IjqLq2p7Vc1U1cyaNfNOlSFJeoAmGQR3AeuH1td12yRJYzTJINgBvKAbPXQm8CX7ByRp/HrrI0jyDuAsYHWSvcAfAN8BUFVvBHYCZwN7gK8Cv9xXLZKkhfU5aui8JfYX8Jt9/XxJ0mhWRGex1LfB3yWTNy11qC0GgdSZ5D0E0/Dz1S6DQJIaZxBIUuMMAklqnEEgSY0zCCQcraO2GQRSZxpG7RhImgSDQJoS0xBEapNBIEmNMwgkqXEGgSQ1ziCQpMYZBBLTM1pnWupQWwwCqTPpUTuT/vlql0EgSY0zCCSpcQaBJDXOIJCkxhkEEo7WUdsMAqkzDaN2DCRNgkEgTYlpCCK1ySCQpMYZBJLUOINAkhpnEEhS4wwCCUfrqG0GgdSZhlE7BpImwSCQpsQ0BJHaZBBIUuMMAklqnEEgSY3rNQiSbE5ye5I9SS6aZ//JSa5L8skktyQ5u896pIXYSauW9RYESVYBlwNbgE3AeUk2zTnsFcBVVfVU4Fzgz/qqR1rKNHTWGkiahD6vCM4A9lTVHVW1H7gSOGfOMQU8tFt+GPD5HuuRpto0BJHa1GcQrAXuHFrf220b9krgeUn2AjuBF8/3Rkm2JZlNMrtv374+apWkZk26s/g84K1VtQ44G3h7kvvVVFXbq2qmqmbWrFkz9iIl6WjWZxDcBawfWl/XbRv2IuAqgKr6KHA8sLrHmiRJc/QZBDcCG5OckuRYBp3BO+Yc8x/ATwAkeQKDILDtR2NnJ61a1lsQVNUB4HzgGuA2BqODdiW5JMnW7rCXAr+W5GbgHcAvlf8iJWmsjunzzatqJ4NO4OFtFw8t7wae1mcN0qimYdSOfwdpEibdWSypMw1BpDYZBJLUOINAkhpnEEhS4wwCCTtp1TaDQOrYWatWGQTSFPHKRJNgEEhTwisSTYpBIEmNMwgkqXEGgYRt82qbQSBJjTMIpM40dNZ6ZaJJMAgkqXEGgTQlpuGKRG0yCCSpcQaBJDXOIJCwk1ZtMwikjm30apVBIEmNMwgkqXEGgSQ1ziCQpMYZBBKOGlLbDAJJapxBIHUcPqpWGQSS1DiDQJIaZxBIUuMMAklqnEEg4fBRtc0gkDqOGlKrRgqCJI98IG+eZHOS25PsSXLRAsc8J8nuJLuS/PUD+TnS0cIrE03CMSMed0OSTwFvAd5bI/zfmmQVcDnwTGAvcGOSHVW1e+iYjcDLgKdV1ReTPGq5H0CSdHhGbRo6FdgOPB/4TJI/SnLqEt9zBrCnqu6oqv3AlcA5c475NeDyqvoiQFXdO3rp0tHH5ilNwkhBUAPvr6rzGPzyfiHw8SQfSvJDC3zbWuDOofW93bZhpwKnJvlIkhuSbF5m/ZKkwzRS01DXR/A8BlcE9wAvBnYATwHeCZxyGD9/I3AWsA64PslpVfXfc37+NmAbwMknn/wAf5S0MNvm1bJRm4Y+CjwU+Nmq+umqurqqDlTVLPDGBb7nLmD90Pq6btuwvcCOqvpGVf0b8GkGwfBtqmp7Vc1U1cyaNWtGLFlaHptl1KpRg+AVVfWqqtp7cEOSZwNU1aULfM+NwMYkpyQ5FjiXwVXEsHcxuBogyWoGTUV3jFy9JOmwjRoE8w39fNli31BVB4DzgWuA24CrqmpXkkuSbO0Ouwb4QpLdwHXA71bVF0asSZJ0BCzaR5BkC3A2sDbJZUO7HgocWOrNq2onsHPOtouHlgt4SfeSJE3AUp3Fnwdmga3ATUPbvwL8dl9FSZLGZ9EgqKqbgZuTXNE19UiSjjJLNQ1dVVXPAT6ZZHh8XRi07Dyp1+qkMXH4qFq2VNPQBd3Xn+m7EGnSHD6qVi06aqiq7u4W7wPurKrPAccBT2bQfyBJWuFGHT56PXB8krXA+xjcYfzWvoqSJI3PqEGQqvoq8PPAn1XVs4En9leWJGlcRg6CbnK55wLv6bat6qckSdI4jRoEFzC4k/jvu7uDH8vgTmDpqOCoIbVspNlHq+p6Bv0EB9fvAH6rr6KkSXDUkFo16jTUpwK/A2wY/p6q+vF+ypIkjcuoj6p8J4Pppv8S+GZ/5Uhts4lKkzBqEByoqj/vtRJJ0kSM2ln87iS/keSkJI84+Oq1MqlB9lNoEka9Inhh9/V3h7YV8NgjW44kadxGHTX0QJ9JLK0Its2rZSM1DSV5SJJXJNnerW9M4kR0OqrYLKNWjdpH8BZgP/DD3fpdwB/2UpEkaaxGDYLHVdWrgW8AdPMO+eeTJB0FRg2C/UkezKCDmCSPA77eW1WSpLEZddTQK4F/AtYnuQJ4GvDLfRUlSRqfUUcNvS/JTcCZDJqELqiq+3qtTBojRw2pZaOOGrq2qr5QVe+pqn+sqvuSXNt3cdI4OWpIrVrq4fXHAw8BVic5kUMdxA8F1vZcmyRpDJZqGvp14ELgu4GbOBQEXwbe0F9ZkqRxWTQIqupPgT9N8uKqev2YapIkjdGoncWvT/LD3P95BG/rqS5J0piM+mCatwOPAz7FoecRFGAQSNIKN+p9BDPApnKMnSQddUa9s/hW4NF9FiJJmoxRrwhWA7uTfJyhqSWqamsvVUmSxmY5U0xI6pmtr5qEUUcNfajvQiRJk7FoH0GSD3dfv5Lky0OvryT58lJvnmRzktuT7Ely0SLH/UKSSjKz/I8gHT2c5kKTsNQNZU/vvp6w3DdOsgq4HHgmsBe4McmOqto957gTgAuAjy33Z0iSDt+oo4YeiDOAPVV1R1XtB64EzpnnuFcBlwL/22MtkqQF9BkEa4E7h9b3MmeiuiSnA+ur6j2LvVGSbUlmk8zu27fvyFcqSQ3rMwgWleRBwOuAly51bFVtr6qZqppZs2ZN/8VJUkP6DIK7gPVD6+u6bQedAHwf8MEk/87goTc77DCWpPHqMwhuBDYmOSXJscC5wI6DO6vqS1W1uqo2VNUG4AZga1XN9liTJGmO3oKgqg4A5wPXALcBV1XVriSXJPGOZE0Vb+RSy0a9s/gBqaqdwM452y5e4Niz+qxFkjS/iXUWS9PEG7nUMoNAkhpnEEhS4wwCSWqcQSBJjTMIJKlxBoEkNc4gkKTGGQSS1DiDQJoiTnWhSTAIJKlxBoHE9Pwl7lQXmgSDQJIaZxBI+Je42mYQSFLjDAJJapxBIEmNMwgkqXEGgSQ1ziCQpMYZBJLUOINAkhpnEEhS4wwCSWqcQSAxPZPOSZNgEEhS4wwCCSedU9sMAklqnEEgSY0zCKQpYqe1JsEgkKTGGQTSFLHTWpPQaxAk2Zzk9iR7klw0z/6XJNmd5JYk1yZ5TJ/1SJLur7cgSLIKuBzYAmwCzkuyac5hnwRmqupJwN8Cr+6rHknS/Pq8IjgD2FNVd1TVfuBK4JzhA6rquqr6ard6A7Cux3okSfPoMwjWAncOre/tti3kRcB759uRZFuS2SSz+/btO4IlSpKmorM4yfOAGeA18+2vqu1VNVNVM2vWrBlvcZJ0lDumx/e+C1g/tL6u2/ZtkjwDeDnwo1X19R7rkRbk+H21rM8rghuBjUlOSXIscC6wY/iAJE8F/gLYWlX39liLJGkBvQVBVR0AzgeuAW4DrqqqXUkuSbK1O+w1wHcC70zyqSQ7Fng7qVeO31fL+mwaoqp2AjvnbLt4aPkZff58SdLSpqKzWJI0OQaBJDXOIJCkxhkEktQ4g0CSGmcQSFLjDAJJapxBIEmNMwikKeKcR5oEg0CSGmcQSFPEOY80CQaBJDXOIJCkxhkEktQ4g0CSGmcQSFLjDAJJapxBIEmNMwgkqXEGgSQ1ziCQpMYZBJLUOINAkhpnEEhS4wwCSWqcQSBJjTMIJKlxBoEkNc4gkKaIzyzWJBgEktQ4g0CaIj6zWJNgEEhS4wwCSWpcr0GQZHOS25PsSXLRPPuPS/I33f6PJdnQZz2SpPvrLQiSrAIuB7YAm4Dzkmyac9iLgC9W1eOBPwYu7aseSdL8junxvc8A9lTVHQBJrgTOAXYPHXMO8Mpu+W+BNyRJLTKG7p577uG1r31tPxWrWTfffPOkSwBg165d/v+tsUtf45aTPAvYXFW/2q0/H/jBqjp/6Jhbu2P2duuf7Y65b857bQO2davfA9zeS9HLsxq4b8mj2uC5GPA8HOK5OGRazsVjqmrNfDv6vCI4YqpqO7B90nUMSzJbVTOTrmMaeC4GPA+HeC4OWQnnos/O4ruA9UPr67pt8x6T5BjgYcAXeqxJkjRHn0FwI7AxySlJjgXOBXbMOWYH8MJu+VnAPy/WPyBJOvJ6axqqqgNJzgeuAVYBb66qXUkuAWaragfwJuDtSfYA/8UgLFaKqWqqmjDPxYDn4RDPxSFTfy566yyWJK0M3lksSY0zCCSpcQbBEpK8Jsm/Jrklyd8nefjQvpd102PcnuSnhrYvOrXGSpXk2Ul2Jfm/JDNz9jV1LuZq5XMelOTNSe7t7gU6uO0RSd6f5DPd1xO77UlyWXdubkly+uQqP/KSrE9yXZLd3b+PC7rtK+d8VJWvRV7ATwLHdMuXApd2y5uAm4HjgFOAzzLoFF/VLT8WOLY7ZtOkP8cROhdPYHBD3weBmaHtzZ2LOeelic855zP/CHA6cOvQtlcDF3XLFw39WzkbeC8Q4EzgY5Ou/wifi5OA07vlE4BPd/8mVsz58IpgCVX1vqo60K3ewOB+CBhMj3FlVX29qv4N2MNgWo1vTa1RVfuBg1NrrHhVdVtVzXdXd3PnYo5WPue3VNX1DEb6DTsH+Ktu+a+Anx3a/rYauAF4eJKTxlLoGFTV3VX1iW75K8BtwFpW0PkwCJbnVxgkOQz+Q985tG9vt22h7Uez1s9FK59zKd9VVXd3y/8JfFe33Mz56WZQfirwMVbQ+VgRU0z0LckHgEfPs+vlVfUP3TEvBw4AV4yztnEb5VxIS6mqStLU2PQk3wn8HXBhVX15+Glz034+DAKgqp6x2P4kvwT8DPAT1TXysfgUGktNrTG1ljoXCzgqz8UyjDKdSgvuSXJSVd3dNXXc220/6s9Pku9gEAJXVNXV3eYVcz5sGlpCks3A7wFbq+qrQ7t2AOd2D9c5BdgIfJzRptY42rR+Llr5nEsZnjLmhcA/DG1/QTda5kzgS0NNJiteBn/6vwm4rapeN7Rr5ZyPSfdWT/uLQcfnncCnutcbh/a9nMFokduBLUPbz2YwcuCzDJpUJv45jtC5+DkG7ZlfB+4Brmn1XMxzbpr4nEOf9x3A3cA3uv8nXgQ8ErgW+AzwAeAR3bFh8JCqzwL/wtCIs6PhBTwdKOCWod8TZ6+k8+EUE5LUOJuGJKlxBoEkNc4gkKTGGQSS1DiDQJIaZxBIUuMMAklqnEEgLUOSByf5UJJVR+C9jk1yfRKnetFEGQTS8vwKcHVVffNw36gGU1ZfC/ziYVclHQaDQJqje9rUM7vlP0zy+qHdz+XQnDEk+WCS7+2WHznniV3vTPKGJB9O8rkkT0/y9iSfTvKm7rB3de8pTYyXpNL9/QFwSZJHMZhbfisMmnKAx1bVvw8d+3gGcwwBPInB3DEHnQZ8tKrOT/L7DCYmOwvYB+xNchxwK/AD/X0UaWkGgTRHVV3fzSj5EuCsoWag1cB/HzwuyWOAu6rq/7pNT2Iw8RhJjgceDvzJwbcF3lTdLJNJvgnsr6pKsj/JCTV4upU0djYNSXMkOY3Bc2j3z/nl/DXg+KH1J9P94u98/9D6E4FPDIXEkxk8tYok64DP16EZH48D/veIfghpGQwCaUj3AJErGDxX9n+651EAUFVfBFZ1f+0DPIUuGJJs7L7nYNPQaQweYn/Qt64WGAqQJI8E7quqb/TxeaRRGARSJ8lDgKuBl1bVbcCrGPQXDHsfg/nnYfAL/UFJbgYuBnZz6EEkpzGYl/5gM9GDuyCBbw+FHwPec8Q/jLQMPo9AWoYkpwO/XVXPT/IZ4PTDadtPcjVwUVV9esmDpZ54RSAtQ1V9ArguycMGq4cVAscC7zIENGleEUhS47wikKTGGQSS1DiDQJIaZxBIUuMMAklqnEEgSY0zCCSpcf8Penwt+f8opOgAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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4ELgBRE5LiZVXaCqBapa0Lo/u+lenCpxtPdGlpGRETOfkNt7U3fqWXW1qsrEHzcTRykwJGA7z78v0HXAqwCquhRIAcJfOs50G06VOA4dOkTfvn2DHoul0ePBBv81yczMdKRtoatVVSb+uJk4PgZGi8gIEemBr/F7YatzdgLnAIjIeHyJIzb+RxtXZGRkOPIpur1G+lhKHMHmqWqSlZXlSJK1KdVNuFxLHKpaD9wMLAI24Os99amIzBGRi/2nfRf4joisBv4A/IdaZWnMcuJXl5yc7Mg4jva6BcdS4ohEiQN87RTGhCrJzYur6hv4Gr0D990X8P164HQ3YzCRc/jw4S4NJGviRDfajkocH330UZfvEQmVlZXMmDEj6LGsrCzWrFnT5Xs4kfCbOhxYAooP9ls2jikvL2fAgAFehwG0nzhiaS2LYPNUNXGqqsoJ/fv3j5lSnOk6SxzGMWVlZQwcONDrMID258zq2bNnzCwf2948VX369OHQoUNdvocTJbzBgwdTUlLS5euY2GCJwzgmmhJHPHQxdWpkvBNVVXl5eZSWtu40aborSxzGMTt27GDo0KFehwFAQ0MDSUmuNuGZAFbiiC+WOIxjDh48SHp6utdhuOLFF19k3rx5na7iOnr0KHPmzOGVV15xNK5o6YTYv39/KioqvA7DRIglDuMYp97EUlJSOHr0aFTEArB69WqOHDnCFVdcwSOPPNKpa/z85z/n2muvpaysjE2bNjkWW1fV1NSQkpLS5eskJCTEzDQupusscZioE6llUUNNLq+88grXXnsto0aNIjU1lW3btoV1n6KiIlJTUxkyZAg33HADv//970N6XSjdW7vazmGjxk1nWOIwjqivrycxMdGRa2VmZrrezbRv374h9Uiqq6sjMTGxuWfTDTfcwPz584877/DhwyxZsiRoSWn+/PnceOONgK80VV9fH9Kyr5FYTdHJTgQiEjVVZ8ZdljiMIzZt2sTYsWMduVYkShyhjh7/8MMPOeOMM5q3e/XqxeTJk/nggw+a923evJm7776b6upq7rjjjhZVUe+88w4zZsxoUR00depUVq1a1eG9Kyoq6N+/f7vn9OzZk5qamg6v1Za9e/e2OU4kXHl5eRQXF3d8ool5ljiMIwoLC5k6daoj1+pqiaOurq7DHlWhJo7333+fs846q8W+K664gldffZXKykree+89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cbisvr6ezZs3M2bMGJKSWubpZ555hvHjx3Paaac179uzZw+//vWvycvL47rrrrM/XGNcoqo8+eSTVFRUcNNNN5GVldV8bPHixezcuZOrr766xWtqa2spKipi9OjRx/1/jnZOrsdhicNF5eXlPPjgg5x22mksX76ca665hoIC3+9t+/btvPTSS9xzzz0eR2mMCWbu3Ll8+9vfZsSIEQAsXbqUV155hYKCApYuXcrdd98dUwNwLXFESeKoqqrimWeeYdSoUVxyySUtFlJqGqn60EMP0bt3bxobG/ntb3+LqjJt2jRefPFFHnnkEVJSUjz8CYwxbTl27BizZ8/mmmuuYdmyZc3L1IoINTU13HnnncyePZthw4Y1v6ahoYG//OUvfPbZZ1x66aUMHz7cux+gFScTB6oaU19Tp07VSNi/f78+9dRT+sILL+ihQ4eOO/7Pf/5Tv/e972lFRYW+//77esstt+jq1atVVbW0tFRvuummoK9bv369vvbaa1pbW+v6z2CM6Zrq6mr985//rBs3bjzuWE1Njd5222362WefqarqmjVr9Oabb9alS5fqvn379Mc//rG+9NJLx73u4MGD+rvf/U6ffvpp3bt3r9s/QjOgUB16H3a1xCEi5wO/BBKBp1X1p62O9wSeB6YCe4HLVXV7e9cMpcRRVlbGmjVryM/PZ+DAgS2ONTY28vrrr7N06VKSkpLIysriqquuIjMzs/n4c889x5YtW7j++uupqanhD3/4AxkZGcyaNYvGxkYeffRRxo0bx8yZM5uv29DQwIIFC9i1axc9e/Zk9uzZpKamhvagjDExqba2loceeohjx46Rl5fHd77znRbjRt58803ef/997rrrLhITE3n66aeprKzkyiuvJDk5mZdeeonU1FT++7//m969ewOwd+9ennvuOaqqqmhsbGT69OlcdNFFLWo0wFersXLlSnJzc5k4cWKH7aExUVUlIonAZuDLQAnwMXCFqq4POOdGIF9V/0tEZgJfV9V2J18aNGiQfuc736GhoYGePXvypS99iRkzZlBZWcnf/vY3ioqKGDhwIFOnTqWwsJCysjImTJjAlClTWLVqFatWreKiiy7irLPOQkQoLi7mhRde4NChQ/Tp04d9+/Yxc+ZMpk2b1uK+xcXFPP/88yQkJHDttdcel5CMMSaYpvcYVeWyyy5j9OjRLY7v3LmT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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "wavelength = 0.5 * um\n", "x0 = np.linspace(-0.25 * mm, 0.25 * mm, 1024 * 8)\n", "\n", "u0 = Scalar_source_X(x=x0, wavelength=wavelength, info=\"u0\")\n", "u0.spherical_wave(A=1, x0=0, z0=-0.25 * mm)\n", "\n", "t0 = Scalar_mask_X(x=x0, wavelength=wavelength, info=\"t0\")\n", "t0.slit(x0=0, size=50 * um)\n", "t0.draw(kind=\"intensity\")\n", "\n", "u1 = t0 * u0\n", "\n", "t2 = u1.RS(z=5 * mm, amplification=4, verbose=False)\n", "t2.normalize()\n", "t2.draw(kind=\"intensity\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Reduction of the field\n", "\n", "There are some cases where we need to analyze the field in a small area, such as focus of a lens." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "ExecuteTime": { "end_time": "2020-05-01T22:59:21.856057Z", "start_time": "2020-05-01T22:59:21.602609Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "focal = 5 * mm\n", "\n", "u0 = Scalar_source_X(x=x0, wavelength=wavelength, info=\"u0\")\n", "u0.plane_wave(A=1, theta=0 * degrees)\n", "\n", "t0 = Scalar_mask_X(x=x0, wavelength=wavelength, info=\"t0\")\n", "t0.lens(x0=0, focal=focal, radius=0)\n", "t0.draw(kind=\"phase\")" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "ExecuteTime": { "end_time": "2020-05-01T22:59:22.123531Z", "start_time": "2020-05-01T22:59:21.858096Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "u1 = t0 * u0\n", "\n", "t2 = u1.RS(z=focal, verbose=False)\n", "t2.normalize()\n", "t2.draw(kind=\"intensity\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we cannot see the details, we can use the cut_resample function in order to amplify the focusing zone." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "ExecuteTime": { "end_time": "2020-05-01T22:59:22.409073Z", "start_time": "2020-05-01T22:59:22.126246Z" } }, "outputs": [ { "data": { "image/png": "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DuT73/9+ys1LL7nkEm6//XbuuuuufjXLXLhwIRdddFGfl89n559/Pv/5n//Z5+Xffvtt7r77bu666y4++clPprTsxIkT+eEPfwjArbfeSmNjY59zSLh0ikmS1tXVxYMPPsjOnTu55ZZb+n2uORKJ8IMf/IC6ujo+85nPpLSsu3PLLbfwox/9SNcfEohEItx666386Ec/SnnZRx99lL179/K1r32t3/u2vb2dH//4xwwZMoTrr7++YIdCyQZ9OcWkAiFJWbFiBQ899BDXXnstM2bMSOu6n3zySbZs2cL8+fOT/kJ66qmnGDFihI4gevHcc88BJN0EuKuri7/7u79jzpw5zJs3L61Z1q5dy/3338/nP/955syZk9Z1S3JUIPKEu7Np0yaWLFnC+vXrcfePfXHG/79NnDiRmTNnctppp6X9L7Q9e/bw05/+lMrKSq677jqKi4vTuv5uy5Yt4/HHH+fOO++kvLy813l3797N9773Pe65555AsuST+fPnJ7VP29rauP322/nKV77ClClTAskSiUR49NFH2bRpE7feeivDhg1L6/q7urpYs2YNb731Fk1NTUC086CZHf0dMjMikQgQvZf39OnTOeussxgyZEhas2SjrCsQZjYP+AlQDPyLu3+vx/tlwL8BM4FW4HPuvrm3daarQHR1ddHS0kJbWxuRSOToF255eTnDhg1jyJAhGTt18eGHH7JkyRJWrFhx9M5gEydOZM6cOZx22mm9filHIhHq6+tZtmwZ69ato7Ozk4qKCi6++GJOP/30Pt9dbd++fTz00EPs2rWLG264gRNPPLFP60lFS0sLd955JzfccAOnnXZawnmOHDly9EuvUG8OlIqWlhbuvvtu/uEf/uGYn6OlS5fy2GOPcfvtt1NRURF4pubmZn7yk58wZswYvvjFL/b5VGVXVxfvvPMOL7/8Mm1tbRQXFzN16lTOOeccxo8f3+vvr7vT3NzMypUreeedd9i/fz/uTm1tLeeee+5xf+/SKRKJsHPnTnbt2nX0e6ioqIihQ4cyfPhwBg4cmJbvoqwqEGZWDLwHXAo0AUuAq919Xdw8fw1Md/evmtlVwGfc/XO9rfd4BSISidDa2sq2bdvYvn370Z89O/MUFRUxevRohg4dSlFREUVFRUQiEfbv38/evXvZv38/8Ie/1N2dUaNGMWHCBGpqapgwYQKjRo1K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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "t2.cut_resample(x_limits=(-20 * um, 20 * um), num_points=2048, new_field=False)\n", "t2.draw(kind=\"intensity\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Other operations\n", "\n", "### Saving and loading data from instance" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**saving**" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "ExecuteTime": { "end_time": "2020-05-01T22:59:22.730200Z", "start_time": "2020-05-01T22:59:22.411146Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "x = np.linspace(-500 * um, 500 * um, 512)\n", "wavelength = 0.5 * um\n", "filename = \"save_load.npz\"\n", "\n", "t1 = Scalar_field_X(x, wavelength)\n", "t1.u = np.sin(x**2 / 5000)\n", "t1.draw()\n", "\n", "t1.save_data(filename=filename)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**loading**" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "ExecuteTime": { "end_time": "2020-05-01T22:59:23.046083Z", "start_time": "2020-05-01T22:59:22.732473Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "t2 = Scalar_field_X(x, wavelength)\n", "t2.load_data(filename=filename)\n", "t2.draw()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Inserting a mask in other instance" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "ExecuteTime": { "end_time": "2020-05-01T22:59:23.335579Z", "start_time": "2020-05-01T22:59:23.048300Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "x1 = np.linspace(-500 * um, 500 * um, 512)\n", "wavelength = 0.5 * um\n", "t1 = Scalar_field_X(x1, wavelength)\n", "\n", "x2 = np.linspace(-50 * um, 50 * um, 512)\n", "wavelength = 0.5 * um\n", "t2 = Scalar_field_X(x2, wavelength)\n", "t2.u = np.sin(2 * np.pi * x2 / 50)\n", "\n", "t1.insert_mask(t2, x0_mask1=-100 * um, clean=False, kind_position=\"center\")\n", "t1.insert_mask(t2, x0_mask1=100 * um, clean=False, kind_position=\"center\")\n", "t1.draw()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Inserting an array of masks in an instance" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "ExecuteTime": { "end_time": "2020-05-01T22:59:23.632594Z", "start_time": "2020-05-01T22:59:23.338224Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "x1 = np.linspace(-750 * um, 750 * um, 2048)\n", "wavelength = 0.5 * um\n", "\n", "t1 = Scalar_field_X(x1, wavelength)\n", "\n", "x2 = np.linspace(-50 * um, 50 * um, 2048)\n", "wavelength = 0.5 * um\n", "t2 = Scalar_field_X(x2, wavelength)\n", "t2.u = np.sin(2 * np.pi * x2 / 50)\n", "\n", "t1.insert_array_masks(\n", " t2, x_pos=[-400, -200, 0, 200, 400], clean=True, kind_position=\"center\"\n", ")\n", "t1.draw()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Multiprocessing\n", "\n", "For fast computation, several functions are used for generating polychromatic, and extended-size sources:\n", "\n", "* polychromatic_multiprocessing\n", "* extended_source_multiprocessing\n", "* extended_polychromatic_source\n", "\n", "When the computer present several cores, a signficative increase in speed is obtained." ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "ExecuteTime": { "end_time": "2020-05-01T22:59:23.638536Z", "start_time": "2020-05-01T22:59:23.635163Z" } }, "outputs": [], "source": [ "from diffractio.scalar_fields_X import extended_source_multiprocessing\n", "import multiprocessing\n", "\n", "num_max_processors = multiprocessing.cpu_count()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A function with only the variable to multiprocess is required:" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "ExecuteTime": { "end_time": "2020-05-01T22:59:23.646899Z", "start_time": "2020-05-01T22:59:23.640336Z" } }, "outputs": [], "source": [ "def __experiment_extended_source__(x0):\n", "\n", " x = np.linspace(-333 * um, 333 * um, 1024 * 2)\n", " wavelength = 0.850 * um\n", " z0 = -500 * mm\n", " period = 50 * um\n", " focal = 5 * mm\n", "\n", " red = Scalar_mask_X(x, wavelength)\n", " red.ronchi_grating(x0=0 * um, period=period, fill_factor=0.5)\n", "\n", " lens = Scalar_mask_X(x, wavelength)\n", " lens.lens(x0=0, focal=focal, radius=30 * mm)\n", "\n", " u1 = Scalar_source_X(x, wavelength)\n", " u1.spherical_wave(A=1.0, x0=x0, z0=z0, normalize=True)\n", " u2 = u1 * red * lens\n", " u2.RS(z=focal, new_field=False, verbose=False)\n", "\n", " return u2" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "ExecuteTime": { "end_time": "2020-05-01T22:59:25.345060Z", "start_time": "2020-05-01T22:59:23.649315Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "num_proc: 1, time=3.671895742416382\n", "num_proc: 1, time=0.0031280517578125\n" ] } ], "source": [ "x0s = np.linspace(-2 * mm, 2 * mm, 1001)\n", "x0_central = 0 * um\n", "\n", "intensity, u_s, time_proc = extended_source_multiprocessing(\n", " __experiment_extended_source__, x0s, num_processors=1, verbose=True\n", ")\n", "intensity0, u_s0, time_proc0 = extended_source_multiprocessing(\n", " __experiment_extended_source__, x0_central, num_processors=1, verbose=True\n", ")" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "ExecuteTime": { "end_time": "2020-05-01T22:59:25.662262Z", "start_time": "2020-05-01T22:59:25.352864Z" } }, "outputs": [ { "data": { "image/png": "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4O233w7Z+ZYsWeLtgh4szkGhyhMq1EqFQEMfpU+ohdrNBNMdPpSoUCsVAg19nBn/+9//6N69O506deLee+8lLy+PVatWkZCQQFZWFpmZmbRr144NGzbw6KOP8u2339KpUyf++9//kpeXx0MPPUS3bt1ISEjg1VdfBSxPuU+fPlx33XXeYVTFM5bJl19+SevWrenSpQsffvih147MzEzuuusuunfvTufOnfnkk08AaziAm266iTZt2vCnP/2p0OEBHn30Udq2bUtCQgIPPvggYN1YLrvsMhISEujXrx+7du0C4I477mDu3LneY6tXr+61u3fv3lxzzTW0bduWvLw8HnzwQdq3b09CQoK3O/rq1au59NJL6dq1K1dccUVoxj8vrCfM2by0Z6LiNvr16+ftmfjnP/853OYEhU/vNSidVzGfP2DAAMnOzhYRkREjRsiMGTNERGTcuHEyZswYGTlypDzzzDMiIrJ48WK5+uqrvce/+uqr8uSTT4qISFZWlnTt2lVSUlJk8eLFUrNmTdm9e7fk5eVJjx495Ntvv5WTJ09K06ZNZevWrZKfny/XX3+993xjx46VWbNmiYjIkSNH5MILL5SMjAz5z3/+I3feeaeIiKxbt06io6Nl1apVPt/jt99+k4suukjy8/O9x4uIDBgwQN566y0REXn99ddl4MCBIiIyZMgQmTNnjvf4atWqeb9f1apVJSUlRUREXn75ZRk0aJDk5OSIiEhaWppkZ2fL7373Ozl06JCIiLz77rte+wr9bT1QRM9EHT1PqRBo6KPkLFy4kNWrV9OtWzfA8l4bNGgAwD/+8Q+6detGXFwcL730UsDjv/rqK37++Wevd5qens4vv/xCbGws3bt3p2nTpgB06tSJHTt2UL16dVq2bMmFF14IWMOqvvbaa95zzZs3jxdeeAGwRsrbtWsXy5YtY/To0QAkJCSQkJBQwI5atWoRFxfH3XffzYABA7xx7x9//NHrtd922208/PDDxdZJ9+7dadmyJWANkzp8+HAqVbJktG7dumzYsIENGzbQv39/wJpdplGjRsWetzhUqJUKQcSHPsIwzKmIMGTIEJ599tkC29LS0sjIyCAnJ4esrCyqVasW8PhJkyZxxRVX+KxfsmQJlStX9r4PZghUEeGDDz6gVatWJf4elSpVYuXKlSxcuJC5c+cyefJkFi1aVOT+9vCp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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure()\n", "plt.plot(u_s0.x, np.sqrt(intensity0), \"k\", lw=2, label=\"point source\")\n", "plt.plot(u_s[0].x, np.sqrt(intensity), \"r\", lw=2, label=\"extended source\")\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Modulation transfer function (MTF)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "ExecuteTime": { "end_time": "2020-05-01T22:59:26.198581Z", "start_time": "2020-05-01T22:59:25.938816Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "num_data = 1024 * 128\n", "x = np.linspace(-50 * um, 50 * um, num_data)\n", "wavelength = 0.6328 * um\n", "\n", "# intensidad de una onda plana\n", "u0 = Scalar_mask_X(x, wavelength)\n", "u0.slit(x0=0, size=8 * um)\n", "u0.draw(kind=\"intensity\")" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "ExecuteTime": { "end_time": "2020-05-01T22:59:26.509809Z", "start_time": "2020-05-01T22:59:26.200878Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "mtf1 = u0.MTF(has_draw=True)\n", "plt.xlim(0, 1000)\n", "plt.ylim(0, 1)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.10.12" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": { "height": "calc(100% - 180px)", "left": "10px", "top": "150px", "width": "191.667px" }, "toc_section_display": true, "toc_window_display": false }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false } }, "nbformat": 4, "nbformat_minor": 4 }