diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 04960d8e..86ebc55f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,13 +25,13 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: # setuptools_scm requires a non-shallow clone of the repository fetch-depth: 0 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} @@ -52,10 +52,10 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: "3.11" diff --git a/.github/workflows/pypi.yml b/.github/workflows/pypi.yml index 3bc4b12b..4d65d0bc 100644 --- a/.github/workflows/pypi.yml +++ b/.github/workflows/pypi.yml @@ -14,15 +14,15 @@ jobs: id-token: write steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: # setuptools_scm requires a non-shallow clone of the repository fetch-depth: 0 - - uses: actions/setup-python@v5 + - uses: actions/setup-python@v6 name: Install Python - name: Build SDist run: pipx run build --sdist - - uses: pypa/gh-action-pypi-publish@v1.12.4 + - uses: pypa/gh-action-pypi-publish@v1.13.0 diff --git a/.gitignore b/.gitignore index 39fa27bf..c091f833 100644 --- a/.gitignore +++ b/.gitignore @@ -154,9 +154,11 @@ cython_debug/ rubix/version.py notebooks/*.h5 notebooks/output +notebooks/frames rubix/**/*.ipynb +rubix/spectra/ssp/templates/fsps.h5 rubix/spectra/ssp/templates/*.gz rubix/spectra/ssp/templates/*fits.gz rubix/spectra/cue/cue/* @@ -169,3 +171,8 @@ utils/* firebase.json .firebase/* +rubix/spectra/ssp/templates/fsps.h5 + +notebooks/frames +notebooks/frames/* +notebooks/data/* diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 00c15740..c635832e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,17 +1,22 @@ repos: - repo: https://github.com/kynan/nbstripout - rev: 0.7.1 + rev: 0.8.1 hooks: - id: nbstripout files: ".ipynb" - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v2.3.0 + rev: v6.0.0 hooks: - id: check-yaml - id: end-of-file-fixer - id: trailing-whitespace - - repo: https://github.com/psf/black - rev: 24.2.0 + - repo: https://github.com/psf/black-pre-commit-mirror + rev: 25.9.0 hooks: - id: black + - repo: https://github.com/pycqa/isort + rev: 7.0.0 + hooks: + - id: isort + name: isort (python) diff --git a/notebooks/compare_filtercurves.ipynb b/notebooks/compare_filtercurves.ipynb new file mode 100644 index 00000000..14bfd828 --- /dev/null +++ b/notebooks/compare_filtercurves.ipynb @@ -0,0 +1,253 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#NBVAL_SKIP\n", + "import os\n", + "#os.environ['SPS_HOME'] = '/Users/annalena/Documents/GitHub/fsps'\n", + "os.environ['SPS_HOME'] = '/home/annalena/sps_fsps'" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#NBVAL_SKIP\n", + "config = {\n", + " \"pipeline\": {\"name\": \"calc_ifu\"},\n", + " \n", + " \"logger\": {\n", + " \"log_level\": \"DEBUG\",\n", + " \"log_file_path\": None,\n", + " \"format\": \"%(asctime)s - %(name)s - %(levelname)s - %(message)s\",\n", + " },\n", + " \"data\": {\n", + " \"name\": \"IllustrisAPI\",\n", + " \"args\": {\n", + " \"api_key\": os.environ.get(\"ILLUSTRIS_API_KEY\"),\n", + " \"particle_type\": [\"stars\"],\n", + " \"simulation\": \"TNG50-1\",\n", + " \"snapshot\": 99,\n", + " \"save_data_path\": \"data\",\n", + " },\n", + " \n", + " \"load_galaxy_args\": {\n", + " \"id\": 11,\n", + " \"reuse\": True,\n", + " },\n", + "\n", + " \"subset\": {\n", + " \"use_subset\": True,\n", + " \"subset_size\": 100000,\n", + " },\n", + " },\n", + " \"simulation\": {\n", + " \"name\": \"IllustrisTNG\",\n", + " \"args\": {\n", + " \"path\": \"data/galaxy-id-11.hdf5\",\n", + " },\n", + " \n", + " },\n", + " \"output_path\": \"output\",\n", + " \"output_modified\": False,\n", + "\n", + " \"telescope\": {\n", + " \"name\": \"MUSE\",\n", + " \"psf\": {\"name\": \"gaussian\", \"size\": 5, \"sigma\": 0.5},\n", + " \"lsf\": {\"sigma\": 0.5},\n", + " \"noise\": {\"signal_to_noise\": 100, \"noise_distribution\": \"normal\"},\n", + " },\n", + " \"cosmology\": {\"name\": \"PLANCK15\"},\n", + " \"galaxy\": {\n", + " \"dist_z\": 0.1,\n", + " \"rotation\": {\"type\": \"face-on\"},\n", + " },\n", + " \"ssp\": {\n", + " \"template\": {\"name\": \"FSPS\"},\n", + " },\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#NBVAL_SKIP\n", + "import jax.numpy as jnp\n", + "from rubix.core.pipeline import RubixPipeline\n", + "pipe = RubixPipeline(config)\n", + "\n", + "rubixdata = pipe.run()\n", + "rubixdata_fsps = rubixdata" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#NBVAL_SKIP\n", + "from rubix.spectra.ifu import convert_luminoisty_to_flux\n", + "from rubix.cosmology import PLANCK15\n", + "\n", + "observation_lum_dist = PLANCK15.luminosity_distance_to_z(config[\"galaxy\"][\"dist_z\"])\n", + "observation_z = config[\"galaxy\"][\"dist_z\"]\n", + "pixel_size = 1.0\n", + "\n", + "spectra_fsps = convert_luminoisty_to_flux(rubixdata_fsps.stars.datacube, observation_lum_dist, observation_z, pixel_size)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#NBVAL_SKIP\n", + "from rubix.telescope.filters import load_filter, print_filter_list, print_filter_list_info, print_filter_property\n", + "# NBVAL_SKIP\n", + "# load all fliter curves for SLOAN\n", + "curves = load_filter(\"SLOAN\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "curves.plot()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#NBVAL_SKIP\n", + "from rubix.telescope.filters import convolve_filter_with_spectra\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "wave = pipe.telescope.wave_seq\n", + "datacube = spectra_fsps\n", + "\n", + "for filter in curves:\n", + " convolved = convolve_filter_with_spectra(filter, datacube, wave)\n", + " plt.figure()\n", + " plt.imshow(convolved)\n", + " plt.colorbar()\n", + " plt.title(filter.name)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#NBVAL_SKIP\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "from matplotlib.cm import ScalarMappable\n", + "from matplotlib.colors import Normalize\n", + "\n", + "# Assuming curves, datacube, and wave are defined\n", + "num_filters = len(curves)\n", + "nrows = 2\n", + "ncols = 5\n", + "\n", + "fig, axes = plt.subplots(nrows, ncols, figsize=(15, 6))\n", + "\n", + "# Find the global min and max for the colorbars for each row\n", + "vmin_row1 = np.inf\n", + "vmax_row1 = -np.inf\n", + "vmin_row2 = np.inf\n", + "vmax_row2 = -np.inf\n", + "convolved_list = []\n", + "\n", + "for i, filter in enumerate(curves):\n", + " convolved = convolve_filter_with_spectra(filter, datacube, wave)\n", + " convolved_list.append(convolved)\n", + " if i in [0, 3, 5, 7, 9]: # First row\n", + " vmin_row1 = min(vmin_row1, convolved.min())\n", + " vmax_row1 = max(vmax_row1, convolved.max())\n", + " else: # Second row\n", + " vmin_row2 = min(vmin_row2, convolved.min())\n", + " vmax_row2 = max(vmax_row2, convolved.max())\n", + "\n", + "# Plot each convolved image in the grid\n", + "for i, ax in enumerate(axes.flat):\n", + " if i < 5: # First row\n", + " filter_index = [0, 3, 5, 7, 9][i]\n", + " im = ax.imshow(convolved_list[filter_index], vmin=vmin_row1, vmax=vmax_row1, cmap='viridis')\n", + " ax.set_title(curves[filter_index].name)\n", + " else: # Second row\n", + " filter_index = [1, 2, 4, 6, 8][i - 5]\n", + " im = ax.imshow(convolved_list[filter_index], vmin=vmin_row2, vmax=vmax_row2, cmap='inferno')\n", + " ax.set_title(curves[filter_index].name)\n", + " ax.axis('off')\n", + "\n", + "# Adjust layout with tight_layout\n", + "plt.tight_layout()\n", + "\n", + "# Create smaller axes for the colorbars outside the grid\n", + "fig.subplots_adjust(right=0.85)\n", + "cbar_ax1 = fig.add_axes([0.87, 0.55, 0.02, 0.35]) # Position for the colorbar of the first row\n", + "cbar_ax2 = fig.add_axes([0.87, 0.07, 0.02, 0.35]) # Position for the colorbar of the second row\n", + "\n", + "# Create ScalarMappable objects for the colorbars\n", + "norm_row1 = Normalize(vmin=vmin_row1, vmax=vmax_row1)\n", + "norm_row2 = Normalize(vmin=vmin_row2, vmax=vmax_row2)\n", + "sm_row1 = ScalarMappable(norm=norm_row1, cmap='viridis')\n", + "sm_row2 = ScalarMappable(norm=norm_row2, cmap='inferno')\n", + "\n", + "# Add colorbars for each row with different colormaps\n", + "fig.colorbar(sm_row1, cax=cbar_ax1)\n", + "fig.colorbar(sm_row2, cax=cbar_ax2)\n", + "\n", + "plt.savefig(\"output/filters_fsps_galaxy.png\")\n", + "plt.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "rubix", + "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.13" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/notebooks/compare_ssp_grids.ipynb b/notebooks/compare_ssp_grids.ipynb new file mode 100644 index 00000000..48cacba1 --- /dev/null +++ b/notebooks/compare_ssp_grids.ipynb @@ -0,0 +1,117 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "import os\n", + "#os.environ['SPS_HOME'] = '/Users/annalena/Documents/GitHub/fsps'\n", + "#os.environ['SPS_HOME'] = '/export/home/aschaibl/fsps'\n", + "os.environ['SPS_HOME'] = '/home/annalena/sps_fsps'" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "from rubix.spectra.ssp.grid import HDF5SSPGrid\n", + "from rubix.utils import get_config\n", + "\n", + "config = get_config(\"../rubix/config/rubix_config.yml\")\n", + "\n", + "ssp_bc = HDF5SSPGrid.from_file(config[\"ssp\"][\"templates\"][\"BruzualCharlot2003\"], file_location=\"../rubix/spectra/ssp/templates\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "from rubix.spectra.ssp.factory import get_ssp_template\n", + "ssp_fsps = get_ssp_template(\"FSPS\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "from rubix.spectra.ssp.grid import pyPipe3DSSPGrid\n", + "ssp_mastar = pyPipe3DSSPGrid.from_file(config[\"ssp\"][\"templates\"][\"Mastar_CB19_SLOG_1_5\"], file_location=\"../rubix/spectra/ssp/templates\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# Assuming ssp_bc, ssp_fsps, and ssp_mastar are defined\n", + "templates = [ssp_bc, ssp_fsps, ssp_mastar]\n", + "template_names = ['Bruzual&Charlot', 'FSPS', 'MaStar']\n", + "\n", + "# Create a figure with a 1x3 grid of subplots\n", + "fig, axes = plt.subplots(1, 3, figsize=(12, 6))\n", + "\n", + "for i, (template, name) in enumerate(zip(templates, template_names)):\n", + " metallicity_values = template.metallicity\n", + " age_values = template.age\n", + " wavelength = template.wavelength\n", + " flux = template.flux\n", + "\n", + " # Plot: Vertical and horizontal lines\n", + " ax = axes[i]\n", + " for metallicity in metallicity_values:\n", + " ax.vlines(metallicity, min(age_values) - 0.1, max(age_values) + 0.1, colors='g', linestyles='-')\n", + " for age in age_values:#[::5]:\n", + " ax.hlines(age, min(metallicity_values) - 0.001, max(metallicity_values) + 0.001, colors='b', linestyles='-', linewidth=0.3)\n", + " \n", + " ax.set_xlabel('Metallicity')\n", + " ax.set_ylabel('Age')\n", + " ax.set_title(f'{name} SSP grid')\n", + " ax.set_xlim(min(metallicity_values) - 0.001, max(metallicity_values) + 0.001)\n", + " ax.set_ylim(min(age_values) - 0.1, max(age_values) + 0.1)\n", + " #ax.grid(True)\n", + "\n", + "# Adjust layout and show the figure\n", + "plt.tight_layout()\n", + "plt.savefig(\"./output/ssp_grids.png\")\n", + "plt.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "rubix", + "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.13" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/notebooks/compare_ssp_ifu.ipynb b/notebooks/compare_ssp_ifu.ipynb index 1af6a01c..48a6c81c 100644 --- a/notebooks/compare_ssp_ifu.ipynb +++ b/notebooks/compare_ssp_ifu.ipynb @@ -2,18 +2,32 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ + "# NBVAL_SKIP\n", "import os\n", + "#os.environ['SPS_HOME'] = '/mnt/storage/annalena_data/sps_fsps'\n", + "#os.environ['SPS_HOME'] = '/home/annalena/sps_fsps'\n", "#os.environ['SPS_HOME'] = '/Users/annalena/Documents/GitHub/fsps'\n", - "os.environ['SPS_HOME'] = '/home/annalena/sps_fsps'" + "os.environ['SPS_HOME'] = '/export/home/aschaibl/fsps'" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "#import jax\n", + "#jax.config.update(\"jax_enable_x64\", True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -37,19 +51,19 @@ " },\n", " \n", " \"load_galaxy_args\": {\n", - " \"id\": 11,\n", + " \"id\": 539667,\n", " \"reuse\": True,\n", " },\n", "\n", " \"subset\": {\n", - " \"use_subset\": True,\n", - " \"subset_size\": 10000,\n", + " \"use_subset\": False,\n", + " \"subset_size\": 2000,\n", " },\n", " },\n", " \"simulation\": {\n", " \"name\": \"IllustrisTNG\",\n", " \"args\": {\n", - " \"path\": \"data/galaxy-id-11.hdf5\",\n", + " \"path\": \"data/galaxy-id-539667.hdf5\",\n", " },\n", " \n", " },\n", @@ -69,6 +83,13 @@ " },\n", " \"ssp\": {\n", " \"template\": {\"name\": \"BruzualCharlot2003\"},\n", + " \"dust\": {\n", + " \"extinction_model\": \"Cardelli89\",\n", + " \"dust_to_gas_ratio\": 0.01,\n", + " \"dust_to_metals_ratio\": 0.4,\n", + " \"dust_grain_density\": 3.5,\n", + " \"Rv\": 3.1,\n", + " },\n", " },\n", "}" ] @@ -82,42 +103,9 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2025-02-12 11:35:23,482 - rubix - INFO - \n", - " ___ __ _____ _____ __\n", - " / _ \\/ / / / _ )/ _/ |/_/\n", - " / , _/ /_/ / _ |/ /_> <\n", - "/_/|_|\\____/____/___/_/|_|\n", - "\n", - "\n", - "2025-02-12 11:35:23,483 - rubix - INFO - Rubix version: 0.0.post366+g4480c14\n" - ] - }, - { - "ename": "RuntimeError", - "evalue": "SPS_HOME environment variable '/home/annalena/sps_fsps' is not a directory", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mRuntimeError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[3], line 3\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m#NBVAL_SKIP\u001b[39;00m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mnumpy\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mas\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mjnp\u001b[39;00m\n\u001b[0;32m----> 3\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mrubix\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcore\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpipeline\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m RubixPipeline\n\u001b[1;32m 4\u001b[0m pipe \u001b[38;5;241m=\u001b[39m RubixPipeline(config)\n\u001b[1;32m 6\u001b[0m rubixdata \u001b[38;5;241m=\u001b[39m pipe\u001b[38;5;241m.\u001b[39mrun()\n", - "File \u001b[0;32m~/Documents/GitHub/rubix/rubix/core/pipeline.py:13\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mrubix\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutils\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m get_config, get_pipeline_config\n\u001b[1;32m 12\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdata\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m get_reshape_data, get_rubix_data\n\u001b[0;32m---> 13\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mifu\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[1;32m 14\u001b[0m get_calculate_spectra,\n\u001b[1;32m 15\u001b[0m get_doppler_shift_and_resampling,\n\u001b[1;32m 16\u001b[0m get_scale_spectrum_by_mass,\n\u001b[1;32m 17\u001b[0m get_calculate_datacube,\n\u001b[1;32m 18\u001b[0m )\n\u001b[1;32m 19\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mrotation\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m get_galaxy_rotation\n\u001b[1;32m 20\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mssp\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m get_ssp\n", - "File \u001b[0;32m~/Documents/GitHub/rubix/rubix/core/ifu.py:16\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mrubix\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mspectra\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mifu\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[1;32m 10\u001b[0m cosmological_doppler_shift,\n\u001b[1;32m 11\u001b[0m resample_spectrum,\n\u001b[1;32m 12\u001b[0m velocity_doppler_shift,\n\u001b[1;32m 13\u001b[0m calculate_cube,\n\u001b[1;32m 14\u001b[0m )\n\u001b[1;32m 15\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdata\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m RubixData\n\u001b[0;32m---> 16\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mssp\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m get_lookup_interpolation_pmap, get_ssp\n\u001b[1;32m 17\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mtelescope\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m get_telescope\n\u001b[1;32m 18\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdata\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m RubixData\n", - "File \u001b[0;32m~/Documents/GitHub/rubix/rubix/core/ssp.py:4\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mjax\u001b[39;00m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mrubix\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlogger\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m get_logger\n\u001b[0;32m----> 4\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mrubix\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mspectra\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mssp\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mfactory\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m get_ssp_template\n\u001b[1;32m 6\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mtyping\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m Callable\n\u001b[1;32m 7\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mjaxtyping\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m jaxtyped\n", - "File \u001b[0;32m~/Documents/GitHub/rubix/rubix/spectra/ssp/factory.py:3\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mrubix\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutils\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m read_yaml\n\u001b[1;32m 2\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mrubix\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mspectra\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mssp\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mgrid\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m SSPGrid, HDF5SSPGrid, pyPipe3DSSPGrid\n\u001b[0;32m----> 3\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mrubix\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mspectra\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mssp\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mfsps_grid\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m write_fsps_data_to_disk\n\u001b[1;32m 4\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mrubix\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m config \u001b[38;5;28;01mas\u001b[39;00m rubix_config\n\u001b[1;32m 5\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mrubix\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpaths\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m TEMPLATE_PATH\n", - "File \u001b[0;32m~/Documents/GitHub/rubix/rubix/spectra/ssp/fsps_grid.py:20\u001b[0m\n\u001b[1;32m 18\u001b[0m HAS_FSPS \u001b[38;5;241m=\u001b[39m importlib\u001b[38;5;241m.\u001b[39mutil\u001b[38;5;241m.\u001b[39mfind_spec(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mfsps\u001b[39m\u001b[38;5;124m\"\u001b[39m) \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 19\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m HAS_FSPS:\n\u001b[0;32m---> 20\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mfsps\u001b[39;00m\n\u001b[1;32m 21\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 22\u001b[0m logger\u001b[38;5;241m.\u001b[39mwarning(\n\u001b[1;32m 23\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mpython-fsps is not installed. Please install it to use this function. Install using pip install fsps and check the installation page: https://dfm.io/python-fsps/current/installation/ for more details. Especially, make sure to set all necessary environment variables.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 24\u001b[0m )\n", - "File \u001b[0;32m~/miniconda3/envs/rubix/lib/python3.12/site-packages/fsps/__init__.py:4\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# Check the that SPS_HOME variable is set properly\u001b[39;00m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mfsps\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01msps_home\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m check_sps_home\n\u001b[0;32m----> 4\u001b[0m \u001b[43mcheck_sps_home\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 6\u001b[0m \u001b[38;5;28;01mdel\u001b[39;00m check_sps_home\n\u001b[1;32m 7\u001b[0m \u001b[38;5;66;03m# End check\u001b[39;00m\n", - "File \u001b[0;32m~/miniconda3/envs/rubix/lib/python3.12/site-packages/fsps/sps_home.py:12\u001b[0m, in \u001b[0;36mcheck_sps_home\u001b[0;34m()\u001b[0m\n\u001b[1;32m 10\u001b[0m path \u001b[38;5;241m=\u001b[39m os\u001b[38;5;241m.\u001b[39menviron[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mSPS_HOME\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[1;32m 11\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m os\u001b[38;5;241m.\u001b[39mpath\u001b[38;5;241m.\u001b[39misdir(path):\n\u001b[0;32m---> 12\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mRuntimeError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mSPS_HOME environment variable \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mpath\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m is not a directory\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 14\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m os\u001b[38;5;241m.\u001b[39mpath\u001b[38;5;241m.\u001b[39mexists(os\u001b[38;5;241m.\u001b[39mpath\u001b[38;5;241m.\u001b[39mjoin(path, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdata\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124memlines_info.dat\u001b[39m\u001b[38;5;124m\"\u001b[39m)):\n\u001b[1;32m 15\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mRuntimeError\u001b[39;00m(\n\u001b[1;32m 16\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mThe FSPS directory at \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mpath\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m doesn\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mt seem to have the right data \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 17\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mfiles installed\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 18\u001b[0m )\n", - "\u001b[0;31mRuntimeError\u001b[0m: SPS_HOME environment variable '/home/annalena/sps_fsps' is not a directory" - ] - } - ], + "outputs": [], "source": [ "#NBVAL_SKIP\n", "import jax.numpy as jnp\n", @@ -142,6 +130,7 @@ "metadata": {}, "outputs": [], "source": [ + "# NBVAL_SKIP\n", "config[\"ssp\"][\"template\"][\"name\"] = \"FSPS\"\n", "\n", "pipe = RubixPipeline(config)\n", @@ -163,6 +152,7 @@ "metadata": {}, "outputs": [], "source": [ + "# NBVAL_SKIP\n", "config[\"ssp\"][\"template\"][\"name\"] = \"Mastar_CB19_SLOG_1_5\"\n", "\n", "pipe = RubixPipeline(config)\n", @@ -184,6 +174,7 @@ "metadata": {}, "outputs": [], "source": [ + "# NBVAL_SKIP\n", "from rubix.spectra.ifu import convert_luminoisty_to_flux\n", "from rubix.cosmology import PLANCK15\n", "\n", @@ -208,6 +199,7 @@ "metadata": {}, "outputs": [], "source": [ + "# NBVAL_SKIP\n", "import jax.numpy as jnp\n", "import matplotlib.pyplot as plt\n", "\n", @@ -260,6 +252,7 @@ "metadata": {}, "outputs": [], "source": [ + "# NBVAL_SKIP\n", "import jax.numpy as jnp\n", "import matplotlib.pyplot as plt\n", "from matplotlib.colors import LogNorm\n", @@ -275,9 +268,9 @@ "spectra3 = spectra_mastar\n", "\n", "# Spaxel to highlight\n", - "spaxel_x, spaxel_y = 12, 12\n", - "spaxel_x2, spaxel_y2 = 12, 14\n", - "spaxel_x3, spaxel_y3 = 12, 16\n", + "spaxel_x, spaxel_y = 12, 12 #75, 75\n", + "spaxel_x2, spaxel_y2 = 12, 14 #75, 95\n", + "spaxel_x3, spaxel_y3 = 12, 16 #75, 105\n", "\n", "# Example images (replace with your data)\n", "visible_indices = jnp.where((wave >= 4000) & (wave <= 8000))\n", @@ -334,7 +327,7 @@ "#ax4.plot(wave, spectra3[spaxel_x, spaxel_y, :], label=f\"Spaxel [{spaxel_x}, {spaxel_y}], MaStar\")\n", "ax4.set_title(f\"Spectrum of Spaxels from Bruzual\")\n", "ax4.set_xlabel(\"Wavelength [Å]\")\n", - "ax4.set_ylabel(\"Flux\")\n", + "ax4.set_ylabel(\"Flux [erg/s/cm2/Å]\")\n", "#ax4.set_yscale(\"log\")\n", "#ax4.legend()\n", "\n", @@ -344,7 +337,7 @@ "ax5.plot(wave, spectra2[spaxel_x3, spaxel_y3, :], color=\"green\")\n", "ax5.set_title(f\"Spectrum of Spaxels from FSPS\")\n", "ax5.set_xlabel(\"Wavelength [Å]\")\n", - "ax5.set_ylabel(\"Flux\")\n", + "ax5.set_ylabel(\"Flux [erg/s/cm2/Å]\")\n", "#ax4.set_yscale(\"log\")\n", "#ax5.legend()\n", "\n", @@ -354,12 +347,13 @@ "ax6.plot(wave, spectra3[spaxel_x3, spaxel_y3, :], color=\"green\")\n", "ax6.set_title(f\"Spectrum of Spaxels from MaStar\")\n", "ax6.set_xlabel(\"Wavelength [Å]\")\n", - "ax6.set_ylabel(\"Flux\")\n", + "ax6.set_ylabel(\"Flux [erg/s/cm2/Å]\")\n", "#ax4.set_yscale(\"log\")\n", "#ax6.legend()\n", "\n", "# Adjust layout and show\n", "plt.tight_layout()\n", + "plt.savefig(\"output/ssp_compare_spectra_100000.png\")\n", "plt.show()" ] } @@ -380,7 +374,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.8" + "version": "3.11.9" } }, "nbformat": 4, diff --git a/notebooks/compare_ssp_templates.ipynb b/notebooks/compare_ssp_templates.ipynb index 3012c9a1..518a6501 100644 --- a/notebooks/compare_ssp_templates.ipynb +++ b/notebooks/compare_ssp_templates.ipynb @@ -3,15 +3,14 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, + "metadata": {}, "outputs": [], "source": [ + "# NBVAL_SKIP\n", "import os\n", - "os.environ['SPS_HOME'] = '/Users/annalena/Documents/GitHub/fsps'" + "os.environ['SPS_HOME'] = '/Users/annalena/Documents/GitHub/fsps'\n", + "#os.environ['SPS_HOME'] = '/export/home/aschaibl/fsps'\n", + "#os.environ['SPS_HOME'] = '/home/annalena/sps_fsps'" ] }, { @@ -24,11 +23,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, + "metadata": {}, "outputs": [], "source": [ "# NBVAL_SKIP\n", @@ -43,13 +38,20 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, + "metadata": {}, "outputs": [], "source": [ + "# NBVAL_SKIP\n", + "ssp_bc.wavelength" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", "import matplotlib.pyplot as plt\n", "\n", "# NBVAL_SKIP\n", @@ -65,13 +67,10 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, + "metadata": {}, "outputs": [], "source": [ + "# NBVAL_SKIP\n", "import numpy as np\n", "ages = np.linspace(0,len(ssp_bc.age),10)\n", "for age in ages:\n", @@ -93,11 +92,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, + "metadata": {}, "outputs": [], "source": [ "# NBVAL_SKIP\n", @@ -108,11 +103,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, + "metadata": {}, "outputs": [], "source": [ "# NBVAL_SKIP\n", @@ -128,13 +119,10 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, + "metadata": {}, "outputs": [], "source": [ + "# NBVAL_SKIP\n", "ages = np.linspace(0,len(ssp_mastar.age),10)\n", "for age in ages:\n", " plt.plot(ssp_mastar.wavelength,ssp_mastar.flux[0][int(age)], label='%.2f'%(ssp_mastar.age[int(age)]))\n", @@ -148,12 +136,20 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, + "metadata": {}, "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "plt.plot(ssp_mastar.wavelength*1.1,ssp_mastar.flux[0][-3], label=r'Z=%0.3f, age=%0.2f'%(ssp_mastar.metallicity[0],ssp_mastar.age[-3]))\n", + "plt.vlines(6563*1.1,0,0.002, colors='r', label=r'H$\\alpha$*0.1')\n", + "plt.xlim(7150,7350)\n", + "plt.ylim(0,0.002)\n", + "plt.legend()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, "source": [ "# FSPS" ] @@ -161,13 +157,10 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, + "metadata": {}, "outputs": [], "source": [ + "# NBVAL_SKIP\n", "from rubix.spectra.ssp.factory import get_ssp_template\n", "ssp_fsps = get_ssp_template(\"FSPS\")" ] @@ -175,11 +168,17 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "ssp_fsps.wavelength" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, "outputs": [], "source": [ "# NBVAL_SKIP\n", @@ -195,13 +194,46 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "metallicity = 1.4e-4\n", + "metallicity_index = 1\n", + "age = 10\n", + "age_index = 100" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, "outputs": [], "source": [ + "# NBVAL_SKIP\n", + "ssp_fsps.wavelength" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "plt.plot(ssp_fsps.wavelength,ssp_fsps.flux[metallicity_index][age_index], label=r'Z=%0.3f, age=%0.2f'%(metallicity,ssp_fsps.age[age_index]))\n", + "plt.vlines(6563,0,5e-5, colors='r', label=r'H$\\alpha$')\n", + "plt.xlim(6500,6600)\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", "ages = np.linspace(0,len(ssp_fsps.age),10)\n", "for age in ages:\n", " plt.plot(ssp_fsps.wavelength,ssp_fsps.flux[0][int(age)], label='%.2f'%(ssp_fsps.age[int(age)]))\n", @@ -222,13 +254,10 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, + "metadata": {}, "outputs": [], "source": [ + "# NBVAL_SKIP\n", "print(ssp_bc.age[180])\n", "print(ssp_mastar.age[36])\n", "print(ssp_fsps.age[100])" @@ -237,13 +266,10 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, + "metadata": {}, "outputs": [], "source": [ + "# NBVAL_SKIP\n", "print(ssp_bc.metallicity[3])\n", "print(ssp_mastar.metallicity[3])\n", "print(ssp_fsps.metallicity[8])" @@ -252,13 +278,10 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, + "metadata": {}, "outputs": [], "source": [ + "# NBVAL_SKIP\n", "plt.plot(ssp_bc.wavelength,ssp_bc.flux[3][180], label=f'bc, metallicity={ssp_bc.metallicity[3]:.3f}, age={ssp_bc.age[180]:.3f}')\n", "#plt.plot(ssp_mastar.wavelength,ssp_mastar.flux[3][36]/(ssp_mastar.wavelength**2)*299792458, label='mastar')\n", "plt.plot(ssp_fsps.wavelength,ssp_fsps.flux[8][100], label=f'fsps, metallicity={ssp_fsps.metallicity[8]:.3f}, age={ssp_fsps.age[100]:.3f}')\n", @@ -276,13 +299,10 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, + "metadata": {}, "outputs": [], "source": [ + "# NBVAL_SKIP\n", "import numpy as np\n", "\n", "def find_closest_index(array, value):\n", @@ -294,26 +314,20 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, + "metadata": {}, "outputs": [], "source": [ + "# NBVAL_SKIP\n", "ssp_bc.metallicity" ] }, { "cell_type": "code", "execution_count": null, - "metadata": { - "vscode": { - "languageId": "plaintext" - } - }, + "metadata": {}, "outputs": [], "source": [ + "# NBVAL_SKIP\n", "metallicity = 0.05\n", "age = 8.0\n", "\n", @@ -331,11 +345,81 @@ "plt.legend()\n", "plt.savefig(\"./output/ssp_comparison_bc_fsps_8_05.png\")" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# Define the metallicity and age values for the grid\n", + "metallicities = [1e-4, 8e-3, 5e-2]\n", + "ages = [0, 8, 10]\n", + "\n", + "# Create a figure with a 3x3 grid of subplots\n", + "fig, axes = plt.subplots(3, 3, figsize=(18, 12))\n", + "\n", + "# Loop over the grid and plot the data\n", + "for i, metallicity in enumerate(metallicities):\n", + " for j, age in enumerate(ages):\n", + " ax = axes[i, j]\n", + " \n", + " # Find the closest indices for the current metallicity and age\n", + " index_metallicity_bc = find_closest_index(ssp_bc.metallicity, metallicity)\n", + " index_age_bc = find_closest_index(ssp_bc.age, age)\n", + " index_metallicity_fsps = find_closest_index(ssp_fsps.metallicity, metallicity)\n", + " index_age_fsps = find_closest_index(ssp_fsps.age, age)\n", + " index_metallicity_mastar = find_closest_index(ssp_mastar.metallicity, metallicity)\n", + " index_age_mastar = find_closest_index(ssp_mastar.age, age)\n", + " \n", + " # Plot the data for the current metallicity and age\n", + " ax.plot(ssp_bc.wavelength, ssp_bc.flux[index_metallicity_bc][index_age_bc], label=f'bc, metallicity={ssp_bc.metallicity[index_metallicity_bc]:.3f}, age={ssp_bc.age[index_age_bc]:.3f}') \n", + " ax.plot(ssp_fsps.wavelength, ssp_fsps.flux[index_metallicity_fsps][index_age_fsps], label=f'fsps, metallicity={ssp_fsps.metallicity[index_metallicity_fsps]:.3f}, age={ssp_fsps.age[index_age_fsps]:.3f}')\n", + " ax.plot(ssp_mastar.wavelength, ssp_mastar.flux[index_metallicity_mastar][index_age_mastar], label=f'mastar, metallicity={ssp_mastar.metallicity[index_metallicity_mastar]:.3f}, age={ssp_mastar.age[index_age_mastar]:.3f}')\n", + " \n", + " # Set plot limits and labels\n", + " ax.set_xlim(1000, 20000)\n", + " if j == 2 and i == 2:\n", + " ax.set_ylim(0, 0.00003)\n", + " elif j == 2 and i == 1:\n", + " ax.set_ylim(0, 0.0003)\n", + " elif j == 2:\n", + " ax.set_ylim(0, 0.00075)\n", + " else:\n", + " ax.set_ylim(0, 0.002)\n", + " if i == 2:\n", + " ax.set_xlabel('Wavelength [Å]')\n", + " if j == 0:\n", + " ax.set_ylabel('L_sun/Angstrom/solarmass')\n", + " ax.legend(loc='upper right')\n", + "\n", + "# Adjust layout and save the figure\n", + "plt.tight_layout()\n", + "plt.savefig(\"./output/ssp_comparison_grid.png\")\n", + "plt.show()" + ] } ], "metadata": { + "kernelspec": { + "display_name": "rubix", + "language": "python", + "name": "python3" + }, "language_info": { - "name": "python" + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.8" } }, "nbformat": 4, diff --git a/notebooks/dust_extinction.ipynb b/notebooks/dust_extinction.ipynb new file mode 100644 index 00000000..55099cae --- /dev/null +++ b/notebooks/dust_extinction.ipynb @@ -0,0 +1,646 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "import os\n", + "# os.environ['SPS_HOME'] = '/home/annalena/sps_fsps'\n", + "# os.environ['SPS_HOME'] = '/Users/annalena/Documents/GitHub/fsps'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Dust extinction models in Rubix\n", + "\n", + "This notebook shows the basics of the dust extinction models implemented in Rubix. We have closely followed the implementation by the [dust extinction package](https://dust-extinction.readthedocs.io/en/latest/index.html). Currently we only support a subset of all available models, namely the Cardelli, Clayton, & Mathis (1989) Milky Way R(V) dependent model, the Gordon et al. (2023) Milky Way R(V) dependent model and the Fitzpatrick & Massa (1990) 6 parameter ultraviolet shape model.\n", + "\n", + "We will demonstrate how to use these models to calculate and visualize the effects of dust extinction on stellar spectra. Additionally, we will show how to integrate these models into a Rubix pipeline to simulate the impact of dust on galaxy observations." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "First, we import the dust models from Rubix." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "from rubix.spectra.dust.extinction_models import Cardelli89, Gordon23" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import jax.numpy as jnp" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We visulaize some of the aspects of the models, i.e. their A(x)/Av as a function of wavelength." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "fig, ax = plt.subplots()\n", + "\n", + "# generate the curves and plot them\n", + "x = np.arange(0.5,10.0,0.1) # in 1/microns\n", + "Rvs = [2.0,3.0,4.0,5.0,6.0]\n", + "for cur_Rv in Rvs:\n", + " ext_model = Cardelli89(Rv=cur_Rv)\n", + " ax.plot(x,ext_model(x),label='R(V) = ' + str(cur_Rv))\n", + "\n", + "ax.set_xlabel(r'$x$ [$\\mu m^{-1}$]')\n", + "ax.set_ylabel(r'$A(x)/A(V)$')\n", + "\n", + "# for 2nd x-axis with lambda values\n", + "axis_xs = np.array([0.1, 0.12, 0.15, 0.2, 0.3, 0.5, 1.0])\n", + "new_ticks = 1 / axis_xs\n", + "new_ticks_labels = [\"%.2f\" % z for z in axis_xs]\n", + "tax = ax.twiny()\n", + "tax.set_xlim(ax.get_xlim())\n", + "tax.set_xticks(new_ticks)\n", + "tax.set_xticklabels(new_ticks_labels)\n", + "tax.set_xlabel(r\"$\\lambda$ [$\\mu$m]\")\n", + "\n", + "ax.legend(loc='best')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can now also use those models and show their effects on a black body spectrum. \n", + "For that, we instantiate the Cardelli model, create a black body spectrum with astropy and apply the dust extinction with a fiducial Rv of 3.1 to the spectrum for a range of Av parameters. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "# Let's import some packages\n", + "from astropy.modeling.models import BlackBody\n", + "import astropy.units as u\n", + "from matplotlib.ticker import ScalarFormatter" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "# initialize cardelli model with Rv=3.1\n", + "ext = Cardelli89(Rv=3.1)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "# generate wavelengths between 3 and 10 microns\n", + "# within the valid range for the Cardelli R(V) dependent model\n", + "lam = np.logspace(np.log10(3), np.log10(10.0), num=1000)\n", + "\n", + "# setup the inputs for the blackbody function\n", + "wavelengths = lam*1e4 # Angstroem\n", + "temperature = 10000 # Kelvin" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "# get the blackbody flux\n", + "bb_lam = BlackBody(10000*u.K, scale=1.0 * u.erg / (u.cm ** 2 * u.AA * u.s * u.sr))\n", + "flux = bb_lam(wavelengths)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "# get the extinguished blackbody flux for different amounts of dust\n", + "flux_ext_av05 = flux*ext.extinguish(lam, Av=0.5)\n", + "flux_ext_av15 = flux*ext.extinguish(lam, Av=1.5)\n", + "flux_ext_ebv10 = flux*ext.extinguish(lam, Ebv=1.0)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "# plot the intrinsic and extinguished fluxes\n", + "fig, ax = plt.subplots()\n", + "\n", + "ax.plot(wavelengths, flux, label='Intrinsic')\n", + "ax.plot(wavelengths, flux_ext_av05, label='$A(V) = 0.5$')\n", + "ax.plot(wavelengths, flux_ext_av15, label='$A(V) = 1.5$')\n", + "ax.plot(wavelengths, flux_ext_ebv10, label='$E(B-V) = 1.0$')\n", + "\n", + "ax.set_xlabel('$\\lambda$ [$\\AA$]')\n", + "ax.set_ylabel('$Flux$')\n", + "\n", + "ax.set_xscale('log')\n", + "ax.xaxis.set_major_formatter(ScalarFormatter())\n", + "ax.set_yscale('log')\n", + "\n", + "ax.set_title('Example extinguishing a blackbody')\n", + "\n", + "ax.legend(loc='best')\n", + "plt.tight_layout()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We see that the Cardelli model has some limited range in wavelength. \n", + "Now let's try the same for the Gordon et al. model which has a broader wavelength support. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "# generate wavelengths between 0.092 and 31 microns\n", + "# within the valid range for the Gordon23 R(V) dependent relationship\n", + "lam = jnp.logspace(np.log10(0.092), np.log10(31.0), num=1000)\n", + "\n", + "# setup the inputs for the blackbody function\n", + "wavelengths = lam*1e4 # Angstroem\n", + "temperature = 10000 # Kelvin\n", + "\n", + "# get the blackbody flux\n", + "bb_lam = BlackBody(10000*u.K, scale=1.0 * u.erg / (u.cm ** 2 * u.AA * u.s * u.sr))\n", + "flux = bb_lam(wavelengths)\n", + "\n", + "# initialize the model\n", + "ext = Gordon23(Rv=3.1)\n", + "\n", + "# get the extinguished blackbody flux for different amounts of dust\n", + "flux_ext_av05 = flux*ext.extinguish(lam, Av=0.5)\n", + "flux_ext_av15 = flux*ext.extinguish(lam, Av=1.5)\n", + "flux_ext_ebv10 = flux*ext.extinguish(lam, Ebv=1.0)\n", + "\n", + "# plot the intrinsic and extinguished fluxes\n", + "fig, ax = plt.subplots()\n", + "\n", + "ax.plot(wavelengths, flux, label='Intrinsic')\n", + "ax.plot(wavelengths, flux_ext_av05, label='$A(V) = 0.5$')\n", + "ax.plot(wavelengths, flux_ext_av15, label='$A(V) = 1.5$')\n", + "ax.plot(wavelengths, flux_ext_ebv10, label='$E(B-V) = 1.0$')\n", + "\n", + "ax.set_xlabel(r'$\\lambda$ [$\\AA$]')\n", + "ax.set_ylabel('$Flux$')\n", + "\n", + "ax.set_xscale('log')\n", + "ax.xaxis.set_major_formatter(ScalarFormatter())\n", + "ax.set_yscale('log')\n", + "\n", + "ax.set_title('Example extinguishing a blackbody')\n", + "\n", + "ax.legend(loc='best')\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We see, as expected, the impact of dust is most important for short wavelength, i.e. the blue part of the spectrum." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Run the RUBIX pipeline with dust\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now turn to running the RUBIX pipeline with dust included. For this, we first need to setup the config accordingly. That is as easy as replacing `\"pipeline\":{\"name\": \"calc_ifu\"}` with `\"pipeline\":{\"name\": \"calc_dusty_ifu\"}` in the config.\n", + "\n", + "In order to comapre a dusty and non dusty IFU cube, we first run a normal RUBIX pipeline." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#import os\n", + "#os.environ[\"SPS_HOME\"] = '/Users/buck/Documents/Nexus/codes/fsps'\n", + "#ILLUSTRIS_API_KEY = 'c0112e1fa11489ef0e6164480643d1c8'" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#NBVAL_SKIP\n", + "\n", + "import matplotlib.pyplot as plt\n", + "from rubix.core.pipeline import RubixPipeline \n", + "import os\n", + "config = {\n", + " \"pipeline\":{\"name\": \"calc_ifu\"},\n", + " \n", + " \"logger\": {\n", + " \"log_level\": \"DEBUG\",\n", + " \"log_file_path\": None,\n", + " \"format\": \"%(asctime)s - %(name)s - %(levelname)s - %(message)s\",\n", + " },\n", + " \"data\": {\n", + " \"name\": \"IllustrisAPI\",\n", + " \"args\": {\n", + " \"api_key\": os.environ.get(\"ILLUSTRIS_API_KEY\"),\n", + " \"particle_type\": [\"stars\", \"gas\"],\n", + " \"simulation\": \"TNG50-1\",\n", + " \"snapshot\": 99,\n", + " \"save_data_path\": \"data\",\n", + " },\n", + " \n", + " \"load_galaxy_args\": {\n", + " \"id\": 11,\n", + " \"reuse\": False,\n", + " },\n", + " \n", + " \"subset\": {\n", + " \"use_subset\": True,\n", + " \"subset_size\": 50000,\n", + " },\n", + " },\n", + " \"simulation\": {\n", + " \"name\": \"IllustrisTNG\",\n", + " \"args\": {\n", + " \"path\": \"data/galaxy-id-11.hdf5\",\n", + " },\n", + " \n", + " },\n", + " \"output_path\": \"output\",\n", + "\n", + " \"telescope\":\n", + " {\"name\": \"MUSE\",\n", + " \"psf\": {\"name\": \"gaussian\", \"size\": 5, \"sigma\": 0.6},\n", + " \"lsf\": {\"sigma\": 0.5},\n", + " \"noise\": {\"signal_to_noise\": 1,\"noise_distribution\": \"normal\"},},\n", + " \"cosmology\":\n", + " {\"name\": \"PLANCK15\"},\n", + " \n", + " \"galaxy\":\n", + " {\"dist_z\": 0.1,\n", + " \"rotation\": {\"type\": \"edge-on\"},\n", + " },\n", + " \n", + " \"ssp\": {\n", + " \"template\": {\n", + " \"name\": \"BruzualCharlot2003\"\n", + " },\n", + " \"dust\": {\n", + " \"extinction_model\": \"Cardelli89\", #\"Gordon23\", \n", + " \"dust_to_gas_ratio\": 0.01, # need to check Remyer's paper\n", + " \"dust_to_metals_ratio\": 0.4, # do we need this ratio if we set the dust_to_gas_ratio?\n", + " \"dust_grain_density\": 3.5, # g/cm^3 #check this value\n", + " \"Rv\": 3.1,\n", + " },\n", + " }, \n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#NBVAL_SKIP\n", + "pipe = RubixPipeline(config)\n", + "\n", + "rubixdata = pipe.run()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we run the pipeline including the effects of dust.\n", + "\n", + "Next to setting `\"pipeline\":{\"name\": \"calc_ifu\"}` there are some more nobs under the section `ssp` for `dust` that we can tweek if needed.\n", + "\n", + "Options to consider are as follows:\n", + "* the exact \"extinction_model\" to use. Currently Rubix supports \"Cardelli89\" or \"Gordon23\" \n", + "* the \"dust_to_gas_model\" to use. This currently refers to the fitting formula used by Remy-Ruyer et al. 2014. See their Table 1 for more info.\n", + "* the \"Xco\" model used by Remy-Ruyer et al 2014. Either \"Z\" or \"MW\"\n", + "* the \"dust_grain_density\" which depends on the type of dust at hand, see e.g. the NIST tables.\n", + "* the \"Rv\" value in case one uses an Rv dependent dust model." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#NBVAL_SKIP\n", + "\n", + "import matplotlib.pyplot as plt\n", + "from rubix.core.pipeline import RubixPipeline \n", + "import os\n", + "config = {\n", + " \"pipeline\":{\"name\": \"calc_dusty_ifu\"},\n", + " \n", + " \"logger\": {\n", + " \"log_level\": \"DEBUG\",\n", + " \"log_file_path\": None,\n", + " \"format\": \"%(asctime)s - %(name)s - %(levelname)s - %(message)s\",\n", + " },\n", + " \"data\": {\n", + " \"name\": \"IllustrisAPI\",\n", + " \"args\": {\n", + " \"api_key\": os.environ.get(\"ILLUSTRIS_API_KEY\"),\n", + " \"particle_type\": [\"stars\", \"gas\"],\n", + " \"simulation\": \"TNG50-1\",\n", + " \"snapshot\": 99,\n", + " \"save_data_path\": \"data\",\n", + " },\n", + " \n", + " \"load_galaxy_args\": {\n", + " \"id\": 11,\n", + " \"reuse\": True,\n", + " },\n", + " \n", + " \"subset\": {\n", + " \"use_subset\": True,\n", + " \"subset_size\": 50000,\n", + " },\n", + " },\n", + " \"simulation\": {\n", + " \"name\": \"IllustrisTNG\",\n", + " \"args\": {\n", + " \"path\": \"data/galaxy-id-11.hdf5\",\n", + " },\n", + " \n", + " },\n", + " \"output_path\": \"output\",\n", + "\n", + " \"telescope\":\n", + " {\"name\": \"MUSE\",\n", + " \"psf\": {\"name\": \"gaussian\", \"size\": 5, \"sigma\": 0.6},\n", + " \"lsf\": {\"sigma\": 0.5},\n", + " \"noise\": {\"signal_to_noise\": 1,\"noise_distribution\": \"normal\"},},\n", + " \"cosmology\":\n", + " {\"name\": \"PLANCK15\"},\n", + " \n", + " \"galaxy\":\n", + " {\"dist_z\": 0.1,\n", + " \"rotation\": {\"type\": \"edge-on\"},\n", + " },\n", + " \n", + " \"ssp\": {\n", + " \"template\": {\n", + " \"name\": \"BruzualCharlot2003\"\n", + " },\n", + " \"dust\": {\n", + " \"extinction_model\": \"Cardelli89\", #\"Gordon23\", \n", + " \"dust_to_gas_model\": \"broken power law fit\", # from Remyer's paper see their Table 1\n", + " \"Xco\": \"Z\", # from Remyer's paper, see their Table 1\n", + " \"dust_grain_density\": 3.0, # #check this value, reverse engeneered from Ibarrra-Medel 2018\n", + " \"Rv\": 3.1,\n", + " },\n", + " }, \n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#NBVAL_SKIP\n", + "pipe = RubixPipeline(config)\n", + "\n", + "rubixdata_dust = pipe.run()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's compare one example spaxel spectrum with and without dust." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#NBVAL_SKIP\n", + "wave = pipe.telescope.wave_seq\n", + "\n", + "spectra = rubixdata.stars.datacube # Spectra of all stars\n", + "dusty_spectra = rubixdata_dust.stars.datacube # Spectra of all stars\n", + "print(spectra.shape)\n", + "print(dusty_spectra.shape)\n", + "\n", + "plt.plot(wave, spectra[12,12,:])\n", + "plt.plot(wave, dusty_spectra[12,12,:])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Now let's visualize a nice edge-on galaxy in SDSS broad-band images with some nice dust lanes... " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "from rubix.telescope.filters import load_filter, convolve_filter_with_spectra" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "# load all fliter curves for SLOAN\n", + "curves = load_filter(\"SLOAN\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "wave = pipe.telescope.wave_seq\n", + "filters,images = curves.apply_filter_curves(rubixdata_dust.stars.datacube, wave).values()\n", + "\n", + "for i_dust,name in zip(images, filters):\n", + " plt.figure()\n", + " plt.imshow(i_dust)\n", + " plt.colorbar()\n", + " plt.title(name)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Sanity check: overlay gas column density map over the dusty emission image" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "idx = np.where(rubixdata.gas.mass[0] != 0)\n", + "gas_map = np.histogram2d(rubixdata.gas.coords[0,:,0][idx], rubixdata.gas.coords[0,:,1][idx], bins=(25,25), weights=np.squeeze(rubixdata.gas.mass)[idx])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "plt.figure()\n", + "plt.imshow(gas_map[0].T, cmap='inferno')\n", + "plt.colorbar()\n", + "plt.title(\"gas map\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "plt.figure()\n", + "plt.imshow(i_dust)\n", + "plt.imshow(gas_map[0].T, cmap='inferno', alpha=0.6)\n", + "plt.colorbar()\n", + "plt.title(\"emission and gas map overlayed\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# And in comparison to this, the same galaxy without dust..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "wave = pipe.telescope.wave_seq\n", + "filters,images = curves.apply_filter_curves(rubixdata.stars.datacube, wave).values()\n", + "\n", + "for i,name in zip(images, filters):\n", + " plt.figure()\n", + " plt.imshow(i)\n", + " plt.colorbar()\n", + " plt.title(name)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "rubix-test", + "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.0" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/notebooks/filter_curves.ipynb b/notebooks/filter_curves.ipynb index 8618a02c..57a27bc9 100644 --- a/notebooks/filter_curves.ipynb +++ b/notebooks/filter_curves.ipynb @@ -11,24 +11,9 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2024-11-07 14:44:55,517 - rubix - INFO - \n", - " ___ __ _____ _____ __\n", - " / _ \\/ / / / _ )/ _/ |/_/\n", - " / , _/ /_/ / _ |/ /_> < \n", - "/_/|_|\\____/____/___/_/|_| \n", - " \n", - "\n", - "2024-11-07 14:44:55,517 - rubix - INFO - Rubix version: 0.0.post101+gda5b92f.d20241101\n" - ] - } - ], + "outputs": [], "source": [ "# NBVAL_SKIP\n", "from rubix.telescope.filters import load_filter, print_filter_list, print_filter_list_info, print_filter_property" @@ -47,29 +32,9 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " filterID \n", - " \n", - "------------------------\n", - "SLOAN/SDSS.uprime_filter\n", - " SLOAN/SDSS.u\n", - " SLOAN/SDSS.g\n", - "SLOAN/SDSS.gprime_filter\n", - " SLOAN/SDSS.r\n", - "SLOAN/SDSS.rprime_filter\n", - " SLOAN/SDSS.i\n", - "SLOAN/SDSS.iprime_filter\n", - " SLOAN/SDSS.z\n", - "SLOAN/SDSS.zprime_filter\n" - ] - } - ], + "outputs": [], "source": [ "# NBVAL_SKIP\n", "print_filter_list(\"SLOAN\")" @@ -84,53 +49,9 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - " name dtype unit \n", - "-------------------- ------- ---------------\n", - "FilterProfileService object \n", - " filterID object \n", - " WavelengthUnit object \n", - " WavelengthUCD object \n", - " PhotSystem object \n", - " DetectorType object \n", - " Band object \n", - " Instrument object \n", - " Facility object \n", - " ProfileReference object \n", - "CalibrationReference object \n", - " Description object \n", - " Comments object \n", - " WavelengthRef float64 AA\n", - " WavelengthMean float64 AA\n", - " WavelengthEff float64 AA\n", - " WavelengthMin float64 AA\n", - " WavelengthMax float64 AA\n", - " WidthEff float64 AA\n", - " WavelengthCen float64 AA\n", - " WavelengthPivot float64 AA\n", - " WavelengthPeak float64 AA\n", - " WavelengthPhot float64 AA\n", - " FWHM float64 AA\n", - " Fsun float64 erg / (A s cm2)\n", - " PhotCalID object \n", - " MagSys object \n", - " ZeroPoint float64 Jy\n", - " ZeroPointUnit object \n", - " Mag0 float64 \n", - " ZeroPointType object \n", - " AsinhSoft float64 \n", - " TrasmissionCurve object \n", - "\n" - ] - } - ], + "outputs": [], "source": [ "# NBVAL_SKIP\n", "print_filter_list_info(\"SLOAN\")" @@ -145,44 +66,9 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "FilterProfileService filterID WavelengthUnit WavelengthUCD PhotSystem DetectorType Band Instrument Facility ProfileReference CalibrationReference Description Comments WavelengthRef WavelengthMean WavelengthEff WavelengthMin WavelengthMax WidthEff WavelengthCen WavelengthPivot WavelengthPeak WavelengthPhot FWHM Fsun PhotCalID MagSys ZeroPoint ZeroPointUnit Mag0 ZeroPointType AsinhSoft TrasmissionCurve \n", - " AA AA AA AA AA AA AA AA AA AA AA erg / (A s cm2) Jy \n", - "-------------------- ------------ -------------- ------------- ---------- ------------ ---- ---------- -------- ----------------------------------------------------- ----------------------------------------------- ------------------------ -------- --------------- --------------- --------------- --------------- --------------- --------------- --------------- --------------- -------------- --------------- --------------- --------------- ----------------- ------ -------------- ------------- ---- ------------- --------- ----------------------------------------------------------------\n", - " ivo://svo/fps SLOAN/SDSS.u Angstrom em.wl SDSS 1 SLOAN http://www.sdss.org/dr7/instruments/imager/index.html http://www.sdss.org/DR2/algorithms/fluxcal.html SDSS u full transmission 3556.5239668607 3572.1824003193 3608.0403153219 3055.1091291961 4030.6399499061 540.97112586776 3578.0271197298 3556.5239668607 3680.0 3619.6973042374 565.79845192387 103.21344236463 SLOAN/SDSS.u/Vega Vega 1582.537065543 Jy 0.0 Pogson 0.0 http://svo2.cab.inta-csic.es//theory/fps/fps.php?ID=SLOAN/SDSS.u\n" - ] - }, - { - "data": { - "text/html": [ - "Row index=1\n", - "
\n", - "\n", - "\n", - "\n", - "\n", - "
FilterProfileServicefilterIDWavelengthUnitWavelengthUCDPhotSystemDetectorTypeBandInstrumentFacilityProfileReferenceCalibrationReferenceDescriptionCommentsWavelengthRefWavelengthMeanWavelengthEffWavelengthMinWavelengthMaxWidthEffWavelengthCenWavelengthPivotWavelengthPeakWavelengthPhotFWHMFsunPhotCalIDMagSysZeroPointZeroPointUnitMag0ZeroPointTypeAsinhSoftTrasmissionCurve
AAAAAAAAAAAAAAAAAAAAAAerg / (A s cm2)Jy
objectobjectobjectobjectobjectobjectobjectobjectobjectobjectobjectobjectobjectfloat64float64float64float64float64float64float64float64float64float64float64float64objectobjectfloat64objectfloat64objectfloat64object
ivo://svo/fpsSLOAN/SDSS.uAngstromem.wlSDSS1SLOANhttp://www.sdss.org/dr7/instruments/imager/index.htmlhttp://www.sdss.org/DR2/algorithms/fluxcal.htmlSDSS u full transmission3556.52396686073572.18240031933608.04031532193055.10912919614030.6399499061540.971125867763578.02711972983556.52396686073680.03619.6973042374565.79845192387103.21344236463SLOAN/SDSS.u/VegaVega1582.537065543Jy0.0Pogson0.0http://svo2.cab.inta-csic.es//theory/fps/fps.php?ID=SLOAN/SDSS.u
" - ], - "text/plain": [ - "\n", - "FilterProfileService filterID WavelengthUnit WavelengthUCD PhotSystem DetectorType Band Instrument Facility ProfileReference CalibrationReference Description Comments WavelengthRef WavelengthMean WavelengthEff WavelengthMin WavelengthMax WidthEff WavelengthCen WavelengthPivot WavelengthPeak WavelengthPhot FWHM Fsun PhotCalID MagSys ZeroPoint ZeroPointUnit Mag0 ZeroPointType AsinhSoft TrasmissionCurve \n", - " AA AA AA AA AA AA AA AA AA AA AA erg / (A s cm2) Jy \n", - " object object object object object object object object object object object object object float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 object object float64 object float64 object float64 object \n", - "-------------------- ------------ -------------- ------------- ---------- ------------ ------ ---------- -------- ----------------------------------------------------- ----------------------------------------------- ------------------------ -------- --------------- --------------- --------------- --------------- --------------- --------------- --------------- --------------- -------------- --------------- --------------- --------------- ----------------- ------ -------------- ------------- ------- ------------- --------- ----------------------------------------------------------------\n", - " ivo://svo/fps SLOAN/SDSS.u Angstrom em.wl SDSS 1 SLOAN http://www.sdss.org/dr7/instruments/imager/index.html http://www.sdss.org/DR2/algorithms/fluxcal.html SDSS u full transmission 3556.5239668607 3572.1824003193 3608.0403153219 3055.1091291961 4030.6399499061 540.97112586776 3578.0271197298 3556.5239668607 3680.0 3619.6973042374 565.79845192387 103.21344236463 SLOAN/SDSS.u/Vega Vega 1582.537065543 Jy 0.0 Pogson 0.0 http://svo2.cab.inta-csic.es//theory/fps/fps.php?ID=SLOAN/SDSS.u" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# NBVAL_SKIP\n", "print_filter_property(\"SLOAN\", \"SDSS.u\")" @@ -190,44 +76,9 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "FilterProfileService filterID WavelengthUnit WavelengthUCD PhotSystem DetectorType Band Instrument Facility ProfileReference CalibrationReference Description Comments WavelengthRef WavelengthMean WavelengthEff WavelengthMin WavelengthMax WidthEff WavelengthCen WavelengthPivot WavelengthPeak WavelengthPhot FWHM Fsun PhotCalID MagSys ZeroPoint ZeroPointUnit Mag0 ZeroPointType AsinhSoft TrasmissionCurve \n", - " AA AA AA AA AA AA AA AA AA AA AA erg / (A s cm2) Jy \n", - "-------------------- ----------------- -------------- ------------- ---------- ------------ ---- ---------- -------- ------------------------------------------------------ -------------------- ------------------- ------------------------------------------------------------------ --------------- --------------- --------------- --------------- --------------- --------------- --------------- --------------- -------------- -------------- --------------- --------------- ---------------------- ------ --------------- ------------- ---- ------------- --------- ---------------------------------------------------------------------\n", - " ivo://svo/fps JWST/NIRCam.F070W Angstrom em.wl NIRCam 1 NIRCam JWST https://jwst-docs.stsci.edu/display/JTI/NIRCam+Filters NIRCam F070W filter includes NIRCam optics, DBS, QE and JWST Optical Telescope Element 7039.1194650654 7088.3009369996 6988.4272768359 6048.1970523246 7927.0738659178 1212.8399166581 7099.1873443748 7039.1194650654 7691.5 7022.060805287 1430.8105961315 140.01772043307 JWST/NIRCam.F070W/Vega Vega 2768.4045696982 Jy 0.0 Pogson 0.0 http://svo2.cab.inta-csic.es//theory/fps/fps.php?ID=JWST/NIRCam.F070W\n" - ] - }, - { - "data": { - "text/html": [ - "Row index=0\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
FilterProfileServicefilterIDWavelengthUnitWavelengthUCDPhotSystemDetectorTypeBandInstrumentFacilityProfileReferenceCalibrationReferenceDescriptionCommentsWavelengthRefWavelengthMeanWavelengthEffWavelengthMinWavelengthMaxWidthEffWavelengthCenWavelengthPivotWavelengthPeakWavelengthPhotFWHMFsunPhotCalIDMagSysZeroPointZeroPointUnitMag0ZeroPointTypeAsinhSoftTrasmissionCurve
AAAAAAAAAAAAAAAAAAAAAAerg / (A s cm2)Jy
objectobjectobjectobjectobjectobjectobjectobjectobjectobjectobjectobjectobjectfloat64float64float64float64float64float64float64float64float64float64float64float64objectobjectfloat64objectfloat64objectfloat64object
ivo://svo/fpsJWST/NIRCam.F070WAngstromem.wlNIRCam1NIRCamJWSThttps://jwst-docs.stsci.edu/display/JTI/NIRCam+FiltersNIRCam F070W filterincludes NIRCam optics, DBS, QE and JWST Optical Telescope Element7039.11946506547088.30093699966988.42727683596048.19705232467927.07386591781212.83991665817099.18734437487039.11946506547691.57022.0608052871430.8105961315140.01772043307JWST/NIRCam.F070W/VegaVega2768.4045696982Jy0.0Pogson0.0http://svo2.cab.inta-csic.es//theory/fps/fps.php?ID=JWST/NIRCam.F070W
" - ], - "text/plain": [ - "\n", - "FilterProfileService filterID WavelengthUnit WavelengthUCD PhotSystem DetectorType Band Instrument Facility ProfileReference CalibrationReference Description Comments WavelengthRef WavelengthMean WavelengthEff WavelengthMin WavelengthMax WidthEff WavelengthCen WavelengthPivot WavelengthPeak WavelengthPhot FWHM Fsun PhotCalID MagSys ZeroPoint ZeroPointUnit Mag0 ZeroPointType AsinhSoft TrasmissionCurve \n", - " AA AA AA AA AA AA AA AA AA AA AA erg / (A s cm2) Jy \n", - " object object object object object object object object object object object object object float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 object object float64 object float64 object float64 object \n", - "-------------------- ----------------- -------------- ------------- ---------- ------------ ------ ---------- -------- ------------------------------------------------------ -------------------- ------------------- ------------------------------------------------------------------ --------------- --------------- --------------- --------------- --------------- --------------- --------------- --------------- -------------- -------------- --------------- --------------- ---------------------- ------ --------------- ------------- ------- ------------- --------- ---------------------------------------------------------------------\n", - " ivo://svo/fps JWST/NIRCam.F070W Angstrom em.wl NIRCam 1 NIRCam JWST https://jwst-docs.stsci.edu/display/JTI/NIRCam+Filters NIRCam F070W filter includes NIRCam optics, DBS, QE and JWST Optical Telescope Element 7039.1194650654 7088.3009369996 6988.4272768359 6048.1970523246 7927.0738659178 1212.8399166581 7099.1873443748 7039.1194650654 7691.5 7022.060805287 1430.8105961315 140.01772043307 JWST/NIRCam.F070W/Vega Vega 2768.4045696982 Jy 0.0 Pogson 0.0 http://svo2.cab.inta-csic.es//theory/fps/fps.php?ID=JWST/NIRCam.F070W" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# NBVAL_SKIP\n", "print_filter_property(\"JWST\", \"F070W\", \"NIRCam\")" @@ -245,7 +96,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -256,29 +107,9 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[SLOAN/SDSS.uprime_filter,\n", - " SLOAN/SDSS.u,\n", - " SLOAN/SDSS.g,\n", - " SLOAN/SDSS.gprime_filter,\n", - " SLOAN/SDSS.r,\n", - " SLOAN/SDSS.rprime_filter,\n", - " SLOAN/SDSS.i,\n", - " SLOAN/SDSS.iprime_filter,\n", - " SLOAN/SDSS.z,\n", - " SLOAN/SDSS.zprime_filter]" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# NBVAL_SKIP\n", "curves.filters" @@ -286,20 +117,9 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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WouHqRjBlGm6edrXIsGU52GyTvq2RQ8TWHcI0GMWTDWgrEBiYiJ9+/bl5ZdfpnXr1ri4uHDgwAFmzZpl5b25evVqgQe7v78/c+fOpWvXrkRERBAdHW1VVqB+/fpKWGfRokX07t2bNm3aWB2jRYsWvPXWW3z//feMHj26gH316tVjzJgxfPLJJ1bb165daxWOA1ONpRdeeIEOHTrg5eXF8ePHmThxIuHh4VYdGTIyMkhISECv13P16lVWrVrFnDlzeO211wgPDwdM9ZViY2N59tlnCQkJISsri2XLlnHs2DGlOftrr72Gn58fjzzyCA0aNCA+Pp7o6Gi8vb3p0qULAL/++isTJkzg5MmTADz44IM4OjoyceJE3nzzTfbt21douRudTseQIUP49NNPSUlJYdSoUfTr1+++LM+fNGkSTz75JA0bNqRv376oVCr++usvjh49SnR0dIWfLyAgAEmS+O2334iMjMTBwQEXFxfeffdd3n77bYxGIw8//DApKSns2bMHZ2dnhgwZUuF2VAUiJFdN+femU7z5w2GifztRQDBdTMxrHns7vXjX9b2S9fexfP8/itHiYXKrqavkzDlMxdZhMgkmXQ12Hd+NxcN0d0jOEvqwVcFklGUsEZea4GFydnbmwQcfZM6cOXTv3p2WLVvy4YcfMnz4cObOnauM+/TTT2nbtq3Va+3atTRu3JgDBw4QEhLC888/T0hICCNGjCA8PJy9e/fi6enJ9evX+f333wv13kiSRJ8+fYoMywGMHTsW57tqtK1du7ZAOC4iIoKlS5fy+OOPExoayptvvklERAQ//fST1bivv/4aX19fQkJCePbZZzl+/Liyms9Cp06dSEtLY+TIkbRo0YIePXoQExPD6tWrFY/HY489RkxMDH379qVJkyZERUWh0+nYsmWL4i1LTk7m1KlTynE9PT35/vvvlYT1H374gSlTphS45kaNGtGnTx8iIyN5/PHHadmypZV9lUlERAS//fYbmzdvpmPHjnTu3JnZs2dX+EpAC/Xr12fq1KmMHz+eevXq8c9//hMwre6bNGkSM2bMIDQ0lIiICNatW1cgbFqTkeSqWGpVhaSkpODm5kZycnK17isXOP535f9fvNCWUT8cLnTcyte60j7Ao9LsSJg2jTv//QEAx06d0PjUI2XtOuq+9x5eL79UaeetLK68+Sapm//AZ8pk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bNmyhbCwMK655hptTK9evQgLC9PGNCSWL19O9+7dGTZsGDExMXTp0oUPPvhAu12c1+pz3XXXsWbNGg4ePAjAnj17+Omnnxg0aBAgzmlN4M9zuGXLFpKTk4mPj9fGpKSkYLPZPELXDZWcnBwkSSI8PBwQ5/VScblcjBo1iilTptChQ4cyt9e183rFNd9taHzxxRfs3LmTX375pcxt6enpADRu3Nhje+PGjTlx4oQ2xmQyERERUWaMun96ejoxMTFl7j8mJkYb05A4evQo7733HpMnT+aZZ55h27ZtTJgwAbPZzOjRo8V5vQSmTp1KTk4Obdu2Ra/X43Q6efnll7n33nsB8VqtCfx5DtPT08scJyIiApPJ1ODPs9VqZdq0adx3331aY11xXi+N1157DYPBwIQJE7zeXtfOqxBM9ZhTp04xceJEfvzxRywWS7njJEny+FuW5TLbLubiMd7GV+V+6iMul4vu3bvz97//HYAuXbqwb98+3nvvPUaPHq2NE+e16ixevJhPP/2Uf//733To0IHdu3czadIk4uPjGTNmjDZOnNPLx1/n8Eo8z3a7nXvuuQeXy8XcuXMrHS/Oa/ns2LGDt99+m507d1b7sdXWeRUhuXrMjh07OHfuHN26dcNgMGAwGFi/fj3vvPMOBoNBU9QXK+hz585pt8XGxlJcXExWVlaFY86ePVvm+OfPny+j2hsCcXFxtG/f3mNbu3btOHnyJKCcDxDntTpMmTKFadOmcc8999CxY0dGjRrFU089xSuvvAKIc1oT+PMcxsbGljlOVlYWdru9wZ5nu93O8OHDOXbsGKtWrdLcJRDn9VLYuHEj586do1mzZtr168SJE/zlL38hMTERqHvnVQimesyNN97I3r172b17t/bTvXt3Ro4cye7du7nqqquIjY1l1apV2j7FxcWsX7+ePn36ANCtWzeMRqPHmLS0NH777TdtTO/evcnJyWHbtm3amJ9//pmcnBxtTEPi2muv5Y8//vDYdvDgQZo3bw5AixYtxHmtJoWFheh0nh83er1eKysgzunl489z2Lt3b3777TfS0tK0MT/++CNms5lu3br59HHWBqpYOnToEKtXryYqKsrjdnFeq8+oUaP49ddfPa5f8fHxTJkyhR9++AGog+e1yunhgnpB6VVysqwsMw4LC5OXLl0q7927V7733nu9LjNu0qSJvHr1annnzp3yDTfc4HXZZqdOneQtW7bIW7ZskTt27NhglmpfzLZt22SDwSC//PLL8qFDh+TPPvtMDgwMlD/99FNtjDiv1WPMmDFyQkKCVlZg6dKlcnR0tPz0009rY8Q5rZy8vDx5165d8q5du2RAfvPNN+Vdu3Zpq7X8dQ7VZdo33nijvHPnTnn16tVykyZN6u3y94rOq91ul++44w65SZMm8u7du+W0tDTtx2azafchzmtZKnu9XszFq+RkuW6dVyGYGhgXCyaXyyU///zzcmxsrGw2m+Xrr79e3rt3r8c+RUVF8hNPPCFHRkbKAQEB8p/+9Cf55MmTHmMyMjLkkSNHyiEhIXJISIg8cuRIOSsryw+PqHb49ttv5eTkZNlsNstt27aV33//fY/bxXmtHrm5ufLEiRPlZs2ayRaLRb7qqqvkZ5991uOCI85p5axdu1YGyvyMGTNGlmX/nsMTJ07It912mxwQECBHRkbKTzzxhGy1Wn358H1GRef12LFjXm8D5LVr12r3Ic5rWSp7vV6MN8FUl86rJMuyXHU/SiAQCAQCgeDKQ+QwCQQCgUAgEFSCEEwCgUAgEAgElSAEk0AgEAgEAkElCMEkEAgEAoFAUAlCMAkEAoFAIBBUghBMAoFAIBAIBJUgBJNAIBAIBAJBJQjBJBAIGgQzZszg6quvru1paEiSxLJly2p7GgKBoIYQgkkgEFSLefPmERISgsPh0Lbl5+djNBrp27evx9iNGzciSRIHDx709zT9Rl0TagKBwDcIwSQQCKrFgAEDyM/PZ/v27dq2jRs3Ehsbyy+//EJhYaG2fd26dcTHx9O6devamKpAIBDUGEIwCQSCatGmTRvi4+NZt26dtm3dunUMHjyYpKQkNm/e7LF9wIABfPrpp3Tv3p2QkBBiY2O57777OHfuHAAul4smTZowb948j+Ps3LkTSZI4evQoADk5OTz88MPExMQQGhrKDTfcwJ49eyqc68KFC2nXrh0Wy/+3d38hTbVxHMC/p8xM04IyE105tSVFjSQKDdxOpVYSasFm7aayYBEW/YNAo2QZBuJN9FcvJtQKiogutC5qioihrVwU2oUpBmklDdJRafZ7L8JDy/dt6cVbvu/3A4M9/37Pc87Vj/M82wlDSkoKzp8/r7V1d3dDURTcunULqqoiPDwcRqMRzc3NATGqqqqg0+kQHh6O/Px8VFZWYvbs2QAAp9OJ0tJSeL1eKIoCRVHgdDq1sf39/cjPz0d4eDgWLVqEO3fu/PJ9JqI/CxMmIho3s9kMt9utld1uN8xmM0wmk1Y/NDSE5uZmqKqKoaEhOBwOeL1e3L59G11dXdixYwcAYMqUKSgoKMDVq1cD5nC5XEhLS0NiYiJEBDk5Oejr60NtbS08Hg9SU1Oxbt06vH///m/XWFVVheLiYpSVlaG9vR2nT5/G8ePHUVNTE9CvuLgYR44cQVtbGwwGA7Zt26ZtNzY1NcFut+PAgQNoa2tDZmYmysrKtLFWqxWHDx/G0qVL0dvbi97eXlitVq29tLQUFosFT58+xaZNm2Cz2f5xvUT0hxvXq3qJiETk8uXLEhERIcPDw/LhwwcJCQmRN2/eyPXr1yU9PV1ERBoaGgSAdHZ2jhnf0tIiAGRgYEBERB4/fiyKokh3d7eIiIyMjEhcXJycO3dORETu378vUVFRY94unpSUJJcuXRIRkRMnTojRaNTadDqduFyugP4Oh0PS0tJERLS30FdXV2vtz58/FwDS3t4uIiJWq1VycnICYthsNpk1a5ZW/nHeUQCkpKREKw8ODoqiKFJXVzemLxH9+fiEiYjGTVVV+P1+tLa2orGxEQaDAfPmzYPJZEJrayv8fj/q6+uxYMECJCYm4smTJ8jNzcXChQsRGRkJs9kMAOjp6QEArFixAikpKbh27RoAoKGhAW/fvoXFYgEAeDweDA4OYs6cOZg5c6b26erqQmdn55j1vXv3Dq9evUJhYWFA/1OnTo3pv3z5cu17bGwsAGjbhS9evMCqVasC+v9Y/pnvY0dERCAyMlKLTUSTS8jvXgARTT7JycmIj4+H2+2Gz+eDyWQCAMyfPx96vR5NTU1wu91Yu3Yt/H4/srKykJWVhStXriA6Oho9PT3Izs7G0NCQFtNms8HlcuHYsWNwuVzIzs7G3LlzAXw75xQbGxtwbmrU6Hmi7339+hXAt2251atXB7RNnTo1oDxt2jTtu6IoAeNFRKsbJSK/covGxB6NPxqbiCYXJkxENCGqqqK+vh4+nw9Hjx7V6k0mE+7du4eHDx9i586d6OjoQH9/P8rLy6HT6QAg4Bd2o7Zv346SkhJ4PB7cvHkTFy5c0NpSU1PR19eHkJAQJCQkBF1bTEwM4uLi8PLlS9hstglfY0pKClpaWgLqflx7aGgoRkZGJjwHEU0OTJiIaEJUVcW+ffswPDysPWECviVMe/fuxadPn6CqKsLCwhAaGoqzZ8/Cbrfj2bNncDgcY+Lp9Xqkp6ejsLAQX758QW5urta2fv16pKWlIS8vD2fOnMHixYvx+vVr1NbWIi8vDytXrhwT7+TJk9i/fz+ioqKwceNGfP78GY8ePYLP58OhQ4d+6RqLioqQkZGByspKbN68GQ8ePEBdXV3AU6eEhAR0dXWhra0N8fHxiIyMxPTp08dzK4loEuAZJiKaEFVV8fHjRyQnJyMmJkarN5lMGBgYQFJSEnQ6HaKjo+F0OnHjxg0sWbIE5eXlqKio+NuYNpsNXq8XW7ZswYwZM7R6RVFQW1uLjIwM7Nq1CwaDAQUFBeju7g6Y+3u7d+9GdXU1nE4nli1bBpPJBKfTCb1e/8vXuGbNGly8eBGVlZUwGo24e/cuDh48iLCwMK3P1q1bsWHDBqiqiujoaO0cFhH9tygyng15IqL/uT179qCjowONjY2/eylE9C/ilhwR0U9UVFQgMzMTERERqKurQ01NTcAfYBLR/wOfMBER/YTFYkF9fT0GBgaQmJiIoqIi2O32370sIvqXMWEiIiIiCoKHvomIiIiCYMJEREREFAQTJiIiIqIgmDARERERBcGEiYiIiCgIJkxEREREQTBhIiIiIgqCCRMRERFREEyYiIiIiIL4C10Yctm0w3dQAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# NBVAL_SKIP\n", "curves.plot()" @@ -307,20 +127,9 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHFCAYAAAAaD0bAAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABw2klEQVR4nO3deVhU1f8H8PdszLDvq+y44YYKqaiolEtqZWXu2qaWbW5ZufWzNLPFyqzUFtP6lkvlWrlRuSamgrjlLgIiyCb7OjPn9wcyNYEKCFyGeb+eZ57kzpnLe27IfDzn3HNkQggBIiIiIjMilzoAERERUUNjAURERERmhwUQERERmR0WQERERGR2WAARERGR2WEBRERERGaHBRARERGZHRZAREREZHZYABEREZHZYQFEZCZWr14NmUxW5WPGjBm4cuUKZDIZVq9eXek1V65cMRxbs2YNlixZ0qDZn3zySaO8FhYWCAoKwowZM5Cbm9ugWYioaVBKHYCIGtaqVavQunVro2NeXl5wd3dHdHQ0goKCbvv6NWvW4NSpU5g6dWo9pqzM0tISf/zxBwAgOzsbP/30Ez744AOcOHECu3btatAsRGT6WAARmZl27dohLCysyue6devWwGn+UVRUBEtLy1s+L5fLjfLdf//9uHz5MqKiohAfH4+AgICGiElETQSHwIgIAKocAvuvPn364Ndff0VCQoLRkFSF0tJSvPXWW2jdujXUajVcXV3x1FNPIT093eg8/v7+eOCBB7Bx40Z06tQJGo0Gb775Zo0zVxRy169fNzq+fv16hIeHw9raGjY2NhgwYACOHTtm1Oby5csYOXIkvLy8oFar4e7ujvvuuw9xcXGVcm7atAkdOnSARqNBYGAgli5dWilLYmIixo4dCzc3N6jVagQHB+ODDz6AXq83tKm4xosXL8aHH36IgIAA2NjYIDw8HIcOHapxvrp8r0Tmhj1ARGZGp9NBq9UaHVMqq/erYNmyZXjmmWdw6dIlbNq0yeg5vV6PIUOGYP/+/Xj11VfRvXt3JCQkYN68eejTpw+OHj1q1MMTGxuLM2fOYO7cuQgICIC1tXWN30t8fDyUSiUCAwMNx95++23MnTsXTz31FObOnYvS0lK8//77iIiIwOHDh9GmTRsAwKBBg6DT6fDee+/B19cXGRkZOHjwILKzs42+R1xcHKZOnYo33ngDHh4e+P777zFlyhSUlpZixowZAID09HR0794dpaWlWLBgAfz9/fHLL79gxowZuHTpEpYtW2Z0zs8++wytW7c2zKV6/fXXMWjQIMTHx8Pe3r7a+er6vRKZFUFEZmHVqlUCQJWPsrIyER8fLwCIVatWVXpNfHy84djgwYOFn59fpfOvXbtWABAbNmwwOn7kyBEBQCxbtsxwzM/PTygUCnHu3LlqZX/iiSeEtbW1KCsrE2VlZSIjI0MsX75cyOVyMXv2bEO7xMREoVQqxUsvvWT0+ry8POHh4SGGDx8uhBAiIyNDABBLliy57ff18/MTMplMxMXFGR3v16+fsLOzEwUFBUIIIWbOnCkAiL/++suo3XPPPSdkMpnhfVZc4/bt2wutVmtod/jwYQFArF27ttr56vq9Epkb9gARmZlvv/0WwcHBRseq2wN0O7/88gscHBzw4IMPGvUwdezYER4eHtizZw+ee+45w/EOHTqgZcuW1T5/QUEBVCqV0bFRo0Zh4cKFhq937twJrVaLxx9/3CiDRqNB7969sXv3bgCAk5MTgoKC8P7770On0yEyMhIhISGQyyvPCmjbti1CQkKMjo0ePRpRUVGIjY1Fz5498ccff6BNmzbo0qWLUbsnn3wSy5cvxx9//GH0XgcPHgyFQmF0LQAgISGh2vnq470SmRP+DSAyM8HBwQgLCzN61IXr168jOzsbFhYWUKlURo/U1FRkZGQYtff09KzR+S0tLXHkyBEcOXIEP//8M/r06YO1a9finXfeMcoAAPfcc0+lDOvXrzdkkMlk+P333zFgwAC899576Ny5M1xdXTF58mTk5eUZfV8PD49KWSqOZWZmGv5b1fvx8vIyalfB2dnZ6Gu1Wg2gfCJ4dfPVx3slMifsASKiOuHi4gJnZ2fs2LGjyudtbW2Nvv735OnqkMvlRsVav379EBoaijfffBNjxoyBj48PXFxcAAA//fQT/Pz8bns+Pz8/rFy5EgBw/vx5/PDDD3jjjTdQWlqKFStWGNqlpqZWem3FsYpCxtnZGSkpKZXaXbt2DQAMuWriTvnq470SmRMWQERUI2q12tBT8W8PPPAA1q1bB51Oh65duzZIjs8++wx9+vTBW2+9hc8//xwDBgyAUqnEpUuXMHTo0Gqfq2XLlpg7dy42bNiA2NhYo+dOnz6N48ePGw2DrVmzBra2tujcuTMA4L777sOiRYsQGxtrOAaUDzfKZDJERkbe1XutKl99vFcic8ICiIhqpH379ti4cSOWL1+O0NBQQ8/MyJEj8f3332PQoEGYMmUKunTpApVKhatXr2L37t0YMmQIHnnkkTrN0rt3bwwaNAirVq3CzJkzERAQgPnz52POnDm4fPky7r//fjg6OuL69es4fPgwrK2t8eabb+LEiRN48cUXMWzYMLRo0QIWFhb4448/cOLECcycOdPoe3h5eeGhhx7CG2+8AU9PT3z33XeIiorCu+++CysrKwDAtGnT8O2332Lw4MGYP38+/Pz88Ouvv2LZsmV47rnnajTXCUC18vn7+9f5eyUyK1LPwiaihlFxR9eRI0eqfL66d4FlZWWJxx57TDg4OAiZTCb+/WukrKxMLF68WISEhAiNRiNsbGxE69atxbPPPisuXLhgaOfn5ycGDx5c7ewVd4FV5eTJk0Iul4unnnrKcGzz5s0iMjJS2NnZCbVaLfz8/MRjjz0mfvvtNyGEENevXxdPPvmkaN26tbC2thY2NjaiQ4cO4qOPPjK6O6si508//STatm0rLCwshL+/v/jwww8r5UhISBCjR48Wzs7OQqVSiVatWon3339f6HS6Stf4/fffr/R6AGLevHk1yleX75XI3MiEEELKAoyIqLHy9/dHu3bt8Msvv0gdhYjqGO8CIyIiIrPDAoiIiIjMDofAiIiIyOywB4iIiIjMDgsgIiIiMjssgIiIiMjscCHEKuj1ely7dg22trY1Xq6fiIiIpCGEQF5eHry8vO644S8LoCpcu3YNPj4+UscgIiKiWkhKSoK3t/dt27AAqkLFpo1JSUmws7OTOA0RERFVR25uLnx8fCptvlwVFkBVqBj2srOzYwFERERkYqozfYWToImIiMjssAAiIiIis8MCiIiIiMwO5wAREVG90ul0KCsrkzoGNREWFhZ3vMW9OlgAERFRvRBCIDU1FdnZ2VJHoSZELpcjICAAFhYWd3UeFkBERFQvKoofNzc3WFlZcWFZumsVCxWnpKTA19f3rn6mWAAREVGd0+l0huLH2dlZ6jjUhLi6uuLatWvQarVQqVS1Pg8nQRMRUZ2rmPNjZWUlcRJqaiqGvnQ63V2dhwUQERHVGw57UV2rq58pFkBERERkdlgAERERkdlhAURERPQvaWlpePbZZ+Hr6wu1Wg0PDw8MGDAA0dHRAAB/f38sWbLklq9PSkrC+PHj4eXlBQsLC/j5+WHKlCnIzMyssv0zzzwDhUKBdevWVXrujTfegEwmw6RJk4yOx8XFQSaT4cqVK0bHExISoFarkZubi4KCArz22msIDAyERqOBq6sr+vTpg19++cXQvk+fPpDJZJDJZFCr1WjWrBkefPBBbNy4sVKW3bt3IzIyEk5OTrCyskKLFi3wxBNPQKvVGtp8/vnnCAkJgbW1NRwcHNCpUye8++67t7xWUmIBRETUSAghkJZbjPS8EuQWl6FEq4MQQupYZmfo0KE4fvw4vvnmG5w/fx5bt25Fnz59kJWVdcfXXr58GWFhYTh//jzWrl2LixcvYsWKFfj9998RHh5e6RyFhYVYv349XnnlFaxcubLKc2o0GqxcuRLnz5+/4/ffsmUL+vTpAzs7O0yaNAmbN2/Gp59+irNnz2LHjh0YOnRopUJs4sSJSElJwcWLF7Fhwwa0adMGI0eOxDPPPGNoc/r0aQwcOBD33HMP9u3bh5MnT+KTTz6BSqWCXq8HAKxcuRLTp0/H5MmTcfz4cfz555949dVXkZ+ff8fcUuBt8EREEtLrBWITb2Dn6VTs+vs6EjILjZ6XyQC1Ug61UlH+X1X5n91s1ZhyXwt0DeQt5nUpOzsbBw4cwJ49e9C7d28AgJ+fH7p06VKt17/wwguwsLDArl27YGlpCQDw9fVFp06dEBQUhDlz5mD58uWG9j/++CPatGmDWbNmwdPTE1euXIG/v7/ROVu1agU3NzfMnTsXP/zww22//5YtW/Doo48CAH7++Wd8/PHHGDRoEIDynqvQ0NBKr7GysoKHhwcAwMfHB926dUPr1q3x9NNPY/jw4ejbty+ioqLg6emJ9957z/C6oKAg3H///Yavf/75ZwwfPhzjx483HGvbtu1t865evRpTp041Wixz8+bNeOSRR+q9+GcPEBFRAyvV6rHnXBpmbTyJLm//jsdWROPL/fFIyCzEf29wEQIoLtMjp6gMaXklSMoqwsW0fBy8lIkRXxzCzA0nkFNoGttMCCFQWKpt8EdNPkhtbGxgY2ODzZs3o6SkpEbvLysrCzt37sTzzz9vKH4qeHh4YMyYMVi/fr1RnpUrV2Ls2LGwt7fHoEGDsGrVqirP/c4772DDhg04cuTILb9/dnY29u/fj4ceesjwPbdt24a8vLwavQ8AeOKJJ+Do6GgYCvPw8EBKSgr27dt3y9d4eHjg0KFDSEhIqPH3kwJ7gIiIGkB+iRZ7zqVh5+nr2HM2DXkl/8ybsNUocV9rNwxo64FeLV1hZaFAqU6PEq0eJWV6lGh1hj8Xa3UoLtPh5+MpWHs4EeuOJOG3M9fxfw+2xYMdPBv1bedFZTq0+b+dDf59/54/AFYW1fu4UyqVWL16NSZOnIgVK1agc+fO6N27N0aOHIkOHTrc9rUXLlyAEALBwcFVPh8cHIwbN24gPT0dbm5uuHDhAg4dOmQoMsaOHYvJkydj3rx5lfa66ty5M4YPH46ZM2fi999/r/L827ZtQ/v27eHj4wMA+OKLLzBmzBg4OzsjJCQEPXv2xGOPPYYePXrc8TrI5XK0bNnSMMdo2LBh2LlzJ3r37g0PDw9069YN9913Hx5//HHY2dkBAObNm4dHH30U/v7+aNmyJcLDwzFo0CA89thjdbJ3V11rfImIiJoInV5g/4V0TF57DKELovDimmP4+fg15JVo4Wqrxpiuvvj26S6ImdsPS0Z2wsD2nrBWK8snpCoVsNOo4GqrhrejFYJcbdDGyw6dfR3RPcgFix5tjx+eDUdzNxtk5Jdi8tpjeGr1ESRlFd45GN3W0KFDce3aNWzduhUDBgzAnj170LlzZ6xevfquzlvR81NRpK5cuRIDBgyAi4sLAGDQoEEoKCjAb7/9VuXr33rrLezfvx+7du2q8vktW7YYen8AoFevXrh8+TJ+//13DB06FKdPn0ZERAQWLFhQ7bwVWRUKBVatWoWrV6/ivffeg5eXFxYuXIi2bdsiJSUFAODp6Yno6GicPHkSkydPRllZGZ544gncf//9hnlCjYqgSnJycgQAkZOTI3UUIjJBVzLyxeKdZ0X4278Jv9d+MTx6v/eHePvXv8XRK1lCp9PXyfcqLtOKJVHnRYvZ24Tfa7+I1nO3iy/3XRJlWl2dnL+2ioqKxN9//y2KiooMx/R6vSgoKWvwh15/99d6/PjxwtfXVwghhJ+fn/joo48qtcnIyBAymUwsXLiwynNMnDhRODo6Cr1eL7RarfD09BQymUwoFArDA4AYPny44TXz5s0TISEhhq+ff/550alTJxEbGysAiPj4eCGEEKWlpcLOzk4cO3bstu9jwYIFQqVSiZKSEiGEEL179xZTpkyp1E6r1QpHR0fxwgsv3PJcWVlZwsXFRfzf//3fLdvs379fABB//PFHlc9/8803ws7OzujYDz/8IG5XnlT1s1WhJp/fHAIjIqoDBSVabDuZgh9jruJw/D93+thplBjSsRmGhXmjfTP7Oh+iUisVmNK3BQZ38MTsTSdxOD4Lb/16BpvjkrHokQ5o721fp9/vbshksmoPRTU2bdq0webNm2/bxtnZGf369cOyZcswbdo0o3lAqamp+P777/H4449DJpMZ5uYcO3YMCoXC0O7s2bMYM2YMMjMzq9xD7f/+7/8QFBRU6Zb53bt3w8HBAR07drzj+9BqtSguLr7tburffPMNbty4gaFDh96yjaOjIzw9PVFQUHDb7wfglm1cXV2Rl5eHgoICWFtbAyi/xb8hmOZPIhFRI6DTCxy5koUNMVfx68kUFJaW700kkwERLVwxLNQb/dq4Q6NS3OFMd6+5mw3WTeyGH2OSsPDXMziVnIshnx3AxF6BeG1Aa8jljXduUGOSmZmJYcOG4emnn0aHDh1ga2uLo0eP4r333sOQIUMM7ZKTkyt9UPv6+uLTTz9F9+7dMWDAALz11lsICAjA6dOn8corr6BZs2ZYuHAhgPLhr8GDByMkJMToHG3btsXUqVPx3XffYcqUKZXyubu7Y/r06Xj//feNjm/dutVo+AsoX+Nn1KhRCAsLg7OzM/7++2/Mnj0bkZGRhnk7QPmt+KmpqdBqtUhOTsbGjRvx0Ucf4bnnnkNkZCSA8vV94uLi8MgjjyAoKAjFxcX49ttvcfr0aXzyyScAgOeeew5eXl6499574e3tjZSUFLz11ltwdXVFeHg4AGDTpk2YNWsWzp49CwDo2rUrrKysMHv2bLz00ks4fPjwXQ81Vtsd+4jMEIfAiOhWikq14vczqeLVH4+LzvN3VRri+vSPC+JadqGkGdNyi8VLa2INuT75/XyDZ7jdMEVjVlxcLGbOnCk6d+4s7O3thZWVlWjVqpWYO3euKCws///q5+cnAFR6rFq1SgghxJUrV8STTz4pPDw8hEqlEj4+PuKll14SGRkZQgghUlNThVKpFD/88EOVGV566SXRvn17IUTlITAhhMjNzRUuLi5GQ2A+Pj4iKirKqN3bb78twsPDhZOTk9BoNCIwMFBMnjzZkEOI8iGwivwWFhbC09NTPPDAA2Ljxo1G54qNjRVjx44VAQEBQq1WC2dnZ9GrVy+xdetWQ5uffvpJDBo0SHh6egoLCwvh5eUlhg4dKk6cOGFos2rVqkrDW5s2bRLNmzcXGo1GPPDAA+KLL75okCEwmRBcZeu/cnNzYW9vj5ycHKMqmYjMU15xGXafS8fO06nYczYNBaX/7EJtb6nCgLbuGBbmgzA/x0Z1F9Z3hxIwd/MpyGTA10/eg8hWbg32vYuLixEfH4+AgABoNJoG+77mKDY2Fvfeey/S09OhUqmkjlPvbvezVZPPbw6BERFVIS2vGL+fScPO06k4eDETpbp/7mLxsNOgf1t3DGjrgS4BTlApGucNtWO7+eH0tVysPZyIKWuP4eeXesLP2VrqWFTHtFqtYVVmqj4WQEREALQ6PY4lZWPPuTTsOZeO09dyjZ4PdLXGgLYeGNDWAx2a2ZvMnJo3HmqDMym5iEvKxrP/i8HG57ub7ERkqlqXLl2qvVI1/YN/C4jIbF3PLcbec+nYcz4N+y9kIK9Ya/R8iLc9+t8sepq72UiU8u6olQosH9sZD35yAGdT8zBr40ksGdGxUQ3VEUmBBRARmZVzqXnYdCwZe86l4Wyq8RYBjlYq9Grpit4tXdGrpStcbNQSpaxbnvaW+Gx0Z4z56i9sibuGDt4OGN8zQOpYRJJiAUREZiEm4QaW77mI386kGY7JZEAHbwf0aemKPq1c0cHbAQoTGdqqqa6BzpgzOBhv/vw33t52Bm297NCtATZS5X02VNfq6meKBRARNVlCCOy/kIFley7i0OXyxQllMqB/G3cMbOeJiBYucG4ivTzV8WR3fxxPysbmuGt4cU0sfn6pJzztLe/8wlqomJBbWFhYaWNQortRWloKAEYLSNYGCyAianL0eoGdp1OxbM8lnEzOAQCoFDI80qkZnu0dhCBX05zPc7dkMhkWPdoB567n40xKLiZ9F4sfnu0GtbLuF2pUKBRwcHBAWlp5j5uVlRXnHdFd0+v1SE9Ph5WVFZTKuythWAARUZNRqtVjc1wyVuy9hMvp5UvvW6oUGNXFFxMiAuDlwJ4ISwsFPh8bigc/PYDjSdl4Y+tpLHr09ruc15aHhwcAGIogorogl8vh6+t71wU1CyAiahL2nk/HrA0ncC2nGED5HlxPdvfHkz0C4GR96z2PzJGvsxWWjuqEJ1cdxtrDSejg7YBRXXzr/PvIZDJ4enrCzc0NZWVldX5+Mk8WFhaQy+9+7S0WQERk8tYfScTsTaeg0wu42aoxISIAo7v6wUbNX3G30rulK2b0b4X3d57DvC2nEexph44+DvXyvRQKxV3P1yCqa41z+VIiomoQQuCjqPN4bcNJ6PQCj3Zuhn2vRuKZXkEsfqrh+T5BGNDWHaU6PV74PhbFZbo7v4ioiWABREQmqUynx2sbTuDj3y8AAF66tzk+GBbSIDuvNxUymQyLh4XA016D5OwifHPwitSRiBoMCyAiMjkFJVpM+OYofjh6FXIZsPCRdni5fyveZVQLthoVpvdrCQD4bPdFZBeWSpyIqGGwACIik5KeV4KRXxzC3vPp0Kjk+GJcGMZ09ZM6lkl7tLM3WnvYIrdYi892X5Q6DlGDkLwAWrZsmWFL+9DQUOzfv/+WbVNSUjB69Gi0atUKcrkcU6dOrbLdhg0b0KZNG6jVarRp0wabNm2qp/RE1JAupefj0eV/4mRyDpytLbDumXD0beMudSyTp5DLMHNgawDANwcTkJRVKHEiovonaQG0fv16TJ06FXPmzMGxY8cQERGBgQMHIjExscr2JSUlcHV1xZw5cxASElJlm+joaIwYMQLjxo3D8ePHMW7cOAwfPhx//fVXfb4VIqpnMQlZGLr8IJKyiuDvbIUNz3Wvt7uWzFHvlq7o0dwZpTo9Pow6L3UcononExJu1NK1a1d07twZy5cvNxwLDg7Gww8/jEWLFt32tX369EHHjh2xZMkSo+MjRoxAbm4utm/fbjh2//33w9HREWvXrq1WrtzcXNjb2yMnJwd2dnbVf0NEVC92nErFlHXHUKLVI8THAV8/EWZWW1g0lJNXc/DgpwcAAL+81BPtmtlLnIioZmry+S1ZD1BpaSliYmLQv39/o+P9+/fHwYMHa33e6OjoSuccMGDAbc9ZUlKC3NxcowcRNQ67Tqfiue9jUKLVo2+wG9ZN7Mbip56097bHkI5eAIB3tp+VOA1R/ZKsAMrIyIBOp4O7u/H4vbu7O1JTU2t93tTU1Bqfc9GiRbC3tzc8fHx8av39iajuJGUV4uUfj0MIYFioN1aMDYWlBW9zr08z+reChUKOAxczsO98utRxiOqN5JOg/3vbqhDirm9lrek5Z82ahZycHMMjKSnprr4/Ed29Eq0OL6yJRV6xFp18HfD2o+2hVEj+K6vJ83Gywrjw8rvqFm0/C51eslkSRPVKst8mLi4uUCgUlXpm0tLSKvXg1ISHh0eNz6lWq2FnZ2f0ICJpLdp2Fieu5sDBSoVPR3eGisVPg3kxsjlsNUqcScnF5mPJUschqheS/UaxsLBAaGgooqKijI5HRUWhe/futT5veHh4pXPu2rXrrs5JRA1r+8kUrL65KvGHw0PQjLu4NyhHawu8ENkcAPDBrnPcIoOaJEk3y5k+fTrGjRuHsLAwhIeH44svvkBiYiImTZoEoHxoKjk5Gd9++63hNXFxcQCA/Px8pKenIy4uDhYWFmjTpg0AYMqUKejVqxfeffddDBkyBFu2bMFvv/2GAwcONPj7I6KaS8gswKs/nQAAPNs7EPe25jo/Uniyuz++PXgF13KK8c3BK3i2d5DUkYjqlKQF0IgRI5CZmYn58+cjJSUF7dq1w7Zt2+DnVz7+nJKSUmlNoE6dOhn+HBMTgzVr1sDPzw9XrlwBAHTv3h3r1q3D3Llz8frrryMoKAjr169H165dG+x9EVHtFJfdnPdTokWYnyNm9G8ldSSzpVEpML1/K8z48Tg+3X0Rw8N84GhtIXUsojoj6TpAjRXXASKSxuubT+F/hxLgaKXCtikR8LTn0JeUdHqBwUv342xqHib0DMDcB9pIHYnotkxiHSAion/7+fg1/O9QAgDgwxEdWfw0Agq5DLMGBQMAvo3mFhnUtLAAIiLJxWcUYNbGkwCA5/sEIbKVm8SJqEKvFi6GLTI+2HVO6jhEdYYFEBFJqrhMh+e/j0V+iRZdApwwvV9LqSPRv8hkMswaWN4LtDnuGk4l50iciKhusAAiIkm9+fPfOJOSC2drC3wyqhMXO2yE2jWzx8M3t8jgRqnUVPA3DRFJZktcMtYeToRMBiwZ2RHudhqpI9EtTOlb3jO3+1wart7gXCAyfSyAiEgSl9LzMfvmvJ+XIpsjooWrxInodgJcrNGjuTOEANYf4XZBZPpYABFRgysq1eGF72NRUKpDt0AnQ+8CNW6juvgCKC+AtDq9xGmI7g4LICJqcG9sPY2zqXlwsVFj6chOUMjvbgNkahj923jA2doCaXkl+P1smtRxiO4KCyAialAbY69i/dEkyGTAxyM7wo3zfkyGhVKOx8K8AQBrDyfeoTVR48YCiIgazIXreZiz6RQAYMp9LdCjuYvEiaimRt1TPgy293w6F0Ykk8YCiIgaRGGpFs9/H4uiMh16NnfBS/e2kDoS1YK/izV6NneBEMAPRzkZmkwXCyAiahCvbz6NC2n5cLNVY8nIjpz3Y8L+PRm6jJOhyUSxACKievfD0SRsiL0KuQxYOqoTXGzUUkeiu9CvjTtcbG5Ohj7DydBkmlgAEVG9Opeah//bUj7v5+X+rdAt0FniRHS3LJRyPBbqA4CTocl0sQAionpTUKLF89/HoLhMj94tXfFc7yCpI1EdGdWlvADad4GTock0sQAionohhMCcTSdxKb0AHnYafDSiI+Sc99Nk+Dn/MxmaK0OTKWIBRET1Yt2RJGyOuwaFXIZPR3eCk7WF1JGojo3uenMy9FFOhibTwwKIiOrc39dyMW/raQDAKwNaIczfSeJEVB/KJ0Orkc7J0GSCWAARUZ1KzyvBc9/HoFSrx72t3fBMRKDUkaieqBRyDLu5MvQaToYmE8MCiIjqTE5RGR7/+jASMgvh7WiJD4aFcN5PE1exMvR+ToYmE8MCiIjqRFGpDuNXH8GZlFy42Kjx3fiucOS8nybP19kKES3KJ0OvO8JeIDIdLICI6K6VavWY9F0MjibcgJ1Gif+N7wJ/F2upY1EDGX1zZegfjl7lZGgyGSyAiOiu6PQC03+Iw97z6dCo5Fj11D0I9rSTOhY1oL5Gk6GvSx2HqFpYABFRrQkh8PqWU/jlRApUChk+HxeGUD/e8WVuVAo5ht+cDP39XxwGI9PAAoiIau39neew5q9EyGTAkhGd0Lulq9SRSCIVG6Tuv5DBydBkElgAEVGtfL73EpbtuQQAePuR9hjcwVPiRCQlH6fyydAA9wcj08ACiIhqbO3hRCzafhYAMHNga8O//sm8jenKydBkOlgAEVGN/HoiBbM3nQQAPNcnCJO4wSnddF+wO1xt1cjIL0HU35wMTY0bCyAiqrZ959Mxdf0xCFE+5+PVAa2kjkSNiEohx2Oh5ZOht8ZdkzgN0e2xACKiaolLysak72JQphN4oIMn3nq4HWQyrvJMxga3L58Ltvd8OorLdBKnIbo1FkBEdEeX0/Px9OojKCzVIaKFCz4c3hEKbnFBVWjrZYdmDpYoKtNh3/l0qeMQ3RILICK6reu5xRi38jCyCkrRwdsey8eGwkLJXx1UNZlMhv5t3QEAO09zHhA1XvwtRkS3lFtchie+Pozk7CL4O1vh6yfvgY1aKXUsauQGtPUAAPx+9jq0vBuMGikWQERUpeIyHSZ+cxRnU/PgaqvG/8Z3hYuNWupYZALu8XeCk7UFsgvLcDg+S+o4RFViAURElej0AlPXxeGv+CzYqpVY/dQ98HGykjoWmQiFXIa+wW4AgJ2nUyVOQ1Q1FkBEZEQIgf/bcgo7TqfCQiHHF4+Hoa2XvdSxyMRUDIPt+vs6hBASpyGqjAUQERlZ+vtFfF+xv9fIjggPcpY6EpmgHs1dYG2hQEpOMU5czZE6DlElLICIyGDNX4n46LfzAID5D7XFoPbc34tqR6NSoE8rDoNR48UCiIgAADtOpWLu5vItLibf2xzjwv2lDUQm75/b4VkAUePDAoiIEJOQhcnrjkEvgFFdfDCtX0upI1ETENnaDSqFDJfSC3AxLV/qOERGWAARmbmcojK8tOYYSrV69A12x4Ih3OKC6oadRoXuQS4A2AtEjQ8LICIz939bTuFaTjH8nK3w8ciOUCr4a4HqjuFuMBZA1MjwNx2RGdsSl4wtcdegkMvw0YiOsOYqz1TH+rVxh0wGHL+ag5ScIqnjEBmwACIyU8nZRZi7+RQA4KV7m6Ozr6PEiagpcrVVI/Tmz9Yu7g1GjQgLICIzpNMLTF8fh7xiLTr6OODFyOZSR6ImrGIYjPOAqDFhAURkhr7afxl/xWfBykKBJSM474fqV0UB9Fd8Fm4UlEqchqgcf+sRmZnT13KweNc5AMC8B9vA38Va4kTU1Pk6W6G1hy10eoHfz6ZJHYcIAAsgIrNSXKbD1HVxKNMJ9G/jjuFhPlJHIjPBYTBqbFgAEZmRd7afxYW0fLjaqvHO0A5c74caTEUBtO98OgpLtRKnIWIBRGQ29p5Px+qDVwAA7z/WAU7WFtIGIrMS7GkLHydLlGj12Hc+Xeo4RCyAiMxBVkEpZvx4HADwRLifYZNKooYik8kwoE3FMBhvhyfpSV4ALVu2DAEBAdBoNAgNDcX+/ftv237v3r0IDQ2FRqNBYGAgVqxYUanNkiVL0KpVK1haWsLHxwfTpk1DcXFxfb0FokZNCIGZG04gPa8Ezd1sMGtQsNSRyEwNaFdeAP1+5jpKtXqJ05C5k7QAWr9+PaZOnYo5c+bg2LFjiIiIwMCBA5GYmFhl+/j4eAwaNAgRERE4duwYZs+ejcmTJ2PDhg2GNt9//z1mzpyJefPm4cyZM1i5ciXWr1+PWbNmNdTbImpUfjx6Fbv+vg6VQoYlIzpCo1JIHYnMVGdfR7jYWCC3WItDlzOljkNmTtIC6MMPP8T48eMxYcIEBAcHY8mSJfDx8cHy5curbL9ixQr4+vpiyZIlCA4OxoQJE/D0009j8eLFhjbR0dHo0aMHRo8eDX9/f/Tv3x+jRo3C0aNHG+ptETUaCZkFeOPn0wCAl/u3Qrtm9hInInOmkMvQr407AN4NRtKTrAAqLS1FTEwM+vfvb3S8f//+OHjwYJWviY6OrtR+wIABOHr0KMrKygAAPXv2RExMDA4fPgwAuHz5MrZt24bBgwffMktJSQlyc3ONHkSmTq8XeOXHEygs1aFLgBMmRgRKHYkI/W/eDRb193Xo9ULiNGTOJCuAMjIyoNPp4O7ubnTc3d0dqalV/8sgNTW1yvZarRYZGRkAgJEjR2LBggXo2bMnVCoVgoKCEBkZiZkzZ94yy6JFi2Bvb294+PhwbRQyfasOXsHhK1mwtlDgg2EhUMh5yztJr3uQM2zUSqTlleBYUrbUcciMST4J+r/rkAghbrs2SVXt/318z549WLhwIZYtW4bY2Fhs3LgRv/zyCxYsWHDLc86aNQs5OTmGR1JSUm3fDlGjcDk9H+/tOAsAmD04GD5OVhInIiqnVioQ2br8LsRdHAYjCSml+sYuLi5QKBSVenvS0tIq9fJU8PDwqLK9UqmEs7MzAOD111/HuHHjMGHCBABA+/btUVBQgGeeeQZz5syBXF655lOr1VCr1XXxtogkp9MLzPjxOEq0ekS0cMHoLr5SRyIyMqCtO34+fg07T6di5sDWXJCTJCFZD5CFhQVCQ0MRFRVldDwqKgrdu3ev8jXh4eGV2u/atQthYWFQqVQAgMLCwkpFjkKhgBDC0FtE1JR9tf8yYhOzYatW4l2u9kyNUJ9WbrBQynElsxDnr+dLHYfMlKRDYNOnT8dXX32Fr7/+GmfOnMG0adOQmJiISZMmASgfmnr88ccN7SdNmoSEhARMnz4dZ86cwddff42VK1dixowZhjYPPvggli9fjnXr1iE+Ph5RUVF4/fXX8dBDD0Gh4O2/1LRduJ6HD6LOAwBef6ANvBwsJU5EVJmNWokeQeW99rvPcXNUkoZkQ2AAMGLECGRmZmL+/PlISUlBu3btsG3bNvj5+QEAUlJSjNYECggIwLZt2zBt2jR89tln8PLywtKlSzF06FBDm7lz50Imk2Hu3LlITk6Gq6srHnzwQSxcuLDB3x9RQ9Lq9Hj5x+Mo1eoR2coVw8K8pY5EdEu9W7pi97l07Dufjkm9g6SOQ2ZIJjguVElubi7s7e2Rk5MDOzs7qeMQVctnuy/i/Z3nYKdRYte03vCw10gdieiWLqXn474P9sJCIUfcvH6wspD03+PURNTk81vyu8CI6O6dScnFkt/Kh77eeKgtix9q9AJdrNHMwRKlOj3+upwldRwyQyyAiExcmU6Pl384jjKdQL827nikUzOpIxHdkUwmQ6+WLgCAfRe4Ozw1PBZARCbu0z8u4u+UXDhYqbDwkXa864tMRq8WrgCAfedZAFHDYwFEZMJOJefgs90XAQALhrSDmy2Hvsh0dA9ygVwGXEovQHJ2kdRxyMywACIyUSVaHV7+4Ti0eoFB7T3wQAdPqSMR1Yi9lQodfRwAAAc4DEYNjAUQkYla+vsFnLueB2drCywYwqEvMk0RhmGwDImTkLlhAURkgs6k5GL5nksAgLcebgdnG27lQqapV8vyAujAxQzouDs8NSAWQEQmRgiBt379G3oBDGzngYHtOfRFpivE2x62GiVyispw4mq21HHIjLAAIjIxf5xNw58XM2GhkGP2oGCp4xDdFaVCjp7Ny2+H33+Bw2DUcFgAEZmQMp0eC7edAQA83TMAPk5WEiciunsRvB2eJMACiMiEfHcoAZfTC+BsbYEXIrl/EjUNES3Ke4COJWUjt7hM4jRkLlgAEZmI7MJSLPntAgBgev+WsNWoJE5EVDd8nKwQ6GINnV7g4MVMqeOQmWABRGQilv5+ETlFZWjlbosRYT5SxyGqUxW9QPu5HhA1EBZARCbgcno+vo2+AgCYMzgYSgX/6lLTUnE7/L4L6RCCt8NT/eNvUSIT8Pa2s9DqBSJbuRo+KIiakm6BzlApZEjKKkJCZqHUccgMsAAiauQOXszAb2euQyGXYc5g3vZOTZO1WolQP0cAHAajhsECiKgR0+kFFvxaftv72K6+aO5mK3EiovpTcTv8Xm6LQQ2ABRBRI/ZTTBLOpOTCVqPElL4tpY5DVK963xzejb6UgTKdXuI01NSxACJqpPJLtHh/53kAwJT7WsDJ2kLiRET1q42nHZytLVBQqkNswg2p41ATxwKIqJFasecSMvJL4O9shcfD/aWOQ1Tv5HIZerbgthjUMFgAETVCydlF+HL/ZQDArEHBsFDyryqZB8O2GJwITfWMv1WJGqF3t59FiVaPrgFO6N/GXeo4RA2m180eoJPJOcgqKJU4DTVlLICIGpnYxBvYevwaZDLg9QfaQCaTSR2JqMG42WnQ2sMWQgAHLnIYjOoPCyCiRkQIgYU3b3t/rLM32jWzlzgRUcOrWOxzP3eHp3rEAoioEdl/IQMxCTegUckxY0ArqeMQSaJiXzBui0H1iQUQUSPy2e6LAIBRXXzhbqeROA2RNO7xd4JaKcf13BJcSMuXOg41USyAiBqJo1ey8Fd8FlQKGZ7pFSh1HCLJaFQKdA10BgDs4zAY1RMWQESNxKc3e38eC/WGp72lxGmIpNXLMAzGidBUP1gAETUCp5JzsOdcOuQy4NleQVLHIZJcxUTovy5norhMJ3EaaopYABE1AhVzfx4M8YK/i7XEaYik18LNBh52GpRo9ThyJUvqONQEsQAiktjFtDzsOJ0KAHi+T3OJ0xA1DjKZzHA3GLfFoPrAAohIYsv2XIIQQP827mjlYSt1HKJGI+LmMBgnQlN9YAFEJKGkrEJsibsGAHghkr0/RP/Ws7kLZDLgbGoe0nKLpY5DTQwLICIJrdh7CTq9QEQLF4T4OEgdh6hRcbK2QDuv8tXQoy9nSpyGmhoWQEQSuZ5bjB+PXgXA3h+iW+keVL4e0MGLLICobrEAIpLIV/svo1SnR5ifI7oGOEkdh6hR6lZRAF3mRGiqWyyAiCRwo6AU3/+VCKC894c7vhNV7R5/JyjlMiRlFSEpq1DqONSEsAAiksCqP+NRWKpDWy879GnlKnUcokbLRq00zI+LvsRhMKo7LICIGlhecRlWH7wCgL0/RNVhmAd0icNgVHdYABE1sP8dSkBusRZBrta4v62H1HGIGr3wmwVQ9OVMCCEkTkNNBQsgogZUVKrDyv3xAIDn+jSHXM7eH6I76ezrCAulHNdzS3A5o0DqONREsAAiakDrjyQis6AU3o6WGNLRS+o4RCZBo1IgzM8RAHCQ84CojrAAImogpVo9Pt93GQDwbO8gqBT860dUXRXzgKI5D4jqSK1/A+/fvx9jx45FeHg4kpOTAQD/+9//cODAgToLR9SUbDp2FSk5xXC1VWNYqLfUcYhMimEe0KVM6PWcB0R3r1YF0IYNGzBgwABYWlri2LFjKCkpAQDk5eXh7bffrtOARE2BXi8MvT8TIwKgUSkkTkRkWjp4O8DKQoEbhWU4m5ondRxqAmpVAL311ltYsWIFvvzyS6hUKsPx7t27IzY2ts7CETUVey+k43J6AWzUSozq4it1HCKTo1LI0eXmium8HZ7qQq0KoHPnzqFXr16VjtvZ2SE7O/tuMxE1Oav+vAIAGBbmDVuN6vaNiahK3f81DEZ0t2pVAHl6euLixYuVjh84cACBgYF3HYqoKbmYlo9959MhkwFPdveXOg6Ryeoe5AIA+Cs+C1qdXuI0ZOpqVQA9++yzmDJlCv766y/IZDJcu3YN33//PWbMmIHnn3++rjMSmbTVB8vX/bmvtRv8nK0lTkNkuoI97WBvqUJ+iRanruVKHYdMnLI2L3r11VeRk5ODyMhIFBcXo1evXlCr1ZgxYwZefPHFus5IZLJyCsuwIab8LsmnegRInIbItCnkMnQLdMLO09dx8FIGOt7cI4yoNmp9G/zChQuRkZGBw4cP49ChQ0hPT8eCBQvqMhuRyVt/NBFFZTq0crc1zF8gotqrGAbjPCC6W3e1EpuVlRXCwsLQunVr/Pbbbzhz5kyNz7Fs2TIEBARAo9EgNDQU+/fvv237vXv3IjQ0FBqNBoGBgVixYkWlNtnZ2XjhhRfg6ekJjUaD4OBgbNu2rcbZiO6GVqfHNwcTAABP9vDnpqdEdaDiHxJHrmShRKuTOA2ZsloVQMOHD8enn34KACgqKsI999yD4cOHo0OHDtiwYUO1z7N+/XpMnToVc+bMwbFjxxAREYGBAwciMTGxyvbx8fEYNGgQIiIicOzYMcyePRuTJ082+p6lpaXo168frly5gp9++gnnzp3Dl19+iWbNmtXmrRLV2m9n0pCcXQQHKxUe7sifP6K60NzNBi42ahSX6RGXmC11HDJhtSqA9u3bh4iICADApk2boNfrkZ2djaVLl+Ktt96q9nk+/PBDjB8/HhMmTEBwcDCWLFkCHx8fLF++vMr2K1asgK+vL5YsWYLg4GBMmDABTz/9NBYvXmxo8/XXXyMrKwubN29Gjx494Ofnh549eyIkJKQ2b5Wo1lb9WT75eVQXX1hacOFDorogk8kMq0JzXzC6G7UqgHJycuDkVL4g1Y4dOzB06FBYWVlh8ODBuHDhQrXOUVpaipiYGPTv39/oeP/+/XHw4MEqXxMdHV2p/YABA3D06FGUlZUBALZu3Yrw8HC88MILcHd3R7t27fD2229Dp7t1V2lJSQlyc3ONHkR34/S1HPwVnwWFXIbHw/2kjkPUpHA9IKoLtSqAfHx8EB0djYKCAuzYscNQlNy4cQMajaZa58jIyIBOp4O7u7vRcXd3d6Smplb5mtTU1Crba7VaZGSUrwx6+fJl/PTTT9DpdNi2bRvmzp2LDz74AAsXLrxllkWLFsHe3t7w8PHxqdZ7ILqV1TcXPhzYzgOe9pbShiFqYioKoGNJN1BYqpU4DZmqWhVAU6dOxZgxY+Dt7Q0vLy/06dMHQPnQWPv27Wt0rv9ODBVC3HayaFXt/31cr9fDzc0NX3zxBUJDQzFy5EjMmTPnlsNqADBr1izk5OQYHklJSTV6D0T/lplfgi3HrwHgre9E9cHXyQrNHCxRphM4euWG1HHIRNVqHaDnn38eXbp0QVJSEvr16we5vLyOCgwMrPYcIBcXFygUikq9PWlpaZV6eSp4eHhU2V6pVMLZufxfBJ6enlCpVFAo/plzERwcjNTUVJSWlsLCwqLSedVqNdRqdbVyE93Jmr8SUarVI8TbHp19HaSOQ9TkVMwD+inmKqIvZ6JXS1epI5EJqvVt8GFhYXjkkUdgY2NjODZ48GD06NGjWq+3sLBAaGgooqKijI5HRUWhe/fuVb4mPDy8Uvtdu3YhLCzMsClrjx49cPHiRej1/yyTfv78eXh6elZZ/BDVpVKtHv87VH7r+1M9AnjrO1E96c6J0HSXatUDpNPpsHr1avz+++9IS0szKjYA4I8//qjWeaZPn45x48YhLCwM4eHh+OKLL5CYmIhJkyYBKB+aSk5OxrfffgsAmDRpEj799FNMnz4dEydORHR0NFauXIm1a9cazvncc8/hk08+wZQpU/DSSy/hwoULePvttzF58uTavFWiGtl+KgVpeSVws1VjUHtPqeMQNVkVd4KdvJqN3OIy2HGTYaqhWhVAU6ZMwerVqzF48GC0a9eu1v/KHTFiBDIzMzF//nykpKSgXbt22LZtG/z8yu+aSUlJMVoTKCAgANu2bcO0adPw2WefwcvLC0uXLsXQoUMNbXx8fLBr1y5MmzYNHTp0QLNmzTBlyhS89tprtcpIVBNf35z8PLabHyyUd7XOKBHdhqe9JQJcrBGfUYDDl7PQt03VUyeIbkUmKmYR14CLiwu+/fZbDBo0qD4ySS43Nxf29vbIycmBnZ2d1HHIRMQm3sCjyw7CQiHHwVn3wsWG88qI6tPsTSex5q9EPN0jAP/3YBup41AjUJPP71r9E9XCwgLNmzevVTiipmrVzd6fhzp6sfghagD/zAPKkDgJmaJaFUAvv/wyPv74Y9Si84ioSUrNKcb2kykAgKd6+EsbhshMdAssL4DOpuYhM79E4jRkamo1B+jAgQPYvXs3tm/fjrZt2xruwKqwcePGOglHZCr+d+gKtHqBLgFOaOtlL3UcIrPgYqNGaw9bnE3Nw6HLWRjcgTceUPXVqgBycHDAI488UtdZiExScZkOa/4qn6z/NHt/iBpUeJAzzqbm4eClDBZAVCO1KoBWrVpV1zmITNaWuGTcKCxDMwdL9GvjIXUcIrPSPcgFq/68gujLXA+IaqZWBVCF9PR0nDt3DjKZDC1btoSrK1fjJPMihMA3B8sXPnw83A8KORc+JGpIXQKcIJcBl9MLkJpTDA/76u1HSVSrSdAFBQV4+umn4enpiV69eiEiIgJeXl4YP348CgsL6zojUaMVm3gDf6fkQq2UY8Q93ESXqKHZW6rQrln5vLvoy7wbjKqvVgXQ9OnTsXfvXvz888/Izs5GdnY2tmzZgr179+Lll1+u64xEjdb/ost7fx4K8YKDFbdaIZJCxarQBy9yGIyqr1YF0IYNG7By5UoMHDgQdnZ2sLOzw6BBg/Dll1/ip59+quuMRI1SRn4Jtp0s35x3XLifxGmIzFf3IBcA3BeMaqZWBVBhYWGVO7a7ublxCIzMxvojSSjV6RHi44AO3g5SxyEyW2F+jlDIZUjOLsK17CKp45CJqFUBFB4ejnnz5qG4uNhwrKioCG+++SbCw8PrLBxRY6XTC3x/c9f3x7ux94dIStZqJdp4lm97cDThhsRpyFTU6i6wjz/+GPfffz+8vb0REhICmUyGuLg4aDQa7Ny5s64zEjU6v5+5jms5xXC0UnHtEaJGIMzfESeTc3D0ShYeCvGSOg6ZgFoVQO3atcOFCxfw3Xff4ezZsxBCYOTIkRgzZgwsLS3rOiNRo/O/m70/w+/xgUalkDgNEYX5OWHVn1dw5Ap7gKh6ar0OkKWlJSZOnFiXWYhMwuX0fOy/kAGZDBjblcNfRI1BmL8jAOBcai5yi8tgp1Hd4RVk7mo1BwgAzp07hxdffBH33Xcf+vbtixdffBFnz56ty2xEjdJ3h8q3vYhs5QYfJyuJ0xARALjbaeDrZAW9AI4lZksdh0xArQqgn376Ce3atUNMTAxCQkLQoUMHxMbGon379vjxxx/rOiNRo1FYqsWPMUkAeOs7UWMT5lfeCxRzJUviJGQKajUE9uqrr2LWrFmYP3++0fF58+bhtddew7Bhw+okHFFjszXuGvKKtfB1skLvFtz6hagxCfN3wsZjyZwHRNVSqx6g1NRUPP7445WOjx07FqmpqXcdiqgxEkLg25srP4/t5gs59/0ialQq5gHFJWWjTKeXOA01drUqgPr06YP9+/dXOn7gwAFERETcdSiixig2Mduw79ewUO77RdTYNHe1gb2lCkVlOvx9LVfqONTI1WoI7KGHHsJrr72GmJgYdOvWDQBw6NAh/Pjjj3jzzTexdetWo7ZETcH/oq8AAB4M8YKjNff9Imps5HIZwvwc8fvZNBy5koUQHwepI1EjJhNCiJq+SC6vXseRTCaDTqercSip5ebmwt7eHjk5ObCzs5M6DjUCGfkl6L7oD5Tq9Nj6Yg9ufUHUSC3bcxHv7TiHge08sHxsqNRxqIHV5PO7Vj1Aej3HVsm8cN8vItNwj78TAODIlRsQQkAm41w9qlqt1wH6r+zs7Lo6FVGjotMLrPmrfO2fcdz3i6hRa9/MHhYKOTLyS5CYxc256dZqVQC9++67WL9+veHrYcOGwcnJCc2aNcPx48frLBxRY/DH2TQkZxfBwUqFB7jvF1GjplEp0N7bHgB4OzzdVq0KoM8//xw+PuV3wURFReG3337Djh07MHDgQLzyyit1GpBIat/enPw8Ioz7fhGZgooFEY9yQUS6jVrNAUpJSTEUQL/88guGDx+O/v37w9/fH127dq3TgERSis8o+GffLw5/EZmEMH8nfL7vMo4msAeIbq1WPUCOjo5ISirfDmDHjh3o27cvgPKF4kzxri+iW/nu5q7v3PeLyHSE3uwBupiWjxsFpRKnocaqVgXQo48+itGjR6Nfv37IzMzEwIEDAQBxcXFo3rx5nQYkkkpRqQ4/Hr257xd7f4hMhpO1BYJcrQEAMewFoluoVQH00Ucf4cUXX0SbNm0QFRUFGxsbAOVDY88//3ydBiSSys/HryG3Yt+vltz3i8iUGG6HT+A8IKpareYAqVQqzJgxo9LxqVOn3m0eokZjzeHyW99HdeG+X0SmJtTPEeuOJOEo7wSjW6j1OkD/+9//0LNnT3h5eSEhoXyexJIlS7Bly5Y6C0cklbOpuYhLyoZSLsNjod5SxyGiGqroATp5NQfFZZybSpXVqgBavnw5pk+fjoEDByI7O9sw8dnBwQFLliypy3xEklh3uHzuT7827nC1VUuchohqys/ZCi42FijV6XEyOUfqONQI1aoA+uSTT/Dll19izpw5UCj+WRclLCwMJ0+erLNwRFIoLtNhY+xVAMDILr4SpyGi2pDJZAjzK+8F4jAYVaVWBVB8fDw6depU6bharUZBQcFdhyKS0raTKcgt1qKZgyUimrtIHYeIainMnwsi0q3VqgAKCAhAXFxcpePbt29HcHDw3WYiklTF8NfIe3w4+ZnIhIXdnAd0NOEG9HohcRpqbGp1F9grr7yCF154AcXFxRBC4PDhw1i7di3efvttrFy5sq4zEjWYi2l5OHwlC3IZMCzMR+o4RHQX2nrZQaOSI6eoDJfS89HC3VbqSNSI1KoAeuqpp6DVavHqq6+isLAQo0ePRrNmzfDJJ58gIiKirjMSNZiK3p97W7vDw14jcRoiuhsqhRwdfRxw6HIWjly5wQKIjNT6NviJEyciISEBaWlpSE1NxeHDh3Hs2DGuBE0mq0Srw4abk59HdWHvD1FTcI9hGIzzgMhYjQqg7OxsjBkzBq6urvDy8sLSpUvh5OSEzz77DM2bN8ehQ4fw9ddf11dWonq16/R13Cgsg4edhis/EzURoYad4XknGBmr0RDY7NmzsW/fPjzxxBPYsWMHpk2bhh07dqC4uBjbtm1D79696ysnUb1be3Pl5+Fh3lAqat05SkSNSGc/R8hkQGJWIdJyi+Fmx6FtKlej3/K//vorVq1ahcWLF2Pr1q0QQqBly5b4448/WPyQSUvILMDBS5mQyYDh93D4i6ipsNOo0NrDDkD53WBEFWpUAF27dg1t2rQBAAQGBkKj0WDChAn1EoyoIa07Uj75uVcLV3g7WkmchojqUtjNYbAjXA+I/qVGBZBer4dKpTJ8rVAoYG1tXeehiBpSmU6PH49y8jNRU1WxIGIMe4DoX2o0B0gIgSeffBJqdfneSMXFxZg0aVKlImjjxo11l5Conv1+5joy8kvgYqPGfcHuUschojpWsSDi6Wu5KCjRwlpdqxVgqImp0U/BE088YfT12LFj6zQMkRTW3lz7Z1iYN1Sc/EzU5DRzsISXvQbXcopxPCkb3bnFDaGGBdCqVavqKweRJK7eKMS+C+kAyre+IKKmKdTfCdeOX8ORKzdYABGAu1gIkagp+OFIEoQAugc5w8+Z89mImqp7KjZG5YKIdBMLIDJbWp0ePxgmP/tKnIaI6lOYX/k8oNiEG9Dq9BKnocaABRCZrb3n05GaWwxHKxX6t+XkZ6KmrJWHLWzVShSU6nA2NU/qONQIsAAis1Wx8vPQzt5QKxUSpyGi+qSQy9DJj7fD0z9YAJFZSs0pxh9n0wAAIzn8RWQWuCAi/ZvkBdCyZcsQEBAAjUaD0NBQ7N+//7bt9+7di9DQUGg0GgQGBmLFihW3bLtu3TrIZDI8/PDDdZyaTN2PR5OgF0AXfyc0d7OROg4RNYCKAuhYYra0QahRkLQAWr9+PaZOnYo5c+bg2LFjiIiIwMCBA5GYmFhl+/j4eAwaNAgRERE4duwYZs+ejcmTJ2PDhg2V2iYkJGDGjBmIiIio77dBJkavF4atL0Zy5Wcis9HBxwEyGZCcXYTrucVSxyGJSVoAffjhhxg/fjwmTJiA4OBgLFmyBD4+Pli+fHmV7VesWAFfX18sWbIEwcHBmDBhAp5++mksXrzYqJ1Op8OYMWPw5ptvIjAwsCHeCpmQAxczkJxdBDuNEoPae0odh4gaiI1aiVbutgDYC0QSFkClpaWIiYlB//79jY73798fBw8erPI10dHRldoPGDAAR48eRVlZmeHY/Pnz4erqivHjx1crS0lJCXJzc40e1HStP1re+/Nwp2bQqDj5mcicdPJ1AADEJWVLmoOkJ1kBlJGRAZ1OB3d349uP3d3dkZqaWuVrUlNTq2yv1WqRkZEBAPjzzz+xcuVKfPnll9XOsmjRItjb2xsePj4cFmmqbhSUIur0dQDA8DD+fyYyN518KuYB8U4wcyf5JGiZTGb0tRCi0rE7ta84npeXh7Fjx+LLL7+Ei0v1lzqfNWsWcnJyDI+kpKQavAMyJZvjklGq06Otlx3aNbOXOg4RNbCKHqATV3O4IKKZk2xLXBcXFygUikq9PWlpaZV6eSp4eHhU2V6pVMLZ2RmnT5/GlStX8OCDDxqe1+vLf8CVSiXOnTuHoKCgSudVq9WGHe6p6RJCYP3Nyc8juO8XkVkKcrWBrVqJvBItzl3PQ1sv/kPIXEnWA2RhYYHQ0FBERUUZHY+KikL37t2rfE14eHil9rt27UJYWBhUKhVat26NkydPIi4uzvB46KGHEBkZibi4OA5tmbmTyTk4m5oHC6UcQ0KaSR2HiCQgl8sQ4uMAgBOhzZ1kPUAAMH36dIwbNw5hYWEIDw/HF198gcTEREyaNAlA+dBUcnIyvv32WwDApEmT8Omnn2L69OmYOHEioqOjsXLlSqxduxYAoNFo0K5dO6Pv4eDgAACVjpP5qej9ub+tB+ytVBKnISKpdPJ1wIGLGTiWmI2x3fykjkMSkbQAGjFiBDIzMzF//nykpKSgXbt22LZtG/z8yn8gU1JSjNYECggIwLZt2zBt2jR89tln8PLywtKlSzF06FCp3gKZiKJSHbbGXQPA4S8ic1cxD+hYEidCmzOZqJhFTAa5ubmwt7dHTk4O7OzspI5DdWBj7FVM/+E4fJwssXdGJOTyW0+0J6KmLaugFJ0XlE+nOP5//dkj3ITU5PNb8rvAiBrCDzfX/hkW6sPih8jMOVlbwN/ZCgAQdzVb2jAkGRZA1OQlZBbg0OUsyGTAY6HeUschokagky/XAzJ3LICoyavo/Ylo4QovB0uJ0xBRY2CYB8Q7wcwWCyBq0rQ6PX6KuQoAGMGVn4nopooVoeOSsqHXcyqsOWIBRE3avgvpuJ5bAkcrFfq2cZM6DhE1Eq09baFWypFTVIb4zAKp45AEWABRk1ax9s8jnbyhVnLjUyIqp1LI0f7mdjgcBjNPLICoycrIL8HvZ9IAcO0fIqrsn3lAnAhtjlgAUZO1KTYZWr1AiI8DWnnYSh2HiBqZijvB4pKypQ1CkmABRE2SEALrb979NTyMt74TUWUVPUBnU/NQWKqVNgw1OBZA1CTFJmbjYlo+NCo5HgzxkjoOETVCnvaW8LDTQKcXOHk1R+o41MBYAFGT9MPNyc+D2nvCTsNl7omoav/sC5YtaQ5qeCyAqMkpKNHilxM3Nz7l2j9EdBucCG2+WABRk/PryRQUlOoQ4GKNLgFOUschokasYiJ0bGI2uDe4eWEBRE1OxfDXsDBvyGTc+JSIbq2dlz0UchnS80pwLadY6jjUgFgAUZNyMS0fRxNuQC4Dhnbm3V9EdHuWFgoEe5Yvk8FhMPPCAoialB9v3voe2coN7nYaidMQkSkw7AvGFaHNCgsgajLKdHpsiE0GAAznys9EVE28E8w8sQCiJmPPuXRk5JfAxcYC97bmxqdEVD0VE6FPJuegVKuXOA01FBZA1GT8cLRi49NmUCn4o01E1ePvbAUHKxVKtXqcScmVOg41EH5KUJOQnleC3WfLNz4dxrV/iKgGZDIZOvk4AOBEaHPCAoiahM3Hyjc+7ejjgJbu3PiUiGqmYhiM84DMBwsgMnlCCMPw1zBufEpEtdDR0AOULWkOajgsgMjkHb+agwtp+VArufEpEdVOyM0CKDGrEJn5JdKGoQbBAohMXkXvDzc+JaLasrdUobmbDQAgjsNgZoEFEJm0olIdfo4r3/h0WCiHv4io9jpxGMyssAAik7bzdCrySrTwdrREt0BnqeMQkQn7ZyI07wQzByyAyKT9GFM+/PVYqDfkcm58SkS1V7Ei9PGkHOj03Bm+qWMBRCYrKasQf17MhExWXgAREd2Nlu62sLJQIL9Ei4tp+VLHoXrGAohM1k8xVwEAPYJc4O1oJXEaIjJ1CrkMId4OALggojlgAUQmSa8XhgKIa/8QUV0xbIzKidBNHgsgMknRlzORnF0EW40SA9p6SB2HiJqIigUReSt808cCiEzSjzfX/hnS0QsalULiNETUVHS82QN0Pi0PecVl0oahesUCiExOTlEZtp9KBQAMC+XGp0RUd9xsNfB2tIQQwImrOVLHoXrEAohMzs/Hr6FEq0crd1t08LaXOg4RNTEV6wHFJnAidFPGAohMzo//mvwsk3HtHyKqW2F+5QXQX/FZEieh+sQCiEzKudQ8HE/KhlIuw8Odmkkdh4iaoO5B5avKH7mShRKtTuI0VF9YAJFJqZj8fF+wG1xs1BKnIaKmqLmbDVxs1CjR6nk7fBPGAohMRplOj03HkgFw8jMR1R+ZTGboBTp4KVPiNFRfWACRyfjjbBoyC0rhaqtGn1auUschoiasogCKvpQhcRKqLyyAyGT8eLR88vOjnZtBqeCPLhHVn+5BLgDKF0QsLNVKnIbqAz9FyCSk5RVj97k0ABz+IqL65+NkiWYOlijTCRy9wtvhmyIWQGQSNsUmQ6cX6OzrgOZuNlLHIaImjvOAmj4WQNToCSHww827v4aFsfeHiBpGOOcBNWksgKjROxyfhUvpBbCyUODBEC+p4xCRmagogE4m5yCniPuCNTUsgKjRW3M4EUD5xqc2aqXEaYjIXHjaWyLQxRp6Uf4PMWpaWABRo3ajoBTbT5ZvfDq6i5/EaYjI3IQb5gFxGKypYQFEjdqG2Kso1enRrpkd2nPjUyJqYBW3w0dzInSTwwKIGi0hhGH4i70/RCSFboFOAICzqXnIyC+ROA3VJRZA1Gj9FZ+Fy+kFsLZQ4KGOnPxMRA3P2UaN1h62AIBDl9kL1JSwAKJGa81f5b0/D3VsxsnPRCSZimEwrgfUtLAAokYpq6AUO06VT34e09VX4jREZM4qFkQ8xAKoSZG8AFq2bBkCAgKg0WgQGhqK/fv337b93r17ERoaCo1Gg8DAQKxYscLo+S+//BIRERFwdHSEo6Mj+vbti8OHD9fnW6B6sCGmfPJz+2b2aNeMk5+JSDpdAp0glwGXMwqQklMkdRyqI5IWQOvXr8fUqVMxZ84cHDt2DBERERg4cCASExOrbB8fH49BgwYhIiICx44dw+zZszF58mRs2LDB0GbPnj0YNWoUdu/ejejoaPj6+qJ///5ITk5uqLdFd0kIgbUVk5/Z+0NEErPTqND+5j/EeDdY0yETQgipvnnXrl3RuXNnLF++3HAsODgYDz/8MBYtWlSp/WuvvYatW7fizJkzhmOTJk3C8ePHER0dXeX30Ol0cHR0xKefforHH3+8Wrlyc3Nhb2+PnJwc2NnZ1fBd0d2KvpSJUV8egrWFAn/N6cv5P0QkuXe2n8WKvZfwWKg3Fg8LkToO3UJNPr8l6wEqLS1FTEwM+vfvb3S8f//+OHjwYJWviY6OrtR+wIABOHr0KMrKql6mvLCwEGVlZXBycrpllpKSEuTm5ho9SDqGlZ87cfIzETUO3Q37gmVCwn4DqkOSFUAZGRnQ6XRwd3c3Ou7u7o7U1NQqX5Oamlple61Wi4yMqlfpnDlzJpo1a4a+ffveMsuiRYtgb29vePj4cMNNqWTml2DnqYqVnzn8RUSNQ5i/I1QKGZKzi5CYVSh1HKoDkk+ClslkRl8LISodu1P7qo4DwHvvvYe1a9di48aN0Gg0tzznrFmzkJOTY3gkJSXV5C1QHapY+bmDNyc/E1HjYWWhRCcfRwC8Hb6pkKwAcnFxgUKhqNTbk5aWVqmXp4KHh0eV7ZVKJZydnY2OL168GG+//TZ27dqFDh063DaLWq2GnZ2d0YMaXvnk5/Lik70/RNTY/LMvGAugpkCyAsjCwgKhoaGIiooyOh4VFYXu3btX+Zrw8PBK7Xft2oWwsDCoVCrDsffffx8LFizAjh07EBYWVvfhqV5EX85EfEYBbNRKPBjClZ+JqHHhPKCmRdIhsOnTp+Orr77C119/jTNnzmDatGlITEzEpEmTAJQPTf37zq1JkyYhISEB06dPx5kzZ/D1119j5cqVmDFjhqHNe++9h7lz5+Lrr7+Gv78/UlNTkZqaivz8/AZ/f1QzFSs/D+noBWtOfiaiRqajrwM0Kjky8ktwMY2fKaZO0gJoxIgRWLJkCebPn4+OHTti37592LZtG/z8yje+TElJMVoTKCAgANu2bcOePXvQsWNHLFiwAEuXLsXQoUMNbZYtW4bS0lI89thj8PT0NDwWL17c4O+Pqi8zvwQ7T5cPb47i8BcRNUJqpQJhfuV3FHMYzPRJug5QY8V1gBre53svYdH2swjxtseWF3tKHYeIqEqf7b6I93eew4C27vh8HKdYNDYmsQ4QUQWu/ExEpsKwL9jlLOj07D8wZSyASHLRlzJxJbMQNmolHujAyc9E1Hi1b2YPG7USOUVlOJPCRXNNGQsgklzFys8Pd+LkZyJq3JQKOboGVMwDqnoBXjINLIBIUhmc/ExEJobrATUNLIBIUj/FXEWZTiDExwFtvbjyMxE1ft2DXAAAh+OzUKbTS5yGaosFEEmmRKvDqj/jAQBjOfmZiExEaw9bOFqpUFiqw4mr2VLHoVpiAUSS2XLsGq7nlsDdTo2HOnLyMxGZBrlc9s8w2EUOg5kqFkAkCb1eYMW+SwCA8T0DoFYqJE5ERFR94YE3t8W4zALIVLEAIklEnbmOy+kFsNUoOfmZiExO+M15QEcTbqC4TCdxGqoNFkDU4IQQWLG3vPdnXDc/2GpUd3gFEVHjEuRqDTdbNUq1ehy9ckPqOFQLLICowR2Oz8KxxGxYKOV4qkeA1HGIiGpMJpPhvmA3AMD3fyVInIZqgwUQNbiK3p9hod5wtVVLnIaIqHYq/gG343QqEjILJE5DNcUCiBrUmZRc7D6XDrkMeKZXoNRxiIhqraW7Lfq0coUQwMoD8VLHoRpiAUQN6vObvT8D23vCz9la4jRERHfnmYjyf8j9cDQJNwpKJU5DNcECiBpMUlYhfj6RAgB4rneQxGmIiO5eeJAz2njaobhMz7lAJoYFEDWYlQfiodML9GzugnbNuO0FEZk+mUxmGM5ffTCBt8SbEBZA1CCyCkqx7kj5ru+T2PtDRE3I4A6e8LTXICO/BFvikqWOQ9XEAogaxDcHr6C4TI92zezQo7mz1HGIiOqMSiHH0zfvCPtyfzz0eiFxIqoOFkBU7wpLtfgm+goA4LnezSGTyaQNRERUx0Z28YGtWomLafnYcz5N6jhUDSyAqN6tO5yE7MIy+Dtb4f52HlLHISKqc7YaFUZ28QEAfLmPt8SbAhZAVK/KdHrD+hgTewVCIWfvDxE1TU/1CIBSLkP05UycvJojdRy6AxZAVK9+Pn4NydlFcLFRY2hnb6njEBHVGy8HSzzQwRMA8OX+yxKnoTthAUT1RgiBz/eW/xJ4qoc/NCqFxImIiOrXhJsLI/56MgXJ2UUSp6HbYQFE9Wb3uTScu54HG7USY7v5SR2HiKjetWtmjx7NnaHTC6zi9hiNGgsgqjcr9pT3/ozu6gt7S5XEaYiIGkZFL9Daw4nIKSqTOA3dCgsgqhcHL2Xg8JUsqBQyw/oYRETmoE9LV7Rws0FBqQ7rDidKHYdugQUQ1bmM/BJMX38cADAszAce9hqJExERNRyZTIaJN7fHWPXnFZRq9RInoqqwAKI6pdMLTFl3DKm5xQhytcbsQcFSRyIianBDOnrB1VaN1Nxi/HrymtRxqAosgKhOfRR1Hn9ezISVhQIrxobCRq2UOhIRUYNTKxV4srs/AOCLffEQgttjNDYsgKjO/H7mOj7dfREAsOjR9mjhbitxIiIi6Yzp6gtLlQJnUnLx58VMqePQf7AAojqRmFmIaevjAABPdvfHkI7NpA1ERCQxBysLjLinfHuML7gwYqPDAojuWnGZDs99H4PcYi06+Tpw3g8R0U1P9wiAXAbsO5+OH44mSR2H/oUFEN21N7aexulruXCytsBnozvDQskfKyIiAPB1tjLcETZzwwlsPc4J0Y0FP6norvxwNAnrjiRBJgM+HtkRXg6WUkciImpUZt7fGqO6+EIvgGnr47DrdKrUkQgsgOgunL6Wg9c3nwIATO/bEhEtXCVORETU+MhkMix8uB0e7dQMOr3Ai2uOYe/5dKljmT0WQFQrOUVleO67WJRo9Yhs5YoXIptLHYmIqNGSy2V477EOGNTeA6U6PZ759iiiL/HOMCmxAKIa0+sFXv7hOBKzCtHMwRIfjegIuVwmdSwiokZNqZBjyYhOuLe1G0q0eoz/5ghiE29IHctssQCiGvt832X8duY6LBRyrBgbCgcrC6kjERGZBAulHMvGdEbP5i4oLNXhia8P41RyjtSxzBILIKo2IQS+PhCP93eeBQC88VBbtPe2lzgVEZFp0agU+OLxUNzj74i8Yi3GrfwL56/nSR3L7LAAomop0erw2oYTmP/L39ALYFw3P4zq4iN1LCIik2RlocTXT96DEG973Cgsw5iv/kJ8RoHUscwKCyC6o/S8Eoz+8i/8cPQq5DJg7uBgzB/SFjIZ5/0QEdWWrUaFb57ugtYetkjPK8GYLw8hKatQ6lhmgwUQ3dap5Bw89OkBxCTcgK1GiVVPdcGEiEAWP0REdcDBygLfTeiKIFdrXMspxtDlB7HjVIrUscwCCyC6pV9PpOCxFQeRklOMQBdrbHmhB3q35Fo/RER1ycVGje8ndEOQqzXS8kow6btYTPz2KFJyiqSO1qSxAKJK9HqBD3edwwtrYlFcpkevlq7Y9EIPBLraSB2NiKhJ8rDX4NfJEXgxsjmUchmi/r6Ovh/sxeo/46HTC6njNUkyIQSv7H/k5ubC3t4eOTk5sLOzkzpOgyoo0ZYv1f73dQDAxIgAzBwYDAXX+SEiahDnUvMwa+MJxCZmAwBCfBzwzqPtEexpXp9HtVGTz28WQFUw1wIoKasQE789irOpebBQyPH2o+3xWKi31LGIiMyOXi/w/eFEvLf9LPJKtFDKZZjYKxBT7msBjUohdbxGiwXQXTKnAkgIgWNJ2fguOgG/nExBqVYPFxs1Ph8XilA/R6njERGZteu5xXhj62lsP1W+gaqfsxUWPtwePVu4SJyscWIBdJfMoQAqKNFiS9w1fHcoAX+n5BqOh/k54pPRneBpz13diYgai12nU/F/W04jNbcYANCrpSuGh3mjXxt3qJXsEarAAuguNeUC6Pz1PHx3KAGbYpORV6IFAKiVcjzQwQtju/mio48Db3EnImqE8ku0WLzzHL6JvoKKT24HKxWGhHhhWJgP2nrZmf3vbxZAd6mpFUDFZTrs+vs6vjuUgMPxWYbjAS7WGNPVF4+FenM/LyIiE3ElowA/xiRhQ0yyoUcIAFp72GJYmA8e7ugFZxu1hAmlwwLoLpl6AVSi1eF4Ug6iL2Xi0OVMxCTeQKlWDwBQyGXoG+yGsd380CPIhbu4ExGZKJ1e4MDFDPx4NAm7/r5u+D2vUshwb2s3PBbqgw7e9nC1UZvN73qTKoCWLVuG999/HykpKWjbti2WLFmCiIiIW7bfu3cvpk+fjtOnT8PLywuvvvoqJk2aZNRmw4YNeP3113Hp0iUEBQVh4cKFeOSRR6qdydQKoFKtHieTsxF9KRPRlzMRk3ADxWV6ozae9hoMD/PBqC6+8LDXSJSUiIjqQ05hGbYeT8aPMVdx4qrx7vIWCjmaOVrC29ES3o5W8HEq/6+3oyV8HK3gYmPRZIbOavL5rWygTFVav349pk6dimXLlqFHjx74/PPPMXDgQPz999/w9fWt1D4+Ph6DBg3CxIkT8d133+HPP//E888/D1dXVwwdOhQAEB0djREjRmDBggV45JFHsGnTJgwfPhwHDhxA165dG/ot1qm84jIkZRXh6o1CJN0o/+/FtHwcvXIDRWU6o7YuNhboGuiM8EBnhAc5I9DFusn8gBMRkTF7KxXGhftjXLg/zqbm4sejVxH193UkZxehVKdHfEbBLTdbtVDIYWepgp2lEnYaVfmfNUrYWapgb6m6eeyf5+z/9bydRgULpWmuqSxpD1DXrl3RuXNnLF++3HAsODgYDz/8MBYtWlSp/WuvvYatW7fizJkzhmOTJk3C8ePHER0dDQAYMWIEcnNzsX37dkOb+++/H46Ojli7dm21ctVXD1CpVo+M/BKUaPUo0epQUqav+s9aPQpLdUjJLsLVG0VIulGIqzeKkFNUdstzO1lboFugE7rdLHqau9mw4CEiMnNanR4pOcVGnyVXbxTi6s1/TKfkFuNuqwCNSg47zc3C6D/FkX2lwuqfYw6WFrC3UtXNG73JJHqASktLERMTg5kzZxod79+/Pw4ePFjla6Kjo9G/f3+jYwMGDMDKlStRVlYGlUqF6OhoTJs2rVKbJUuW3DJLSUkJSkpKDF/n5ubesu3dOH41G8NWRN/VOZysLQzdlt6OlvBxskKYvyNautmazRgvERFVj1Ihh4+TFXycrBAO50rPl2r1SM8vQW5RWfmjWIscw5/LkFukvfnfsvLjxVrDc3nF5XcSF5fpUVxWgrS8kkrnv512zezwy0u3nvJS3yQrgDIyMqDT6eDu7m503N3dHampqVW+JjU1tcr2Wq0WGRkZ8PT0vGWbW50TABYtWoQ333yzlu+k+tRKOSwUcqiVcqhVcqiVipt/vvnf//zZw04DHycrw7itt6MlrNWSjloSEVETYqGUo5mDJZo51HztN51eIL+4vEDK+XfBZPjzPwVTThUFlZ2mbnt/akryT9P/DtMIIW47dFNV+/8er+k5Z82ahenTpxu+zs3NhY+Pz53D11AHbwecXziwzs9LRETU0BRyGeytVLC3UqE2n5h6vajyM7yqY/VBsgLIxcUFCoWiUs9MWlpapR6cCh4eHlW2VyqVcHZ2vm2bW50TANRqNdRq81wzgYiISAq3mrbRUPNXJZu6bWFhgdDQUERFRRkdj4qKQvfu3at8TXh4eKX2u3btQlhYGFQq1W3b3OqcREREZH4kHQKbPn06xo0bh7CwMISHh+OLL75AYmKiYV2fWbNmITk5Gd9++y2A8ju+Pv30U0yfPh0TJ05EdHQ0Vq5caXR315QpU9CrVy+8++67GDJkCLZs2YLffvsNBw4ckOQ9EhERUeMjaQE0YsQIZGZmYv78+UhJSUG7du2wbds2+Pn5AQBSUlKQmJhoaB8QEIBt27Zh2rRp+Oyzz+Dl5YWlS5ca1gACgO7du2PdunWYO3cuXn/9dQQFBWH9+vUmvwYQERER1R3JV4JujExtJWgiIiKq2ee3aS7fSERERHQXWAARERGR2WEBRERERGaHBRARERGZHRZAREREZHZYABEREZHZYQFEREREZocFEBEREZkdFkBERERkdiTdCqOxqlgcOzc3V+IkREREVF0Vn9vV2eSCBVAV8vLyAAA+Pj4SJyEiIqKaysvLg729/W3bcC+wKuj1ely7dg22traQyWQN+r1zc3Ph4+ODpKQk7kNWA7xutcdrVzu8brXD61Z7vHZ3JoRAXl4evLy8IJfffpYPe4CqIJfL4e3tLWkGOzs7/oDXAq9b7fHa1Q6vW+3wutUer93t3annpwInQRMREZHZYQFEREREZocFUCOjVqsxb948qNVqqaOYFF632uO1qx1et9rhdas9Xru6xUnQREREZHbYA0RERERmhwUQERERmR0WQERERGR2WAARERGR2WEBVMeWL1+ODh06GBaqCg8Px/bt2w3PCyHwxhtvwMvLC5aWlujTpw9Onz5tdI6SkhK89NJLcHFxgbW1NR566CFcvXrVqM2NGzcwbtw42Nvbw97eHuPGjUN2dnZDvMV6cbvrVlZWhtdeew3t27eHtbU1vLy88Pjjj+PatWtG5zDH6wbc+Wfu35599lnIZDIsWbLE6Lg5XrvqXLczZ87goYcegr29PWxtbdGtWzckJiYanjfH6wbc+drl5+fjxRdfhLe3NywtLREcHIzly5cbncNcr92/LVq0CDKZDFOnTjUc42dEAxJUp7Zu3Sp+/fVXce7cOXHu3Dkxe/ZsoVKpxKlTp4QQQrzzzjvC1tZWbNiwQZw8eVKMGDFCeHp6itzcXMM5Jk2aJJo1ayaioqJEbGysiIyMFCEhIUKr1Rra3H///aJdu3bi4MGD4uDBg6Jdu3bigQceaPD3W1dud92ys7NF3759xfr168XZs2dFdHS06Nq1qwgNDTU6hzleNyHu/DNXYdOmTSIkJER4eXmJjz76yOg5c7x2d7puFy9eFE5OTuKVV14RsbGx4tKlS+KXX34R169fN5zDHK+bEHe+dhMmTBBBQUFi9+7dIj4+Xnz++edCoVCIzZs3G85hrteuwuHDh4W/v7/o0KGDmDJliuE4PyMaDgugBuDo6Ci++uorodfrhYeHh3jnnXcMzxUXFwt7e3uxYsUKIYQQ2dnZQqVSiXXr1hnaJCcnC7lcLnbs2CGEEOLvv/8WAMShQ4cMbaKjowUAcfbs2QZ6V/Wv4rpV5fDhwwKASEhIEELwuv3Xf6/d1atXRbNmzcSpU6eEn5+fUQHEa/ePf1+3ESNGiLFjx96yLa+bsX9fu7Zt24r58+cbPd+5c2cxd+5cIQSvXV5enmjRooWIiooSvXv3NhRA/IxoWBwCq0c6nQ7r1q1DQUEBwsPDER8fj9TUVPTv39/QRq1Wo3fv3jh48CAAICYmBmVlZUZtvLy80K5dO0Ob6Oho2Nvbo2vXroY23bp1g729vaGNKfvvdatKTk4OZDIZHBwcAPC6Vajq2un1eowbNw6vvPIK2rZtW+k1vHaVr5ter8evv/6Kli1bYsCAAXBzc0PXrl2xefNmw2t43cpV9TPXs2dPbN26FcnJyRBCYPfu3Th//jwGDBgAgNfuhRdewODBg9G3b1+j4/yMaFjcDLUenDx5EuHh4SguLoaNjQ02bdqENm3aGH7w3N3djdq7u7sjISEBAJCamgoLCws4OjpWapOammpo4+bmVun7urm5GdqYoltdt/8qLi7GzJkzMXr0aMOGgOZ83YDbX7t3330XSqUSkydPrvK15nztbnXdUlNTkZ+fj3feeQdvvfUW3n33XezYsQOPPvoodu/ejd69e5v1dQNu/zO3dOlSTJw4Ed7e3lAqlZDL5fjqq6/Qs2dPAOb9M7du3TrExsbiyJEjlZ6reF/8jGgYLIDqQatWrRAXF4fs7Gxs2LABTzzxBPbu3Wt4XiaTGbUXQlQ69l//bVNV++qcpzG71XX7dxFUVlaGkSNHQq/XY9myZXc8pzlcN+DW166oqAgff/wxYmNja/wezeHa3eq6VfQsDhkyBNOmTQMAdOzYEQcPHsSKFSvQu3fvW57THK4bcPu/r0uXLsWhQ4ewdetW+Pn5Yd++fXj++efh6elZqdfj35r6tUtKSsKUKVOwa9cuaDSaW7bjZ0TD4BBYPbCwsEDz5s0RFhaGRYsWISQkBB9//DE8PDwAoFIFnpaWZqj4PTw8UFpaihs3bty2zfXr1yt93/T09Er/cjAlt7puFcrKyjB8+HDEx8cjKirK0PsDmPd1A2597fbv34+0tDT4+vpCqVRCqVQiISEBL7/8Mvz9/QGY97W71XVzcXGBUqms1AMZHBxsuAvMnK8bcOtrV1RUhNmzZ+PDDz/Egw8+iA4dOuDFF1/EiBEjsHjxYgDme+1iYmKQlpaG0NBQw9/HvXv3YunSpVAqlYb3xc+IhsECqAEIIVBSUoKAgAB4eHggKirK8FxpaSn27t2L7t27AwBCQ0OhUqmM2qSkpODUqVOGNuHh4cjJycHhw4cNbf766y/k5OQY2jQFFdcN+Kf4uXDhAn777Tc4OzsbteV1M1Zx7caNG4cTJ04gLi7O8PDy8sIrr7yCnTt3AuC1+7eK62ZhYYF77rkH586dM3r+/Pnz8PPzA8Dr9l8V166srAxlZWWQy40/XhQKBfR6PQDzvXb33XcfTp48afT3MSwsDGPGjEFcXBwCAwP5GdGQGnbOddM3a9YssW/fPhEfHy9OnDghZs+eLeRyudi1a5cQovwWR3t7e7Fx40Zx8uRJMWrUqCpvcfT29ha//fabiI2NFffee2+Vtzh26NBBREdHi+joaNG+fXuTvsXxdtetrKxMPPTQQ8Lb21vExcWJlJQUw6OkpMRwDnO8bkLc+Wfuv/57F5gQ5nnt7nTdNm7cKFQqlfjiiy/EhQsXxCeffCIUCoXYv3+/4RzmeN2EuPO16927t2jbtq3YvXu3uHz5sli1apXQaDRi2bJlhnOY67X7r3/fBSYEPyMaEgugOvb0008LPz8/YWFhIVxdXcV9991n9EGk1+vFvHnzhIeHh1Cr1aJXr17i5MmTRucoKioSL774onBychKWlpbigQceEImJiUZtMjMzxZgxY4Stra2wtbUVY8aMETdu3GiIt1gvbnfd4uPjBYAqH7t37zacwxyvmxB3/pn7r6oKIHO8dtW5bitXrhTNmzcXGo1GhISEGK1jI4R5Xjch7nztUlJSxJNPPim8vLyERqMRrVq1Eh988IHQ6/WGNuZ67f7rvwUQPyMajkwIIaTsgSIiIiJqaJwDRERERGaHBRARERGZHRZAREREZHZYABEREZHZYQFEREREZocFEBEREZkdFkBERERkdlgAEZFZeOONN9CxY0epYxjIZDJs3rxZ6hhEZosFEBHVqRUrVsDW1hZardZwLD8/HyqVChEREUZt9+/fD5lMhvPnzzd0zAbT2AovIirHAoiI6lRkZCTy8/Nx9OhRw7H9+/fDw8MDR44cQWFhoeH4nj174OXlhZYtW0oRlYjMGAsgIqpTrVq1gpeXF/bs2WM4tmfPHgwZMgRBQUE4ePCg0fHIyEh89913CAsLg62tLTw8PDB69GikpaUBAPR6Pby9vbFixQqj7xMbGwuZTIbLly8DAHJycvDMM8/Azc0NdnZ2uPfee3H8+PHbZl21ahWCg4Oh0WjQunVrLFu2zPDclStXIJPJsHHjRkRGRsLKygohISGIjo42OseXX34JHx8fWFlZ4ZFHHsGHH34IBwcHAMDq1avx5ptv4vjx45DJZJDJZFi9erXhtRkZGXjkkUdgZWWFFi1aYOvWrdW+zkR0d1gAEVGd69OnD3bv3m34evfu3ejTpw969+5tOF5aWoro6GhERkaitLQUCxYswPHjx7F582bEx8fjySefBADI5XKMHDkS33//vdH3WLNmDcLDwxEYGAghBAYPHozU1FRs27YNMTEx6Ny5M+677z5kZWVVmfHLL7/EnDlzsHDhQpw5cwZvv/02Xn/9dXzzzTdG7ebMmYMZM2YgLi4OLVu2xKhRowzDe3/++ScmTZqEKVOmIC4uDv369cPChQsNrx0xYgRefvlltG3bFikpKUhJScGIESMMz7/55psYPnw4Tpw4gUGDBmHMmDG3zEtEdUzizViJqAn64osvhLW1tSgrKxO5ublCqVSK69evi3Xr1onu3bsLIYTYu3evACAuXbpU6fWHDx8WAEReXp4QQojY2Fghk8nElStXhBBC6HQ60axZM/HZZ58JIYT4/fffhZ2dnSguLjY6T1BQkPj888+FEELMmzdPhISEGJ7z8fERa9asMWq/YMECER4eLoQQIj4+XgAQX331leH506dPCwDizJkzQgghRowYIQYPHmx0jjFjxgh7e3vD1//9vhUAiLlz5xq+zs/PFzKZTGzfvr1SWyKqe+wBIqI6FxkZiYKCAhw5cgT79+9Hy5Yt4ebmht69e+PIkSMoKCjAnj174Ovri8DAQBw7dgxDhgyBn58fbG1t0adPHwBAYmIiAKBTp05o3bo11q5dCwDYu3cv0tLSMHz4cABATEwM8vPz4ezsDBsbG8MjPj4ely5dqpQvPT0dSUlJGD9+vFH7t956q1L7Dh06GP7s6ekJAIbhuXPnzqFLly5G7f/79e38+9zW1tawtbU1nJuI6pdS6gBE1PQ0b94c3t7e2L17N27cuIHevXsDADw8PBAQEIA///wTu3fvxr333ouCggL0798f/fv3x3fffQdXV1ckJiZiwIABKC0tNZxzzJgxWLNmDWbOnIk1a9ZgwIABcHFxAVA+T8jT09No3lGFivk4/6bX6wGUD4N17drV6DmFQmH0tUqlMvxZJpMZvV4IYThWQQhRnUtU6dwV5684NxHVLxZARFQvIiMjsWfPHty4cQOvvPKK4Xjv3r2xc+dOHDp0CE899RTOnj2LjIwMvPPOO/Dx8QEAozvIKowePRpz585FTEwMfvrpJyxfvtzwXOfOnZGamgqlUgl/f/87ZnN3d0ezZs1w+fJljBkzptbvsXXr1jh8+LDRsf9mt7CwgE6nq/X3IKL6wQKIiOpFZGQkXnjhBZSVlRl6gIDyAui5555DcXExIiMjodFoYGFhgU8++QSTJk3CqVOnsGDBgkrnCwgIQPfu3TF+/HhotVoMGTLE8Fzfvn0RHh6Ohx9+GO+++y5atWqFa9euYdu2bXj44YcRFhZW6XxvvPEGJk+eDDs7OwwcOBAlJSU4evQobty4genTp1frPb700kvo1asXPvzwQzz44IP4448/sH37dqNeIX9/f8THxyMuLg7e3t6wtbWFWq2uyaUkonrAOUBEVC8iIyNRVFSE5s2bw93d3XC8d+/eyMvLQ1BQEHx8fODq6orVq1fjxx9/RJs2bfDOO+9g8eLFVZ5zzJgxOH78OB599FFYWloajstkMmzbtg29evXC008/jZYtW2LkyJG4cuWK0ff+twkTJuCrr77C6tWr0b59e/Tu3RurV69GQEBAtd9jjx49sGLFCnz44YcICQnBjh07MG3aNGg0GkOboUOH4v7770dkZCRcXV0N85iISFoyUZMBayIiuq2JEyfi7Nmz2L9/v9RRiOg2OARGRHQXFi9ejH79+sHa2hrbt2/HN998Y7SgIhE1TuwBIiK6C8OHD8eePXuQl5eHwMBAvPTSS5g0aZLUsYjoDlgAERERkdnhJGgiIiIyOyyAiIiIyOywACIiIiKzwwKIiIiIzA4LICIiIjI7LICIiIjI7LAAIiIiIrPDAoiIiIjMDgsgIiIiMjv/D159cXMi5czMAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# NBVAL_SKIP\n", "filter = curves[1]\n", @@ -340,20 +149,9 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "#NBVAL_SKIP\n", "import h5py\n", @@ -373,20 +171,9 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(25, 25, 3721)" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# NBVAL_SKIP\n", "datacube.shape" @@ -401,7 +188,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -412,7 +199,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -422,17 +209,9 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(25, 25)\n" - ] - } - ], + "outputs": [], "source": [ "# NBVAL_SKIP\n", "convolved = convolve_filter_with_spectra(filter, datacube, wave)\n", @@ -441,30 +220,9 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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yyEHd1y0DMsNAADAFJkEAIBtcbrBWgQJAADbajYccnCfBMuw3AAAAEyRSQAA2JZhhHm6geMNbSJIAADYFnsSrMVyAwAAMEUmAQBgW2QSrEWQAACwLU43WIvlBgCAbbVsXAyndMS6deuUkpKiqKgopaam6p133mmzfVlZmVJTUxUVFaUrrrhCGzZsCHh948aNGj9+vAYMGKABAwbo1ltv1f79+wPaFBQUyOFwBBS3292xX6CdCBIAAAjB9u3blZeXpyVLlujQoUMaP368srKyVF1dbdq+qqpKt99+u8aPH69Dhw7pscce07x58/Tqq6/627z11lu677779Oc//1nl5eVKSkpSZmamPv/884BrXXPNNaqtrfWXDz74wNLfleUGAIBtnc8GhLMn4fz/+ny+gHqn0ymn02naZ+3atZo1a5YeeOABSVJRUZF27dql9evXq7CwMKj9hg0blJSUpKKiIknSiBEjdODAAT311FOaNm2aJOmll14K6LNx40b99re/1R//+Ef98pe/9Nf36tXL8uzBd5FJAADYVsvGxXCKJCUmJsrlcvmL2Ze9JDU2NurgwYPKzMwMqM/MzNSePXtM+5SXlwe1nzhxog4cOKCzZ8+a9vn222919uxZDRw4MKD+2LFjSkhIUEpKiqZPn66PP/64Xe9TR5FJAAB0ezU1NYqJifH/3FoWob6+Xk1NTYqLiwuoj4uLk8fjMe3j8XhM2587d0719fWKj48P6rNo0SL94Ac/0K233uqvS0tL09atW/XDH/5QX375pVauXKmMjAwdPnxYgwYNavfvGgqCBACAbRl/L+H0l6SYmJiAIOFiHI7AJQ7DMILqLtberF6S1qxZo5dffllvvfWWoqKi/PVZWVn+f48aNUrp6ekaNmyYtmzZovz8/HbPPRQECQAA2/q+75MQGxurnj17BmUN6urqgrIFLdxut2n7Xr16BWUAnnrqKa1atUpvvvmmrr322jbn0r9/f40aNUrHjh0L6XcIBXsSAABopz59+ig1NVWlpaUB9aWlpcrIyDDtk56eHtR+9+7dGjNmjHr37u2v+9d//Vf96le/UklJicaMGXPRuTQ0NOjIkSOmyxWRQpAAALAvIwIlRPn5+Xr++ee1efNmHTlyRPPnz1d1dbVmz54tSVq8eHHAiYTZs2fr008/VX5+vo4cOaLNmzdr06ZNWrBggb/N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AADYFqcbrMVyAwAAMEUmAQBgXyw3WIogAQBgWyw3WIvlBgAAYIpMAgDAvlhusBRBAgDAtlhusBZBAgDAvsgkWIo9CQAAwBSZBACArbFkYB2CBACAfRnG+RJOf7SK5QYAAGCKTAIAwLY43WAtggQAgH1xusFSLDcAAABTZBIAALblaD5fwumP1hEkAADsi+UGS7HcAAAATBEkAABsq+V0QzjFSidOnFBOTo5cLpdcLpdycnL09ddft9nHMAwVFBQoISFBffv21YQJE3T48OGANhMmTJDD4Qgo06dPD3vsCxEkAADsq+VmSuEUC82YMUOVlZUqKSlRSUmJKisrlZOT02afNWvWaO3atSouLlZFRYXcbrduu+02nTx5MqBdbm6uamtr/eXZZ58Ne+wLsScBAGBbXfk+CUeOHFFJSYn27t2rtLQ0SdLGjRuVnp6uo0eP6sorrwzqYxiGioqKtGTJEk2dOlWStGXLFsXFxWnbtm166KGH/G379esnt9sdsbHNkEkAAHR7Pp8voDQ0NIR9zfLycrlcLv+XtCSNGzdOLpdLe/bsMe1TVVUlj8ejzMxMf53T6dTNN98c1Oell15SbGysrrnmGi1YsCAg09CRsc2QSQAA2FeETjckJiYGVC9btkwFBQVhXFjyeDwaMmRIUP2QIUPk8Xha7SNJcXFxAfVxcXH69NNP/T///Oc/V0pKitxutz788EMtXrxY7733nkpLSzs8thmCBACAbUVquaGmpkYxMTH+eqfT2WqfgoICLV++vM3rVlRUnL++wxH0mmEYpvUB87rg9Qv75Obm+v89cuRIDR8+XGPGjNH//M//aPTo0WGN/V0ECQCAbi8mJiYgSGjL3Llzg04SXGjo0KF6//339eWXXwa99tVXXwVlClq07DHweDyKj4/319fV1bXaR5JGjx6t3r1769ixYxo9erTcbnfIY5shSAAA2FcnPCo6NjZWsbGxF22Xnp4ur9er/fv3a+zYsZKkffv2yev1KiMjw7RPyxJCaWmprr/+eklSY2OjysrKtHr16lbHOnz4sM6ePesPLDoythk2LgIAbKsr3ydhxIgRmjRpknJzc7V3717t3btXubm5mjx5csDpgquuuko7duw4//s4HMrLy9OqVau0Y8cOffjhh7r//vvVr18/zZgxQ5L0v//7v1qxYoUOHDigTz75RDt37tRPf/pT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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# NBVAL_SKIP\n", "import matplotlib.pyplot as plt\n", @@ -481,110 +239,9 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgkAAAGxCAYAAADoEyV9AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABB6klEQVR4nO3df1RVdb7/8ddR4OAPOFdFOVCA5HXS1CyxEByTWoVaaj+0NItsjVleM38wjqNpV3TMX9N4ncZSMy29afnth9WsDKWpyEZU9EqW4zW7YVByIsk4/gSF/f3D4UzHs0HgcIKtz8dan7U8n/357M/nnHXqvHl/Pntvm2EYhgAAAC7QrLEnAAAAmiaCBAAAYIogAQAAmCJIAAAApggSAACAKYIEAABgiiABAACYIkgAAACmCBIAAIApggQ0GTt37tTdd9+t2NhY2e12RUZGKikpSb/97W89bVJSUtS9e/eLnquwsFATJkxQp06dFBoaqjZt2iglJUXr169XTTcZffbZZ2Wz2Wocw2azyWazaeHChT7HXn75ZdlsNu3evdvn2I8//qjg4GBt2rRJknTy5EktWrRIPXv2VHh4uMLCwtSpUyfdd999ys7O9vT7+OOPPWPabDaFhISoffv26tu3r2bOnKlvvvnGdJ61+Twl6ezZs1q5cqVuuOEGtW3bVi1btlRcXJzuvPNOz1wBXJ4IEtAkvPfee0pOTpbb7dbixYu1detW/fnPf1bfvn21cePGOp3r73//u6699lq98847mjRpkjIzM/Xyyy/riiuu0IMPPqj7779flZWVpn3XrFkjSdq/f7927txZ4zgLFy7Ujz/+WOt5vfPOOwoJCdHAgQNVUVGh1NRUPf300xo+fLhef/11vfHGG5oyZYpKS0u1bds2n/7z589XTk6OPvroI61evVopKSlas2aNunbtqvXr13u1rcvnmZaWpieeeEI333yzXnnlFf31r3/VrFmzFBQUpC1bttT6/QG4BBlAE3DTTTcZnTp1Ms6ePetzrKKiwvPv/v37G926dav2PMeOHTM6dOhgxMXFGS6Xy+f4woULDUnGggULfI7l5uYakow77rjDkGSMHTvWdAxJxq233moEBQUZ6enpXsdeeuklQ5KRm5vr0+/22283hg8fbhiGYXz44YeGJGPNmjWmY/z8PX/00UeGJOP111/3aVdSUmJcf/31RlBQkLFv3z5PfW0/z6+//tqQZPznf/7nRecB4PJDJgFNQklJiSIiIhQUFORzrFmz2n9NX3zxRRUXF2vhwoWKjIz0OT5t2jR16dJFf/zjH3X27FmvY6tXr5Z0PkOQnJys1157TadOnTId5+qrr9aYMWP03HPPVZvu/zm3260PPvhAw4YNk3T+/UpSVFSUafvavue2bdtq5cqVOnfunP7rv/7LU1/bz9PfeRw+fFg2m00vv/yyzzGbzaaMjIxavAsATRVBApqEpKQk7dy5UxMnTtTOnTt9fsBrKysrS82bN9eQIUNMj9tsNg0dOlQ//vij9uzZ46k/ffq0Xn31Vd1www3q3r27fvOb3+j48eN6/fXXqx0rIyNDzZs311NPPXXRef31r3+VzWbTHXfcIUnq3bu3goODNWnSJK1fv15FRUV1fKf/csMNNygqKkqffPKJp662n2fXrl31b//2b5ozZ45eeOEFHT58uN7zAHDpIUhAk7Bw4UL9+te/1l/+8hf16dNHrVq1Ut++fbVw4UKdOHGi1ucpKChQ+/bt1apVq2rbxMfHe9pWeeONN1RaWqoxY8ZIkkaMGKHWrVt7sgtmnE6npkyZovXr12vfvn01zuuNN95QamqqwsLCJEkdO3bUihUrdOTIET344IOKjo5WdHS0Ro8ebbof4WJiY2N15MgRz+vafp6tWrXS+vXrde7cOT322GOKj49XRESE7rvvPv31r3+t8zwAXFoIEtAktGvXTtu2bVNubq4WLlyoO++8U19++aVmzJihHj166OjRow02lvHPqxtsNpunbvXq1WrRooVGjhwpSWrdurXuvfdebdu2TYcOHar2XNOmTVPbtm31+9//vto2J0+e1JYtWzxLDVV+85vf6Ntvv9WGDRs0ceJExcTE6JVXXlH//v31xz/+sV7vqUpdPs/bb79dBQUF2rRpk6ZOnapu3brp7bff1tChQzVhwoQ6zQPAJaaxN0UA1SkvLzemTJliSDJ+97vfGYZx8Y2LqampRvPmzY0TJ05U22batGmGJCMnJ8cwDMM4dOiQYbPZjOHDhxvHjh3zlPfee8+QZEyfPt2rvyTj8ccf97xeunSpIcn48MMPTTcubty40QgKCjJ+/PHHi77nL774wnA6nUZwcLBx7NgxwzBq3rhYxel0Gp06darx3GafZ3W++eYb45prrjEkGV988UW17fLz8w1JxksvveRzTJIxe/bsGscB0LSRSUCTFRwcrNmzZ0uSvvjii1r1ue2221RRUVFtqtwwDL377rtq27atEhISJJ2/7NEwDL3xxhtq06aNp1TtH1i7dq0qKiqqHfM//uM/FB8fr9///vem92B48803dcstt6hNmzYXnX+3bt00cuRInT17Vl9++WVt3rJ27doll8ullJSUGtvV5fOMjY3Vo48+Kun85aDVCQ0NlSSVlZV51VdtiARgbQQJaBKq27h34MABSVJ0dHStzvPII4+oQ4cOmjFjhoqLi32OL168WP/7v/+radOmKTg4WBUVFVq7dq06deqkjz76yKf89re/VVFRkd5///1qxwwJCdG8efOUm5vrs9HxzJkz2rx5s89SQ0lJicrLy03P97//+7+1fs8//vijxo0bp+DgYE2ZMsVTX9vP8/jx49Xu+ajNZx8ZGanQ0FCfPRnvvPPORecOoOnzvT4KaAQDBgzQlVdeqSFDhqhLly6qrKxUXl6e/vSnP6l169aaNGmSp63b7dYbb7zhc4727durf//+euuttzR48GAlJCTod7/7nXr27Cm3262NGzdq/fr1GjFihH73u99Jkt5//30dOXJEixYtMv1LvHv37lq2bJlWr16twYMHVzv/+++/X88884xPMJGZmalTp07prrvu8qr/6KOPNGnSJD3wwANKTk5Wu3btVFxcrFdffVWZmZl66KGHdOWVV3r1OXTokHbs2KHKykqVlJRo586dWr16tdxut9atW6du3brV+fM8ePCgBgwYoJEjR6p///6KiorSsWPH9N577+mFF15QSkqKkpOTPecNCgpS//799be//U3S+X0dDz74oNasWaNOnTqpZ8+e2rVrlzZs2FDtZwXAQhp5uQMwDOP8uv2oUaOMzp07G61btzaCg4ON2NhYIy0tzfjHP/7hade/f39Dkmnp37+/p11BQYHx+OOPG1dddZUREhJiOBwO46abbjJeeeUVo7Ky0tPurrvuMkJCQozi4uJq5zZy5EgjKCjIc3MmXbAnocrWrVs9c6nak/Dggw96zatKYWGhMWvWLKNv376G0+k0goKCjLCwMCMxMdH4y1/+Ypw7d87TtmpPQlUJCgoy2rVrZyQlJRlPPvmkcfjw4Xp/nseOHTPmzZtn3HLLLcYVV1xhhISEGK1atTKuu+46Y968ecapU6e8znvh52wYhlFaWmo88sgjRmRkpNGqVStjyJAhxuHDh9mTAFwCbIZRw43sAdRbeXm5OnTooD/84Q964oknGns6AFBnBAkAAMAUGxcBAIApggQAAGCKIAEAgDp6/vnnFR8fr9DQUCUkJNR4O/WioiKNGjVKV199tZo1a6bJkyebtnvzzTd1zTXXyG6365prrtGmTZv8GrchECQAAFAHGzdu1OTJkzVz5kzt3btX/fr106BBg7yeB/NzZWVlat++vWbOnKmePXuatsnJydGIESOUlpamzz77TGlpabrvvvu0c+fOeo/bENi4CABAHSQmJqpXr15avny5p65r16666667tGDBghr7pqSk6LrrrtPSpUu96keMGCG32+11r5WBAweqTZs2evXVV/0et76a3M2UKisrdeTIEYWFhXk9gAcAYA2GYej48eOKjo5Ws2aBS1ifOXOm2juX1oVhGD6/N3a7XXa73adteXm59uzZo+nTp3vVp6amavv27fWeQ05OjtddU6XzN0WrCiYCNe7FNLkg4ciRI4qJiWnsaQAA/FRYWOhz59CGcubMGcXHtZaruPrnqtRW69atfW5PPnv2bGVkZPi0PXr0qCoqKhQZGelVHxkZKZfLVe85uFyuGs8ZqHEvpskFCWFhYZKkKzNmqdk/Hx4DALCOyjNn9G3GPM//zwOhvLxcruIK5e+JU3hY/bMV7uOVik/4RoWFhQoPD/fUm2URfu7CzINZNqKuanPOQIxbkyYXJFS92WahoQQJAGBhv8SScXhYM7+CBM95wsO9goTqREREqHnz5j5/vRcXF/v8lV8XTqezxnMGatyLCdhi0S99mQYA4PJTYVT6XeoiJCRECQkJysrK8qrPysryehhaXSUlJfmcc+vWrZ5zBmrciwlIJqHqMo3nn39effv21cqVKzVo0CD94x//UGxsbCCGBABchiplqFL1v0ivPn3T09OVlpam3r17KykpSS+88IIKCgo0btw4SdKMGTP03Xffad26dZ4+eXl5kqQTJ07ohx9+UF5enkJCQnTNNddIkiZNmqSbbrpJixYt0p133ql33nlHH3zwgT799NNajxsIAQkSlixZojFjxuiRRx6RJC1dulRbtmzR8uXLA3aZBgDg8lOpStUtF+Dbv65GjBihkpISzZ07V0VFRerevbs2b96suLg4SedvnnThvQuuv/56z7/3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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAewAAAGxCAYAAACgOoVJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA8jUlEQVR4nO3de3hU1b3/8c/OnVui4ZKLhhg5WjmGIg0UE0TAI9FoY61aUFpBBY8cEIV4qUiPREuJtcrBFkWtIPIIyPECaE2B9CAXRTzAgapILQiaqIn5EZCEAAmZWb8/MFOHJCSzdy6znffLZz+P2bO/s9YMk/lmrb32/lrGGCMAABDUwjq6AwAAoHkkbAAAXICEDQCAC5CwAQBwARI2AAAuQMIGAMAFSNgAALgACRsAABcgYQMA4AIkbASN999/Xz/72c/Uu3dvRUdHKyEhQZmZmbrnnnt8xwwfPlzp6enNPldJSYnuvPNO9enTRzExMTrzzDM1fPhwLVmyRKe7ud8f/vAHWZZ12jYsy5JlWXr00UcbPLZo0SJZlqVt27Y1eOzgwYOKjIzUihUrJEnV1dX63e9+p/79+ys2NlbdunVTnz59NGrUKG3YsMEXt379el+blmUpKipKPXv21JAhQzRjxgx9/vnnjfazJe+nJJ04cULPPvusBg0apPj4eHXu3Fmpqan66U9/6usrgI5HwkZQeOutt5SVlaXKyko99thjWrt2rZ588kkNGTJEy5cvD+i53n33Xf3whz/UqlWrdPfdd2v16tVatGiRzjrrLP3yl7/UTTfdJK/X22jswoULJUm7du3S+++/f9p2Hn30UR08eLDF/Vq1apWioqJ05ZVXyuPxKDs7W7/97W91ww036JVXXtGrr76qadOm6fDhw9q0aVOD+NmzZ+u9997T22+/rQULFmj48OFauHCh+vbtqyVLlvgdG8j7efPNN2vKlCkaMWKEXnrpJb355pv69a9/rYiICK1Zs6bFrw9AGzNAELj00ktNnz59zIkTJxo85vF4fP8/bNgwc+GFFzb5PIcOHTK9evUyqamppqysrMHjjz76qJFkCgoKGjy2detWI8lcffXVRpK5/fbbG21Dkrn88stNRESEycvL83vshRdeMJLM1q1bG8RdddVV5oYbbjDGGLNu3TojySxcuLDRNr77mt9++20jybzyyisNjquoqDADBgwwERER5oMPPvDtb+n7uW/fPiPJPPTQQ832A0DHYoSNoFBRUaEePXooIiKiwWNhYS3/mD7//PMqLy/Xo48+qoSEhAaP33///brgggv0+9//XidOnPB7bMGCBZJOjpyzsrL08ssv6+jRo42284Mf/EDjx4/XU0891eSU9HdVVlbqr3/9q66//npJJ1+vJCUlJTV6fEtfc3x8vJ599lnV1dXpv/7rv3z7W/p+tkY/vvnmG40fP17x8fHq2rWrrr76au3bt0+WZSk/P79FrwNA80jYCAqZmZl6//33ddddd+n9999vkExbqqioSOHh4crNzW30ccuydM011+jgwYPavn27b/+xY8e0bNkyDRo0SOnp6brttttUVVWlV155pcm28vPzFR4erv/8z/9stl9vvvmmLMvS1VdfLUkaOHCgIiMjdffdd2vJkiUqLS0N8JX+06BBg5SUlKSNGzf69rX0/ezbt6/OOOMMPfzww3ruuef02WefBdS21+tVbm6uli5dql/96ldasWKFBg8erCuvvNL26wHQhI4e4gPGGHPgwAFzySWXGElGkomMjDRZWVmmoKDAVFVV+Y5rbkr8ggsuMImJiadta/78+UaSWb58uW/f4sWLjSTzzDPPGGOMqaqqMl27djVDhw5tEC/JTJ482RhjzIwZM0xYWJj529/+Zoxpekr82muvNbm5uX77FixYYLp27ep7zUlJSWbs2LFm48aNfsedbkq83uDBg02nTp18P7f0/TTGmLfeesv06NHDd2z37t3Nz3/+c/PGG2802d53YyWZ+fPn++0vKCgwkszMmTObfQ4ALcMIG0Ghe/fu2rRpk7Zu3apHH31UP/3pT/WPf/xD06dPV79+/XTgwIFWa8t8u0rcsizfvgULFqhTp0668cYbJUldu3bVz3/+c23atEl79uxp8rnuv/9+xcfH61e/+lWTx1RXV2vNmjW+6fB6t912m7744gstXbpUd911l1JSUvTSSy9p2LBh+v3vf2/rNdUL5P286qqrVFxcrBUrVujee+/VhRdeqJUrV+qaa67RnXfeedp261ezjxo1ym//TTfdFFD/gdPZuHGjcnNzlZycLMuytHLlyoCfwxijxx9/XOeff76io6OVkpKi2bNnt35n21IH/8EANKm2ttZMmzbNSDL33XefMab5EXZ2drYJDw83R44cafKY+++/30gy7733njHGmD179hjLsswNN9xgDh065NvqR48PPPCAX7y+M8I2xpi5c+caSWbdunWNjrCXL19uIiIizMGDB5t9zR999JFJTEw0kZGR5tChQ8aYlo2wExMTTZ8+fU773I29n035/PPPzb/+678aSeajjz5q8rjx48ebiIiIBvuPHTvGCButprCw0MyYMcO89tprRpJZsWJFwM8xZcoU84Mf/MCsWrXK7Nu3z+zYscMUFRW1fmfbECNsBK3IyEjNnDlTkvTRRx+1KGbkyJHyeDx68803G33cGKM33nhD8fHxysjIkHTyUi5jjF599VWdeeaZvq3+fPOLL74oj8fTZJv/8R//obS0NP3qV79q9Brv1157TZdddpnOPPPMZvt/4YUX6sYbb9SJEyf0j3/8oyUvWf/7v/+rsrIyDR8+/LTHBfJ+9u7dW//+7/8u6eQlbk3p3r276urqGlzeVlZW1oKeAy2Tk5OjWbNm6brrrmv08draWt1///0666yz1KVLFw0ePFjr16/3Pb57927Nnz9fq1at0jXXXKO0tDRddNFFuvzyy9vpFbQOEjaCQlOLrnbv3i1JSk5ObtHzTJgwQb169dL06dNVXl7e4PHHHntMf//733X//fcrMjJSHo9HL774ovr06aO33367wXbPPfeotLRUf/nLX5psMyoqSrNmzdLWrVsbLFI7fvy4CgsLG0yHV1RUqLa2ttHn+/vf/97i13zw4EFNnDhRkZGRmjZtmm9/S9/PqqoqHTlypEXHNmbYsGGS1ODa7pdffrnZvgOt5dZbb9W7776rl19+WR988IF+/vOf68orr/SdznrzzTd17rnn6s9//rPS0tJ0zjnnaMKECQHdRyEYNLzmA+gAV1xxhc4++2zl5ubqggsukNfr1c6dO/XEE0+oa9euuvvuu33HVlZW6tVXX23wHD179tSwYcP0+uuv6yc/+YkyMjJ03333qX///qqsrNTy5cu1ZMkSjR49Wvfdd58k6S9/+Yu++uor/e53v2t0hJqenq558+ZpwYIF+slPftJk/2+66SY9/vjjDRL76tWrdfToUV177bV++99++23dfffd+sUvfqGsrCx1795d5eXlWrZsmVavXq2xY8fq7LPP9ovZs2ePtmzZIq/Xq4qKCr3//vtasGCBKisrtXjxYl144YUBv5+ffPKJrrjiCt14440aNmyYkpKSdOjQIb311lt67rnnNHz4cGVlZfmeNyIiQsOGDdP//M//SJKuvPJKDRkyRPfcc48qKyuVkZGh9957T4sXL5YU2CV5gB2ffvqpli1bpi+++ML3x+W9996r1atX64UXXtDs2bO1b98+ff7553rllVe0ePFieTweTZs2TTfccIPWrVvXwa8gAB08JQ8YY06e5x0zZow577zzTNeuXU1kZKTp3bu3ufnmm83HH3/sO27YsGG+1cynbsOGDfMdV1xcbCZPnmzOPfdcExUVZeLi4syll15qXnrpJeP1en3HXXvttSYqKsqUl5c32bcbb7zRRERE+G7EolPOYddbu3atry/157B/+ctf+vWrXklJifn1r39thgwZYhITE01ERITp1q2bGTx4sPnjH/9o6urqfMfWn8Ou3yIiIkz37t1NZmamefDBB81nn31m+/08dOiQmTVrlrnsssvMWWedZaKiokyXLl3MRRddZGbNmmWOHj3q97ynvs/GGHPw4EFz6623mjPOOMN07tzZjBw50mzZssVIMk8++WST7ytgh045h/3f//3fRpLp0qWL3xYREWFGjRpljDHm9ttvN5LMJ5984ovbvn27kWT+/ve/t/dLsM0y5jQ3VgZgW21trXr16qXf/OY3mjJlSkd3p10tXbpUv/jFL/Tuu+/6jdABpyzL0ooVK3yzVsuXL9cvfvEL7dq1S+Hh4X7Hdu3aVYmJiZo5c6Zmz57tdz+CY8eOqXPnzlq7dq1GjhzZni/BNqbEgTYSFRWlb775pqO70eaWLVumL7/8Uv369VNYWJi2bNmi3//+97r00ktJ1mhzAwYMkMfjUXl5uYYOHdroMUOGDFFdXZ0+/fRT9enTR5J8izpTU1Pbra9OMcIG4Mif//xn5efna+/evaqurlZSUpKuvfZazZo1S7GxsR3dPXwPHDlyRHv37pV0MkHPmTNHI0aMUHx8vHr37q1f/vKXevfdd/XEE09owIABOnDggNatW6d+/frpqquuktfr1aBBg9S1a1fNnTtXXq9XkydPVmxsrNauXdvBr67lSNgAgKC2fv16jRgxosH+cePGadGiRTpx4oRmzZqlxYsX68svv1T37t2VmZmphx9+WP369ZMkffXVV5oyZYrWrl2rLl26KCcnR0888YTi4+Pb++XYRsIGAMAFuOYCAAAXIGEDAOACQbdK3Ov16quvvlK3bt38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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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siL3drt378b169cxYsQIq+379u3D66+/jhdeeAHx8fFo3749SktL8cknn2D37t0YN26c5RahWmfOnMHBgwdhNptRVlaGb775BqtWrUJFRQXWr19vmR6153iePn0aQ4cOxXPPPYeEhATo9XpcuXIFO3fuxMqVK5GYmIj4+HjL53p4eCAhIQF/+9vfAACPPfYYBgwYgF//+teoqKhATEwMDhw4gPXr1wOo/7awLVu2wMPDA0OGDMGJEyfw+9//Hr17965zHbylDBgwAL/85S/x0ksvIT8/H4MGDULbtm1RXFyMr776Cj179sSvfvWrFulLz549kZOTgx07dkCv18PPzw9RUVF4++23kZ2djfj4eEyfPh1RUVG4efMmzp07h127dmHFihV1zheSw7///W988skn+P777y1/eM2aNQu7d+/GmjVrsGDBAnz33Xc4f/48Pv30U6xfvx4mkwkzZ87E008/jb1797byN7BDqy13I4favHmzeP7550W3bt2Er6+v8PT0FOHh4WLs2LHin//8p2W/hIQEy2rmO0tCQoJlv8LCQjFlyhTRpUsX4eXlJQICAsSgQYPEhg0bhNlstuw3YsQI4eXlJUpLSxvs23PPPSc8PDwsD2LBbavEb7dnzx5LX2pXib/44otW/apVVFQkfve734kBAwaIkJAQ4eHhIfz8/ES/fv3E//zP/wij0WjZt3YVdG3x8PAQ7du3F3FxcWLOnDni3Llzqo/nlStXxPz588Ujjzwi7r33XuHl5SXatm0rHnzwQTF//vw6Dyu58zgLIcTly5fFSy+9JNq1ayfatGkjhgwZIg4ePCgAiA8++MCyX+0q8cOHD4uUlBTh6+sr/Pz8xJgxY8TFixetPjMiIkIMHz683p9HQ6vE71xF39CK/dp+/Pjjj1bbV69eLfr16yfatm0rfHx8RNeuXcW4ceNEfn5+vf2oj9ZV4kePHhUDBgwQbdq0qXOsf/zxRzF9+nQRGRkpPD09RWBgoIiJiRFz584V165da7R9ch4AxNatWy2v//KXvwgAom3btlbFw8NDPPvss0IIIV555RUBwOquicOHDwsA4tSpUy39FVRjwCanVV1dLQICAsSSJUtauystrvZWrb///e+WbQ0FSiJXcmfA3rRpk3B3dxenTp0SZ86csSrFxcVCCCHefPNN4eHhYfU5169fFwDEnj17WrL7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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAewAAAGxCAYAAACgOoVJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA9yklEQVR4nO3df1xUdb4/8NeBgQEFxlBhQIHIa5tXXGvRNTAT3aSoZTNts3VLK+3m118pa27k3qSuV/ql11rTavPnIzOulZpXVmWvPzCtrnLxVua2mhSksCyoDKDyY87n+4fLrCO/Zj5nYObTvJ77OI9HnDnv+Xzm7Mibz+dzznlrQggBIiIi8mkB3u4AERERdY4Jm4iISAFM2ERERApgwiYiIlIAEzYREZECmLCJiIgUwIRNRESkACZsIiIiBTBhExERKYAJm3zOZ599hvvuuw/x8fEwm82Ijo5GSkoKfvOb3ziOSUtLQ1JSUqfvVVZWhtmzZ2PAgAEICQnBddddh7S0NGzatAkdPeTvtddeg6ZpHbahaRo0TcMLL7zQ6rX169dD0zQcPXq01Wvnzp1DUFAQtm7dCgCor6/Hiy++iKFDhyIiIgLh4eEYMGAAHnjgARw4cMARt3//fkebmqYhODgYffv2xciRI7Fo0SJ89913bfbTlfMJAE1NTXjzzTcxfPhwREZGokePHkhISMC9997r6CsReQ8TNvmUnTt3IjU1FTabDS+99BL27NmDV199FSNHjkReXp5b73Xo0CH8+Mc/xvbt2/Hkk09i165dWL9+Pfr164eHHnoIv/rVr6Drepuxa9euBQAcP34cn332WYftvPDCCzh37pzL/dq+fTuCg4Nx1113wW63Iz09Hf/+7/+O+++/H1u2bMH777+P+fPno6amBgcPHmwVv3TpUnzyySfYt28f1qxZg7S0NKxduxaDBg3Cpk2bnI5153w+/PDDmDNnDsaMGYN33nkHO3bswO9+9zuYTCbs3r3b5c9HRF1EEPmQ22+/XQwYMEA0NTW1es1utzv+e/To0WLw4MHtvs/58+dFVFSUSEhIEBUVFa1ef+GFFwQAkZub2+q1I0eOCADinnvuEQDE448/3mYbAMQdd9whTCaTyMrKcnpt3bp1AoA4cuRIq7i7775b3H///UIIIfbu3SsAiLVr17bZxtWfed++fQKA2LJlS6vjqqurxS233CJMJpP4/PPPHftdPZ+nT58WAMSzzz7baT9cpeu6uHjxottxRNQ2jrDJp1RXV6NPnz4wmUytXgsIcP3r+vbbb6OyshIvvPACoqOjW72+cOFC3HTTTXj55ZfR1NTk9NqaNWsAXBk5p6am4r333sPFixfbbOdHP/oRpk2bhtdff73dKemr2Ww2/OlPf8LEiRMBXPm8ABATE9Pm8a5+5sjISLz55ptobm7Gf/zHfzj2u3o+PdEPTdMwe/ZsvPHGGxg0aBDMZjM2bNjgUv+JqHNM2ORTUlJS8Nlnn2Hu3Ln47LPPWiVTVxUUFCAwMBCZmZltvq5pGn7xi1/g3LlzKCoqcuy/dOkSNm/ejOHDhyMpKQmPPfYYamtrsWXLlnbbysnJQWBgIP71X/+1037t2LEDmqbhnnvuAQAMGzYMQUFBePLJJ7Fp0yaUl5e7+Un/Yfjw4YiJiUFhYaFjn6vnc9CgQejVqxeee+45vPXWW/j222+l+rBt2zasXr0azz77LHbv3o1Ro0ZJvQ8RtcHbQ3yiq1VVVYnbbrtNABAARFBQkEhNTRW5ubmitrbWcVxnU+I33XSTsFqtHba1evVqAUDk5eU59m3cuFEAEG+88YYQQoja2loRFhYmRo0a1SoegJg1a5YQQohFixaJgIAA8X//939CiPanxMePHy8yMzOd9q1Zs0aEhYU5PnNMTIyYMmWKKCwsdDquoynxFiNGjBChoaGOn109n0IIsXPnTtGnTx/Hsb179xa//OUvxUcffdRue9eeD4vFIs6dO+fS8UTkHo6wyaf07t0bBw8exJEjR/DCCy/g3nvvxV/+8hdkZ2djyJAhqKqq8lhb4u9XiWua5ti3Zs0ahIaG4sEHHwQAhIWF4Ze//CUOHjyIkydPtvteCxcuRGRkJH7729+2e0x9fT12797tmA5v8dhjj+H777/Hu+++i7lz5yIuLg7vvPMORo8ejZdfflnqM7Vw53zefffdKC0txdatW7FgwQIMHjwY27Ztwy9+8QvMnj3bpfbHjh2L6667zq0+E3WmsLAQmZmZiI2NhaZp2LZtm9vvIYTAK6+8ghtvvBFmsxlxcXFYunSp5zvblbz8BwNRpxobG8X8+fMFAPHUU08JITofYaenp4vAwEBRV1fX7jELFy4UAMQnn3wihBDi5MmTQtM0cf/994vz5887tp07dwoA4umnn3aKx1UjbCGEWLFihQAg9u7d2+YIOy8vT5hMJpdGoF9++aWwWq0iKChInD9/Xgjh2gjbarWKAQMGdPjebZ3P9nz33Xfin//5nwUA8eWXX3Z4LAAxc+bMDo8hkpGfny8WLVokPvjgAwFAbN261e33mDNnjvjRj34ktm/fLk6fPi2Ki4tFQUGB5zvbhTjCJp8XFBSExYsXAwC+/PJLl2LGjRsHu92OHTt2tPm6EAIfffQRIiMjkZycDODKrVxCCLz//vu47rrrHFvLevOGDRtgt9vbbfP//b//h8TERPz2t79t8x7vDz74wOUR6ODBg/Hggw+iqakJf/nLX1z5yPif//kfVFRUIC0trcPj3Dmf8fHx+Jd/+RcAV25x68zVsxVEnpKRkYElS5ZgwoQJbb7e2NiIhQsXol+/fujZsydGjBiB/fv3O14/ceIEVq9eje3bt+MXv/gFEhMTcfPNN+OOO+7opk/gGUzY5FPau+jqxIkTAIDY2FiX3mf69OmIiopCdnY2KisrW73+0ksv4c9//jMWLlyIoKAg2O12bNiwAQMGDMC+fftabb/5zW9QXl6OP/7xj+22GRwcjCVLluDIkSOtLlK7fPky8vPzW02HV1dXo7Gxsc33+/Of/+zyZz537hxmzJiBoKAgzJ8/37Hf1fNZW1uLuro6l44l8jWPPvooDh06hPfeew+ff/45fvnLX+Kuu+5yLGPt2LEDN9xwA/7rv/4LiYmJuP766zF9+nS3np/gC1rf60HkRXfeeSf69++PzMxM3HTTTdB1HceOHcOyZcsQFhaGJ5980nGszWbD+++/3+o9+vbti9GjR+PDDz/Ez3/+cyQnJ+Opp57C0KFDYbPZkJeXh02bNmHSpEl46qmnAAB//OMfcfbsWbz44ottjlCTkpKwcuVKrFmzBj//+c/b7f+vfvUrvPLKK60S+65du3Dx4kWMHz/eaf++ffvw5JNP4te//jVSU1PRu3dvVFZWYvPmzdi1axemTJmC/v37O8WcPHkSn376KXRdR3V1NT777DOsWbMGNpsNGzduxODBg90+n19//TXuvPNOPPjggxg9ejRiYmJw/vx57Ny5E2+99RbS0tKQmprqeF+TyYTRo0fjv//7v9s9F0Td4ZtvvsHmzZvx/fffO/6oXLBgAXbt2oV169Zh6dKlOH36NL777jts2bIFGzduhN1ux/z583H//fdj7969Xv4EbvDylDyRk7y8PDF58mQxcOBAERYWJoKCgkR8fLx4+OGHxVdffeU4bvTo0Y6rma/dRo8e7TiutLRUzJo1S9xwww0iODhYWCwWcfvtt4t33nlH6LruOG78+PEiODhYVFZWttu3Bx98UJhMJseDWHDNGnaLPXv2OPrSsob90EMPOfWrRVlZmfjd734nRo4cKaxWqzCZTCI8PFyMGDFC/P73vxfNzc2OY1vWsFs2k8kkevfuLVJSUsQzzzwjvv32W+nzef78ebFkyRIxduxY0a9fPxEcHCx69uwpbr75ZrFkyZJWD0C59jx3dD6IPAnXrGH/53/+pwAgevbs6bSZTCbxwAMPCCGEePzxxwUA8fXXXzviioqKBADx5z//ubs/gjRNiA4eqExEhjU2NiIqKgr/9m//hjlz5ni7O0RK0zQNW7dudcxW5eXl4de//jWOHz+OwMBAp2PDwsJgtVqxePFiLF261Ok5BJcuXUKPHj2wZ88ejBs3rjs/gjROiRN1seDgYFy4cMHb3SD6Qbrllltgt9tRWVnZ7oN6Ro4ciebmZnzzzTcYMGAAADgu5kxISOi2vhrFETYREfm0uro6nDp1CsCVBL18+XKMGTMGkZGRiI+Px0MPPYRDhw5h2bJluOWWW1BVVYW9e/diyJAhuPvuu6HrOoYPH46wsDCsWLECuq5j1qxZiIiIwJ49e7z86VzHhE1ERD5t//79GDNmTKv9U6dOxfr169HU1IQlS5Zg48aNOHPmDHr37o2UlBQ899xzGDJkCADg7NmzmDNnDvbs2YOePXsiIyMDy5YtQ2RkZHd/HGlM2ERERArgfdhEREQKYMImIiJSgM9dJa7rOs6ePYvw8HA+5pCISEFCCNTW1iI2NtatOvbuunz5crtPCnRHcHAwQkJCPNCjruVzCfvs2bOIi4vzdjeIiMigsrKyVk/q85TLly8jMSEMFZXtP9/fVVarFSUlJT6ftH0uYYeHhwMAbsPdMCHIy70h8iMGZrS04GDpWCE7QuL1sj6rGU34GPmO3+ddobGxERWVdpQUJSAiXH4Ub6vVkZj8HRobG5mw3dUyDW5CEEwaEzZRtzGSsA38WxWabOJlwvZZf/+/pjuWNSPCAwwlbJV02adctWoVEhMTERISguTkZBw8eLCrmiIiIj9lF7rhTRVdkrDz8vIwb948LFq0CMXFxRg1ahQyMjJQWlraFc0REZGf0iEMb6rokoS9fPlyTJs2DdOnT8egQYOwYsUKxMXFYfXq1V3RHBER+SndA/9ThccTdmNjI4qKipCenu60Pz09HYcPH251fENDA2w2m9NGREREzjyesKuqqmC32xEdHe20Pzo6GhUVFa2Oz83NhcVicWy8pYuIiFxlF8Lwpoouu+js2qsDhRBtXjGYnZ2Nmpoax1ZWVtZVXSIioh8Yf1rD9vhtXX369EFgYGCr0XRlZWWrUTcAmM1mmM1mT3eDiIjoB8XjI+zg4GAkJyejoKDAaX9BQQFSU1M93RwREfkxHQJ2A5tfj7ABICsrCw8//DCGDRuGlJQUvPXWWygtLcWMGTO6ojkiIvJTRqe1/T5hT5o0CdXV1Xj++edRXl6OpKQk5OfnIyEhoSuaIyIi+sHrskeTzpw5EzNnzuyqtyciIjJ8pbdKV4n73LPEichLDPziki7gYbBdIv3vm5F4VfjHE9OJiIgUxxE2EREpq+VqbyPxqmDCJiIiZdnFlc1IvCo4JU5ERMrSPbC5q7CwEJmZmYiNjYWmadi2bZvLsYcOHYLJZMLNN9/sdrtM2ERERG6or6/H0KFDsXLlSrfiampqMGXKFPzsZz+TapdT4kREpCwdGuxoXafCnXh3ZWRkICMjw+24J554ApMnT0ZgYKBbo/IWHGETEZGydGF8A9CqzHNDQ4NH+7lu3Tp88803WLx4sfR7MGETEZHfi4uLcyr1nJub67H3PnnyJJ5++mls2rQJJpP8xDanxImISFl2g1PiLbFlZWWIiIhw7PdUFUm73Y7Jkyfjueeew4033mjovZiwiYhIWZ5K2BEREU4J21Nqa2tx9OhRFBcXY/bs2QAAXdchhIDJZMKePXswduxYl96LCZuIiKiLRERE4IsvvnDat2rVKuzduxfvv/8+EhMTXX4vJmwiIlKWLjTowsBV4hKxdXV1OHXqlOPnkpISHDt2DJGRkYiPj0d2djbOnDmDjRs3IiAgAElJSU7xUVFRCAkJabW/M0zYRESkLE9Nibvj6NGjGDNmjOPnrKwsAMDUqVOxfv16lJeXo7S0VLpP7dGE8K1SOTabDRaLBWm4FyYtyNvdISJXaPK/MFmt64enWTRhP7ajpqamS9aFgX/kigNf9kNYuPwNT3W1OkYnnenSvnoKR9ikBiYE38Zz7Lt+4P927AiA3cAdynYP9qWrMWETEZGyhME1bGEgtrsxYRMRkbK8sYbtLXzSGRERkQI4wiYiImXZRQDswsAatu8v0zswYRMRkbJ0aNANTBbrUCdjc0qciIhIARxhExGRsvzpojMmbCIiUpbxNWxOiRMREZEHcYRNRETKunLRmYHiH5wSJyIi6nq6wUeT8ipxIiIi8iiOsImISFn+dNEZEzZ1HwNVgwLMZulYvbFJOha6SrV8iNqgUEKSoSPAbx6cwoRNRETKsgsNdgMVt4zEdjeuYRMRESmAI2wiIlKW3eBV4nZOiRMREXU9XQRAN3DRma7QGj+nxImIiBTAETYRESmLU+JEREQK0GHsSm/dc13pcpwSJyIiUgBH2EREpCzjD05RZ9zKhE1ERMoy/mhSdRK2Oj0lIiLyYxxhExGRslgPm4iISAH+NCXOhE1ERMoyfh82E7bXaCb5jyR0uRvotQD5KRXR3CwdqxwDjwA0cp60IAPfiUYDd2kq9MhD6h6Gfj/50+8KatMPLmETEZH/0IUG3ciDUxQqr8mETUREytINTomrdB+2Oj0lIiLyYxxhExGRsoyX11Rn3MqETUREyrJDg93AvdRGYrubOn9aEBER+TGOsImISFmcEiciIlKAHcamte2e60qXU+dPCyIiIj/GhE1ERMpqmRI3srmrsLAQmZmZiI2NhaZp2LZtW4fHf/jhhxg3bhz69u2LiIgIpKSkYPfu3W63y4RNRETKain+YWRzV319PYYOHYqVK1e6dHxhYSHGjRuH/Px8FBUVYcyYMcjMzERxcbFb7XINm4iIlCUMltcUErEZGRnIyMhw+fgVK1Y4/bx06VJs374dO3bswC233OLy+zBhExGR37PZbE4/m81mmM3mLmlL13XU1tYiMjLSrThOiRMRkbI8NSUeFxcHi8Xi2HJzc7usz8uWLUN9fT0eeOABt+J8d4QdEAhoge6HhfWUblKvq5eK81rZuwD3z4+D7oWbGQz019D/r/WXpGP9qkSmat8nLzFSIjOgt3sjqqvp5y5IxQm7/P83gZL/7oRoBGydH+cJnqrWVVZWhoiICMf+rhpdb968GTk5Odi+fTuioqLcivXdhE1ERNRNIiIinBJ2V8jLy8O0adOwZcsW3HHHHW7HM2ETEZGy7AbLaxqJdcfmzZvx2GOPYfPmzbjnnnuk3oMJm4iIlOWpKXF31NXV4dSpU46fS0pKcOzYMURGRiI+Ph7Z2dk4c+YMNm7cCOBKsp4yZQpeffVV3HrrraioqAAAhIaGwmKxuNyux/+0yMnJgaZpTpvVavV0M0RERF5x9OhR3HLLLY5bsrKysnDLLbfg2WefBQCUl5ejtLTUcfybb76J5uZmzJo1CzExMY7tySefdKvdLhlhDx48GH/6058cPwcGGriYhYiIqB06AqAbGHvKxKalpUF0cEHq+vXrnX7ev3+/2220pUsStslk4qiaiIi6nF1osBuYEjcS2926ZLX95MmTiI2NRWJiIh588EGcPn263WMbGhpgs9mcNiIiInLm8YQ9YsQIbNy4Ebt378Yf/vAHVFRUIDU1FdXV1W0en5ub63SzelxcnKe7REREP1AtF50Z2VTh8YSdkZGBiRMnYsiQIbjjjjuwc+dOAMCGDRvaPD47Oxs1NTWOrayszNNdIiKiHyhhsFKXkCj+4S1dfltXz549MWTIEJw8ebLN17vyea1ERPTDZocGu4HiH0Ziu1uX/2nR0NCAEydOICYmpqubIiIi+sHy+Ah7wYIFyMzMRHx8PCorK7FkyRLYbDZMnTrV000REZGf04Xcw0+ujleFxxP2999/j1/96leoqqpC3759ceutt+LTTz9FQkKCp5siIiI/17IWbSReFR5P2O+9956n35KIiMjv+e6zxHU7oLn/l4/dVmeszW5mpFSfZuBiPf3SZelY2fMUGBEm3WTz4ETpWNPxEulY+4VG6Vjl+FGJTCOMlNOVLZF5pd0mqbjAXr2k22weFC8X13wZ+Ey6Wbfo0KAbuHDMSGx3892ETURE1Ak+6YyIiIh8CkfYRESkLF50RkREpAAdButhK7SGrc6fFkRERH6MI2wiIlKWMHiVuFBohM2ETUREyjJacUulal1M2EREpCx/uuhMnZ4SERH5MY6wiYhIWZwSJyIiUoA/PZqUU+JEREQK4AibiIiUxSlxIiIiBTBh+wDNZIKmud89YZcvEShb6tJImzIlRB3tNjQYaNbAgwYkv+B6Xb10m6avy6Rj9fpL0rFGyp8aKcPoVwIC5cJ69pBuUq+/KB1rpAypaDJQrlWT+3dn5HtoOlEqFyj8qCxtN/LZhE1ERNQZjrCJiIgU4E8Jm1eJExERKYAjbCIiUpaAsXuphee60uWYsImISFn+NCXOhE1ERMryp4TNNWwiIiIFcIRNRETK8qcRNhM2EREpy58SNqfEiYiIFMARNhERKUsITfpxyS3xqmDCJiIiZbEeNhEREfkUnx1hB/TqhYCAYLfjxEX5KjwBvSxScfaqauk2RaN8VRstUK7KEQAE9I6UjoVs9Z8m+apBmtksHxt8WT42NEQ6Vr9QIxVnqMqXZEWnKw0beOaTgXZlq26JHyVItxn4bbl0rL36nHSsoXMsGavX1XV7m3bRJN+mm7xx0VlhYSFefvllFBUVoby8HFu3bsX48eM7jDlw4ACysrJw/PhxxMbGYuHChZgxY4Zb7XKETUREympZwzayuau+vh5Dhw7FypUrXTq+pKQEd999N0aNGoXi4mI888wzmDt3Lj744AO32vXZETYREZEvysjIQEZGhsvHv/HGG4iPj8eKFSsAAIMGDcLRo0fxyiuvYOLEiS6/DxM2EREpy1NT4jabzWm/2WyG2cBS3NU++eQTpKenO+278847sWbNGjQ1NSEoKMil9+GUOBERKctTU+JxcXGwWCyOLTc312N9rKioQHR0tNO+6OhoNDc3o6qqyuX34QibiIiUJQyOsFsSdllZGSIiIhz7PTW6bqFdc2Gm+PsFfdfu7wgTNhER+b2IiAinhO1JVqsVFRUVTvsqKythMpnQu3dvl9+HCZuIiJQlYPBuOY/1pH0pKSnYsWOH0749e/Zg2LBhLq9fA1zDJiIihbU86czI5q66ujocO3YMx44dA3Dltq1jx46htLQUAJCdnY0pU6Y4jp8xYwa+++47ZGVl4cSJE1i7di3WrFmDBQsWuNUuR9hERERuOHr0KMaMGeP4OSsrCwAwdepUrF+/HuXl5Y7kDQCJiYnIz8/H/Pnz8frrryM2NhavvfaaW7d0AUzYRESkMG8U/0hLS3NcNNaW9evXt9o3evRo/O///q/bbV2NCZuIiJSlCw0a62ETERGRr+AIm4iIlCWEV2qqeAUTNhERKcsba9je4rMJW1y6CKG5X2ZQC5F/Oo096jqpuIAeBkowlp6RjjVSmtOIS8MHSMUFX2iQblNrskvHBly8JB2r19RKxwq7XJ+1IPfLyrYIiOwlHSvq6qVjtbCe8u3WypV/DCirlG5TkyzpCQABDfL/7vR6+fK/WoBcYgnoIf9Z9UtypWk1oQHdV2HTb/hswiYiIuoMR9hEREQK8KerxJmwiYhIWf500Rlv6yIiIlIAR9hERKSsKyNsI2vYHuxMF2PCJiIiZfnTRWecEiciIlIAR9hERKQsAWM1rRWaEWfCJiIidXFKnIiIiHwKR9hERKQuP5oTZ8ImIiJ1GZwSh0JT4kzYRESkLD7pjIiIiHyKz46wAywRCAiQKJUZHCTdpt5DLvb8kAjpNvs0ytegs1cYKC8YKl8StLa/5Nemn/zXLeys+6VWW4Q2REvHBnxfLh2rhUdJxQmz/He4qV8v6digSrkylwDQECP/byDk5F+l4oyUlxWXDZR6je4jHRt4vka+3WC5sqvNCXLfQwAILKmQigvQGwH5X09u8aerxH02YRMREXVKaMbWoRVK2JwSJyIiUgBH2EREpCxedNaBwsJCZGZmIjY2FpqmYdu2bU6vCyGQk5OD2NhYhIaGIi0tDcePH/dUf4mIiP5BeGBThNsJu76+HkOHDsXKlSvbfP2ll17C8uXLsXLlShw5cgRWqxXjxo1DbW2t4c4SERH5K7enxDMyMpCRkdHma0IIrFixAosWLcKECRMAABs2bEB0dDTeffddPPHEE8Z6S0REdBV/ukrcoxedlZSUoKKiAunp6Y59ZrMZo0ePxuHDh9uMaWhogM1mc9qIiIhc5gfT4YCHE3ZFxZV79qKjne97jY6Odrx2rdzcXFgsFscWFxfnyS4RERH9IHTJbV2a5jzFIIRota9FdnY2ampqHFtZWVlXdImIiH6AWqbEjWyq8OhtXVarFcCVkXZMTIxjf2VlZatRdwuz2QyzWeKJZkRERH5UrcujI+zExERYrVYUFBQ49jU2NuLAgQNITU31ZFNEREQANA9sanB7hF1XV4dTp045fi4pKcGxY8cQGRmJ+Ph4zJs3D0uXLsXAgQMxcOBALF26FD169MDkyZM92nEiIiJ/4nbCPnr0KMaMGeP4OSsrCwAwdepUrF+/HgsXLsSlS5cwc+ZMnD9/HiNGjMCePXsQHh7uuV4TEREBfjUl7nbCTktLg+jgWW6apiEnJwc5OTlG+kVERNQ5Jmzv0y/UQNfcLyen9Y/p/KB2nLspVCourFy+9KMwUA40IDxMOlYP6yEdG3Jel4qrSJFfK2qWLH0KAOd/FCkdG9hwnXRsbaJkm5elm0TkV/K/fUy95M+x+Zx8mdim/r2l4prDDfT3rHwpUREi/2szIED+siFhCpSKM5Wfl2/zkuSXUciXPqX2+WzCJiIi6pQflddkwiYiImWxWhcRERH5FI6wiYhIXX500RlH2EREpK6WNWwjm4RVq1YhMTERISEhSE5OxsGDBzs8ftOmTRg6dCh69OiBmJgYPProo6iurnarTSZsIiIiN+Tl5WHevHlYtGgRiouLMWrUKGRkZKC0tLTN4z/++GNMmTIF06ZNw/Hjx7FlyxYcOXIE06dPd6tdJmwiIlKWJoxv7lq+fDmmTZuG6dOnY9CgQVixYgXi4uKwevXqNo//9NNPcf3112Pu3LlITEzEbbfdhieeeAJHjx51q10mbCIiUpeRWthXrX/bbDanraGhoc3mGhsbUVRUhPT0dKf96enpOHz4cJsxqamp+P7775Gfnw8hBP7617/i/fffxz333OPWR2XCJiIidXloDTsuLg4Wi8Wx5ebmttlcVVUV7HZ7qwqU0dHRqKioaDMmNTUVmzZtwqRJkxAcHAyr1YpevXrh97//vVsflQmbiIj8XllZGWpqahxbdnZ2h8drmvPFakKIVvtafPXVV5g7dy6effZZFBUVYdeuXSgpKcGMGTPc6iNv6yIiInV56LauiIgIREREdHp4nz59EBgY2Go0XVlZ2WrU3SI3NxcjR47EU089BQD48Y9/jJ49e2LUqFFYsmQJYmJce6Q2R9hERKQuD61huyo4OBjJyckoKChw2l9QUIDU1NQ2Yy5evNjqOfKBgVeeDd9RMa1rMWETERG5ISsrC2+//TbWrl2LEydOYP78+SgtLXVMcWdnZ2PKlCmO4zMzM/Hhhx9i9erVOH36NA4dOoS5c+fipz/9KWJjY11ul1PiRESkLi886WzSpEmorq7G888/j/LyciQlJSE/Px8JCQkAgPLycqd7sh955BHU1tZi5cqV+M1vfoNevXph7NixePHFF91qVxPujMe7gc1mg8Viwc8iH4EpwP3ymmhn0d8Vl4bdIBV3YYB8mT/roQvSsdrFtm87cEXt4D7SsYGNcuU1q6fXS7dZ/324dOx118uXFyxK/k/p2JlnbpWKm9V3n3SbL5bfKR178IsfScf2/kz+b//eX8iVupS5f7bFJatcKV2jworPyAcHyk2I6uE9pZvULsv9jmm2N+C/T7+Gmpoal9aFZbTkiriXlyAgNET6ffRLl1H21O+6tK+ewilxIiIiBXBKnIiIlCX7tLKr41XBhE1EROpitS4iIiLyJUzYRERECuCUOBERKUuDwTVsj/Wk6zFhExGRuq4q4CEdrwhOiRMRESmAI2wiIlKXH10lzoRNRETq8qOEzSlxIiIiBXCETUREyuKTzoiIiFTgR1PiPpuwG4YkwG5yvwKLuaJWus3a/nKnw3K6SbpNew/5Sl8wEBvYIFdxCwBC/nZZKq7xS4t0m71PS4ci4H96S8cmnn1cOrZfgdyK00PWn0i3WZtySTpWC5b/TggDv0kqUuQqsUWU2aXbDKlulI49P1C+MlRPS5h0bHMvuQpjWpP8eTJVyVW603T580vt89mETURE1CmOsImIiHyfP61h8ypxIiIiBXCETURE6vKjR5MyYRMRkbq4hk1EROT7uIZNREREPoUjbCIiUhenxImIiBRgcEpcpYTNKXEiIiIFcIRNRETq4pQ4ERGRAvwoYXNKnIiISAEcYRMRkbL86T5sn03Y5sp6mAKb3Q/8m1w5OADo839mqbjLfeXL7ZkuyJdDbIyWL9UXerZeOlarlyuvGf6tfH97f26TjrX3CJZv92iddCz+dk4qLCzBKt2k9aB8iUwI+d9czRHyJRzPjuohFWeql29TBMg/jrLv0RrpWK3uonRs0KUGuUDdwHfCLPlvR1coCyqEU+JEREQK8NkRNhERUaf86KIzJmwiIlIW17CJiIhUoVDSNYJr2ERERArgCJuIiNTFNWwiIiLf509r2JwSJyIiUgBH2EREpC5OiRMREfk+TokTERFRu1atWoXExESEhIQgOTkZBw8e7PD4hoYGLFq0CAkJCTCbzRgwYADWrl3rVpscYRMRkbq8MCWel5eHefPmYdWqVRg5ciTefPNNZGRk4KuvvkJ8fHybMQ888AD++te/Ys2aNfinf/onVFZWornZvXoZTNhERKQuDyVsm825wJDZbIbZ3HZBqOXLl2PatGmYPn06AGDFihXYvXs3Vq9ejdzc3FbH79q1CwcOHMDp06cRGRkJALj++uvd7iqnxImIyO/FxcXBYrE4trYSLwA0NjaiqKgI6enpTvvT09Nx+PDhNmM++ugjDBs2DC+99BL69euHG2+8EQsWLMClS+5Va/TZEbZ23gYtwP3SbvpludKPABD4N7myeT3PVku3KdycErlacLN8eUF7L7mShgAQKFmZ02yTL/MX+NcL0rEBtlrpWHudfBlSWYF2IyUy5WP1evlSr6bgIOnYhOpYqbiG2AjpNhsj5H/1mS7Il+aEgX+zQrbUZYVcmVcA0BvkSnraRZN0m+7y1EVnZWVliIj4x3eqvdF1VVUV7HY7oqOjnfZHR0ejoqKizZjTp0/j448/RkhICLZu3YqqqirMnDkT586dc2sd22cTNhERUac8NCUeERHhlLA7o2nOf7gJIVrta6HrOjRNw6ZNm2CxWABcmVa///778frrryM0NNSlNjklTkRE6hIe2NzQp08fBAYGthpNV1ZWthp1t4iJiUG/fv0cyRoABg0aBCEEvv/+e5fbZsImIiJyUXBwMJKTk1FQUOC0v6CgAKmpqW3GjBw5EmfPnkVdXZ1j31/+8hcEBASgf//+LrftdsIuLCxEZmYmYmNjoWkatm3b5vT6I488Ak3TnLZbb73V3WaIiIg61bKGbWRzV1ZWFt5++22sXbsWJ06cwPz581FaWooZM2YAALKzszFlyhTH8ZMnT0bv3r3x6KOP4quvvkJhYSGeeuopPPbYYy5PhwMSa9j19fUYOnQoHn30UUycOLHNY+666y6sW7fO8XNwsOTFEkRERB3xwn3YkyZNQnV1NZ5//nmUl5cjKSkJ+fn5SEhIAACUl5ejtLTUcXxYWBgKCgowZ84cDBs2DL1798YDDzyAJUuWuNWu2wk7IyMDGRkZHR5jNpthtVrdfWsiIiIlzJw5EzNnzmzztfXr17fad9NNN7WaRndXl6xh79+/H1FRUbjxxhvx+OOPo7Kyst1jGxoaYLPZnDYiIiJXeGNK3Fs8nrAzMjKwadMm7N27F8uWLcORI0cwduxYNLRzP19ubq7TzepxcXGe7hIREf1QdfNV4t7k8fuwJ02a5PjvpKQkDBs2DAkJCdi5cycmTJjQ6vjs7GxkZWU5frbZbEzaRERE1+jyB6fExMQgISEBJ0+ebPP1jp7XSkRE1CHWw/ac6upqlJWVISYmpqubIiIiP6P9fTMSrwq3E3ZdXR1OnTrl+LmkpATHjh1DZGQkIiMjkZOTg4kTJyImJgbffvstnnnmGfTp0wf33XefRztORETkT9xO2EePHsWYMWMcP7esP0+dOhWrV6/GF198gY0bN+LChQuIiYnBmDFjkJeXh/DwcM/1moiICOCUeEfS0tIgRPufcPfu3YY6RERE5CpPVetSgc9W67KfvwBNc79kn2iSL1cpGhul4gJ6yJeq1P/J9efIttLBH06dMZ2RLwmqX5ArQ2q5IF/mUr940SuxRs6xZpL756X1NPB96i1fclI7Vdr5Qe21W2+gDOnXp6XCzBXynzXEwDkWBkr4QvI7AQCo+JtUmH5Jvr+iSe53oujG8pr+NMJm8Q8iIiIF+OwIm4iIyCUKjZKNYMImIiJl+dMaNqfEiYiIFMARNhERqcuPLjpjwiYiImVxSpyIiIh8CkfYRESkLk6JExER+T5OiRMREZFP4QibiIjUxSlxIiIiBTBhExER+T6uYRMREZFP8dkRtmYKhKa53z0j5TVht8vFBWjSTQac+l46Vrq/AOwGSk6KZslzbKQEoyZ/jo2UyDRCSP7/Y/9blXSbATYDJUwbGqRjDdElz9P58/Jt1tikQwOvs0jHXh4sX07X/Llc+VMjozK77O8YoQO6gYbdagucEiciIvJ1mhDQjNSt99If9DI4JU5ERKQAjrCJiEhdnBInIiLyfbxKnIiIiHwKR9hERKQuTokTERH5Pk6JExERkU/hCJuIiNTFKXEiIiLf509T4kzYRESkLj8aYXMNm4iISAEcYRMRkdJUmtY2wmcTtn6pAbomUe5FGCgRowVJhem2OukmRXOTdKy3qlB5hYKfVQsMlIoTBqpm2RsbpWM1k9z3/0qwetXUZOkGKn2Zj5V0e7tCN3B+JSupQchXEnS/LWHsO6TQ949T4kRERG5atWoVEhMTERISguTkZBw8eNCluEOHDsFkMuHmm292u00mbCIiUlbLVeJGNnfl5eVh3rx5WLRoEYqLizFq1ChkZGSgtLTjmuU1NTWYMmUKfvazn0l9ViZsIiJSl/DA5qbly5dj2rRpmD59OgYNGoQVK1YgLi4Oq1ev7jDuiSeewOTJk5GSkuJ+o2DCJiIigs1mc9oa2rmWpLGxEUVFRUhPT3fan56ejsOHD7f7/uvWrcM333yDxYsXS/eRCZuIiJSl6cY3AIiLi4PFYnFsubm5bbZXVVUFu92O6Ohop/3R0dGoqKhoM+bkyZN4+umnsWnTJphM8td6++xV4kRERJ3y0INTysrKEBER4dhtNps7DNOuuTNCCNFqHwDY7XZMnjwZzz33HG688UYDHWXCJiIiQkREhFPCbk+fPn0QGBjYajRdWVnZatQNALW1tTh69CiKi4sxe/ZsAICu6xBCwGQyYc+ePRg7dqxLfWTCJiIiZXX3s8SDg4ORnJyMgoIC3HfffY79BQUFuPfee1sdHxERgS+++MJp36pVq7B37168//77SExMdLltJmwiIlKXFx6ckpWVhYcffhjDhg1DSkoK3nrrLZSWlmLGjBkAgOzsbJw5cwYbN25EQEAAkpKSnOKjoqIQEhLSan9nmLCJiEhZ3qjWNWnSJFRXV+P5559HeXk5kpKSkJ+fj4SEBABAeXl5p/dky9CE8K3nstlsNlgsFqQFTIBJ5lGhBh5NaujRjJL4aNIfLk3yalDR3GygUflHhBr5/iv3PQ6Qe2wsAGgB8uc4wNL5Gml7VHo0abNown5sR01NjUvrwjJacsWIzH+DKShE+n2amy7jsx3/2qV99RSOsImISF1+VF6TCZuIiJTljSlxb+GDU4iIiBTguyNs3Q5o3fv3hGiSL01IdC1Da9HSjcoPF5RbhzawXh8Q0vFDMTqiXzZQ/rT6nHQstcOPymv6bsImIiLqBKfEiYiIyKdwhE1EROriVeJERES+j1PiRERE5FM4wiYiInXp4spmJF4RTNhERKQurmETERH5Pg0G17A91pOuxzVsIiIiBXCETURE6uKTzoiIiHwfb+siIiIin8IRNhERqYtXiRMREfk+TQhoBtahjcR2NyZsIrpCoV9cAAz1V790ySvtekVAoHysbvdcP8gwJmwiIlKX/vfNSLwimLCJiEhZ/jQlzqvEiYiIFOBWws7NzcXw4cMRHh6OqKgojB8/Hl9//bXTMUII5OTkIDY2FqGhoUhLS8Px48c92mkiIiIA/7hK3MimCLcS9oEDBzBr1ix8+umnKCgoQHNzM9LT01FfX+845qWXXsLy5cuxcuVKHDlyBFarFePGjUNtba3HO09ERH6u5UlnRjZFuLWGvWvXLqef161bh6ioKBQVFeH222+HEAIrVqzAokWLMGHCBADAhg0bEB0djXfffRdPPPGE53pORER+j086c1FNTQ0AIDIyEgBQUlKCiooKpKenO44xm80YPXo0Dh8+3OZ7NDQ0wGazOW1ERETkTDphCyGQlZWF2267DUlJSQCAiooKAEB0dLTTsdHR0Y7XrpWbmwuLxeLY4uLiZLtERET+xo+mxKUT9uzZs/H5559j8+bNrV7TNOcKo0KIVvtaZGdno6amxrGVlZXJdomIiPyMphvfVCF1H/acOXPw0UcfobCwEP3793fst1qtAK6MtGNiYhz7KysrW426W5jNZpjNZpluEBER+Q23RthCCMyePRsffvgh9u7di8TERKfXExMTYbVaUVBQ4NjX2NiIAwcOIDU11TM9JiIiauFHU+JujbBnzZqFd999F9u3b0d4eLhjXdpisSA0NBSapmHevHlYunQpBg4ciIEDB2Lp0qXo0aMHJk+e3CUfgIiI/BirdbVt9erVAIC0tDSn/evWrcMjjzwCAFi4cCEuXbqEmTNn4vz58xgxYgT27NmD8PBwj3SYiIjIH7mVsIULUweapiEnJwc5OTmyfSIiInKJPz1LnMU/PKGdK+BdERAaKh3rVyUCiTzJn77/P/QSmUbXoRX6LrD4BxERkQI4wiYiInUJGKtprc4AmwmbiIjUxTVsIiIiFQgYXMP2WE+6HNewiYiIFMCETURE6vLSk85WrVqFxMREhISEIDk5GQcPHmz32A8//BDjxo1D3759ERERgZSUFOzevdvtNpmwiYhIXboHNjfl5eVh3rx5WLRoEYqLizFq1ChkZGSgtLS0zeMLCwsxbtw45Ofno6ioCGPGjEFmZiaKi4vdalcTrjwNpRvZbDZYLBak4V6YtCBvd8c1vA+biMihWTRhP7ajpqYGERERXdJGS64YO+S3MAXKF5Bqtjdg7xcvutXXESNG4Cc/+Ynj6Z8AMGjQIIwfPx65ubkuvcfgwYMxadIkPPvssy73lSNsIiJSVstV4kY24MofAFdvDQ0NbbbX2NiIoqIipKenO+1PT0/H4cOHXeqzruuora1FZGSkW5+VCZuIiNTloTXsuLg4WCwWx9beSLmqqgp2u71Vyejo6GhHQazOLFu2DPX19XjggQfc+qi8rYuIiPxeWVmZ05S42dzxNLt2zVKoEKLVvrZs3rwZOTk52L59O6KiotzqIxM2ERGpy0PPEo+IiHBpDbtPnz4IDAxsNZqurKxsNeq+Vl5eHqZNm4YtW7bgjjvucLurnBInIiJ1dfNtXcHBwUhOTkZBQYHT/oKCAqSmprYbt3nzZjzyyCN49913cc8990h9VI6wiYiI3JCVlYWHH34Yw4YNQ0pKCt566y2UlpZixowZAIDs7GycOXMGGzduBHAlWU+ZMgWvvvoqbr31VsfoPDQ0FBaLxeV2mbA9wMitWVpCP/l2vzsjHatfvCgdSz9Mmkn+14FobvZgT4jcoAOQv7NW6j7sSZMmobq6Gs8//zzKy8uRlJSE/Px8JCQkAADKy8ud7sl+88030dzcjFmzZmHWrFmO/VOnTsX69etdbpcJm4iIlOWt4h8zZ87EzJkz23zt2iS8f/9+qTauxYRNRETq8tBFZyrgRWdEREQK4AibiIjUpQtAMzBK1tUZYTNhExGRujglTkRERL6EI2wiIlKYwRE21BlhM2ETEZG6OCVOREREvoQjbCIiUpcuYGham1eJExERdQOhX9mMxCuCU+JEREQK4AibiIjU5UcXnTFhX0W2WpF+uUG6TUMVty5dko4luhYrblErmmwZLK377pbiGjYREZEC/GiEzTVsIiIiBXCETURE6hIwOML2WE+6HBM2ERGpi1PiRERE5Es4wiYiInXpOgADDz/R1XlwChM2ERGpi1PiRERE5Es4wiYiInX50QibCZuIiNTlR08645Q4ERGRAjjCJiIiZQmhQxgokWkktrsxYRMRkbqEMDatzTVsIiKibiAMrmEzYXuPbIlMAAiwREjF6TU26Tb1ixelY4mIOiVdIhPQgoPl4oQGyFcdpnb84BI2ERH5EV0HNAPr0FzDJiIi6gZ+NCXO27qIiIgUwBE2EREpS+g6hIEpcd7WRURE1B04JU5ERES+hCNsIiJSly4AzT9G2EzYRESkLiEAGLmtS52EzSlxIiIiBXCETUREyhK6gDAwJS44wiYiIuoGQje+SVi1ahUSExMREhKC5ORkHDx4sMPjDxw4gOTkZISEhOCGG27AG2+84XabTNhERKQsoQvDm7vy8vIwb948LFq0CMXFxRg1ahQyMjJQWlra5vElJSW4++67MWrUKBQXF+OZZ57B3Llz8cEHH7jVLhM2ERGRG5YvX45p06Zh+vTpGDRoEFasWIG4uDisXr26zePfeOMNxMfHY8WKFRg0aBCmT5+Oxx57DK+88opb7frcGnbLekIzmqTuhdcMrEcE6I1Scbpokm5TiGbpWCKizhmo1iXkYpv//juxO9aHm0WDoQIezbjSV5vNueqi2WyG2WxudXxjYyOKiorw9NNPO+1PT0/H4cOH22zjk08+QXp6utO+O++8E2vWrEFTUxOCgoJc6qvPJeza2loAwMfIl3sDI/nvnIFYIiJfZCRnGiyRWVtbC4vFYuxN2hEcHAyr1YqPKyRzxVXCwsIQFxfntG/x4sXIyclpdWxVVRXsdjuio6Od9kdHR6OioqLN96+oqGjz+ObmZlRVVSEmJsalfvpcwo6NjUVZWRnCw8OhtVHH1WazIS4uDmVlZYiIkKtf7Q94nlzD8+QanifX8DxdIYRAbW0tYmNju6yNkJAQlJSUoLFRbmb0akKIVvmmrdH11a49vq336Oz4tvZ3xOcSdkBAAPr379/pcREREX79D8JVPE+u4XlyDc+Ta3ie0GUj66uFhIQgJCSky9u5Wp8+fRAYGNhqNF1ZWdlqFN3CarW2ebzJZELv3r1dbpsXnREREbkoODgYycnJKCgocNpfUFCA1NTUNmNSUlJaHb9nzx4MGzbM5fVrgAmbiIjILVlZWXj77bexdu1anDhxAvPnz0dpaSlmzJgBAMjOzsaUKVMcx8+YMQPfffcdsrKycOLECaxduxZr1qzBggUL3GrX56bEO2M2m7F48eJO1xf8Hc+Ta3ieXMPz5BqeJ/8wadIkVFdX4/nnn0d5eTmSkpKQn5+PhIQEAEB5ebnTPdmJiYnIz8/H/Pnz8frrryM2NhavvfYaJk6c6Fa7mlDpuWxERER+ilPiRERECmDCJiIiUgATNhERkQKYsImIiBTAhE1ERKQApRK2u/VH/U1OTg40TXParFart7vldYWFhcjMzERsbCw0TcO2bducXhdCICcnB7GxsQgNDUVaWhqOHz/unc56UWfn6ZFHHmn1/br11lu901kvys3NxfDhwxEeHo6oqCiMHz8eX3/9tdMx/E5RV1AmYbtbf9RfDR48GOXl5Y7tiy++8HaXvK6+vh5Dhw7FypUr23z9pZdewvLly7Fy5UocOXIEVqsV48aNcxSi8RednScAuOuuu5y+X/n5xgsvqObAgQOYNWsWPv30UxQUFKC5uRnp6emor693HMPvFHUJoYif/vSnYsaMGU77brrpJvH00097qUe+Z/HixWLo0KHe7oZPAyC2bt3q+FnXdWG1WsULL7zg2Hf58mVhsVjEG2+84YUe+oZrz5MQQkydOlXce++9XumPL6usrBQAxIEDB4QQ/E5R11FihN1Sf/TaeqId1R/1VydPnkRsbCwSExPx4IMP4vTp097ukk8rKSlBRUWF03fLbDZj9OjR/G61Yf/+/YiKisKNN96Ixx9/HJWVld7uktfV1NQAACIjIwHwO0VdR4mELVN/1B+NGDECGzduxO7du/GHP/wBFRUVSE1NRXV1tbe75rNavj/8bnUuIyMDmzZtwt69e7Fs2TIcOXIEY8eORUODwaLJChNCICsrC7fddhuSkpIA8DtFXUepZ4m7W3/U32RkZDj+e8iQIUhJScGAAQOwYcMGZGVlebFnvo/frc5NmjTJ8d9JSUkYNmwYEhISsHPnTkyYMMGLPfOe2bNn4/PPP8fHH3/c6jV+p8jTlBhhy9QfJaBnz54YMmQITp486e2u+KyWq+j53XJfTEwMEhIS/Pb7NWfOHHz00UfYt28f+vfv79jP7xR1FSUStkz9UQIaGhpw4sQJxMTEeLsrPisxMRFWq9Xpu9XY2IgDBw7wu9WJ6upqlJWV+d33SwiB2bNn48MPP8TevXuRmJjo9Dq/U9RVlJkSz8rKwsMPP4xhw4YhJSUFb731llP9UQIWLFiAzMxMxMfHo7KyEkuWLIHNZsPUqVO93TWvqqurw6lTpxw/l5SU4NixY4iMjER8fDzmzZuHpUuXYuDAgRg4cCCWLl2KHj16YPLkyV7sdffr6DxFRkYiJycHEydORExMDL799ls888wz6NOnD+677z4v9rr7zZo1C++++y62b9+O8PBwx0jaYrEgNDQUmqbxO0Vdw6vXqLvp9ddfFwkJCSI4OFj85Cc/cdxGQVdMmjRJxMTEiKCgIBEbGysmTJggjh8/7u1ued2+ffsEgFbb1KlThRBXbsNZvHixsFqtwmw2i9tvv1188cUX3u20F3R0ni5evCjS09NF3759RVBQkIiPjxdTp04VpaWl3u52t2vrHAEQ69atcxzD7xR1BdbDJiIiUoASa9hERET+jgmbiIhIAUzYRERECmDCJiIiUgATNhERkQKYsImIiBTAhE1ERKQAJmwiIiIFMGETEREpgAmbiIhIAUzYRERECvj/BJPgac9ZE8YAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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cdi3b5/d/n379mHIkCENlklISKh3/N69exEfH+/w/DXAgE1EROSU1NRUvPnmm1i3bh2OHz+OOXPmoKioCDNmzAAApKWl4fHHH7cdP2PGDHz11VdITU3F8ePHsW7dOqxduxZz5851ql63GxJvjsFgwMKFC5udX/B0PE+O4XlyDM+TY3iePMOkSZNw4cIF/O53v0NJSQn69euHrKwsREVFAQBKSkrs7smOjo5GVlYW5syZg5UrVyI8PByvvfYaJkyY4FS9mlDpuWxEREQeikPiRERECmDAJiIiUgADNhERkQIYsImIiBTAgE1ERKQApQK2s/lHPU16ejo0TbPbjEZjWzerzeXl5WHs2LEIDw+HpmnYsWOH3ftCCKSnpyM8PBwBAQFISkrCsWPH2qaxbai58zRt2rR619fdd9/dNo1tQxkZGRg0aBACAwMRGhqKcePG4eTJk3bH8JqilqBMwHY2/6inio2NRUlJiW37/PPP27pJba6yshIDBgzAihUrGnx/6dKlePXVV7FixQocPHgQRqMRo0aNsiWi8RTNnScAuP/+++2ur6ws/YkXVJObm4uZM2fiwIED2LdvH2pra5GcnIzKykrbMbymqEUIRfzwhz8UM2bMsNvXt29f8etf/7qNWuR+Fi5cKAYMGNDWzXBrAMT27dttr61WqzAajWLJkiW2fdevXxfBwcFi9erVbdBC93DreRJCiKlTp4qHH364TdrjzsrKygQAkZubK4TgNUUtR4kedl3+0VvziTaVf9RTnTp1CuHh4YiOjsbkyZPx5ZdftnWT3FphYSFKS0vtri2DwYDExEReWw3IyclBaGgoevfujaeeegplZWVt3aQ2V15eDgAICQkBwGuKWo4SAVsm/6gnGjx4MDZt2oQPPvgAf/nLX1BaWoohQ4bgwoULbd00t1V3/fDaal5KSgreeust7N+/H6+88goOHjyIkSNHoqpKZ9JkhQkhkJqainvuuQf9+vUDwGuKWo5SzxJ3Nv+op0lJSbH9f//+/ZGQkICePXti48aNSE1NbcOWuT9eW82bNGmS7f/79euH+Ph4REVFYffu3Rg/fnwbtqztzJo1C0ePHsVHH31U7z1eU+RqSvSwZfKPEtC+fXv0798fp06dauumuK26VfS8tpxnMpkQFRXlsdfX7Nmz8d577yE7OxvdunWz7ec1RS1FiYAtk3+UgKqqKhw/fhwmk6mtm+K2oqOjYTQa7a6t6upq5Obm8tpqxoULF1BcXOxx15cQArNmzcK2bduwf/9+REdH273Pa4paijJD4qmpqZgyZQri4+ORkJCANWvW2OUfJWDu3LkYO3YsIiMjUVZWhkWLFsFsNmPq1Klt3bQ2deXKFZw+fdr2urCwEEeOHEFISAgiIyPx3HPPYfHixejVqxd69eqFxYsXo127dnj00UfbsNWtr6nzFBISgvT0dEyYMAEmkwlnzpzB/Pnz0blzZ/zoRz9qw1a3vpkzZ2LLli3YuXMnAgMDbT3p4OBgBAQEQNM0XlPUMtp0jbqTVq5cKaKiooSfn5/4wQ9+YLuNgm6YNGmSMJlMwtfXV4SHh4vx48eLY8eOtXWz2lx2drYAUG+bOnWqEOLGbTgLFy4URqNRGAwGMXz4cPH555+3baPbQFPn6erVqyI5OVl06dJF+Pr6isjISDF16lRRVFTU1s1udQ2dIwBi/fr1tmN4TVFLYD5sIiIiBSgxh01EROTpGLCJiIgUwIBNRESkAAZsIiIiBTBgExERKYABm4iISAEM2ERERApgwCYiIlIAAzYREZECGLCJiIgUwIBNRESkgP8P8rtstx1omq4AAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgsAAAGxCAYAAADs5vVAAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABMm0lEQVR4nO3df1xT590//lf4kYgIKYoQomiZt7NarOuwQ7R3oT9AnT/a2U47KpPHHLO3qKXoXK27V+ZdwTqlbrK51dlqKw4/q6XtvrYUalusUyzllk/FOrXfasVJxGpMBDGB5Pr8YTk1AiE5BwIHXs/H4zwekvO+cl05BvLO9eNcGiGEABEREVEH/Hq6AURERNS7MVkgIiIit5gsEBERkVtMFoiIiMgtJgtERETkFpMFIiIicovJAhEREbnFZIGIiIjcYrJAREREbjFZoF7p8OHD+NGPfoQRI0ZAp9MhMjISCQkJWL58uRSTlJSE2NjYTp+rtrYWS5YswahRozBgwACEhYUhKSkJhYWFcHcD0z/84Q/QaDRu69BoNNBoNFi3bl2bc9u3b4dGo8Gnn37a5tzly5cRGBiI4uJiAEBjYyNeeOEFTJgwAaGhoQgJCcGoUaMwd+5clJeXS+U++ugjqU6NRgOtVouhQ4diypQpWL16Nb766qt22+nJ9QSA5uZm/OUvf8E999yDwYMHY+DAgRg5ciQefvhhqa3u3H777UhPT+80jojUhckC9Tp79+7F5MmTYbVasX79epSWluL3v/89pkyZgt27d3v1XP/85z9x11134a233sJTTz2FkpISbN++HcOGDcP8+fPxk5/8BE6ns92yL7/8MgDg2LFjOHz4sNt61q1bh8uXL3vcrrfeegtarRbTpk2Dw+FASkoK1q5di8ceewx///vf8frrr+Ppp5+GxWLBxx9/3KZ8bm4uDh06hA8//BDbtm1DUlISXn75ZYwdOxaFhYUusd5cz7S0NCxduhT3338/du7ciX/84x/49a9/jYCAALz33nudvq7i4mL893//t8fXgYhUQhD1Mvfdd58YNWqUaG5ubnPO4XBI/05MTBR33nlnh89jNptFRESEGDlypDCZTG3Or1u3TgAQeXl5bc5VVlYKAGLGjBkCgMjIyGi3DgDioYceEgEBASI7O9vl3CuvvCIAiMrKyjblfvjDH4rHHntMCCHEBx98IACIl19+ud06bn7NH374oQAg/v73v7eJu3Tpkrj77rtFQECA+Oyzz6THPb2eX375pQAgfvOb33TaDiLqX9izQL3OpUuXEB4ejoCAgDbn/Pw8f8v+9a9/RX19PdatW4fIyMg251euXIk77rgDv/vd79Dc3Oxybtu2bQBu9BhMnjwZRUVFuHbtWrv1jBkzBgsXLsQf//jHDocBbma1WvH+++/j0UcfBXDj9QJAVFRUu/GevubBgwfjL3/5C1paWvDiiy9Kj3t6PbuiHRyGIOqbmCxQr5OQkIDDhw9j2bJlOHz4cJsPck+VlZXB398fs2bNave8RqPB7NmzcfnyZVRVVUmPNzU14W9/+xvuuecexMbG4mc/+xmuXr2Kv//97x3WlZOTA39/f4+64P/xj39Ao9FgxowZAICJEyciMDAQTz31FAoLC1FXV+flK/3WPffcg6ioKOzfv196zNPrOXbsWNx222347W9/i5deeglnzpyR3Q4i6luYLFCvs27dOtx7773YvHkzJk2ahODgYEyZMgXr1q1DQ0ODx89z9uxZDB06FMHBwR3GxMTESLGtXn/9dVgsFixcuBAAMG/ePAwaNEjqbWiPwWDA008/jcLCQnz22Wdu2/X6668jJSUFISEhAG58G//zn/+M8+fPY/78+TAajTAajViwYEG78xU6M2LECJw/f1762dPrGRwcjMLCQrS0tGDRokWIiYlBeHg45s6di3/84x9et4OI+g4mC9TrDBkyBB9//DEqKyuxbt06PPzwwzh58iRWrVqF8ePH4+uvv+6yusQ3qyE0Go302LZt2xAUFITHH38cADBo0CD8+Mc/xscff4xTp051+FwrV67E4MGD8atf/arDmMbGRrz33nvSEESrn/3sZzh37hx27dqFZcuWITo6Gjt37kRiYiJ+97vfyXpNrby5nj/84Q9x9uxZFBcXY8WKFbjzzjvx5ptvYvbs2ViyZIlX7SCiPqSnJ00QecJut4unn35aABC//OUvhRCdT3BMSUkR/v7+oqGhocOYlStXCgDi0KFDQgghTp06JTQajXjssceE2WyWjr179woA4plnnnEpD0BkZmZKP2/atEkAEB988EG7Exx3794tAgICxOXLlzt9zTU1NcJgMIjAwEBhNpuFEO4nOLYyGAxi1KhRbp+7vevZka+++kqMGzdOABA1NTVuY0eOHCkWLFjg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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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MhgMGDduHK+tJuzfvx89evTAjTfeiAceeABlZWXO7pLTVVRUAACCgoIA8Joi59JFUJfJX9sRjRo1Chs3bsQnn3yCv/71rygtLUVsbCzKy8ud3TWX1XD98NpqXUJCAt577z189tlneO2113D48GFMmDABNTU1zu6a0wghkJKSgt///vcYNGgQAF5T5Fy6SujiiFyz7iwhIcH2/4MHD0ZMTAx69+6NDRs2ICUlxYk9c328tlo3e/Zs2/8PGjQIw4cPR0REBHbt2oUZM2Y4sWfO88gjj+Drr79uMukGrylyBl2M1GXy1xLQuXNnDB48GCdPnnR2V1xWw7cDeG3ZLyQkBBERER32+vrjH/+InTt3Yt++fejZs6dtP68pciZdBHWZ/LUE1NTU4LvvvkNISIizu+KyIiMjYTKZVNdWbW0tDhw4wGurFeXl5SguLu5w15cQAo888gi2bt2Kzz77DJGRkar3eU2RM+lm+r21/LUEPP7440hMTER4eDjKysrw4osvwmw2Izk52dldc6qqqioUFBTYXhcWFiI/Px9BQUEIDw/HokWLsHTpUvTp0wd9+vTB0qVL0alTJ9x9991O7PW119J5CgoKQlpaGu644w6EhITg1KlTePrpp9GtWzfcfvvtTuz1tbdgwQK8//772LFjBwICAmwjcqPRCD8/PyiKwmuKnMepa+/t1FL+WhJi9uzZIiQkRHh7e4vQ0FAxY8YMceLECWd3y+n27dsnADTakpOThRCXv4K0ZMkSYTKZhMFgEGPHjhXffPONczvtBC2dpwsXLoj4+HjRvXt34e3tLcLDw0VycrIoKipydrevuabOEQCxfv16WxleU+QszKdORETkJnRxT52IiIhax6BORETkJhjUiYiI3ASDOhERkZtgUCciInITDOpERERugkGdiIjITTCoExERuQkGdSIiIjfBoE5EROQmGNSJiIjcxP8HsCj9lJfVASYAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# NBVAL_SKIP\n", "for filter in curves:\n", @@ -597,7 +254,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -607,29 +264,9 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[np.str_('SLOAN/SDSS.uprime_filter'),\n", - " np.str_('SLOAN/SDSS.u'),\n", - " np.str_('SLOAN/SDSS.g'),\n", - " np.str_('SLOAN/SDSS.gprime_filter'),\n", - " np.str_('SLOAN/SDSS.r'),\n", - " np.str_('SLOAN/SDSS.rprime_filter'),\n", - " np.str_('SLOAN/SDSS.i'),\n", - " np.str_('SLOAN/SDSS.iprime_filter'),\n", - " np.str_('SLOAN/SDSS.z'),\n", - " np.str_('SLOAN/SDSS.zprime_filter')]" - ] - }, - "execution_count": 38, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# NBVAL_SKIP\n", "filters" @@ -637,110 +274,9 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgkAAAGxCAYAAADoEyV9AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABB6klEQVR4nO3df1RVdb7/8ddR4OAPOFdFOVCA5HXS1CyxEByTWoVaaj+0NItsjVleM38wjqNpV3TMX9N4ncZSMy29afnth9WsDKWpyEZU9EqW4zW7YVByIsk4/gSF/f3D4UzHs0HgcIKtz8dan7U8n/357M/nnHXqvHl/Pntvm2EYhgAAAC7QrLEnAAAAmiaCBAAAYIogAQAAmCJIAAAApggSAACAKYIEAABgiiABAACYIkgAAACmCBIAAIApggQ0GTt37tTdd9+t2NhY2e12RUZGKikpSb/97W89bVJSUtS9e/eLnquwsFATJkxQp06dFBoaqjZt2iglJUXr169XTTcZffbZZ2Wz2Wocw2azyWazaeHChT7HXn75ZdlsNu3evdvn2I8//qjg4GBt2rRJknTy5EktWrRIPXv2VHh4uMLCwtSpUyfdd999ys7O9vT7+OOPPWPabDaFhISoffv26tu3r2bOnKlvvvnGdJ61+Twl6ezZs1q5cqVuuOEGtW3bVi1btlRcXJzuvPNOz1wBXJ4IEtAkvPfee0pOTpbb7dbixYu1detW/fnPf1bfvn21cePGOp3r73//u6699lq98847mjRpkjIzM/Xyyy/riiuu0IMPPqj7779flZWVpn3XrFkjSdq/f7927txZ4zgLFy7Ujz/+WOt5vfPOOwoJCdHAgQNVUVGh1NRUPf300xo+fLhef/11vfHGG5oyZYpKS0u1bds2n/7z589XTk6OPvroI61evVopKSlas2aNunbtqvXr13u1rcvnmZaWpieeeEI333yzXnnlFf31r3/VrFmzFBQUpC1bttT6/QG4BBlAE3DTTTcZnTp1Ms6ePetzrKKiwvPv/v37G926dav2PMeOHTM6dOhgxMXFGS6Xy+f4woULDUnGggULfI7l5uYakow77rjDkGSMHTvWdAxJxq233moEBQUZ6enpXsdeeuklQ5KRm5vr0+/22283hg8fbhiGYXz44YeGJGPNmjWmY/z8PX/00UeGJOP111/3aVdSUmJcf/31RlBQkLFv3z5PfW0/z6+//tqQZPznf/7nRecB4PJDJgFNQklJiSIiIhQUFORzrFmz2n9NX3zxRRUXF2vhwoWKjIz0OT5t2jR16dJFf/zjH3X27FmvY6tXr5Z0PkOQnJys1157TadOnTId5+qrr9aYMWP03HPPVZvu/zm3260PPvhAw4YNk3T+/UpSVFSUafvavue2bdtq5cqVOnfunP7rv/7LU1/bz9PfeRw+fFg2m00vv/yyzzGbzaaMjIxavAsATRVBApqEpKQk7dy5UxMnTtTOnTt9fsBrKysrS82bN9eQIUNMj9tsNg0dOlQ//vij9uzZ46k/ffq0Xn31Vd1www3q3r27fvOb3+j48eN6/fXXqx0rIyNDzZs311NPPXXRef31r3+VzWbTHXfcIUnq3bu3goODNWnSJK1fv15FRUV1fKf/csMNNygqKkqffPKJp662n2fXrl31b//2b5ozZ45eeOEFHT58uN7zAHDpIUhAk7Bw4UL9+te/1l/+8hf16dNHrVq1Ut++fbVw4UKdOHGi1ucpKChQ+/bt1apVq2rbxMfHe9pWeeONN1RaWqoxY8ZIkkaMGKHWrVt7sgtmnE6npkyZovXr12vfvn01zuuNN95QamqqwsLCJEkdO3bUihUrdOTIET344IOKjo5WdHS0Ro8ebbof4WJiY2N15MgRz+vafp6tWrXS+vXrde7cOT322GOKj49XRESE7rvvPv31r3+t8zwAXFoIEtAktGvXTtu2bVNubq4WLlyoO++8U19++aVmzJihHj166OjRow02lvHPqxtsNpunbvXq1WrRooVGjhwpSWrdurXuvfdebdu2TYcOHar2XNOmTVPbtm31+9//vto2J0+e1JYtWzxLDVV+85vf6Ntvv9WGDRs0ceJExcTE6JVXXlH//v31xz/+sV7vqUpdPs/bb79dBQUF2rRpk6ZOnapu3brp7bff1tChQzVhwoQ6zQPAJaaxN0UA1SkvLzemTJliSDJ+97vfGYZx8Y2LqampRvPmzY0TJ05U22batGmGJCMnJ8cwDMM4dOiQYbPZjOHDhxvHjh3zlPfee8+QZEyfPt2rvyTj8ccf97xeunSpIcn48MMPTTcubty40QgKCjJ+/PHHi77nL774wnA6nUZwcLBx7NgxwzBq3rhYxel0Gp06darx3GafZ3W++eYb45prrjEkGV988UW17fLz8w1JxksvveRzTJIxe/bsGscB0LSRSUCTFRwcrNmzZ0uSvvjii1r1ue2221RRUVFtqtwwDL377rtq27atEhISJJ2/7NEwDL3xxhtq06aNp1TtH1i7dq0qKiqqHfM//uM/FB8fr9///vem92B48803dcstt6hNmzYXnX+3bt00cuRInT17Vl9++WVt3rJ27doll8ullJSUGtvV5fOMjY3Vo48+Kun85aDVCQ0NlSSVlZV51VdtiARgbQQJaBKq27h34MABSVJ0dHStzvPII4+oQ4cOmjFjhoqLi32OL168WP/7v/+radOmKTg4WBUVFVq7dq06deqkjz76yKf89re/VVFRkd5///1qxwwJCdG8efOUm5vrs9HxzJkz2rx5s89SQ0lJicrLy03P97//+7+1fs8//vijxo0bp+DgYE2ZMsVTX9vP8/jx49Xu+ajNZx8ZGanQ0FCfPRnvvPPORecOoOnzvT4KaAQDBgzQlVdeqSFDhqhLly6qrKxUXl6e/vSnP6l169aaNGmSp63b7dYbb7zhc4727durf//+euuttzR48GAlJCTod7/7nXr27Cm3262NGzdq/fr1GjFihH73u99Jkt5//30dOXJEixYtMv1LvHv37lq2bJlWr16twYMHVzv/+++/X88884xPMJGZmalTp07prrvu8qr/6KOPNGnSJD3wwANKTk5Wu3btVFxcrFdffVWZmZl66KGHdOWVV3r1OXTokHbs2KHKykqVlJRo586dWr16tdxut9atW6du3brV+fM8ePCgBgwYoJEjR6p///6KiorSsWPH9N577+mFF15QSkqKkpOTPecNCgpS//799be//U3S+X0dDz74oNasWaNOnTqpZ8+e2rVrlzZs2FDtZwXAQhp5uQMwDOP8uv2oUaOMzp07G61btzaCg4ON2NhYIy0tzfjHP/7hade/f39Dkmnp37+/p11BQYHx+OOPG1dddZUREhJiOBwO46abbjJeeeUVo7Ky0tPurrvuMkJCQozi4uJq5zZy5EgjKCjIc3MmXbAnocrWrVs9c6nak/Dggw96zatKYWGhMWvWLKNv376G0+k0goKCjLCwMCMxMdH4y1/+Ypw7d87TtmpPQlUJCgoy2rVrZyQlJRlPPvmkcfjw4Xp/nseOHTPmzZtn3HLLLcYVV1xhhISEGK1atTKuu+46Y968ecapU6e8znvh52wYhlFaWmo88sgjRmRkpNGqVStjyJAhxuHDh9mTAFwCbIZRw43sAdRbeXm5OnTooD/84Q964oknGns6AFBnBAkAAMAUGxcBAIApggQAAGCKIAEAgDp6/vnnFR8fr9DQUCUkJNR4O/WioiKNGjVKV199tZo1a6bJkyebtnvzzTd1zTXXyG6365prrtGmTZv8GrchECQAAFAHGzdu1OTJkzVz5kzt3btX/fr106BBg7yeB/NzZWVlat++vWbOnKmePXuatsnJydGIESOUlpamzz77TGlpabrvvvu0c+fOeo/bENi4CABAHSQmJqpXr15avny5p65r16666667tGDBghr7pqSk6LrrrtPSpUu96keMGCG32+11r5WBAweqTZs2evXVV/0et76a3M2UKisrdeTIEYWFhXk9gAcAYA2GYej48eOKjo5Ws2aBS1ifOXOm2juX1oVhGD6/N3a7XXa73adteXm59uzZo+nTp3vVp6amavv27fWeQ05OjtddU6XzN0WrCiYCNe7FNLkg4ciRI4qJiWnsaQAA/FRYWOhz59CGcubMGcXHtZaruPrnqtRW69atfW5PPnv2bGVkZPi0PXr0qCoqKhQZGelVHxkZKZfLVe85uFyuGs8ZqHEvpskFCWFhYZKkKzNmqdk/Hx4DALCOyjNn9G3GPM//zwOhvLxcruIK5e+JU3hY/bMV7uOVik/4RoWFhQoPD/fUm2URfu7CzINZNqKuanPOQIxbkyYXJFS92WahoQQJAGBhv8SScXhYM7+CBM95wsO9goTqREREqHnz5j5/vRcXF/v8lV8XTqezxnMGatyLCdhi0S99mQYA4PJTYVT6XeoiJCRECQkJysrK8qrPysryehhaXSUlJfmcc+vWrZ5zBmrciwlIJqHqMo3nn39effv21cqVKzVo0CD94x//UGxsbCCGBABchiplqFL1v0ivPn3T09OVlpam3r17KykpSS+88IIKCgo0btw4SdKMGTP03Xffad26dZ4+eXl5kqQTJ07ohx9+UF5enkJCQnTNNddIkiZNmqSbbrpJixYt0p133ql33nlHH3zwgT799NNajxsIAQkSlixZojFjxuiRRx6RJC1dulRbtmzR8uXLA3aZBgDg8lOpStUtF+Dbv65GjBihkpISzZ07V0VFRerevbs2b96suLg4SedvnnThvQuuv/56z7/3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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAewAAAGxCAYAAACgOoVJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA8jUlEQVR4nO3de3hU1b3/8c/OnVui4ZKLhhg5WjmGIg0UE0TAI9FoY61aUFpBBY8cEIV4qUiPREuJtcrBFkWtIPIIyPECaE2B9CAXRTzAgapILQiaqIn5EZCEAAmZWb8/MFOHJCSzdy6znffLZz+P2bO/s9YMk/lmrb32/lrGGCMAABDUwjq6AwAAoHkkbAAAXICEDQCAC5CwAQBwARI2AAAuQMIGAMAFSNgAALgACRsAABcgYQMA4AIkbASN999/Xz/72c/Uu3dvRUdHKyEhQZmZmbrnnnt8xwwfPlzp6enNPldJSYnuvPNO9enTRzExMTrzzDM1fPhwLVmyRKe7ud8f/vAHWZZ12jYsy5JlWXr00UcbPLZo0SJZlqVt27Y1eOzgwYOKjIzUihUrJEnV1dX63e9+p/79+ys2NlbdunVTnz59NGrUKG3YsMEXt379el+blmUpKipKPXv21JAhQzRjxgx9/vnnjfazJe+nJJ04cULPPvusBg0apPj4eHXu3Fmpqan66U9/6usrgI5HwkZQeOutt5SVlaXKyko99thjWrt2rZ588kkNGTJEy5cvD+i53n33Xf3whz/UqlWrdPfdd2v16tVatGiRzjrrLP3yl7/UTTfdJK/X22jswoULJUm7du3S+++/f9p2Hn30UR08eLDF/Vq1apWioqJ05ZVXyuPxKDs7W7/97W91ww036JVXXtGrr76qadOm6fDhw9q0aVOD+NmzZ+u9997T22+/rQULFmj48OFauHCh+vbtqyVLlvgdG8j7efPNN2vKlCkaMWKEXnrpJb355pv69a9/rYiICK1Zs6bFrw9AGzNAELj00ktNnz59zIkTJxo85vF4fP8/bNgwc+GFFzb5PIcOHTK9evUyqamppqysrMHjjz76qJFkCgoKGjy2detWI8lcffXVRpK5/fbbG21Dkrn88stNRESEycvL83vshRdeMJLM1q1bG8RdddVV5oYbbjDGGLNu3TojySxcuLDRNr77mt9++20jybzyyisNjquoqDADBgwwERER5oMPPvDtb+n7uW/fPiPJPPTQQ832A0DHYoSNoFBRUaEePXooIiKiwWNhYS3/mD7//PMqLy/Xo48+qoSEhAaP33///brgggv0+9//XidOnPB7bMGCBZJOjpyzsrL08ssv6+jRo42284Mf/EDjx4/XU0891eSU9HdVVlbqr3/9q66//npJJ1+vJCUlJTV6fEtfc3x8vJ599lnV1dXpv/7rv3z7W/p+tkY/vvnmG40fP17x8fHq2rWrrr76au3bt0+WZSk/P79FrwNA80jYCAqZmZl6//33ddddd+n9999vkExbqqioSOHh4crNzW30ccuydM011+jgwYPavn27b/+xY8e0bNkyDRo0SOnp6brttttUVVWlV155pcm28vPzFR4erv/8z/9stl9vvvmmLMvS1VdfLUkaOHCgIiMjdffdd2vJkiUqLS0N8JX+06BBg5SUlKSNGzf69rX0/ezbt6/OOOMMPfzww3ruuef02WefBdS21+tVbm6uli5dql/96ldasWKFBg8erCuvvNL26wHQhI4e4gPGGHPgwAFzySWXGElGkomMjDRZWVmmoKDAVFVV+Y5rbkr8ggsuMImJiadta/78+UaSWb58uW/f4sWLjSTzzDPPGGOMqaqqMl27djVDhw5tEC/JTJ482RhjzIwZM0xYWJj529/+Zoxpekr82muvNbm5uX77FixYYLp27ep7zUlJSWbs2LFm48aNfsedbkq83uDBg02nTp18P7f0/TTGmLfeesv06NHDd2z37t3Nz3/+c/PGG2802d53YyWZ+fPn++0vKCgwkszMmTObfQ4ALcMIG0Ghe/fu2rRpk7Zu3apHH31UP/3pT/WPf/xD06dPV79+/XTgwIFWa8t8u0rcsizfvgULFqhTp0668cYbJUldu3bVz3/+c23atEl79uxp8rnuv/9+xcfH61e/+lWTx1RXV2vNmjW+6fB6t912m7744gstXbpUd911l1JSUvTSSy9p2LBh+v3vf2/rNdUL5P286qqrVFxcrBUrVujee+/VhRdeqJUrV+qaa67RnXfeedp261ezjxo1ym//TTfdFFD/gdPZuHGjcnNzlZycLMuytHLlyoCfwxijxx9/XOeff76io6OVkpKi2bNnt35n21IH/8EANKm2ttZMmzbNSDL33XefMab5EXZ2drYJDw83R44cafKY+++/30gy7733njHGmD179hjLsswNN9xgDh065NvqR48PPPCAX7y+M8I2xpi5c+caSWbdunWNjrCXL19uIiIizMGDB5t9zR999JFJTEw0kZGR5tChQ8aYlo2wExMTTZ8+fU773I29n035/PPPzb/+678aSeajjz5q8rjx48ebiIiIBvuPHTvGCButprCw0MyYMcO89tprRpJZsWJFwM8xZcoU84Mf/MCsWrXK7Nu3z+zYscMUFRW1fmfbECNsBK3IyEjNnDlTkvTRRx+1KGbkyJHyeDx68803G33cGKM33nhD8fHxysjIkHTyUi5jjF599VWdeeaZvq3+fPOLL74oj8fTZJv/8R//obS0NP3qV79q9Brv1157TZdddpnOPPPMZvt/4YUX6sYbb9SJEyf0j3/8oyUvWf/7v/+rsrIyDR8+/LTHBfJ+9u7dW//+7/8u6eQlbk3p3r276urqGlzeVlZW1oKeAy2Tk5OjWbNm6brrrmv08draWt1///0666yz1KVLFw0ePFjr16/3Pb57927Nnz9fq1at0jXXXKO0tDRddNFFuvzyy9vpFbQOEjaCQlOLrnbv3i1JSk5ObtHzTJgwQb169dL06dNVXl7e4PHHHntMf//733X//fcrMjJSHo9HL774ovr06aO33367wXbPPfeotLRUf/nLX5psMyoqSrNmzdLWrVsbLFI7fvy4CgsLG0yHV1RUqLa2ttHn+/vf/97i13zw4EFNnDhRkZGRmjZtmm9/S9/PqqoqHTlypEXHNmbYsGGS1ODa7pdffrnZvgOt5dZbb9W7776rl19+WR988IF+/vOf68orr/SdznrzzTd17rnn6s9//rPS0tJ0zjnnaMKECQHdRyEYNLzmA+gAV1xxhc4++2zl5ubqggsukNfr1c6dO/XEE0+oa9euuvvuu33HVlZW6tVXX23wHD179tSwYcP0+uuv6yc/+YkyMjJ03333qX///qqsrNTy5cu1ZMkSjR49Wvfdd58k6S9/+Yu++uor/e53v2t0hJqenq558+ZpwYIF+slPftJk/2+66SY9/vjjDRL76tWrdfToUV177bV++99++23dfffd+sUvfqGsrCx1795d5eXlWrZsmVavXq2xY8fq7LPP9ovZs2ePtmzZIq/Xq4qKCr3//vtasGCBKisrtXjxYl144YUBv5+ffPKJrrjiCt14440aNmyYkpKSdOjQIb311lt67rnnNHz4cGVlZfmeNyIiQsOGDdP//M//SJKuvPJKDRkyRPfcc48qKyuVkZGh9957T4sXL5YU2CV5gB2ffvqpli1bpi+++ML3x+W9996r1atX64UXXtDs2bO1b98+ff7553rllVe0ePFieTweTZs2TTfccIPWrVvXwa8gAB08JQ8YY06e5x0zZow577zzTNeuXU1kZKTp3bu3ufnmm83HH3/sO27YsGG+1cynbsOGDfMdV1xcbCZPnmzOPfdcExUVZeLi4syll15qXnrpJeP1en3HXXvttSYqKsqUl5c32bcbb7zRRERE+G7EolPOYddbu3atry/157B/+ctf+vWrXklJifn1r39thgwZYhITE01ERITp1q2bGTx4sPnjH/9o6urqfMfWn8Ou3yIiIkz37t1NZmamefDBB81nn31m+/08dOiQmTVrlrnsssvMWWedZaKiokyXLl3MRRddZGbNmmWOHj3q97ynvs/GGHPw4EFz6623mjPOOMN07tzZjBw50mzZssVIMk8++WST7ytgh045h/3f//3fRpLp0qWL3xYREWFGjRpljDHm9ttvN5LMJ5984ovbvn27kWT+/ve/t/dLsM0y5jQ3VgZgW21trXr16qXf/OY3mjJlSkd3p10tXbpUv/jFL/Tuu+/6jdABpyzL0ooVK3yzVsuXL9cvfvEL7dq1S+Hh4X7Hdu3aVYmJiZo5c6Zmz57tdz+CY8eOqXPnzlq7dq1GjhzZni/BNqbEgTYSFRWlb775pqO70eaWLVumL7/8Uv369VNYWJi2bNmi3//+97r00ktJ1mhzAwYMkMfjUXl5uYYOHdroMUOGDFFdXZ0+/fRT9enTR5J8izpTU1Pbra9OMcIG4Mif//xn5efna+/evaqurlZSUpKuvfZazZo1S7GxsR3dPXwPHDlyRHv37pV0MkHPmTNHI0aMUHx8vHr37q1f/vKXevfdd/XEE09owIABOnDggNatW6d+/frpqquuktfr1aBBg9S1a1fNnTtXXq9XkydPVmxsrNauXdvBr67lSNgAgKC2fv16jRgxosH+cePGadGiRTpx4oRmzZqlxYsX68svv1T37t2VmZmphx9+WP369ZMkffXVV5oyZYrWrl2rLl26KCcnR0888YTi4+Pb++XYRsIGAMAFuOYCAAAXIGEDAOACQbdK3Ov16quvvlK3bt38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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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siL3drt378b169cxYsQIq+379u3D66+/jhdeeAHx8fFo3749SktL8cknn2D37t0YN26c5RahWmfOnMHBgwdhNptRVlaGb775BqtWrUJFRQXWr19vmR6153iePn0aQ4cOxXPPPYeEhATo9XpcuXIFO3fuxMqVK5GYmIj4+HjL53p4eCAhIQF/+9vfAACPPfYYBgwYgF//+teoqKhATEwMDhw4gPXr1wOo/7awLVu2wMPDA0OGDMGJEyfw+9//Hr17965zHbylDBgwAL/85S/x0ksvIT8/H4MGDULbtm1RXFyMr776Cj179sSvfvWrFulLz549kZOTgx07dkCv18PPzw9RUVF4++23kZ2djfj4eEyfPh1RUVG4efMmzp07h127dmHFihV1zheSw7///W988skn+P777y1/eM2aNQu7d+/GmjVrsGDBAnz33Xc4f/48Pv30U6xfvx4mkwkzZ87E008/jb1797byN7BDqy13I4favHmzeP7550W3bt2Er6+v8PT0FOHh4WLs2LHin//8p2W/hIQEy2rmO0tCQoJlv8LCQjFlyhTRpUsX4eXlJQICAsSgQYPEhg0bhNlstuw3YsQI4eXlJUpLSxvs23PPPSc8PDwsD2LBbavEb7dnzx5LX2pXib/44otW/apVVFQkfve734kBAwaIkJAQ4eHhIfz8/ES/fv3E//zP/wij0WjZt3YVdG3x8PAQ7du3F3FxcWLOnDni3Llzqo/nlStXxPz588Ujjzwi7r33XuHl5SXatm0rHnzwQTF//vw6Dyu58zgLIcTly5fFSy+9JNq1ayfatGkjhgwZIg4ePCgAiA8++MCyX+0q8cOHD4uUlBTh6+sr/Pz8xJgxY8TFixetPjMiIkIMHz683p9HQ6vE71xF39CK/dp+/Pjjj1bbV69eLfr16yfatm0rfHx8RNeuXcW4ceNEfn5+vf2oj9ZV4kePHhUDBgwQbdq0qXOsf/zxRzF9+nQRGRkpPD09RWBgoIiJiRFz584V165da7R9ch4AxNatWy2v//KXvwgAom3btlbFw8NDPPvss0IIIV555RUBwOquicOHDwsA4tSpUy39FVRjwCanVV1dLQICAsSSJUtauystrvZWrb///e+WbQ0FSiJXcmfA3rRpk3B3dxenTp0SZ86csSrFxcVCCCHefPNN4eHhYfU5169fFwDEnj17WrL7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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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cdi3b5/d/n379mHIkCENlklISKh3/N69exEfH+/w/DXAgE1EROSU1NRUvPnmm1i3bh2OHz+OOXPmoKioCDNmzAAApKWl4fHHH7cdP2PGDHz11VdITU3F8ePHsW7dOqxduxZz5851ql63GxJvjsFgwMKFC5udX/B0PE+O4XlyDM+TY3iePMOkSZNw4cIF/O53v0NJSQn69euHrKwsREVFAQBKSkrs7smOjo5GVlYW5syZg5UrVyI8PByvvfYaJkyY4FS9mlDpuWxEREQeikPiRERECmDAJiIiUgADNhERkQIYsImIiBTAgE1ERKQApQK2s/lHPU16ejo0TbPbjEZjWzerzeXl5WHs2LEIDw+HpmnYsWOH3ftCCKSnpyM8PBwBAQFISkrCsWPH2qaxbai58zRt2rR619fdd9/dNo1tQxkZGRg0aBACAwMRGhqKcePG4eTJk3bH8JqilqBMwHY2/6inio2NRUlJiW37/PPP27pJba6yshIDBgzAihUrGnx/6dKlePXVV7FixQocPHgQRqMRo0aNsiWi8RTNnScAuP/+++2ur6ws/YkXVJObm4uZM2fiwIED2LdvH2pra5GcnIzKykrbMbymqEUIRfzwhz8UM2bMsNvXt29f8etf/7qNWuR+Fi5cKAYMGNDWzXBrAMT27dttr61WqzAajWLJkiW2fdevXxfBwcFi9erVbdBC93DreRJCiKlTp4qHH364TdrjzsrKygQAkZubK4TgNUUtR4kedl3+0VvziTaVf9RTnTp1CuHh4YiOjsbkyZPx5ZdftnWT3FphYSFKS0vtri2DwYDExEReWw3IyclBaGgoevfujaeeegplZWVt3aQ2V15eDgAICQkBwGuKWo4SAVsm/6gnGjx4MDZt2oQPPvgAf/nLX1BaWoohQ4bgwoULbd00t1V3/fDaal5KSgreeust7N+/H6+88goOHjyIkSNHoqpKZ9JkhQkhkJqainvuuQf9+vUDwGuKWo5SzxJ3Nv+op0lJSbH9f//+/ZGQkICePXti48aNSE1NbcOWuT9eW82bNGmS7f/79euH+Ph4REVFYffu3Rg/fnwbtqztzJo1C0ePHsVHH31U7z1eU+RqSvSwZfKPEtC+fXv0798fp06dauumuK26VfS8tpxnMpkQFRXlsdfX7Nmz8d577yE7OxvdunWz7ec1RS1FiYAtk3+UgKqqKhw/fhwmk6mtm+K2oqOjYTQa7a6t6upq5Obm8tpqxoULF1BcXOxx15cQArNmzcK2bduwf/9+REdH273Pa4paijJD4qmpqZgyZQri4+ORkJCANWvW2OUfJWDu3LkYO3YsIiMjUVZWhkWLFsFsNmPq1Klt3bQ2deXKFZw+fdr2urCwEEeOHEFISAgiIyPx3HPPYfHixejVqxd69eqFxYsXo127dnj00UfbsNWtr6nzFBISgvT0dEyYMAEmkwlnzpzB/Pnz0blzZ/zoRz9qw1a3vpkzZ2LLli3YuXMnAgMDbT3p4OBgBAQEQNM0XlPUMtp0jbqTVq5cKaKiooSfn5/4wQ9+YLuNgm6YNGmSMJlMwtfXV4SHh4vx48eLY8eOtXWz2lx2drYAUG+bOnWqEOLGbTgLFy4URqNRGAwGMXz4cPH555+3baPbQFPn6erVqyI5OVl06dJF+Pr6isjISDF16lRRVFTU1s1udQ2dIwBi/fr1tmN4TVFLYD5sIiIiBSgxh01EROTpGLCJiIgUwIBNRESkAAZsIiIiBTBgExERKYABm4iISAEM2ERERApgwCYiIlIAAzYREZECGLCJiIgUwIBNRESkgP8P8rtstx1omq4AAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgsAAAGxCAYAAADs5vVAAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABMm0lEQVR4nO3df1xT590//lf4kYgIKYoQomiZt7NarOuwQ7R3oT9AnT/a2U47KpPHHLO3qKXoXK27V+ZdwTqlbrK51dlqKw4/q6XtvrYUalusUyzllk/FOrXfasVJxGpMBDGB5Pr8YTk1AiE5BwIHXs/H4zwekvO+cl05BvLO9eNcGiGEABEREVEH/Hq6AURERNS7MVkgIiIit5gsEBERkVtMFoiIiMgtJgtERETkFpMFIiIicovJAhEREbnFZIGIiIjcYrJAREREbjFZoF7p8OHD+NGPfoQRI0ZAp9MhMjISCQkJWL58uRSTlJSE2NjYTp+rtrYWS5YswahRozBgwACEhYUhKSkJhYWFcHcD0z/84Q/QaDRu69BoNNBoNFi3bl2bc9u3b4dGo8Gnn37a5tzly5cRGBiI4uJiAEBjYyNeeOEFTJgwAaGhoQgJCcGoUaMwd+5clJeXS+U++ugjqU6NRgOtVouhQ4diypQpWL16Nb766qt22+nJ9QSA5uZm/OUvf8E999yDwYMHY+DAgRg5ciQefvhhqa3u3H777UhPT+80jojUhckC9Tp79+7F5MmTYbVasX79epSWluL3v/89pkyZgt27d3v1XP/85z9x11134a233sJTTz2FkpISbN++HcOGDcP8+fPxk5/8BE6ns92yL7/8MgDg2LFjOHz4sNt61q1bh8uXL3vcrrfeegtarRbTpk2Dw+FASkoK1q5di8ceewx///vf8frrr+Ppp5+GxWLBxx9/3KZ8bm4uDh06hA8//BDbtm1DUlISXn75ZYwdOxaFhYUusd5cz7S0NCxduhT3338/du7ciX/84x/49a9/jYCAALz33nudvq7i4mL893//t8fXgYhUQhD1Mvfdd58YNWqUaG5ubnPO4XBI/05MTBR33nlnh89jNptFRESEGDlypDCZTG3Or1u3TgAQeXl5bc5VVlYKAGLGjBkCgMjIyGi3DgDioYceEgEBASI7O9vl3CuvvCIAiMrKyjblfvjDH4rHHntMCCHEBx98IACIl19+ud06bn7NH374oQAg/v73v7eJu3Tpkrj77rtFQECA+Oyzz6THPb2eX375pQAgfvOb33TaDiLqX9izQL3OpUuXEB4ejoCAgDbn/Pw8f8v+9a9/RX19PdatW4fIyMg251euXIk77rgDv/vd79Dc3Oxybtu2bQBu9BhMnjwZRUVFuHbtWrv1jBkzBgsXLsQf//jHDocBbma1WvH+++/j0UcfBXDj9QJAVFRUu/GevubBgwfjL3/5C1paWvDiiy9Kj3t6PbuiHRyGIOqbmCxQr5OQkIDDhw9j2bJlOHz4cJsPck+VlZXB398fs2bNave8RqPB7NmzcfnyZVRVVUmPNzU14W9/+xvuuecexMbG4mc/+xmuXr2Kv//97x3WlZOTA39/f4+64P/xj39Ao9FgxowZAICJEyciMDAQTz31FAoLC1FXV+flK/3WPffcg6ioKOzfv196zNPrOXbsWNx222347W9/i5deeglnzpyR3Q4i6luYLFCvs27dOtx7773YvHkzJk2ahODgYEyZMgXr1q1DQ0ODx89z9uxZDB06FMHBwR3GxMTESLGtXn/9dVgsFixcuBAAMG/ePAwaNEjqbWiPwWDA008/jcLCQnz22Wdu2/X6668jJSUFISEhAG58G//zn/+M8+fPY/78+TAajTAajViwYEG78xU6M2LECJw/f1762dPrGRwcjMLCQrS0tGDRokWIiYlBeHg45s6di3/84x9et4OI+g4mC9TrDBkyBB9//DEqKyuxbt06PPzwwzh58iRWrVqF8ePH4+uvv+6yusQ3qyE0Go302LZt2xAUFITHH38cADBo0CD8+Mc/xscff4xTp051+FwrV67E4MGD8atf/arDmMbGRrz33nvSEESrn/3sZzh37hx27dqFZcuWITo6Gjt37kRiYiJ+97vfyXpNrby5nj/84Q9x9uxZFBcXY8WKFbjzzjvx5ptvYvbs2ViyZIlX7SCiPqSnJ00QecJut4unn35aABC//OUvhRCdT3BMSUkR/v7+oqGhocOYlStXCgDi0KFDQgghTp06JTQajXjssceE2WyWjr179woA4plnnnEpD0BkZmZKP2/atEkAEB988EG7Exx3794tAgICxOXLlzt9zTU1NcJgMIjAwEBhNpuFEO4nOLYyGAxi1KhRbp+7vevZka+++kqMGzdOABA1NTVuY0eOHCkWLFjg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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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MhgMGDduHK+tJuzfvx89evTAjTfeiAceeABlZWXO7pLTVVRUAACCgoIA8Joi59JFUJfJX9sRjRo1Chs3bsQnn3yCv/71rygtLUVsbCzKy8ud3TWX1XD98NpqXUJCAt577z189tlneO2113D48GFMmDABNTU1zu6a0wghkJKSgt///vcYNGgQAF5T5Fy6SujiiFyz7iwhIcH2/4MHD0ZMTAx69+6NDRs2ICUlxYk9c328tlo3e/Zs2/8PGjQIw4cPR0REBHbt2oUZM2Y4sWfO88gjj+Drr79uMukGrylyBl2M1GXy1xLQuXNnDB48GCdPnnR2V1xWw7cDeG3ZLyQkBBERER32+vrjH/+InTt3Yt++fejZs6dtP68pciZdBHWZ/LUE1NTU4LvvvkNISIizu+KyIiMjYTKZVNdWbW0tDhw4wGurFeXl5SguLu5w15cQAo888gi2bt2Kzz77DJGRkar3eU2RM+lm+r21/LUEPP7440hMTER4eDjKysrw4osvwmw2Izk52dldc6qqqioUFBTYXhcWFiI/Px9BQUEIDw/HokWLsHTpUvTp0wd9+vTB0qVL0alTJ9x9991O7PW119J5CgoKQlpaGu644w6EhITg1KlTePrpp9GtWzfcfvvtTuz1tbdgwQK8//772LFjBwICAmwjcqPRCD8/PyiKwmuKnMepa+/t1FL+WhJi9uzZIiQkRHh7e4vQ0FAxY8YMceLECWd3y+n27dsnADTakpOThRCXv4K0ZMkSYTKZhMFgEGPHjhXffPONczvtBC2dpwsXLoj4+HjRvXt34e3tLcLDw0VycrIoKipydrevuabOEQCxfv16WxleU+QszKdORETkJnRxT52IiIhax6BORETkJhjUiYiI3ASDOhERkZtgUCciInITDOpERERugkGdiIjITTCoExERuQkGdSIiIjfBoE5EROQmGNSJiIjcxP8HsCj9lJfVASYAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# NBVAL_SKIP\n", "for i,name in zip(images, filters):\n", @@ -759,30 +295,9 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 40, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaEAAAGdCAYAAAC7EMwUAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAbQ0lEQVR4nO3dUWxU153H8d/YxoMh9mhdgme8GK/FErUKCCmQAt4kQCSs+AGVkEokkSLnJSotREJWFJXwgFVVGCEF9cFNouQhDVLS8EJopKKlrggmFaIi2bBhEYrMxlmcBa8XJ5kxBsbYc/aBMltjB8bnjPnP2N+PdCU8c/8+x9dn5ufL3HtOxDnnBACAgRLrDgAAZi5CCABghhACAJghhAAAZgghAIAZQggAYIYQAgCYIYQAAGbKrDtwu0wmo4sXL6qyslKRSMS6OwCASXLOaXBwULW1tSopufO5TsGF0MWLF1VXV2fdDQBAoN7eXi1YsOCO+xRcCFVWVlp3AcCkhfzPfiZvvUBhyeX9vOBCiP+CA4pQyOuW2SunrVzez6fswoTXXntNDQ0Nmj17tpYvX66PP/54qpoCABSpKQmhAwcOaPv27dq5c6c+++wzPfroo2pubtaFCxemojkAQJGKTMVSDitXrtRDDz2k119/PfvYj370I23cuFHt7e13rE2lUorFYvnuEoCpFCn1r3Wj+esHCkoymVRVVdUd98n7mdDw8LA+/fRTNTU1jXm8qalJJ06cGLd/Op1WKpUaswEAZoa8h9Dly5c1OjqqmpqaMY/X1NSor69v3P7t7e2KxWLZjcuzAWDmmLILE26/KsI5N+GVEjt27FAymcxuvb29U9UlAECByfsl2vPmzVNpaem4s57+/v5xZ0eSFI1GFY1G890NAEARyPuZUHl5uZYvX67Ozs4xj3d2dqqxsTHfzQEAitiU3Kza2tqq5557TitWrNDq1av15ptv6sKFC9qyZctUNAcAKFJTEkKbN2/WwMCAfvWrX+nSpUtasmSJDh8+rPr6+qloDgBQpKbkPqEQ3CcEFCHuE8IEcrlPqODmjgNQhAgSeGJROwCAGUIIAGCGEAIAmCGEAABmCCEAgBlCCABghhACAJghhAAAZgghAIAZQggAYIYQAgCYIYQAAGYIIQCAGUIIAGCGpRxQJCIBtQW1ZBaAv8OZEADADCEEADBDCAEAzBBCAAAzhBAAwAwhBAAwQwgBAMwQQgAAM4QQAMAMIQQAMEMIAQDMEEIAADOEEADADLNo4x4KmAk7EjBU3ah/rTIBtQDuhjMhAIAZQggAYIYQAgCYIYQAAGYIIQCAGUIIAGCGEAIAmCGEAABmCCEAgBlCCABghhACAJghhAAAZgghAIAZQggAYGYaLuUQkqvOsy5giYIZtVSA7/FV2HIMkYAx4WbS7wdTLlLqXxu0JEnh4kwIAGCGEAIAmCGEAABmCCEAgBlCCABghhACAJghhAAAZgghAIAZQggAYIYQAgCYIYQAAGYIIQCAGUIIAGCGEAIAmCngpRwi8loioaTcv8nMsG+hf5tBQpaQCFhWwVvA3zyls/1rM2n/2hml2MaTkZDlGErn+NeOXvWrcwG/G9/3U+ckl9vrjjMhAIAZQggAYIYQAgCYyXsItbW1KRKJjNni8Xi+mwEATANTcmHCgw8+qD//+c/Zr0tLAz7IAwBMW1MSQmVlZZz9AADuako+E+ru7lZtba0aGhr09NNP68svv/zefdPptFKp1JgNADAz5D2EVq5cqf379+vIkSN666231NfXp8bGRg0MDEy4f3t7u2KxWHarq6vLd5cAAAUq4lzInUx3NzQ0pEWLFunll19Wa2vruOfT6bTS6f+/qSmVSv0tiLhZ9e6K7ebCIrxZ1Y361xadYhtPRrhZNbc2XVrJZFJVVVV33HXKZ0yYO3euli5dqu7u7gmfj0ajikajU90NAEABmvL7hNLptM6dO6dEIjHVTQEAikzeQ+ill15SV1eXenp69Ne//lU//elPlUql1NLSku+mAABFLu//Hff111/rmWee0eXLl3X//fdr1apVOnnypOrr6/PdFACgyOU9hN5///18f0sAwDRVwEs5OHldceN9hZtkc5VbwP+IlgT8+jI3/Gt9r4QKucJtzj/51179yr/W94qkojSDrnALEXLFZMh4cp7vTyGvu6jnpAMuI137r5x2ZQJTAIAZQggAYIYQAgCYIYQAAGYIIQCAGUIIAGCGEAIAmCGEAABmCCEAgBlCCABghhACAJghhAAAZgghAIAZQggAYKaAl3IokSKRyZf5Tnd+q00vAVPg+/yM2WYDppSPBPz94XuMM2n/Nq997V8bsrxHpNS/NuT3M6N4jsXSqH+TowFjMWTJl6Ax4fleEfKemO7zbDP390TOhAAAZgghAIAZQggAYIYQAgCYIYQAAGYIIQCAGUIIAGCGEAIAmCGEAABmCCEAgBlCCABghhACAJghhAAAZgp3Fu2y+/xmmA6ZHbe0wq9u5Ip/m27EvzZkJuyySv9a35mAQ37WkoChmgmoLQmZqdlzXFjMtHyzYZt2fWfDrqjzb/P6Jf/akNd70DH2rA2ZRT6ov7nhTAgAYIYQAgCYIYQAAGYIIQCAGUIIAGCGEAIAmCGEAABmCCEAgBlCCABghhACAJghhAAAZgghAIAZQggAYIYQAgCYKdylHEav+y3lEJnl32Z0nl9d6Rz/NtP9/rUhSyOEqHrQr254wL/NzA3/2tHrAbVD/rUu41cXCXhZls31rw05TiFLXmQ8203/j3+bvsu2SGGvu5Bj7HvO4LtUhiRlPJfGcU5SbuOfMyEAgBlCCABghhACAJghhAAAZgghAIAZQggAYIYQAgCYIYQAAGYIIQCAGUIIAGCGEAIAmCGEAABmCCEAgBlCCABgpnCXciidfe+XciiZ7Vf3Dz/yb/Obk/61w9/415YEHKfZtX515T/wbzNk2v6QqfdDjrHvcgEhyyJE5/vXhiy1UV7tX3ut168uZHkP3yUKJGnWP/jXRlIBteV+dRVx/zav/bdfnXPSSG4/K2dCAAAzhBAAwAwhBAAwM+kQOn78uDZs2KDa2lpFIhEdOnRozPPOObW1tam2tlYVFRVau3atzp49m6/+AgCmkUmH0NDQkJYtW6aOjo4Jn9+7d6/27dunjo4OnTp1SvF4XOvXr9fg4GBwZwEA08ukr45rbm5Wc3PzhM855/Sb3/xGO3fu1KZNmyRJ77zzjmpqavTee+/pZz/7WVhvAQDTSl4/E+rp6VFfX5+ampqyj0WjUa1Zs0YnTpyYsCadTiuVSo3ZAAAzQ15DqK+vT5JUU1Mz5vGamprsc7drb29XLBbLbnV1dfnsEgCggE3J1XGR224ydc6Ne+yWHTt2KJlMZrfeXs8b1wAARSevMybE4zfvzO3r61Mikcg+3t/fP+7s6JZoNKpoNOAOcQBA0crrmVBDQ4Pi8bg6Ozuzjw0PD6urq0uNjY35bAoAMA1M+kzoypUrOn/+fPbrnp4enT59WtXV1Vq4cKG2b9+u3bt3a/HixVq8eLF2796tOXPm6Nlnn81rxwEAxW/SIfTJJ59o3bp12a9bW1slSS0tLfrd736nl19+WdeuXdMvfvELffvtt1q5cqX+9Kc/qbKyMn+9BgBMCxHnnLPuxN9LpVKKxWJSWdW9n0V7duLu+0xkboN/m1azaJcHzAT8g0f96kJmLg6ZRfv6xFdm5oRZtHNTbLNoRwI+iSid61+b48zSEyrCWbSTyaSqqqruuGvhLuUwctUvhKLz/Nu8b5FfXbrfv82QJRVKPZeekMLe6HzfrOb9i3+bQz3+tXP/2b/WjfrXzqn3bDNg6YnUf/jXlt3nX3vjW//aWZ4BVhYQBje+86/1XfJFkhTwN7/ve0X6sn+bvkE/iXMbJjAFAJghhAAAZgghAIAZQggAYIYQAgCYIYQAAGYIIQCAGUIIAGCGEAIAmCGEAABmCCEAgBlCCABghhACAJghhAAAZgp3KYfS2X5LOYxc8W/z+iW/upClAq4HrJNTGrDMQMU/+tdmrvvV3feAf5shS0+E/H4WBqwI3H/Ury621L/N7/4toPYz/9qBgHWxBs/51Y1e9W9zzkL/2hCpgGUVfJf4KAtYUNR3+QiXka5fy60JvxYAAAhHCAEAzBBCAAAzhBAAwAwhBAAwQwgBAMwQQgAAM4QQAMAMIQQAMEMIAQDMEEIAADOEEADADCEEADBTuLNoVy6WIqWTr0v/r3+bsz1nlh46799m6Wz/2pJy/1rn/GtvJP3qkmf827zS7V/7zV/9a6/1+tf+z7/61UVr/NusXuVfG/GcMVkKG4vVP/arG/rKv80bKf/auYv8a8vuC6j1nA3bBcy2P/yNZ5u5v79wJgQAMEMIAQDMEEIAADOEEADADCEEADBDCAEAzBBCAAAzhBAAwAwhBAAwQwgBAMwQQgAAM4QQAMAMIQQAMEMIAQDMFO5SDukBKeKRkcPf+reZ/Nyvrmyuf5u+yyJIUnS+f+3wZf/a0et+dUNf+rc5eM6/tjTg9/Ofr/nX3vAci7Pj/m1+e8q/NmTK/5AlCn7wiF9dJu3fps8yMbf4vk9I0ui1gFrP113I71WRgNrccCYEADBDCAEAzBBCAAAzhBAAwAwhBAAwQwgBAMwQQgAAM4QQAMAMIQQAMEMIAQDMEEIAADOEEADADCEEADBDCAEAzBTuUg43klLEYxpxd8O/zZFBv7qQZRHkAmoDhCxvoKt+Zel+/ybTA/61mf/2r/WdPj/EtYv3vk1JygT8rJGAt5Ibnq+72QFLmZRW+Nf6vk9Ikhvxr/V9zYa8P2U8309d7u9rnAkBAMwQQgAAM4QQAMDMpEPo+PHj2rBhg2praxWJRHTo0KExzz///POKRCJjtlWrVuWrvwCAaWTSITQ0NKRly5apo6Pje/d54okndOnSpex2+PDhoE4CAKanSV/S0tzcrObm5jvuE41GFY/HvTsFAJgZpuQzoWPHjmn+/Pl64IEH9MILL6i///svzU2n00qlUmM2AMDMkPcQam5u1rvvvqujR4/q1Vdf1alTp/T4448rnU5PuH97e7tisVh2q6ury3eXAAAFKuLcJO4qur04EtEHH3ygjRs3fu8+ly5dUn19vd5//31t2rRp3PPpdHpMQKVSqZtBVBbzu1k1M3HY5aSsyq8upM2Qm1XLKv1rQ25WHUn61c1d5N9m6px/bchNmBY3q4bcSBnC6mbVaI1fXcjNqiVR/9qQm66HA266LrqbVUeVTCZVVXXn99UpnzEhkUiovr5e3d3dEz4fjUYVjQYMCABA0Zry+4QGBgbU29urRCIx1U0BAIrMpM+Erly5ovPnz2e/7unp0enTp1VdXa3q6mq1tbXpqaeeUiKR0FdffaVXXnlF8+bN05NPPpnXjgMAit+kQ+iTTz7RunXrsl+3trZKklpaWvT666/rzJkz2r9/v7777jslEgmtW7dOBw4cUGVlwOcXAIBpadIhtHbtWt3pWoYjR44EdQgAMHMU7lIOI1c8l3LI+LeZ+cavrjTgwoqKkEvSA37W6wFX+Ix6LuUw8u/+bWaGA2oDlvcIWmrD8yPXknL/Jsur/WuvBSx5EXJl3bWv/epueL5eJSkScIxDlosJuYrQ98q6kNeOG/WvzRETmAIAzBBCAAAzhBAAwAwhBAAwQwgBAMwQQgAAM4QQAMAMIQQAMEMIAQDMEEIAADOEEADADCEEADBDCAEAzBBCAAAzhbuUg0okeSzloJCpx32XRvDp59/4TmMvhU2zPhow9b7vccqkA9osRp7LQIwM+jcZsqRCyBIFQTzH08iVgDYDXrNl9/nX3rfIv3aw268uErDki/fSOLmPfc6EAABmCCEAgBlCCABghhACAJghhAAAZgghAIAZQggAYIYQAgCYIYQAAGYIIQCAGUIIAGCGEAIAmCGEAABmCngW7RuSC5jp9l4avepfGzITNgqc5/h1I/5NjgaMpwh/k+Yk5PU++MW9b9d5zuZ+szigNjeMOgCAGUIIAGCGEAIAmCGEAABmCCEAgBlCCABghhACAJghhAAAZgghAIAZQggAYIYQAgCYIYQAAGYIIQCAGUIIAGCmgJdykO7FNOJjm2NZBeRTxqDNgNdM0Y3/gKVeIrP8a90N/9qRQf/aaYozIQCAGUIIAGCGEAIAmCGEAABmCCEAgBlCCABghhACAJghhAAAZgghAIAZQggAYIYQAgCYIYQAAGYIIQCAGUIIAGCmwJdyAIDvE7JsRcByDPd6iZlgAUte3IOflTMhAIAZQggAYIYQAgCYmVQItbe36+GHH1ZlZaXmz5+vjRs36osvvhizj3NObW1tqq2tVUVFhdauXauzZ8/mtdMAgOlhUiHU1dWlrVu36uTJk+rs7NTIyIiampo0NDSU3Wfv3r3at2+fOjo6dOrUKcXjca1fv16Dg6ytDgC4jQvQ39/vJLmuri7nnHOZTMbF43G3Z8+e7D7Xr193sVjMvfHGGzl9z2Qy6XTzkgw2Nja2KdoiAZt134vnZ00mk3d9zw/6TCiZTEqSqqurJUk9PT3q6+tTU1NTdp9oNKo1a9boxIkTE36PdDqtVCo1ZgMAzAzeIeScU2trqx555BEtWbJEktTX1ydJqqmpGbNvTU1N9rnbtbe3KxaLZbe6ujrfLgEAiox3CG3btk2ff/65fv/73497LhIZe3OUc27cY7fs2LFDyWQyu/X29vp2CQBQZLxmTHjxxRf14Ycf6vjx41qwYEH28Xg8LunmGVEikcg+3t/fP+7s6JZoNKpoNOrTDQBAkZvUmZBzTtu2bdPBgwd19OhRNTQ0jHm+oaFB8XhcnZ2d2ceGh4fV1dWlxsbG/PQYADB9TOZquJ///OcuFou5Y8eOuUuXLmW3q1evZvfZs2ePi8Vi7uDBg+7MmTPumWeecYlEwqVSKa6OY2NjK5CNq+MK5eq4SYXQ9zX09ttvZ/fJZDJu165dLh6Pu2g06h577DF35syZnNsghNjY2KZ+I4QKJYQifwuXgpFKpRSLxay7AWBaK+yZpfPL7mdNJpOqqqq64z4s5ZAXAb/kSMCvwI341xbdCwnIp5k0/gv7Z2UCUwCAGUIIAGCGEAIAmCGEAABmCCEAgBlCCABghhACAJghhAAAZgghAIAZQggAYIYQAgCYIYQAAGYIIQCAGUIIAGCGpRzyIWQ5hvJq/9rhb/xr3Q3/WkxTIX+TZvLWC8wsnAkBAMwQQgAAM4QQAMAMIQQAMEMIAQDMEEIAADOEEADADCEEADBDCAEAzBBCAAAzhBAAwAwhBAAwQwgBAMwwi/bfi5T61blR/zaDZsIe8a8FxmEmbNx7nAkBAMwQQgAAM4QQAMAMIQQAMEMIAQDMEEIAADOEEADADCEEADBDCAEAzBBCAAAzhBAAwAwhBAAwQwgBAMwQQgAAM9NvKQff5RgkqXSOX93oVf823Q3/WgCYSt7L2zjlujQIZ0IAADOEEADADCEEADBDCAEAzBBCAAAzhBAAwAwhBAAwQwgBAMwQQgAAM4QQAMAMIQQAMEMIAQDMEEIAADMFN4u2cy70G9z72tA+A0Ah8n5vc38rv3t9wYXQ4OBg4HfIbfrwCY1eCWwbAKaTgPdT3Xw/j8Vid9wn4oJPPfIrk8no4sWLqqysVCQSGfd8KpVSXV2dent7VVVVZdDD4sBxyg3HKTccp9xwnG5yzmlwcFC1tbUqKbnzpz4FdyZUUlKiBQsW3HW/qqqqGf1LzhXHKTccp9xwnHLDcdJdz4Bu4cIEAIAZQggAYKboQigajWrXrl2KRqPWXSloHKfccJxyw3HKDcdp8gruwgQAwMxRdGdCAIDpgxACAJghhAAAZgghAICZogqh1157TQ0NDZo9e7aWL1+ujz/+2LpLBaWtrU2RSGTMFo/Hrbtl7vjx49qwYYNqa2sViUR06NChMc8759TW1qba2lpVVFRo7dq1Onv2rE1nDd3tOD3//PPjxteqVatsOmuovb1dDz/8sCorKzV//nxt3LhRX3zxxZh9GFO5K5oQOnDggLZv366dO3fqs88+06OPPqrm5mZduHDBumsF5cEHH9SlS5ey25kzZ6y7ZG5oaEjLli1TR0fHhM/v3btX+/btU0dHh06dOqV4PK7169fnYR7D4nK34yRJTzzxxJjxdfjw4XvYw8LQ1dWlrVu36uTJk+rs7NTIyIiampo0NDSU3YcxNQmuSPz4xz92W7ZsGfPYD3/4Q/fLX/7SqEeFZ9euXW7ZsmXW3ShoktwHH3yQ/TqTybh4PO727NmTfez69esuFou5N954w6CHheH24+Sccy0tLe4nP/mJSX8KWX9/v5Pkurq6nHOMqckqijOh4eFhffrpp2pqahrzeFNTk06cOGHUq8LU3d2t2tpaNTQ06Omnn9aXX35p3aWC1tPTo76+vjFjKxqNas2aNYytCRw7dkzz58/XAw88oBdeeEH9/f3WXTKXTCYlSdXV1ZIYU5NVFCF0+fJljY6OqqamZszjNTU16uvrM+pV4Vm5cqX279+vI0eO6K233lJfX58aGxs1MDBg3bWCdWv8MLburrm5We+++66OHj2qV199VadOndLjjz+udDpt3TUzzjm1trbqkUce0ZIlSyQxpiar4GbRvpPbl3Zwzk243MNM1dzcnP330qVLtXr1ai1atEjvvPOOWltbDXtW+Bhbd7d58+bsv5csWaIVK1aovr5ef/zjH7Vp0ybDntnZtm2bPv/8c/3lL38Z9xxjKjdFcSY0b948lZaWjvsror+/f9xfG/h/c+fO1dKlS9Xd3W3dlYJ16+pBxtbkJRIJ1dfXz9jx9eKLL+rDDz/URx99NGb5GcbU5BRFCJWXl2v58uXq7Owc83hnZ6caGxuNelX40um0zp07p0QiYd2VgtXQ0KB4PD5mbA0PD6urq4uxdRcDAwPq7e2dcePLOadt27bp4MGDOnr0qBoaGsY8z5ianKL577jW1lY999xzWrFihVavXq0333xTFy5c0JYtW6y7VjBeeuklbdiwQQsXLlR/f79+/etfK5VKqaWlxbprpq5cuaLz589nv+7p6dHp06dVXV2thQsXavv27dq9e7cWL16sxYsXa/fu3ZozZ46effZZw17fe3c6TtXV1Wpra9NTTz2lRCKhr776Sq+88ormzZunJ5980rDX997WrVv13nvv6Q9/+IMqKyuzZzyxWEwVFRWKRCKMqckwvTZvkn7729+6+vp6V15e7h566KHsJZG4afPmzS6RSLhZs2a52tpat2nTJnf27Fnrbpn76KOPnKRxW0tLi3Pu5iW1u3btcvF43EWjUffYY4+5M2fO2HbawJ2O09WrV11TU5O7//773axZs9zChQtdS0uLu3DhgnW377mJjpEk9/bbb2f3YUzljqUcAABmiuIzIQDA9EQIAQDMEEIAADOEEADADCEEADBDCAEAzBBCAAAzhBAAwAwhBAAwQwgBAMwQQgAAM4QQAMDM/wHngiSEESC9swAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# NBVAL_SKIP\n", "# Create an RGB image\n", diff --git a/notebooks/fits_file.ipynb b/notebooks/fits_file.ipynb index fa20c070..72a05f64 100644 --- a/notebooks/fits_file.ipynb +++ b/notebooks/fits_file.ipynb @@ -1,5 +1,18 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "import os\n", + "os.environ['SPS_HOME'] = '/mnt/storage/annalena_data/sps_fsps'\n", + "#os.environ['SPS_HOME'] = '/home/annalena/sps_fsps'\n", + "#os.environ['SPS_HOME'] = '/Users/annalena/Documents/GitHub/fsps'" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -15,71 +28,79 @@ "metadata": {}, "outputs": [], "source": [ - "#NBVAL_SKIP\n", + "# NBVAL_SKIP\n", "import matplotlib.pyplot as plt\n", - "from rubix.core.pipeline import RubixPipeline \n", "import os\n", - "config = {\n", - " \"pipeline\":{\"name\": \"calc_ifu\"},\n", - " \n", - " \"logger\": {\n", - " \"log_level\": \"DEBUG\",\n", - " \"log_file_path\": None,\n", - " \"format\": \"%(asctime)s - %(name)s - %(levelname)s - %(message)s\",\n", - " },\n", + "from rubix.core.pipeline import RubixPipeline\n", + "\n", + "# Define Illustris configuration\n", + "config_illustris = {\n", + " \"pipeline\": {\"name\": \"calc_ifu\"},\n", + " \"logger\": {\"log_level\": \"DEBUG\", \"log_file_path\": None, \"format\": \"%(asctime)s - %(name)s - %(levelname)s - %(message)s\"},\n", " \"data\": {\n", " \"name\": \"IllustrisAPI\",\n", " \"args\": {\n", " \"api_key\": os.environ.get(\"ILLUSTRIS_API_KEY\"),\n", " \"particle_type\": [\"stars\", \"gas\"],\n", - " #\"cube_type\": [\"stars\"],\n", " \"simulation\": \"TNG50-1\",\n", " \"snapshot\": 99,\n", " \"save_data_path\": \"data\",\n", " },\n", - " \n", - " \"load_galaxy_args\": {\n", - " \"id\": 11,\n", - " \"reuse\": True,\n", - " },\n", - " \n", - " \"subset\": {\n", - " \"use_subset\": True,\n", - " \"subset_size\": 1000,\n", - " },\n", - " },\n", - " \"simulation\": {\n", - " \"name\": \"IllustrisTNG\",\n", - " \"args\": {\n", - " \"path\": \"data/galaxy-id-11.hdf5\",\n", - " },\n", - " \n", + " \"load_galaxy_args\": {\"id\": 422754, \"reuse\": True},\n", + " \"subset\": {\"use_subset\": False, \"subset_size\": 750000},\n", " },\n", + " \"simulation\": {\"name\": \"IllustrisTNG\", \"args\": {\"path\": \"data/galaxy-id-422754.hdf5\"}},\n", " \"output_path\": \"output\",\n", - "\n", - " \"telescope\":\n", - " {\"name\": \"MUSE\",\n", - " \"psf\": {\"name\": \"gaussian\", \"size\": 5, \"sigma\": 0.6},\n", - " \"lsf\": {\"sigma\": 0.5},\n", - " \"noise\": {\"signal_to_noise\": 10,\"noise_distribution\": \"normal\"},},\n", - " \"cosmology\":\n", - " {\"name\": \"PLANCK15\"},\n", - " \n", - " \"galaxy\":\n", - " {\"dist_z\": 0.1,\n", - " \"rotation\": {\"type\": \"edge-on\"},\n", + " \"telescope\": {\"name\": \"MUSE\", \"psf\": {\"name\": \"gaussian\", \"size\": 5, \"sigma\": 0.6}, \n", + " \"lsf\": {\"sigma\": 0.5}, \"noise\": {\"signal_to_noise\": 100, \"noise_distribution\": \"normal\"}},\n", + " \"cosmology\": {\"name\": \"PLANCK15\"},\n", + " \"galaxy\": {\"dist_z\": 0.1, \"rotation\": {\"type\": \"edge-on\"}},\n", + " \"ssp\": {\"template\": {\"name\": \"FSPS\"}, #\"Mastar_CB19_SLOG_1_5\"},\n", + " \"dust\": {\n", + " \"extinction_model\": \"Cardelli89\", #\"Gordon23\", \n", + " \"dust_to_gas_ratio\": 0.01, # need to check Remyer's paper\n", + " \"dust_to_metals_ratio\": 0.4, # do we need this ratio if we set the dust_to_gas_ratio?\n", + " \"dust_grain_density\": 3.5, # g/cm^3 #check this value\n", + " \"Rv\": 3.1,\n", " },\n", - " \n", - " \"ssp\": {\n", - " \"template\": {\n", - " \"name\": \"BruzualCharlot2003\"\n", - " },\n", - " }, \n", + " },\n", "}\n", "\n", - "pipe = RubixPipeline(config)\n", "\n", - "data= pipe.run()" + "# Run pipeline\n", + "pipe = RubixPipeline(config_illustris)\n", + "data = pipe.run()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "data.stars.spectra.shape" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "data.stars.spectra.max()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "import numpy as np\n", + "plt.plot(np.linspace(1, 10, data.stars.spectra.shape[2]), data.stars.spectra[:,:750000,:].sum(axis=1)[1])" ] }, { @@ -90,8 +111,105 @@ "source": [ "#NBVAL_SKIP\n", "datacube = data.stars.datacube\n", + "\n", "img = datacube.sum(axis=2)\n", - "plt.imshow(img, origin=\"lower\")" + "plt.imshow(img, origin=\"lower\")\n", + "plt.plot(12,12, 'ro')\n", + "plt.plot(17,12, 'x', color=\"blue\")\n", + "plt.plot(7,12, 'x', color=\"orange\")\n", + "plt.colorbar()\n", + "print(img.min(), img.max())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "wave = pipe.telescope.wave_seq\n", + "#plt.plot(wave, data.stars.datacube[12, 12, :], color=\"red\", label=\"Spectrum\")\n", + "plt.vlines(4861.333, 0, 3000, color='r', label=\"Hbeta=4861.333A\")\n", + "plt.vlines(4861.333*1.1, 0, 3000, color='y', label=\"line obs=Hbeta*(1+z)\")\n", + "plt.plot(wave, data.stars.datacube[7, 12, :], color=\"orange\", label=\"Spectrum 7,12\")\n", + "plt.plot(wave, data.stars.datacube[17, 12, :], color=\"blue\", label=\"Spectrum 17,12\")\n", + "#plt.xlim(5300, 5400)\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "wave = pipe.telescope.wave_seq\n", + "#plt.plot(wave, data.stars.datacube[12, 12, :], color=\"red\", label=\"Spectrum\")\n", + "plt.vlines(4861.333, 0, 370, color='r', label=\"Hbeta=4861.333A\")\n", + "plt.vlines(4861.333*1.1, 0, 370, color='y', label=\"line obs=Hbeta*(1+z)\")\n", + "plt.plot(wave, data.stars.datacube[17, 12, :], color=\"blue\", label=\"Spectrum 2,12\")\n", + "plt.plot(wave, data.stars.datacube[7, 12, :], color=\"orange\", label=\"Spectrum 22,12\")\n", + "plt.xlim(5300, 5400)\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# Plot a histogram of the velocities\n", + "plt.hist(data.stars.velocity[0,:,2], bins=30, edgecolor='black')\n", + "plt.xlabel('Velocity')\n", + "plt.ylabel('Frequency')\n", + "plt.title('Histogram of Star Velocities')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# Assuming your data arrays are defined as follows:\n", + "pixel_assignment = np.asarray(np.squeeze(data.stars.pixel_assignment))\n", + "velocities = np.asarray(data.stars.velocity[0, :, 2])\n", + "\n", + "# Compute the sum of velocities and count per pixel using np.bincount\n", + "sum_velocity = np.bincount(pixel_assignment, weights=velocities)\n", + "counts = np.bincount(pixel_assignment)\n", + "\n", + "# Calculate mean velocity; note: division by zero is avoided if every pixel has at least one star.\n", + "mean_velocity = sum_velocity / counts\n", + "\n", + "# If you know the pixel grid dimensions (for example, a square grid)\n", + "n_pixels = len(mean_velocity)\n", + "grid_size = int(np.sqrt(n_pixels))\n", + "if grid_size * grid_size != n_pixels:\n", + " raise ValueError(\"The total number of pixels is not a perfect square; please specify the grid shape explicitly.\")\n", + "\n", + "# Reshape the mean_velocity into a 2D array for imshow\n", + "velocity_map = mean_velocity.reshape((grid_size, grid_size))\n", + "\n", + "# Plot the result\n", + "plt.figure(figsize=(6, 5))\n", + "plt.imshow(velocity_map, origin='lower', interpolation='nearest', cmap='seismic')\n", + "plt.colorbar(label='Mean Velocity')\n", + "plt.title('Mean Velocity per Pixel')\n", + "plt.xlabel('X pixel index')\n", + "plt.ylabel('Y pixel index')\n", + "plt.show()" ] }, { @@ -112,7 +230,7 @@ "#NBVAL_SKIP\n", "from rubix.core.fits import store_fits\n", "\n", - "store_fits(config, data, \"output/\")" + "store_fits(config_illustris, data, \"output/\")" ] }, { @@ -133,7 +251,7 @@ "#NBVAL_SKIP\n", "from rubix.core.fits import load_fits\n", "\n", - "cube = load_fits(\"output/IllustrisTNG_id11_snap99_stars_subsetTrue.fits\")" + "cube = load_fits(\"output/IllustrisTNG_id11_snap99_stars_subsetTrue.fits\") #if you use NIHAO, you have to insert the NIHAO fits file" ] }, { @@ -146,6 +264,11 @@ "cube.shape" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + }, { "cell_type": "code", "execution_count": null, @@ -185,7 +308,7 @@ ], "metadata": { "kernelspec": { - "display_name": "rubix", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -199,7 +322,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.13" + "version": "3.13.2" } }, "nbformat": 4, diff --git a/notebooks/psf.ipynb b/notebooks/psf.ipynb index 7b408935..f80b2a79 100644 --- a/notebooks/psf.ipynb +++ b/notebooks/psf.ipynb @@ -86,7 +86,6 @@ "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.14" - } }, "nbformat": 4, diff --git a/notebooks/rubix_pipeline_nihao.ipynb b/notebooks/rubix_pipeline_nihao.ipynb index 9455ab75..17462920 100644 --- a/notebooks/rubix_pipeline_nihao.ipynb +++ b/notebooks/rubix_pipeline_nihao.ipynb @@ -1,5 +1,18 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "import os\n", + "os.environ['SPS_HOME'] = '/mnt/storage/annalena_data/sps_fsps'\n", + "#os.environ['SPS_HOME'] = '/home/annalena/sps_fsps'\n", + "#os.environ['SPS_HOME'] = '/Users/annalena/Documents/GitHub/fsps'" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -41,13 +54,13 @@ " \"save_data_path\": \"data\",\n", " },\n", " \"load_galaxy_args\": {\"reuse\": True},\n", - " \"subset\": {\"use_subset\": True, \"subset_size\": 1000},\n", + " \"subset\": {\"use_subset\": False, \"subset_size\": 1000},\n", " },\n", " \"simulation\": {\n", " \"name\": \"NIHAO\",\n", " \"args\": {\n", - " \"path\": \"/mnt/storage/_data/nihao/nihao_classic/g7.55e11/g7.55e11.01024\",\n", - " \"halo_path\": \"/mnt/storage/_data/nihao/nihao_classic/g7.55e11/g7.55e11.01024.z0.000.AHF_halos\",\n", + " \"path\": \"/mnt/storage/_data/nihao/nihao_classic/g8.26e11/g8.26e11.01024\",\n", + " \"halo_path\": \"/mnt/storage/_data/nihao/nihao_classic/g8.26e11/g8.26e11.01024.z0.000.AHF_halos\",\n", " #\"path\": \"/home/annalena/g7.55e11/snap_1024/output/7.55e11.01024\",\n", " #\"halo_path\": \"/home/annalena/g7.55e11/snap_1024/output/7.55e11.01024.z0.000.AHF_halos\",\n", " \"halo_id\": 0,\n", @@ -56,18 +69,25 @@ " \"output_path\": \"output\",\n", "\n", " \"telescope\": {\n", - " \"name\": \"MUSE\",\n", + " \"name\": \"MUSE_WFM\",\n", " \"psf\": {\"name\": \"gaussian\", \"size\": 5, \"sigma\": 0.6},\n", - " \"lsf\": {\"sigma\": 0.5},\n", - " \"noise\": {\"signal_to_noise\": 1, \"noise_distribution\": \"normal\"},\n", + " \"lsf\": {\"sigma\": 1.2},\n", + " \"noise\": {\"signal_to_noise\": 100, \"noise_distribution\": \"normal\"},\n", " },\n", " \"cosmology\": {\"name\": \"PLANCK15\"},\n", " \"galaxy\": {\n", - " \"dist_z\": 0.2,\n", + " \"dist_z\": 0.01,\n", " \"rotation\": {\"type\": \"edge-on\"},\n", " },\n", " \"ssp\": {\n", - " \"template\": {\"name\": \"BruzualCharlot2003\"},\n", + " \"template\": {\"name\": \"FSPS\"},\n", + " \"dust\": {\n", + " \"extinction_model\": \"Cardelli89\",\n", + " \"dust_to_gas_ratio\": 0.01,\n", + " \"dust_to_metals_ratio\": 0.4,\n", + " \"dust_grain_density\": 3.5,\n", + " \"Rv\": 3.1,\n", + " },\n", " },\n", "}" ] @@ -119,7 +139,7 @@ "wave = pipe.telescope.wave_seq\n", "spectra = rubixdata.stars.datacube\n", "\n", - "plt.plot(wave, spectra[12, 12, :])\n", + "plt.plot(wave, spectra[120, 120, :])\n", "plt.title(\"Spectrum of Spaxel [12, 12]\")\n", "plt.xlabel(\"Wavelength [Å]\")\n", "plt.ylabel(\"Flux\")\n", @@ -170,6 +190,114 @@ "stellar_age_histogram('./output/rubix_galaxy.h5')" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Mean line of sight velocity" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# NBVAL_SKIP\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# Assuming your data arrays are defined as follows:\n", + "pixel_assignment = np.asarray(np.squeeze(rubixdata.stars.pixel_assignment))\n", + "velocities = np.asarray(rubixdata.stars.velocity[0, :, 2])\n", + "\n", + "# Compute the sum of velocities and count per pixel using np.bincount\n", + "sum_velocity = np.bincount(pixel_assignment, weights=velocities)\n", + "counts = np.bincount(pixel_assignment)\n", + "\n", + "# Calculate mean velocity; note: division by zero is avoided if every pixel has at least one star.\n", + "mean_velocity = sum_velocity / counts\n", + "\n", + "\n", + "# If you know the pixel grid dimensions (for example, a square grid)\n", + "n_pixels = len(mean_velocity)\n", + "grid_size = int(np.sqrt(n_pixels))\n", + "if grid_size * grid_size != n_pixels:\n", + " raise ValueError(\"The total number of pixels is not a perfect square; please specify the grid shape explicitly.\")\n", + "\n", + "# Reshape the mean_velocity into a 2D array for imshow\n", + "velocity_map = mean_velocity.reshape((grid_size, grid_size))\n", + "print(velocity_map[12,12])\n", + "\n", + "print(velocity_map[17,12]-velocity_map[7,12])\n", + "# Plot the result\n", + "plt.figure(figsize=(6, 5))\n", + "plt.imshow(velocity_map, origin='lower', interpolation='nearest', cmap='seismic')\n", + "plt.colorbar(label='Mean Velocity')\n", + "plt.title('Mean Velocity per Pixel')\n", + "plt.xlabel('X pixel index')\n", + "plt.ylabel('Y pixel index')\n", + "#storepath = f\"output/datacube_NIHAO{config['data']['load_galaxy_args']['id']}_{config['pipeline']['name']}_velocity.png\"\n", + "#plt.savefig(storepath)\n", + "plt.show()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Mean stellar age" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "\n", + "# NBVAL_SKIP\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# Assuming your data arrays are defined as follows:\n", + "pixel_assignment = np.asarray(np.squeeze(rubixdata.stars.pixel_assignment))\n", + "ages = np.asarray(rubixdata.stars.age[0, :])\n", + "\n", + "# Compute the sum of velocities and count per pixel using np.bincount\n", + "sum_ages = np.bincount(pixel_assignment, weights=ages)\n", + "counts = np.bincount(pixel_assignment)\n", + "\n", + "# Calculate mean velocity; note: division by zero is avoided if every pixel has at least one star.\n", + "mean_age = sum_ages / counts\n", + "\n", + "\n", + "# If you know the pixel grid dimensions (for example, a square grid)\n", + "n_pixels = len(mean_age)\n", + "grid_size = int(np.sqrt(n_pixels))\n", + "if grid_size * grid_size != n_pixels:\n", + " raise ValueError(\"The total number of pixels is not a perfect square; please specify the grid shape explicitly.\")\n", + "\n", + "# Reshape the mean_velocity into a 2D array for imshow\n", + "age_map = mean_age.reshape((grid_size, grid_size))\n", + "print(age_map[12,12])\n", + "\n", + "# Plot the result\n", + "plt.figure(figsize=(6, 5))\n", + "plt.imshow(age_map, origin='lower', interpolation='nearest', cmap='inferno')\n", + "plt.colorbar(label='Mean Age')\n", + "plt.title('Mean Age per Pixel')\n", + "plt.xlabel('X pixel index')\n", + "plt.ylabel('Y pixel index')\n", + "#storepath = f\"./output/datacube_NIHAO{config['data']['load_galaxy_args']['id']}_{config[\"telescope\"][\"name\"]}_{config['pipeline']['name']}_age.png\"\n", + "#plt.savefig(storepath)\n", + "plt.show()\n", + "\n", + "\n", + "\n" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -182,7 +310,7 @@ ], "metadata": { "kernelspec": { - "display_name": "rubix", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -196,7 +324,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.13" + "version": "3.13.2" } }, "nbformat": 4, diff --git a/notebooks/rubix_pipeline_single_function.ipynb b/notebooks/rubix_pipeline_single_function.ipynb deleted file mode 100644 index 46401f5d..00000000 --- a/notebooks/rubix_pipeline_single_function.ipynb +++ /dev/null @@ -1,313 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# RUBIX pipeline\n", - "\n", - "RUBIX is designed as a linear pipeline, where the individual functions are called and constructed as a pipeline. This allows as to execude the whole data transformation from a cosmological hydrodynamical simulation of a galaxy to an IFU cube in two lines of code. This notebook shows, how to execute the pipeline. To see, how the pipeline is execuded in small individual steps per individual function, we refer to the notebook `rubix_pipeline_stepwise.ipynb`.\n", - "\n", - "## How to use the Pipeline\n", - "1) Define a `config`\n", - "2) Setup the `pipeline yaml`\n", - "3) Run the RUBIX pipeline\n", - "4) Do science with the mock-data" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Step 1: Config\n", - "\n", - "The `config` contains all the information needed to run the pipeline. Those are run specfic configurations. Currently we just support Illustris as simulation, but extensions to other simulations (e.g. NIHAO) are planned.\n", - "\n", - "For the `config` you can choose the following options:\n", - "- `pipeline`: you specify the name of the pipeline that is stored in the yaml file in rubix/config/pipeline_config.yml\n", - "- `logger`: RUBIX has implemented a logger to report the user, what is happening during the pipeline execution and give warnings\n", - "- `data - args - particle_type`: load only stars particle (\"particle_type\": [\"stars\"]) or only gas particle (\"particle_type\": [\"gas\"]) or both (\"particle_type\": [\"stars\",\"gas\"])\n", - "- `data - args - simulation`: choose the Illustris simulation (e.g. \"simulation\": \"TNG50-1\")\n", - "- `data - args - snapshot`: which time step of the simulation (99 for present day)\n", - "- `data - args - save_data_path`: set the path to save the downloaded Illustris data\n", - "- `data - load_galaxy_args - id`: define, which Illustris galaxy is downloaded\n", - "- `data - load_galaxy_args - reuse`: if True, if in th esave_data_path directory a file for this galaxy id already exists, the downloading is skipped and the preexisting file is used\n", - "- `data - subset`: only a defined number of stars/gas particles is used and stored for the pipeline. This may be helpful for quick testing\n", - "- `simulation - name`: currently only IllustrisTNG is supported\n", - "- `simulation - args - path`: where the data is stored and how the file will be named\n", - "- `output_path`: where the hdf5 file is stored, which is then the input to the RUBIX pipeline\n", - "- `telescope - name`: define the telescope instrument that is observing the simulation. Some telescopes are predefined, e.g. MUSE. If your instrument does not exist predefined, you can easily define your instrument in rubix/telescope/telescopes.yaml\n", - "- `telescope - psf`: define the point spread function that is applied to the mock data\n", - "- `telescope - lsf`: define the line spread function that is applied to the mock data\n", - "- `telescope - noise`: define the noise that is applied to the mock data\n", - "- `cosmology`: specify the cosmology you want to use, standard for RUBIX is \"PLANCK15\"\n", - "- `galaxy - dist_z`: specify at which redshift the mock-galaxy is observed\n", - "- `galaxy - rotation`: specify the orientation of the galaxy. You can set the types edge-on or face-on or specify the angles alpha, beta and gamma as rotations around x-, y- and z-axis\n", - "- `ssp - template`: specify the simple stellar population lookup template to get the stellar spectrum for each stars particle. In RUBIX frequently \"BruzualCharlot2003\" is used." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#NBVAL_SKIP\n", - "import matplotlib.pyplot as plt\n", - "from rubix.core.pipeline import RubixPipeline \n", - "import os\n", - "config = {\n", - " \"pipeline\":{\"name\": \"calc_ifu\"},\n", - " \n", - " \"logger\": {\n", - " \"log_level\": \"DEBUG\",\n", - " \"log_file_path\": None,\n", - " \"format\": \"%(asctime)s - %(name)s - %(levelname)s - %(message)s\",\n", - " },\n", - " \"data\": {\n", - " \"name\": \"IllustrisAPI\",\n", - " \"args\": {\n", - " \"api_key\": os.environ.get(\"ILLUSTRIS_API_KEY\"),\n", - " \"particle_type\": [\"stars\"],\n", - " \"simulation\": \"TNG50-1\",\n", - " \"snapshot\": 99,\n", - " \"save_data_path\": \"data\",\n", - " },\n", - " \n", - " \"load_galaxy_args\": {\n", - " \"id\": 14,\n", - " \"reuse\": True,\n", - " },\n", - " \n", - " \"subset\": {\n", - " \"use_subset\": True,\n", - " \"subset_size\": 1000,\n", - " },\n", - " },\n", - " \"simulation\": {\n", - " \"name\": \"IllustrisTNG\",\n", - " \"args\": {\n", - " \"path\": \"data/galaxy-id-14.hdf5\",\n", - " },\n", - " \n", - " },\n", - " \"output_path\": \"output\",\n", - "\n", - " \"telescope\":\n", - " {\"name\": \"MUSE\",\n", - " \"psf\": {\"name\": \"gaussian\", \"size\": 5, \"sigma\": 0.6},\n", - " \"lsf\": {\"sigma\": 0.5},\n", - " \"noise\": {\"signal_to_noise\": 1,\"noise_distribution\": \"normal\"},},\n", - " \"cosmology\":\n", - " {\"name\": \"PLANCK15\"},\n", - " \n", - " \"galaxy\":\n", - " {\"dist_z\": 0.1,\n", - " \"rotation\": {\"type\": \"edge-on\"},\n", - " },\n", - " \n", - " \"ssp\": {\n", - " \"template\": {\n", - " \"name\": \"BruzualCharlot2003\"\n", - " },\n", - " }, \n", - "}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Step 2: Pipeline yaml\n", - "\n", - "To run the RUBIX pipeline, you need a yaml file (stored in `rubix/config/pipeline_config.yml`) that defines which functions are used during the execution of the pipeline. This shows the example pipeline yaml to compute a stellar IFU cube.\n", - "\n", - "```yaml\n", - "calc_ifu:\n", - " Transformers:\n", - " rotate_galaxy:\n", - " name: rotate_galaxy\n", - " depends_on: null\n", - " args: []\n", - " kwargs:\n", - " type: \"face-on\"\n", - " filter_particles:\n", - " name: filter_particles\n", - " depends_on: rotate_galaxy\n", - " args: []\n", - " kwargs: {}\n", - " spaxel_assignment:\n", - " name: spaxel_assignment\n", - " depends_on: filter_particles\n", - " args: []\n", - " kwargs: {}\n", - "\n", - " reshape_data:\n", - " name: reshape_data\n", - " depends_on: spaxel_assignment\n", - " args: []\n", - " kwargs: {}\n", - "\n", - " calculate_spectra:\n", - " name: calculate_spectra\n", - " depends_on: reshape_data\n", - " args: []\n", - " kwargs: {}\n", - "\n", - " scale_spectrum_by_mass:\n", - " name: scale_spectrum_by_mass\n", - " depends_on: calculate_spectra\n", - " args: []\n", - " kwargs: {}\n", - " doppler_shift_and_resampling:\n", - " name: doppler_shift_and_resampling\n", - " depends_on: scale_spectrum_by_mass\n", - " args: []\n", - " kwargs: {}\n", - " calculate_datacube:\n", - " name: calculate_datacube\n", - " depends_on: doppler_shift_and_resampling\n", - " args: []\n", - " kwargs: {}\n", - " convolve_psf:\n", - " name: convolve_psf\n", - " depends_on: calculate_datacube\n", - " args: []\n", - " kwargs: {}\n", - " convolve_lsf:\n", - " name: convolve_lsf\n", - " depends_on: convolve_psf\n", - " args: []\n", - " kwargs: {}\n", - " apply_noise:\n", - " name: apply_noise\n", - " depends_on: convolve_lsf\n", - " args: []\n", - " kwargs: {}\n", - "```\n", - "\n", - "Ther is one thing you have to know about the naming of the functions in this yaml: To use the functions inside the pipeline, the functions have to be called exactly the same as they are returned from the core module function!" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Step 3: Run the pipeline\n", - "\n", - "After defining the `config` and the `pipeline_config` you can simply run the whole pipeline by these two lines of code." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#NBVAL_SKIP\n", - "pipe = RubixPipeline(config)\n", - "\n", - "rubixdata = pipe.run()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Step 4: Mock-data\n", - "\n", - "Now we have our final datacube and can use the mock-data to do science. Here we have a quick look in the optical wavelengthrange of the mock-datacube and show the spectra of a central spaxel and a spatial image." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#NBVAL_SKIP\n", - "import jax.numpy as jnp\n", - "\n", - "wave = pipe.telescope.wave_seq\n", - "# get the indices of the visible wavelengths of 4000-8000 Angstroms\n", - "visible_indices = jnp.where((wave >= 4000) & (wave <= 8000))\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This is how you can access the spectrum of an individual spaxel, the wavelength can be accessed via `pipe.wave_seq`" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#NBVAL_SKIP\n", - "wave = pipe.telescope.wave_seq\n", - "\n", - "spectra = rubixdata.stars.datacube # Spectra of all stars\n", - "print(spectra.shape)\n", - "\n", - "plt.plot(wave, spectra[12,12,:])\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Plot a spacial image of the data cube" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#NBVAL_SKIP\n", - "# get the spectra of the visible wavelengths from the ifu cube\n", - "visible_spectra = rubixdata.stars.datacube[:, :, visible_indices[0]]\n", - "#visible_spectra.shape\n", - "\n", - "# Sum up all spectra to create an image\n", - "image = jnp.sum(visible_spectra, axis = 2)\n", - "plt.imshow(image, origin=\"lower\", cmap=\"inferno\")\n", - "plt.colorbar()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## DONE!\n", - "\n", - "Congratulations, you have sucessfully run the RUBIX pipeline to create your own mock-observed IFU datacube! Now enjoy playing around with the RUBIX pipeline and enjoy doing amazing science with RUBIX :)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "rubix", - "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.14" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/notebooks/rubix_pipeline_stepwise.ipynb b/notebooks/rubix_pipeline_stepwise.ipynb index 16763b69..e8db48e3 100644 --- a/notebooks/rubix_pipeline_stepwise.ipynb +++ b/notebooks/rubix_pipeline_stepwise.ipynb @@ -1,5 +1,16 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "#os.environ['SPS_HOME'] = '/home/annalena/sps_fsps'\n", + "os.environ['SPS_HOME'] = '/Users/annalena/Documents/GitHub/fsps'" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -513,9 +524,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.14" - - + "version": "3.12.8" } }, "nbformat": 4, diff --git a/notebooks/ssp_template.ipynb b/notebooks/ssp_template.ipynb index d0370568..cf0a1426 100644 --- a/notebooks/ssp_template.ipynb +++ b/notebooks/ssp_template.ipynb @@ -11,266 +11,9 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2024-07-16 11:48:20,669 - rubix - INFO - \n", - " ___ __ _____ _____ __\n", - " / _ \\/ / / / _ )/ _/ |/_/\n", - " / , _/ /_/ / _ |/ /_> < \n", - "/_/|_|\\____/____/___/_/|_| \n", - " \n", - "\n", - "2024-07-16 11:48:20,671 - rubix - INFO - Rubix version: 0.0.post66+g42d5801.d20240712\n", - "2024-07-16 11:48:20,671 - rubix - WARNING - python-fsps is not installed. Please install it to use this function. Install using pip install fsps and check the installation page: https://dfm.io/python-fsps/current/installation/ for more details. Especially, make sure to set all necessary environment variables.\n" - ] - }, - { - "data": { - "text/plain": [ - "HDF5SSPGrid(age=Array([ 0. , 5.100002 , 5.1500006, 5.1999993, 5.25 ,\n", - " 5.3000016, 5.350002 , 5.4000006, 5.4500012, 5.500002 ,\n", - " 5.550002 , 5.600002 , 5.6500025, 5.700002 , 5.750002 ,\n", - " 5.8000026, 5.850003 , 5.900003 , 5.950003 , 6. ,\n", - " 6.0200005, 6.040001 , 6.0599985, 6.0799985, 6.100002 ,\n", - " 6.120001 , 6.1399984, 6.16 , 6.18 , 6.1999993,\n", - " 6.2200007, 6.24 , 6.2599998, 6.2799997, 6.2999997,\n", - " 6.3199987, 6.3399997, 6.3600006, 6.3799996, 6.3999987,\n", - " 6.4200006, 6.44 , 6.4599996, 6.4799995, 6.499999 ,\n", - " 6.52 , 6.539999 , 6.56 , 6.5799994, 6.6 ,\n", - " 6.6199994, 6.6399994, 6.66 , 6.679999 , 6.699999 ,\n", - " 6.72 , 6.7399993, 6.7599993, 6.7799997, 6.799999 ,\n", - " 6.819999 , 6.839999 , 6.8599997, 6.879999 , 6.899999 ,\n", - " 6.919999 , 6.939999 , 6.959999 , 6.9799986, 6.999999 ,\n", - " 7.0200005, 7.040001 , 7.0599985, 7.0799985, 7.099998 ,\n", - " 7.119998 , 7.1399984, 7.16 , 7.18 , 7.1999993,\n", - " 7.2199984, 7.24 , 7.2599998, 7.2799997, 7.2999997,\n", - " 7.3199987, 7.3399997, 7.3599987, 7.3799996, 7.3999987,\n", - " 7.4199986, 7.4399986, 7.462398 , 7.4771214, 7.4913616,\n", - " 7.50515 , 7.518514 , 7.531479 , 7.544068 , 7.5563025,\n", - " 7.5682015, 7.5797834, 7.5910645, 7.60206 , 7.628389 ,\n", - " 7.6532125, 7.6766934, 7.69897 , 7.7201595, 7.7403626,\n", - " 7.7565446, 7.806545 , 7.8565454, 7.906545 , 7.9565454,\n", - " 8.006543 , 8.056546 , 8.1065445, 8.156547 , 8.206545 ,\n", - " 8.256547 , 8.306547 , 8.356546 , 8.406547 , 8.456547 ,\n", - " 8.506547 , 8.556547 , 8.606546 , 8.656548 , 8.706548 ,\n", - " 8.756548 , 8.806548 , 8.856548 , 8.9065485, 8.956549 ,\n", - " 9.006547 , 9.05655 , 9.106548 , 9.156549 , 9.206551 ,\n", - " 9.225309 , 9.230449 , 9.255273 , 9.278753 , 9.30103 ,\n", - " 9.322219 , 9.3424225, 9.361728 , 9.380211 , 9.39794 ,\n", - " 9.414973 , 9.439333 , 9.477121 , 9.511884 , 9.544068 ,\n", - " 9.574031 , 9.60206 , 9.628389 , 9.653213 , 9.676694 ,\n", - " 9.69897 , 9.72016 , 9.740363 , 9.759667 , 9.7781515,\n", - " 9.79588 , 9.812913 , 9.829304 , 9.8450985, 9.860338 ,\n", - " 9.875061 , 9.889301 , 9.90309 , 9.916454 , 9.929419 ,\n", - " 9.942008 , 9.954243 , 9.966142 , 9.977724 , 9.989004 ,\n", - " 10. , 10.010724 , 10.02119 , 10.031408 , 10.041392 ,\n", - " 10.051152 , 10.060698 , 10.070038 , 10.079182 , 10.088136 ,\n", - " 10.09691 , 10.10551 , 10.113943 , 10.122216 , 10.130334 ,\n", - " 10.138303 , 10.146128 , 10.153815 , 10.161368 , 10.168792 ,\n", - " 10.176091 , 10.1832695, 10.190331 , 10.197281 , 10.20412 ,\n", - " 10.210854 , 10.2174835, 10.224015 , 10.230449 , 10.236789 ,\n", - " 10.243038 , 10.249198 , 10.255273 , 10.261263 , 10.267172 ,\n", - " 10.273002 , 10.278753 , 10.2844305, 10.290034 , 10.2955675,\n", - " 10.30103 ], dtype=float32), metallicity=Array([1.e-04, 4.e-04, 4.e-03, 8.e-03, 2.e-02, 5.e-02], dtype=float32), wavelength=Array([ 91., 94., 96., 98., 100., 102., 104., 106.,\n", - " 108., 110., 114., 118., 121., 125., 127., 128.,\n", - " 131., 132., 134., 137., 140., 143., 147., 151.,\n", - " 155., 159., 162., 166., 170., 173., 177., 180.,\n", - " 182., 186., 191., 194., 198., 202., 205., 210.,\n", - " 216., 220., 223., 227., 230., 234., 240., 246.,\n", - " 252., 257., 260., 264., 269., 274., 279., 284.,\n", - " 290., 296., 301., 308., 318., 328., 338., 348.,\n", - " 357., 366., 375., 385., 395., 405., 414., 422.,\n", - " 430., 441., 451., 460., 470., 480., 490., 500.,\n", - " 506., 512., 520., 530., 540., 550., 560., 570.,\n", - " 580., 590., 600., 610., 620., 630., 640., 650.,\n", - " 658., 665., 675., 685., 695., 705., 716., 726.,\n", - " 735., 745., 755., 765., 775., 785., 795., 805.,\n", - " 815., 825., 835., 845., 855., 865., 875., 885.,\n", - " 895., 905., 915., 925., 935., 945., 955., 965.,\n", - " 975., 985., 995., 1005., 1015., 1025., 1035., 1045.,\n", - " 1055., 1065., 1075., 1085., 1095., 1105., 1115., 1125.,\n", - " 1135., 1145., 1155., 1165., 1175., 1185., 1195., 1205.,\n", - " 1215., 1225., 1235., 1245., 1255., 1265., 1275., 1285.,\n", - " 1295., 1305., 1315., 1325., 1335., 1345., 1355., 1365.,\n", - " 1375., 1385., 1395., 1405., 1415., 1425., 1435., 1442.,\n", - " 1447., 1455., 1465., 1475., 1485., 1495., 1505., 1512.,\n", - " 1517., 1525., 1535., 1545., 1555., 1565., 1575., 1585.,\n", - " 1595., 1605., 1615., 1625., 1635., 1645., 1655., 1665.,\n", - " 1672., 1677., 1685., 1695., 1705., 1715., 1725., 1735.,\n", - " 1745., 1755., 1765., 1775., 1785., 1795., 1805., 1815.,\n", - " 1825., 1835., 1845., 1855., 1865., 1875., 1885., 1895.,\n", - " 1905., 1915., 1925., 1935., 1945., 1955., 1967., 1976.,\n", - " 1984., 1995., 2005., 2015., 2025., 2035., 2045., 2055.,\n", - " 2065., 2074., 2078., 2085., 2095., 2105., 2115., 2125.,\n", - " 2135., 2145., 2155., 2165., 2175., 2185., 2195., 2205.,\n", - " 2215., 2225., 2235., 2245., 2255., 2265., 2275., 2285.,\n", - " 2295., 2305., 2315., 2325., 2335., 2345., 2355., 2365.,\n", - " 2375., 2385., 2395., 2405., 2415., 2425., 2435., 2445.,\n", - " 2455., 2465., 2475., 2485., 2495., 2505., 2513., 2518.,\n", - " 2525., 2535., 2545., 2555., 2565., 2575., 2585., 2595.,\n", - " 2605., 2615., 2625., 2635., 2645., 2655., 2665., 2675.,\n", - " 2685., 2695., 2705., 2715., 2725., 2735., 2745., 2755.,\n", - " 2765., 2775., 2785., 2795., 2805., 2815., 2825., 2835.,\n", - " 2845., 2855., 2865., 2875., 2885., 2895., 2910., 2930.,\n", - " 2950., 2970., 2990., 3010., 3030., 3050., 3070., 3090.,\n", - " 3110., 3130., 3150., 3170., 3190., 3210., 3230., 3250.,\n", - " 3270., 3290., 3310., 3330., 3350., 3370., 3390., 3410.,\n", - " 3430., 3450., 3470., 3490., 3510., 3530., 3550., 3570.,\n", - " 3590., 3610., 3630., 3640., 3650., 3670., 3690., 3710.,\n", - " 3730., 3750., 3770., 3790., 3810., 3830., 3850., 3870.,\n", - " 3890., 3910., 3930., 3950., 3970., 3990., 4010., 4030.,\n", - " 4050., 4070., 4090., 4110., 4130., 4150., 4170., 4190.,\n", - " 4210., 4230., 4250., 4270., 4290., 4310., 4330., 4350.,\n", - " 4370., 4390., 4410., 4430., 4450., 4470., 4490., 4510.,\n", - " 4530., 4550., 4570., 4590., 4610., 4630., 4650., 4670.,\n", - " 4690., 4710., 4730., 4750., 4770., 4790., 4810., 4830.,\n", - " 4850., 4870., 4890., 4910., 4930., 4950., 4970., 4990.,\n", - " 5010., 5030., 5050., 5070., 5090., 5110., 5130., 5150.,\n", - " 5170., 5190., 5210., 5230., 5250., 5270., 5290., 5310.,\n", - " 5330., 5350., 5370., 5390., 5410., 5430., 5450., 5470.,\n", - " 5490., 5510., 5530., 5550., 5570., 5590., 5610., 5630.,\n", - " 5650., 5670., 5690., 5710., 5730., 5750., 5770., 5790.,\n", - " 5810., 5830., 5850., 5870., 5890., 5910., 5930., 5950.,\n", - " 5970., 5990., 6010., 6030., 6050., 6070., 6090., 6110.,\n", - " 6130., 6150., 6170., 6190., 6210., 6230., 6250., 6270.,\n", - " 6290., 6310., 6330., 6350., 6370., 6390., 6410., 6430.,\n", - " 6450., 6470., 6490., 6510., 6530., 6550., 6570., 6590.,\n", - " 6610., 6630., 6650., 6670., 6690., 6710., 6730., 6750.,\n", - " 6770., 6790., 6810., 6830., 6850., 6870., 6890., 6910.,\n", - " 6930., 6950., 6970., 6990., 7010., 7030., 7050., 7070.,\n", - " 7090., 7110., 7130., 7150., 7170., 7190., 7210., 7230.,\n", - " 7250., 7270., 7290., 7310., 7330., 7350., 7370., 7390.,\n", - " 7410., 7430., 7450., 7470., 7490., 7510., 7530., 7550.,\n", - " 7570., 7590., 7610., 7630., 7650., 7670., 7690., 7710.,\n", - " 7730., 7750., 7770., 7790., 7810., 7830., 7850., 7870.,\n", - " 7890., 7910., 7930., 7950., 7970., 7990., 8010., 8030.,\n", - " 8050., 8070., 8090., 8110., 8130., 8150., 8170., 8190.,\n", - " 8210., 8230., 8250., 8270., 8290., 8310., 8330., 8350.,\n", - " 8370., 8390., 8410., 8430., 8450., 8470., 8490., 8510.,\n", - " 8530., 8550., 8570., 8590., 8610., 8630., 8650., 8670.,\n", - " 8690., 8710., 8730., 8750., 8770., 8790., 8810., 8830.,\n", - " 8850., 8870., 8890., 8910., 8930., 8950., 8970., 8990.,\n", - " 9010., 9030., 9050., 9070., 9090., 9110., 9130., 9150.,\n", - " 9170., 9190., 9210., 9230., 9250., 9270., 9290., 9310.,\n", - " 9330., 9350., 9370., 9390., 9410., 9430., 9450., 9470.,\n", - " 9490., 9510., 9530., 9550., 9570., 9590., 9610., 9630.,\n", - " 9650., 9670., 9690., 9710., 9730., 9750., 9770., 9790.,\n", - " 9810., 9830., 9850., 9870., 9890., 9910., 9930., 9950.,\n", - " 9970., 9990., 10025., 10075., 10125., 10175., 10225., 10275.,\n", - " 10325., 10375., 10425., 10475., 10525., 10575., 10625., 10675.,\n", - " 10725., 10775., 10825., 10875., 10925., 10975., 11025., 11075.,\n", - " 11125., 11175., 11225., 11275., 11325., 11375., 11425., 11475.,\n", - " 11525., 11575., 11625., 11675., 11725., 11775., 11825., 11875.,\n", - " 11925., 11975., 12025., 12075., 12125., 12175., 12225., 12275.,\n", - " 12325., 12375., 12425., 12475., 12525., 12575., 12625., 12675.,\n", - " 12725., 12775., 12825., 12875., 12925., 12975., 13025., 13075.,\n", - " 13125., 13175., 13225., 13275., 13325., 13375., 13425., 13475.,\n", - " 13525., 13575., 13625., 13675., 13725., 13775., 13825., 13875.,\n", - " 13925., 13975., 14025., 14075., 14125., 14175., 14225., 14275.,\n", - " 14325., 14375., 14425., 14475., 14525., 14570., 14620., 14675.,\n", - " 14725., 14775., 14825., 14875., 14925., 14975., 15025., 15075.,\n", - " 15125., 15175., 15225., 15275., 15325., 15375., 15425., 15475.,\n", - " 15525., 15575., 15625., 15675., 15725., 15775., 15825., 15875.,\n", - " 15925., 15975., 16050., 16150., 16250., 16350., 16450., 16550.,\n", - " 16650., 16750., 16850., 16950., 17050., 17150., 17250., 17350.,\n", - " 17450., 17550., 17650., 17750., 17850., 17950., 18050., 18150.,\n", - " 18250., 18350., 18450., 18550., 18650., 18750., 18850., 18950.,\n", - " 19050., 19150., 19250., 19350., 19450., 19550., 19650., 19750.,\n", - " 19850., 19950.], dtype=float32), flux=Array([[[9.08833684e-08, 1.93420703e-07, 3.10973348e-07, ...,\n", - " 1.92249590e-05, 1.88633931e-05, 1.85086974e-05],\n", - " [9.08833684e-08, 1.93420703e-07, 3.10973348e-07, ...,\n", - " 1.92249590e-05, 1.88633931e-05, 1.85086974e-05],\n", - " [9.08833684e-08, 1.93420703e-07, 3.10973348e-07, ...,\n", - " 1.92249590e-05, 1.88633931e-05, 1.85086974e-05],\n", - " ...,\n", - " [5.92562333e-10, 8.93100538e-10, 1.15493171e-09, ...,\n", - " 2.39835890e-06, 2.35784546e-06, 2.32140042e-06],\n", - " [5.92806859e-10, 8.92882435e-10, 1.15413190e-09, ...,\n", - " 2.37455151e-06, 2.33498645e-06, 2.29807620e-06],\n", - " [5.95643035e-10, 8.97048713e-10, 1.15942633e-09, ...,\n", - " 2.35168159e-06, 2.31248464e-06, 2.27596547e-06]],\n", - "\n", - " [[2.11160405e-08, 4.68378190e-08, 7.72740307e-08, ...,\n", - " 2.08794318e-05, 2.04886637e-05, 2.01090988e-05],\n", - " [2.11160405e-08, 4.68378190e-08, 7.72740307e-08, ...,\n", - " 2.08794318e-05, 2.04886637e-05, 2.01090988e-05],\n", - " [2.11160405e-08, 4.68378190e-08, 7.72740307e-08, ...,\n", - " 2.08794318e-05, 2.04886637e-05, 2.01090988e-05],\n", - " ...,\n", - " [5.63963209e-10, 8.50090109e-10, 1.09938125e-09, ...,\n", - " 2.57541342e-06, 2.53532630e-06, 2.49656500e-06],\n", - " [5.59437219e-10, 8.43146331e-10, 1.09030318e-09, ...,\n", - " 2.55510099e-06, 2.51477172e-06, 2.47722096e-06],\n", - " [5.78517234e-10, 8.71934414e-10, 1.12751075e-09, ...,\n", - " 2.53303801e-06, 2.49305162e-06, 2.45587876e-06]],\n", - "\n", - " [[1.11427291e-10, 2.75856810e-10, 4.93186603e-10, ...,\n", - " 3.00550819e-05, 2.95078007e-05, 2.89541367e-05],\n", - " [1.11427291e-10, 2.75856810e-10, 4.93186603e-10, ...,\n", - " 3.00550819e-05, 2.95078007e-05, 2.89541367e-05],\n", - " [1.11427291e-10, 2.75856810e-10, 4.93186603e-10, ...,\n", - " 3.00550819e-05, 2.95078007e-05, 2.89541367e-05],\n", - " ...,\n", - " [1.51815840e-08, 1.92815222e-08, 2.29955877e-08, ...,\n", - " 3.14909880e-06, 3.10474729e-06, 3.06152378e-06],\n", - " [1.55623212e-08, 1.97692778e-08, 2.35827819e-08, ...,\n", - " 3.12075917e-06, 3.07683240e-06, 3.03407387e-06],\n", - " [1.56620601e-08, 1.98958627e-08, 2.37337012e-08, ...,\n", - " 3.10205382e-06, 3.05840922e-06, 3.01598016e-06]],\n", - "\n", - " [[6.33916183e-11, 1.56637481e-10, 2.80225038e-10, ...,\n", - " 3.40314473e-05, 3.34144715e-05, 3.28001406e-05],\n", - " [6.33916183e-11, 1.56637481e-10, 2.80225038e-10, ...,\n", - " 3.40314473e-05, 3.34144715e-05, 3.28001406e-05],\n", - " [6.33916183e-11, 1.56637481e-10, 2.80225038e-10, ...,\n", - " 3.40314473e-05, 3.34144715e-05, 3.28001406e-05],\n", - " ...,\n", - " [1.13446195e-08, 1.44345762e-08, 1.72374950e-08, ...,\n", - " 3.58108127e-06, 3.53232667e-06, 3.49160928e-06],\n", - " [1.14191590e-08, 1.45293875e-08, 1.73506933e-08, ...,\n", - " 3.54622898e-06, 3.49792595e-06, 3.45767330e-06],\n", - " [1.14927898e-08, 1.46229295e-08, 1.74622912e-08, ...,\n", - " 3.51071185e-06, 3.46286311e-06, 3.42306453e-06]],\n", - "\n", - " [[1.03717389e-14, 2.60376945e-14, 6.23507932e-14, ...,\n", - " 4.28130661e-05, 4.20417018e-05, 4.12843074e-05],\n", - " [1.03717389e-14, 2.60376945e-14, 6.23507932e-14, ...,\n", - " 4.28130661e-05, 4.20417018e-05, 4.12843074e-05],\n", - " [1.03717389e-14, 2.60376945e-14, 6.23507932e-14, ...,\n", - " 4.28130661e-05, 4.20417018e-05, 4.12843074e-05],\n", - " ...,\n", - " [2.74051143e-10, 4.33427960e-10, 5.86995785e-10, ...,\n", - " 3.62579908e-06, 3.56578244e-06, 3.53157429e-06],\n", - " [2.80006740e-10, 4.42861414e-10, 5.99826022e-10, ...,\n", - " 3.59876890e-06, 3.53911469e-06, 3.50530217e-06],\n", - " [2.81731083e-10, 4.45578630e-10, 6.03499362e-10, ...,\n", - " 3.57047224e-06, 3.51121457e-06, 3.47779246e-06]],\n", - "\n", - " [[2.64753693e-18, 8.02830980e-18, 2.30857457e-17, ...,\n", - " 5.49388205e-05, 5.39541179e-05, 5.29583958e-05],\n", - " [2.64753693e-18, 8.02830980e-18, 2.30857457e-17, ...,\n", - " 5.49388205e-05, 5.39541179e-05, 5.29583958e-05],\n", - " [2.69226858e-18, 8.17344360e-18, 2.35313512e-17, ...,\n", - " 5.90876080e-05, 5.80271771e-05, 5.69552649e-05],\n", - " ...,\n", - " [2.86055124e-10, 4.52389348e-10, 6.12669249e-10, ...,\n", - " 3.57395697e-06, 3.51914946e-06, 3.49452603e-06],\n", - " [2.92348756e-10, 4.62365729e-10, 6.26242114e-10, ...,\n", - " 3.54419944e-06, 3.48981166e-06, 3.46525371e-06],\n", - " [2.94150426e-10, 4.65220779e-10, 6.30102970e-10, ...,\n", - " 3.51500717e-06, 3.46103275e-06, 3.43656484e-06]]], dtype=float32))" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# NBVAL_SKIP\n", "from rubix.spectra.ssp.templates import BruzualCharlot2003\n", @@ -280,53 +23,9 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[ 0. 5.100002 5.1500006 5.1999993 5.25 5.3000016\n", - " 5.350002 5.4000006 5.4500012 5.500002 5.550002 5.600002\n", - " 5.6500025 5.700002 5.750002 5.8000026 5.850003 5.900003\n", - " 5.950003 6. 6.0200005 6.040001 6.0599985 6.0799985\n", - " 6.100002 6.120001 6.1399984 6.16 6.18 6.1999993\n", - " 6.2200007 6.24 6.2599998 6.2799997 6.2999997 6.3199987\n", - " 6.3399997 6.3600006 6.3799996 6.3999987 6.4200006 6.44\n", - " 6.4599996 6.4799995 6.499999 6.52 6.539999 6.56\n", - " 6.5799994 6.6 6.6199994 6.6399994 6.66 6.679999\n", - " 6.699999 6.72 6.7399993 6.7599993 6.7799997 6.799999\n", - " 6.819999 6.839999 6.8599997 6.879999 6.899999 6.919999\n", - " 6.939999 6.959999 6.9799986 6.999999 7.0200005 7.040001\n", - " 7.0599985 7.0799985 7.099998 7.119998 7.1399984 7.16\n", - " 7.18 7.1999993 7.2199984 7.24 7.2599998 7.2799997\n", - " 7.2999997 7.3199987 7.3399997 7.3599987 7.3799996 7.3999987\n", - " 7.4199986 7.4399986 7.462398 7.4771214 7.4913616 7.50515\n", - " 7.518514 7.531479 7.544068 7.5563025 7.5682015 7.5797834\n", - " 7.5910645 7.60206 7.628389 7.6532125 7.6766934 7.69897\n", - " 7.7201595 7.7403626 7.7565446 7.806545 7.8565454 7.906545\n", - " 7.9565454 8.006543 8.056546 8.1065445 8.156547 8.206545\n", - " 8.256547 8.306547 8.356546 8.406547 8.456547 8.506547\n", - " 8.556547 8.606546 8.656548 8.706548 8.756548 8.806548\n", - " 8.856548 8.9065485 8.956549 9.006547 9.05655 9.106548\n", - " 9.156549 9.206551 9.225309 9.230449 9.255273 9.278753\n", - " 9.30103 9.322219 9.3424225 9.361728 9.380211 9.39794\n", - " 9.414973 9.439333 9.477121 9.511884 9.544068 9.574031\n", - " 9.60206 9.628389 9.653213 9.676694 9.69897 9.72016\n", - " 9.740363 9.759667 9.7781515 9.79588 9.812913 9.829304\n", - " 9.8450985 9.860338 9.875061 9.889301 9.90309 9.916454\n", - " 9.929419 9.942008 9.954243 9.966142 9.977724 9.989004\n", - " 10. 10.010724 10.02119 10.031408 10.041392 10.051152\n", - " 10.060698 10.070038 10.079182 10.088136 10.09691 10.10551\n", - " 10.113943 10.122216 10.130334 10.138303 10.146128 10.153815\n", - " 10.161368 10.168792 10.176091 10.1832695 10.190331 10.197281\n", - " 10.20412 10.210854 10.2174835 10.224015 10.230449 10.236789\n", - " 10.243038 10.249198 10.255273 10.261263 10.267172 10.273002\n", - " 10.278753 10.2844305 10.290034 10.2955675 10.30103 ]\n" - ] - } - ], + "outputs": [], "source": [ "# NBVAL_SKIP\n", "print(BruzualCharlot2003.age)" @@ -343,7 +42,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -380,251 +79,9 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "HDF5SSPGrid(age=Array([ 0. , 5.100002 , 5.1500006, 5.1999993, 5.25 ,\n", - " 5.3000016, 5.350002 , 5.4000006, 5.4500012, 5.500002 ,\n", - " 5.550002 , 5.600002 , 5.6500025, 5.700002 , 5.750002 ,\n", - " 5.8000026, 5.850003 , 5.900003 , 5.950003 , 6. ,\n", - " 6.0200005, 6.040001 , 6.0599985, 6.0799985, 6.100002 ,\n", - " 6.120001 , 6.1399984, 6.16 , 6.18 , 6.1999993,\n", - " 6.2200007, 6.24 , 6.2599998, 6.2799997, 6.2999997,\n", - " 6.3199987, 6.3399997, 6.3600006, 6.3799996, 6.3999987,\n", - " 6.4200006, 6.44 , 6.4599996, 6.4799995, 6.499999 ,\n", - " 6.52 , 6.539999 , 6.56 , 6.5799994, 6.6 ,\n", - " 6.6199994, 6.6399994, 6.66 , 6.679999 , 6.699999 ,\n", - " 6.72 , 6.7399993, 6.7599993, 6.7799997, 6.799999 ,\n", - " 6.819999 , 6.839999 , 6.8599997, 6.879999 , 6.899999 ,\n", - " 6.919999 , 6.939999 , 6.959999 , 6.9799986, 6.999999 ,\n", - " 7.0200005, 7.040001 , 7.0599985, 7.0799985, 7.099998 ,\n", - " 7.119998 , 7.1399984, 7.16 , 7.18 , 7.1999993,\n", - " 7.2199984, 7.24 , 7.2599998, 7.2799997, 7.2999997,\n", - " 7.3199987, 7.3399997, 7.3599987, 7.3799996, 7.3999987,\n", - " 7.4199986, 7.4399986, 7.462398 , 7.4771214, 7.4913616,\n", - " 7.50515 , 7.518514 , 7.531479 , 7.544068 , 7.5563025,\n", - " 7.5682015, 7.5797834, 7.5910645, 7.60206 , 7.628389 ,\n", - " 7.6532125, 7.6766934, 7.69897 , 7.7201595, 7.7403626,\n", - " 7.7565446, 7.806545 , 7.8565454, 7.906545 , 7.9565454,\n", - " 8.006543 , 8.056546 , 8.1065445, 8.156547 , 8.206545 ,\n", - " 8.256547 , 8.306547 , 8.356546 , 8.406547 , 8.456547 ,\n", - " 8.506547 , 8.556547 , 8.606546 , 8.656548 , 8.706548 ,\n", - " 8.756548 , 8.806548 , 8.856548 , 8.9065485, 8.956549 ,\n", - " 9.006547 , 9.05655 , 9.106548 , 9.156549 , 9.206551 ,\n", - " 9.225309 , 9.230449 , 9.255273 , 9.278753 , 9.30103 ,\n", - " 9.322219 , 9.3424225, 9.361728 , 9.380211 , 9.39794 ,\n", - " 9.414973 , 9.439333 , 9.477121 , 9.511884 , 9.544068 ,\n", - " 9.574031 , 9.60206 , 9.628389 , 9.653213 , 9.676694 ,\n", - " 9.69897 , 9.72016 , 9.740363 , 9.759667 , 9.7781515,\n", - " 9.79588 , 9.812913 , 9.829304 , 9.8450985, 9.860338 ,\n", - " 9.875061 , 9.889301 , 9.90309 , 9.916454 , 9.929419 ,\n", - " 9.942008 , 9.954243 , 9.966142 , 9.977724 , 9.989004 ,\n", - " 10. , 10.010724 , 10.02119 , 10.031408 , 10.041392 ,\n", - " 10.051152 , 10.060698 , 10.070038 , 10.079182 , 10.088136 ,\n", - " 10.09691 , 10.10551 , 10.113943 , 10.122216 , 10.130334 ,\n", - " 10.138303 , 10.146128 , 10.153815 , 10.161368 , 10.168792 ,\n", - " 10.176091 , 10.1832695, 10.190331 , 10.197281 , 10.20412 ,\n", - " 10.210854 , 10.2174835, 10.224015 , 10.230449 , 10.236789 ,\n", - " 10.243038 , 10.249198 , 10.255273 , 10.261263 , 10.267172 ,\n", - " 10.273002 , 10.278753 , 10.2844305, 10.290034 , 10.2955675,\n", - " 10.30103 ], dtype=float32), metallicity=Array([1.e-04, 4.e-04, 4.e-03, 8.e-03, 2.e-02, 5.e-02], dtype=float32), wavelength=Array([ 91., 94., 96., 98., 100., 102., 104., 106.,\n", - " 108., 110., 114., 118., 121., 125., 127., 128.,\n", - " 131., 132., 134., 137., 140., 143., 147., 151.,\n", - " 155., 159., 162., 166., 170., 173., 177., 180.,\n", - " 182., 186., 191., 194., 198., 202., 205., 210.,\n", - " 216., 220., 223., 227., 230., 234., 240., 246.,\n", - " 252., 257., 260., 264., 269., 274., 279., 284.,\n", - " 290., 296., 301., 308., 318., 328., 338., 348.,\n", - " 357., 366., 375., 385., 395., 405., 414., 422.,\n", - " 430., 441., 451., 460., 470., 480., 490., 500.,\n", - " 506., 512., 520., 530., 540., 550., 560., 570.,\n", - " 580., 590., 600., 610., 620., 630., 640., 650.,\n", - " 658., 665., 675., 685., 695., 705., 716., 726.,\n", - " 735., 745., 755., 765., 775., 785., 795., 805.,\n", - " 815., 825., 835., 845., 855., 865., 875., 885.,\n", - " 895., 905., 915., 925., 935., 945., 955., 965.,\n", - " 975., 985., 995., 1005., 1015., 1025., 1035., 1045.,\n", - " 1055., 1065., 1075., 1085., 1095., 1105., 1115., 1125.,\n", - " 1135., 1145., 1155., 1165., 1175., 1185., 1195., 1205.,\n", - " 1215., 1225., 1235., 1245., 1255., 1265., 1275., 1285.,\n", - " 1295., 1305., 1315., 1325., 1335., 1345., 1355., 1365.,\n", - " 1375., 1385., 1395., 1405., 1415., 1425., 1435., 1442.,\n", - " 1447., 1455., 1465., 1475., 1485., 1495., 1505., 1512.,\n", - " 1517., 1525., 1535., 1545., 1555., 1565., 1575., 1585.,\n", - " 1595., 1605., 1615., 1625., 1635., 1645., 1655., 1665.,\n", - " 1672., 1677., 1685., 1695., 1705., 1715., 1725., 1735.,\n", - " 1745., 1755., 1765., 1775., 1785., 1795., 1805., 1815.,\n", - " 1825., 1835., 1845., 1855., 1865., 1875., 1885., 1895.,\n", - " 1905., 1915., 1925., 1935., 1945., 1955., 1967., 1976.,\n", - " 1984., 1995., 2005., 2015., 2025., 2035., 2045., 2055.,\n", - " 2065., 2074., 2078., 2085., 2095., 2105., 2115., 2125.,\n", - " 2135., 2145., 2155., 2165., 2175., 2185., 2195., 2205.,\n", - " 2215., 2225., 2235., 2245., 2255., 2265., 2275., 2285.,\n", - " 2295., 2305., 2315., 2325., 2335., 2345., 2355., 2365.,\n", - " 2375., 2385., 2395., 2405., 2415., 2425., 2435., 2445.,\n", - " 2455., 2465., 2475., 2485., 2495., 2505., 2513., 2518.,\n", - " 2525., 2535., 2545., 2555., 2565., 2575., 2585., 2595.,\n", - " 2605., 2615., 2625., 2635., 2645., 2655., 2665., 2675.,\n", - " 2685., 2695., 2705., 2715., 2725., 2735., 2745., 2755.,\n", - " 2765., 2775., 2785., 2795., 2805., 2815., 2825., 2835.,\n", - " 2845., 2855., 2865., 2875., 2885., 2895., 2910., 2930.,\n", - " 2950., 2970., 2990., 3010., 3030., 3050., 3070., 3090.,\n", - " 3110., 3130., 3150., 3170., 3190., 3210., 3230., 3250.,\n", - " 3270., 3290., 3310., 3330., 3350., 3370., 3390., 3410.,\n", - " 3430., 3450., 3470., 3490., 3510., 3530., 3550., 3570.,\n", - " 3590., 3610., 3630., 3640., 3650., 3670., 3690., 3710.,\n", - " 3730., 3750., 3770., 3790., 3810., 3830., 3850., 3870.,\n", - " 3890., 3910., 3930., 3950., 3970., 3990., 4010., 4030.,\n", - " 4050., 4070., 4090., 4110., 4130., 4150., 4170., 4190.,\n", - " 4210., 4230., 4250., 4270., 4290., 4310., 4330., 4350.,\n", - " 4370., 4390., 4410., 4430., 4450., 4470., 4490., 4510.,\n", - " 4530., 4550., 4570., 4590., 4610., 4630., 4650., 4670.,\n", - " 4690., 4710., 4730., 4750., 4770., 4790., 4810., 4830.,\n", - " 4850., 4870., 4890., 4910., 4930., 4950., 4970., 4990.,\n", - " 5010., 5030., 5050., 5070., 5090., 5110., 5130., 5150.,\n", - " 5170., 5190., 5210., 5230., 5250., 5270., 5290., 5310.,\n", - " 5330., 5350., 5370., 5390., 5410., 5430., 5450., 5470.,\n", - " 5490., 5510., 5530., 5550., 5570., 5590., 5610., 5630.,\n", - " 5650., 5670., 5690., 5710., 5730., 5750., 5770., 5790.,\n", - " 5810., 5830., 5850., 5870., 5890., 5910., 5930., 5950.,\n", - " 5970., 5990., 6010., 6030., 6050., 6070., 6090., 6110.,\n", - " 6130., 6150., 6170., 6190., 6210., 6230., 6250., 6270.,\n", - " 6290., 6310., 6330., 6350., 6370., 6390., 6410., 6430.,\n", - " 6450., 6470., 6490., 6510., 6530., 6550., 6570., 6590.,\n", - " 6610., 6630., 6650., 6670., 6690., 6710., 6730., 6750.,\n", - " 6770., 6790., 6810., 6830., 6850., 6870., 6890., 6910.,\n", - " 6930., 6950., 6970., 6990., 7010., 7030., 7050., 7070.,\n", - " 7090., 7110., 7130., 7150., 7170., 7190., 7210., 7230.,\n", - " 7250., 7270., 7290., 7310., 7330., 7350., 7370., 7390.,\n", - " 7410., 7430., 7450., 7470., 7490., 7510., 7530., 7550.,\n", - " 7570., 7590., 7610., 7630., 7650., 7670., 7690., 7710.,\n", - " 7730., 7750., 7770., 7790., 7810., 7830., 7850., 7870.,\n", - " 7890., 7910., 7930., 7950., 7970., 7990., 8010., 8030.,\n", - " 8050., 8070., 8090., 8110., 8130., 8150., 8170., 8190.,\n", - " 8210., 8230., 8250., 8270., 8290., 8310., 8330., 8350.,\n", - " 8370., 8390., 8410., 8430., 8450., 8470., 8490., 8510.,\n", - " 8530., 8550., 8570., 8590., 8610., 8630., 8650., 8670.,\n", - " 8690., 8710., 8730., 8750., 8770., 8790., 8810., 8830.,\n", - " 8850., 8870., 8890., 8910., 8930., 8950., 8970., 8990.,\n", - " 9010., 9030., 9050., 9070., 9090., 9110., 9130., 9150.,\n", - " 9170., 9190., 9210., 9230., 9250., 9270., 9290., 9310.,\n", - " 9330., 9350., 9370., 9390., 9410., 9430., 9450., 9470.,\n", - " 9490., 9510., 9530., 9550., 9570., 9590., 9610., 9630.,\n", - " 9650., 9670., 9690., 9710., 9730., 9750., 9770., 9790.,\n", - " 9810., 9830., 9850., 9870., 9890., 9910., 9930., 9950.,\n", - " 9970., 9990., 10025., 10075., 10125., 10175., 10225., 10275.,\n", - " 10325., 10375., 10425., 10475., 10525., 10575., 10625., 10675.,\n", - " 10725., 10775., 10825., 10875., 10925., 10975., 11025., 11075.,\n", - " 11125., 11175., 11225., 11275., 11325., 11375., 11425., 11475.,\n", - " 11525., 11575., 11625., 11675., 11725., 11775., 11825., 11875.,\n", - " 11925., 11975., 12025., 12075., 12125., 12175., 12225., 12275.,\n", - " 12325., 12375., 12425., 12475., 12525., 12575., 12625., 12675.,\n", - " 12725., 12775., 12825., 12875., 12925., 12975., 13025., 13075.,\n", - " 13125., 13175., 13225., 13275., 13325., 13375., 13425., 13475.,\n", - " 13525., 13575., 13625., 13675., 13725., 13775., 13825., 13875.,\n", - " 13925., 13975., 14025., 14075., 14125., 14175., 14225., 14275.,\n", - " 14325., 14375., 14425., 14475., 14525., 14570., 14620., 14675.,\n", - " 14725., 14775., 14825., 14875., 14925., 14975., 15025., 15075.,\n", - " 15125., 15175., 15225., 15275., 15325., 15375., 15425., 15475.,\n", - " 15525., 15575., 15625., 15675., 15725., 15775., 15825., 15875.,\n", - " 15925., 15975., 16050., 16150., 16250., 16350., 16450., 16550.,\n", - " 16650., 16750., 16850., 16950., 17050., 17150., 17250., 17350.,\n", - " 17450., 17550., 17650., 17750., 17850., 17950., 18050., 18150.,\n", - " 18250., 18350., 18450., 18550., 18650., 18750., 18850., 18950.,\n", - " 19050., 19150., 19250., 19350., 19450., 19550., 19650., 19750.,\n", - " 19850., 19950.], dtype=float32), flux=Array([[[9.08833684e-08, 1.93420703e-07, 3.10973348e-07, ...,\n", - " 1.92249590e-05, 1.88633931e-05, 1.85086974e-05],\n", - " [9.08833684e-08, 1.93420703e-07, 3.10973348e-07, ...,\n", - " 1.92249590e-05, 1.88633931e-05, 1.85086974e-05],\n", - " [9.08833684e-08, 1.93420703e-07, 3.10973348e-07, ...,\n", - " 1.92249590e-05, 1.88633931e-05, 1.85086974e-05],\n", - " ...,\n", - " [5.92562333e-10, 8.93100538e-10, 1.15493171e-09, ...,\n", - " 2.39835890e-06, 2.35784546e-06, 2.32140042e-06],\n", - " [5.92806859e-10, 8.92882435e-10, 1.15413190e-09, ...,\n", - " 2.37455151e-06, 2.33498645e-06, 2.29807620e-06],\n", - " [5.95643035e-10, 8.97048713e-10, 1.15942633e-09, ...,\n", - " 2.35168159e-06, 2.31248464e-06, 2.27596547e-06]],\n", - "\n", - " [[2.11160405e-08, 4.68378190e-08, 7.72740307e-08, ...,\n", - " 2.08794318e-05, 2.04886637e-05, 2.01090988e-05],\n", - " [2.11160405e-08, 4.68378190e-08, 7.72740307e-08, ...,\n", - " 2.08794318e-05, 2.04886637e-05, 2.01090988e-05],\n", - " [2.11160405e-08, 4.68378190e-08, 7.72740307e-08, ...,\n", - " 2.08794318e-05, 2.04886637e-05, 2.01090988e-05],\n", - " ...,\n", - " [5.63963209e-10, 8.50090109e-10, 1.09938125e-09, ...,\n", - " 2.57541342e-06, 2.53532630e-06, 2.49656500e-06],\n", - " [5.59437219e-10, 8.43146331e-10, 1.09030318e-09, ...,\n", - " 2.55510099e-06, 2.51477172e-06, 2.47722096e-06],\n", - " [5.78517234e-10, 8.71934414e-10, 1.12751075e-09, ...,\n", - " 2.53303801e-06, 2.49305162e-06, 2.45587876e-06]],\n", - "\n", - " [[1.11427291e-10, 2.75856810e-10, 4.93186603e-10, ...,\n", - " 3.00550819e-05, 2.95078007e-05, 2.89541367e-05],\n", - " [1.11427291e-10, 2.75856810e-10, 4.93186603e-10, ...,\n", - " 3.00550819e-05, 2.95078007e-05, 2.89541367e-05],\n", - " [1.11427291e-10, 2.75856810e-10, 4.93186603e-10, ...,\n", - " 3.00550819e-05, 2.95078007e-05, 2.89541367e-05],\n", - " ...,\n", - " [1.51815840e-08, 1.92815222e-08, 2.29955877e-08, ...,\n", - " 3.14909880e-06, 3.10474729e-06, 3.06152378e-06],\n", - " [1.55623212e-08, 1.97692778e-08, 2.35827819e-08, ...,\n", - " 3.12075917e-06, 3.07683240e-06, 3.03407387e-06],\n", - " [1.56620601e-08, 1.98958627e-08, 2.37337012e-08, ...,\n", - " 3.10205382e-06, 3.05840922e-06, 3.01598016e-06]],\n", - "\n", - " [[6.33916183e-11, 1.56637481e-10, 2.80225038e-10, ...,\n", - " 3.40314473e-05, 3.34144715e-05, 3.28001406e-05],\n", - " [6.33916183e-11, 1.56637481e-10, 2.80225038e-10, ...,\n", - " 3.40314473e-05, 3.34144715e-05, 3.28001406e-05],\n", - " [6.33916183e-11, 1.56637481e-10, 2.80225038e-10, ...,\n", - " 3.40314473e-05, 3.34144715e-05, 3.28001406e-05],\n", - " ...,\n", - " [1.13446195e-08, 1.44345762e-08, 1.72374950e-08, ...,\n", - " 3.58108127e-06, 3.53232667e-06, 3.49160928e-06],\n", - " [1.14191590e-08, 1.45293875e-08, 1.73506933e-08, ...,\n", - " 3.54622898e-06, 3.49792595e-06, 3.45767330e-06],\n", - " [1.14927898e-08, 1.46229295e-08, 1.74622912e-08, ...,\n", - " 3.51071185e-06, 3.46286311e-06, 3.42306453e-06]],\n", - "\n", - " [[1.03717389e-14, 2.60376945e-14, 6.23507932e-14, ...,\n", - " 4.28130661e-05, 4.20417018e-05, 4.12843074e-05],\n", - " [1.03717389e-14, 2.60376945e-14, 6.23507932e-14, ...,\n", - " 4.28130661e-05, 4.20417018e-05, 4.12843074e-05],\n", - " [1.03717389e-14, 2.60376945e-14, 6.23507932e-14, ...,\n", - " 4.28130661e-05, 4.20417018e-05, 4.12843074e-05],\n", - " ...,\n", - " [2.74051143e-10, 4.33427960e-10, 5.86995785e-10, ...,\n", - " 3.62579908e-06, 3.56578244e-06, 3.53157429e-06],\n", - " [2.80006740e-10, 4.42861414e-10, 5.99826022e-10, ...,\n", - " 3.59876890e-06, 3.53911469e-06, 3.50530217e-06],\n", - " [2.81731083e-10, 4.45578630e-10, 6.03499362e-10, ...,\n", - " 3.57047224e-06, 3.51121457e-06, 3.47779246e-06]],\n", - "\n", - " [[2.64753693e-18, 8.02830980e-18, 2.30857457e-17, ...,\n", - " 5.49388205e-05, 5.39541179e-05, 5.29583958e-05],\n", - " [2.64753693e-18, 8.02830980e-18, 2.30857457e-17, ...,\n", - " 5.49388205e-05, 5.39541179e-05, 5.29583958e-05],\n", - " [2.69226858e-18, 8.17344360e-18, 2.35313512e-17, ...,\n", - " 5.90876080e-05, 5.80271771e-05, 5.69552649e-05],\n", - " ...,\n", - " [2.86055124e-10, 4.52389348e-10, 6.12669249e-10, ...,\n", - " 3.57395697e-06, 3.51914946e-06, 3.49452603e-06],\n", - " [2.92348756e-10, 4.62365729e-10, 6.26242114e-10, ...,\n", - " 3.54419944e-06, 3.48981166e-06, 3.46525371e-06],\n", - " [2.94150426e-10, 4.65220779e-10, 6.30102970e-10, ...,\n", - " 3.51500717e-06, 3.46103275e-06, 3.43656484e-06]]], dtype=float32))" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# NBVAL_SKIP\n", "from rubix.spectra.ssp.grid import HDF5SSPGrid\n", @@ -634,20 +91,9 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(221,)" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# NBVAL_SKIP\n", "ssp.age.shape" @@ -655,20 +101,9 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(6,)" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# NBVAL_SKIP\n", "ssp.metallicity.shape" @@ -676,20 +111,9 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(842,)" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# NBVAL_SKIP\n", "ssp.wavelength.shape" @@ -697,20 +121,9 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(6, 221, 842)" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# NBVAL_SKIP\n", "ssp.flux.shape" @@ -725,7 +138,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -736,30 +149,9 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0, 0.5, 'Flux [Lsun/Angstrom]')" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# NBVAL_SKIP\n", "plt.plot(ssp.wavelength,ssp.flux[0][0])\n", @@ -770,30 +162,9 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0, 0.5, 'Flux [Lsun/Angstrom]')" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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eRUGN0RUrxdeeAFKpRL33nuvQ/uPHDkSEokEEolEXJmcTN13333iv9HatWs93Rwir8LghojqNWfOHCxcuBArV67E6dOnHTrmoYceQnZ2Nvr06WOyPSUlBTKZDOPGjXNHU+s1cuRIPP300x65trH3338f2dnZnm4GkVdicENE9QoODsYDDzwAqVSKI0eOOHSMn58foqOjIZfLTbZ/8cUXeOKJJ7B9+3ZcunTJHc11CY1G49bzBwcHIzo62q3XIGqtGNwQkUNqamrg5+eHo0ePNvgcZWVl+P777zF9+nSMGzcOX331lcU+I0eOxJNPPolZs2YhLCwM0dHReOWVV8TXS0tLMWnSJPj7+yMmJgaLFy+2yMb89NNPSEhIgK+vL9q0aYPk5GSUl5fjvvvuw19//YX3339f7BI6f/68eN0ZM2bg6aefRnh4OMaMGQMAUKvVePLJJxEZGQmVSoVrrrkG+/btM2nvE088gaeffhqhoaGIiorC8uXLUV5ejmnTpiEwMBBdunTB77//3uB/NyJyDoMbInLISy+9hLKyskYFNz/88AN69OiB7t2749///jdWrFgBQRAs9vv666/h7++PPXv24J133sFrr72GTZs2AQBmzpyJXbt24ddff8WmTZuwY8cOHDhwQDw2OzsbEydOxP3334/jx49j27ZtuOOOOyAIAt5//30MGTJE7DLLzs5GXFycyXUVCgV27dqFZcuWAQBmzZqFn3/+GV9//TUOHDiALl26YMyYMSgsLDQ5Ljw8HHv37sUTTzyB6dOn41//+heGDh2KAwcO4IYbbsDkyZNRUVHR4H87InKCQERUj/379wsKhUIYN26c0KtXr3r3HzFihPDUU09ZbB86dKiwZMkSQRAEobq6WggPDxe2bt1qcew111xjsu2qq64SZs+eLZSUlAg+Pj7Cjz/+KL5WVFQk+Pn5iddLTU0VAAjnz593qm0jRowQ+vfvb7KtrKxM8PHxEb799ltxm0ajEWJjY4V33nnHantramoEf39/YfLkyeK27OxsAYCQkpJicV0Awpo1a6y2lYgahpkbIrJLp9PhkUcewYwZMzBlyhSkp6ejurra6fOcPHkSe/fuxcSJEwEAcrkcEyZMwBdffGGxb9++fU2ex8TEIC8vD2fPnkV1dTUGDx4svhYcHIzu3buLzxMTEzFq1CgkJCTgX//6F5YvX44rV6441MaBAweaPD9z5gyqq6sxbNgwcZuPjw8GDx6M48ePW22vTCZDmzZtkJCQIG6LiooCAOTl5TnUDiJqHAY3RGTXhx9+iIKCArz22mtISEhAdXU1Tpw44fR5vvjiC9TU1CA2NhZyuRxyuRyffPIJfv75ZxQXF5vs6+PjY/JcIpFAp9M5dB2ZTIZNmzbh999/R69evfDhhx+ie/fuOHfuXL3H+vv7O35D9bTXeJtEIgEAh++BiBqHwQ0R2ZSVlYWXX34ZS5cuhb+/P7p27QqlUul03U1NTQ2++eYbLFy4EGlpaeLPoUOHEBsbi5UrVzp0nk6dOsHHx8ekoLe4uBinTp0y2U8ikWDYsGF49dVXcfDgQSgUCqxZswYAoFAooNVqHbpe586dxRocg+rqauzbtw+9evVy6BxE1PTk9e9CRK3Vk08+ibFjx4pz0sjlcvTs2dPp4Oa3337DlStX8MADDyA4ONjktTvvvBNffPEFHn300XrPExgYiKlTp+L5559HWFgYIiMjMW/ePEilUjE7smfPHmzZsgU33HADIiMjsWfPHuTn56Nnz54AgPj4eOzZswfnz59HQEAAwsLCIJVa/zvP398f06dPF6/Xvn17vPPOO6ioqMADDzzg1L8BETUdZm6IyKrffvsNf/75J95//32T7QkJCU4HN1988QWSk5MtAhtAH9zs378fhw8fduhcixYtwpAhQ3DzzTcjOTkZw4YNQ8+ePaFSqQAAQUFB2L59O2666SZ069YNL730EhYuXIixY8cCAJ577jnIZDL06tULERERyMjIsHu9BQsW4M4778TkyZMxYMAAnD59Ghs3bkRoaKhT/wZE1HQkgmBlHCYRUSOMHDkS/fr1w5IlS9x+rfLycrRt2xYLFy5skdkUiUSCNWvW4LbbbvN0U4i8BjM3ROQWH3/8MQICAhye0dhRBw8exMqVK3HmzBkcOHAAkyZNAgDceuutLr2Ouz366KMICAjwdDOIvBIzN0TkcllZWaisrAQAtG/fHgqFwmXnPnjwIB588EGcPHkSCoUCAwcOxKJFi0yGXrcEeXl5KCkpAaAf6t7QkVpEZInBDREREXkVdksRERGRV2FwQ0RERF6FwQ0RERF5FQY3RERE5FUY3BAREZFXYXBDREREXoXBDREREXkVBjdERETkVRjcEBERkVdhcENERERehcENEREReZX/BxU1Ais44mLoAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# NBVAL_SKIP\n", "plt.plot(ssp.wavelength,ssp.flux[-1][-1])\n", @@ -804,30 +175,9 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# NBVAL_SKIP\n", "for i in range(len(ssp.metallicity)):\n", @@ -841,30 +191,9 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkgAAAG0CAYAAADJpthQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAADmSUlEQVR4nOzdd3hUxfrA8e+W9ApJSCMkobcQQhEBFZQS0UuxgAJKDRZAKVfR+ENEURARxQZcuBqaIBcpokgTKSKhE+mBQCAkpEJ6T3Z/f5zsZjfZTbIhmwLzeZ59dnN2zjmTBd2Xd96ZkanVajWCIAiCIAiClryuOyAIgiAIglDfiABJEARBEAShDBEgCYIgCIIglCECJEEQBEEQhDJEgCQIgiAIglCGCJAEQRAEQRDKEAGSIAiCIAhCGcq67kBtU6lU3L59GwcHB2QyWV13RxAEQRCEKlCr1WRmZuLl5YVcbv78zgMXIN2+fRsfH5+67oYgCIIgCNVw69YtmjZtavb7PHABkoODAyB9wI6OjnXcG0EQBEEQqiIjIwMfHx/t97i5PXABkmZYzdHRUQRIgiAIgtDA1FZ5jCjSFgRBEARBKEMESIIgCIIgCGWIAEkQBEEQBKGMB64GSRAEQbh/qFQqCgoK6robQg2xtLSslSn8VSECJEEQBKFBKigoIDo6GpVKVdddEWqIXC7H398fS0vLuu5K3QZIhw4dYtGiRZw6dYr4+Hi2bt3KsGHDqnTu33//TZ8+fejYsSMRERFm7acgCIJQv6jVauLj41EoFPj4+NSbrINQfZqFnOPj42nWrFmdL+ZcpwFSdnY2gYGBTJgwgWeffbbK56WlpTFmzBj69etHYmKiGXsoCIIg1EdFRUXk5OTg5eWFra1tXXdHqCFubm7cvn2boqIiLCws6rQvdRogDRo0iEGDBpl83muvvcaoUaNQKBRs27at5jsmCIIg1GvFxcUA9WIoRqg5mj/P4uLiOg+QGlxOMiwsjOvXr/PBBx9UqX1+fj4ZGRl6D0EQBOH+UNfDMELNqk9/ng0qQLp69Srvvvsu69atQ6msWvJrwYIFODk5aR9iHzZBEARBECrTYAKk4uJiRo0axYcffkjr1q2rfF5oaCjp6enax61bt8zYS0EQBEEQ7gcNZpp/ZmYmJ0+e5MyZM0ydOhWQKt7VajVKpZI9e/bwxBNPlDvPysoKKyur2u6uIAiCIAgNWIPJIDk6OnLu3DkiIiK0j9dee402bdoQERFBjx496rqLVVOYCzl367oXgiAIQh357rvv8PPzw9ramh49enD8+PFKz9m0aRNt27bF2tqagIAAfv/9d7331Wo1c+bMwdPTExsbG/r378/Vq1crvW5CQgLTpk2jZcuWWFtb4+7uTu/evVm2bBk5OTnV/h3vB3UaIGVlZWmDHYDo6GgiIiKIiYkBpOGxMWPGANLiUR07dtR7NGnSBGtrazp27IidnV1d/RpVl30HFreBz/xh6+t13RtBEAShlm3cuJGZM2fywQcfcPr0aQIDAwkODiYpKcnoOUeOHGHkyJFMnDiRM2fOMGzYMIYNG8b58+e1bT777DO+/vprli9fzrFjx7CzsyM4OJi8vDyj171+/TpBQUHs2bOH+fPnc+bMGcLDw5k1axa//fYbf/zxR7V/z/tidXN1Hdq/f78aKPcYO3asWq1Wq8eOHavu06eP0fM/+OADdWBgoEn3TE9PVwPq9PT06ne8uqL/Uqs/cJQeH7mq1YV5td8HQRCE+0Bubq764sWL6tzcXLVarVarVCp1dn5hnTxUKlWV+/3QQw+pp0yZov25uLhY7eXlpV6wYIHRc0aMGKF++umn9Y716NFD/eqrr2p/dw8PD/WiRYu076elpamtrKzUGzZsMHrd4OBgddOmTdVZWVkG39f8XuPHjy93/4KCArWbm5v6v//9r1qtVqv79OmjnjJlinratGlqFxcXdd++fY3etyJl/1x11fb3d53WIPXt2xe1Wm30/VWrVlV4/ty5c5k7d27NdqomFeTA8f/Ajb9h0EJpeE2juABuR0CzBjI0KAiCUI/lFhbTfs7uOrn3xY+CsbWs/Ou0oKCAU6dOERoaqj0ml8vp378/4eHhRs8LDw9n5syZeseCg4O16wBGR0eTkJBA//79te87OTnRo0cPwsPDefHFF8td886dO9rMkbERGM2U+5CQEB577DHi4+Px9PQE4LfffiMnJ4cXXnhB23716tW8/vrr/P3335V8Eg1Dg6lBapB+nQZ/zIWovfCfPlBYZjz31rE66ZYgCIJQ+1JSUiguLsbd3V3vuLu7OwkJCUbPS0hIqPAczbMp142KikKtVtOmTRu9466urtjb22Nvb88777wDQK9evWjTpg1r167VtgsLC2P48OHY29trj7Vq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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# NBVAL_SKIP\n", "ages = np.linspace(0,len(ssp.age),10)\n", diff --git a/pyproject.toml b/pyproject.toml index 22845200..24a63268 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -34,13 +34,16 @@ dependencies = [ "equinox", "jax[cpu]!=0.4.27", "jax[cpu]!=0.4.36", + "jax[cpu]!=0.5.1", "interpax", "astroquery", "beartype", "mpdaf", "ipywidgets", "jdaviz", - "pynbody" + "pynbody", + "pytest-mock", + "opt-einsum >=3.3.0", ] [project.optional-dependencies] tests = [ @@ -63,7 +66,8 @@ docs = [ cuda = [ "jax[cuda]!=0.4.27", - "jax[cuda]!=0.4.36",] + "jax[cuda]!=0.4.36", + ] # The following section contains setuptools-specific configuration @@ -102,3 +106,32 @@ fail_under = 80 [tool.ruff] ignore = ["F722"] + +[tool.isort] +profile = "black" +combine_as_imports = true +known_third_party = [ + "pytest", + "requests", + "requests-mock", + "h5py", + "astropy", + "scipy", + "numpy", + "matplotlib", + "pyaml", + "jaxtyping", + "equinox", + "jax", + "interpax", + "astroquery", + "beartype", + "mpdaf", + "ipywidgets", + "jdaviz", + "pynbody" +] +known_first_party = [ + "rubix", +] +sections = ["FUTURE", "STDLIB", "THIRDPARTY", "FIRSTPARTY", "LOCALFOLDER"] diff --git a/rubix/__init__.py b/rubix/__init__.py index 062af74a..2c3372c7 100644 --- a/rubix/__init__.py +++ b/rubix/__init__.py @@ -1,7 +1,5 @@ # The version file is generated automatically by setuptools_scm from rubix._version import version as __version__ - - from rubix.config.config import Config config = Config.load() diff --git a/rubix/config.yml b/rubix/config.yml index c900a8bc..b9008138 100644 --- a/rubix/config.yml +++ b/rubix/config.yml @@ -4,6 +4,7 @@ constants: RHO_CRIT0_KPC3_UNITY_H: 277.536627 # multiply by h**2 in cosmology conversion MPC: 3.08567758149e24 # Mpc in cm YEAR: 31556925.2 # year in seconds + m_H: 1.6737236e-27 # kg telescopes: MUSE: diff --git a/rubix/config/config.py b/rubix/config/config.py index ef000249..e1c734aa 100644 --- a/rubix/config/config.py +++ b/rubix/config/config.py @@ -1,6 +1,7 @@ -from rubix.utils import read_yaml import os +from rubix.utils import read_yaml + PARENT_DIR = os.path.dirname(os.path.abspath(__file__)) RUBIX_CONFIG_PATH = os.path.join(PARENT_DIR, "rubix_config.yml") CONFIG_PATH = os.path.join( diff --git a/rubix/config/pipeline_config.yml b/rubix/config/pipeline_config.yml index bffd143a..19b02776 100644 --- a/rubix/config/pipeline_config.yml +++ b/rubix/config/pipeline_config.yml @@ -58,3 +58,69 @@ calc_ifu: depends_on: convolve_lsf args: [] kwargs: {} + +calc_dusty_ifu: + Transformers: + rotate_galaxy: + name: rotate_galaxy + depends_on: null + args: [] + kwargs: {} + filter_particles: + name: filter_particles + depends_on: rotate_galaxy + args: [] + kwargs: {} + spaxel_assignment: + name: spaxel_assignment + depends_on: filter_particles + args: [] + kwargs: {} + + reshape_data: + name: reshape_data + depends_on: spaxel_assignment + args: [] + kwargs: {} + + calculate_spectra: + name: calculate_spectra + depends_on: reshape_data + args: [] + kwargs: {} + + scale_spectrum_by_mass: + name: scale_spectrum_by_mass + depends_on: calculate_spectra + args: [] + kwargs: {} + doppler_shift_and_resampling: + name: doppler_shift_and_resampling + depends_on: scale_spectrum_by_mass + args: [] + kwargs: {} + calculate_extinction: + name: calculate_extinction + depends_on: doppler_shift_and_resampling + args: [] + kwargs: {} + calculate_datacube: + name: calculate_datacube + depends_on: calculate_extinction + args: [] + kwargs: {} + convolve_psf: + name: convolve_psf + depends_on: calculate_datacube + args: [] + kwargs: {} + convolve_lsf: + name: convolve_lsf + depends_on: convolve_psf + args: [] + kwargs: {} + apply_noise: + name: apply_noise + depends_on: convolve_lsf + args: [] + kwargs: {} diff --git a/rubix/config/pynbody_config.yml b/rubix/config/pynbody_config.yml index 2d9ff362..d25f0459 100644 --- a/rubix/config/pynbody_config.yml +++ b/rubix/config/pynbody_config.yml @@ -9,7 +9,10 @@ fields: gas: density: "rho" temperature: "temp" - metallicity: "metals" + metals: "metals" + #OxMassFrac: "OxMassFrac" + #HI: "HI" + metallicity: metals coords: "pos" velocity: "vel" mass: "mass" @@ -28,6 +31,9 @@ units: gas: density: "Msun/kpc^3" temperature: "K" + metals: "dimensionless" + #OxMassFrac: "dimensionless" + #HI: "dimensionless" metallicity: "Zsun" coords: "kpc" velocity: "km/s" diff --git a/rubix/config/rubix_config.yml b/rubix/config/rubix_config.yml index 0334dc74..3664e527 100644 --- a/rubix/config/rubix_config.yml +++ b/rubix/config/rubix_config.yml @@ -3,6 +3,8 @@ constants: LSOL_TO_ERG: 3.828e33 MPC_TO_CM: 3.08568e24 + KPC_TO_CM: 3.08568e21 + MSUN_TO_GRAMS: 1.989e33 SPEED_OF_LIGHT: 299792.458 CM_TO_KPC: 3.24078e-22 CMS_TO_KMS: 1e-5 @@ -30,6 +32,7 @@ IllustrisAPI: - Masses #- ParticleIDs - GFM_Metallicity + - GFM_Metals #- SubfindHsml - StarFormationRate - InternalEnergy @@ -51,6 +54,7 @@ IllustrisHandler: Density: density Masses: mass GFM_Metallicity: metallicity + GFM_Metals: metals StarFormationRate: sfr InternalEnergy: internal_energy Velocities: velocity @@ -83,6 +87,7 @@ IllustrisHandler: density: g/cm^3 mass: g metallicity: "" + metals: "" sfr: Msun/yr internal_energy: erg/g velocity: cm/s @@ -114,7 +119,7 @@ BaseHandler: stars: coords: "kpc" mass: "Msun" - velocity: "kpc/s" + velocity: "km/s" metallicity: "" age: "Gyr" gas: @@ -122,11 +127,12 @@ BaseHandler: density: "Msun/kpc^3" mass: "Msun" metallicity: "" + metals: "" sfr: "Msun/yr" internal_energy: "erg/g" - velocity: "kpc/s" + velocity: "km/s" electron_abundance: "" - temperature: "K" + temperature: "K" ssp: # units of the SSP grid that is used internally in the code @@ -136,6 +142,12 @@ ssp: metallicity: "" wavelength: Angstrom flux: Lsun/Angstrom + dust: + extinction_model: "Cardelli89" + Rv: 3.1 + dust_to_gas_model: "broken power law fit" # fitting model for dust to gas ratio from Remy-Ruyer et al. 2014 Table 1 + Xco: "Z" # Xco model used in Remy-Ruyer et al. 2014, either "MW" or "Z" see Table 1 in their paper + dust_grain_density: 3.5 # g/cm^3 #check this value templates: BruzualCharlot2003: name: "Bruzual & Charlot (2003)" @@ -202,9 +214,11 @@ ssp: # more information on how those models are synthesized: https://github.com/cconroy20/fsps # and https://dfm.io/python-fsps/current/ format: "fsps" # Format of the template - source: "rerun_from_scratch" # note: for fsps we use the source entry to specify if fsps should be run (rerun_from_scratch) - # which silently also saves the output to disk in h5 format under the "file_name" given - # or if we load from a pre-existing file in h5 format specified by "file_name". + source: "load_from_file" # the source can be "load_from_file" or "rerun_from_scratch" + # "load_from_file" is the default and loads the template from a pre-existing file in h5 format specified by "file_name" + # if that file is not found, it will automatically run fsps and save the output to disk in h5 format under the "file_name" given. + # "rerun_from_scratch" # note: this is just meant for the case in which you really want to rerun your template library. + # You should be aware that fsps templates will silently be overwritten by this. Use with caution. file_name: "fsps.h5" # File name of the template, stored in templates directory # Define the Fields in the template and their units # This is used to convert them to the required units @@ -230,4 +244,4 @@ ssp: ifu: # Configuration Related to IFU calculation doppler: - velocity_direction: "y" # The velocity component used to calculate doppler shift + velocity_direction: "z" # The velocity component used to calculate doppler shift diff --git a/rubix/core/cosmology.py b/rubix/core/cosmology.py index ae9c76f6..90f8089d 100644 --- a/rubix/core/cosmology.py +++ b/rubix/core/cosmology.py @@ -1,9 +1,9 @@ +from beartype import beartype as typechecker +from jaxtyping import jaxtyped + from rubix.cosmology import RubixCosmology from rubix.logger import get_logger -from jaxtyping import jaxtyped -from beartype import beartype as typechecker - @jaxtyped(typechecker=typechecker) def get_cosmology(config: dict): diff --git a/rubix/core/data.py b/rubix/core/data.py index d773fd1b..b1ddb7ce 100644 --- a/rubix/core/data.py +++ b/rubix/core/data.py @@ -1,22 +1,20 @@ +import logging import os -from typing import Callable, Union, Optional from dataclasses import dataclass from functools import partial +from typing import Callable, Optional, Union import jax import jax.numpy as jnp import numpy as np +from beartype import beartype as typechecker +from jaxtyping import jaxtyped from rubix.galaxy import IllustrisAPI, get_input_handler from rubix.galaxy.alignment import center_particles from rubix.logger import get_logger from rubix.utils import load_galaxy_data, read_yaml -import logging -from jaxtyping import jaxtyped -from beartype import beartype as typechecker - - # class Particles: # def __init__(self, particle_data: object): # self.particle_data = particle_data @@ -235,6 +233,7 @@ class GasData: density: Optional[jnp.ndarray] = None internal_energy: Optional[jnp.ndarray] = None metallicity: Optional[jnp.ndarray] = None + metals: Optional[jnp.ndarray] = None sfr: Optional[jnp.ndarray] = None electron_abundance: Optional[jnp.ndarray] = None pixel_assignment: Optional[jnp.ndarray] = None @@ -272,6 +271,7 @@ def tree_flatten(self): self.density, self.internal_energy, self.metallicity, + self.metals, self.sfr, self.electron_abundance, self.pixel_assignment, diff --git a/rubix/core/dust.py b/rubix/core/dust.py new file mode 100644 index 00000000..fe15fcca --- /dev/null +++ b/rubix/core/dust.py @@ -0,0 +1,65 @@ +from typing import Callable + +from beartype import beartype as typechecker +from jaxtyping import jaxtyped + +from rubix.core.cosmology import get_cosmology +from rubix.logger import get_logger +from rubix.spectra.dust.dust_extinction import apply_spaxel_extinction +from rubix.telescope.utils import calculate_spatial_bin_edges + +from .data import RubixData +from .telescope import get_telescope + + +@jaxtyped(typechecker=typechecker) +def get_extinction(config: dict) -> Callable: + """ + Get the function to apply the dust extinction to the spaxel data. + + Parameters + ---------- + config : dict + The configuration dictionary. + + Returns + ------- + Callable + The function to apply the dust extinction to the spaxel data. + """ + logger = get_logger(config.get("logger", None)) + + # check if dust key exists in config file to ensure we really want to apply dust extinction + if "dust" not in config["ssp"]: + raise ValueError("Dust configuration not found in config file.") + if "extinction_model" not in config["ssp"]["dust"]: + raise ValueError("Extinction model not found in dust configuration.") + + # Get the telescope wavelength and spaxel number + telescope = get_telescope(config) + n_spaxels = int(telescope.sbin**2) + wavelength = telescope.wave_seq + + galaxy_dist_z = config["galaxy"]["dist_z"] + cosmology = get_cosmology(config) + # Calculate the spatial bin edges + _, spatial_bin_size = calculate_spatial_bin_edges( + fov=telescope.fov, + spatial_bins=telescope.sbin, + dist_z=galaxy_dist_z, + cosmology=cosmology, + ) + + spaxel_area = spatial_bin_size**2 + + def calculate_extinction(rubixdata: RubixData) -> RubixData: + """Apply the dust extinction to the spaxel data.""" + logger.info("Applying dust extinction to the spaxel data...") + + rubixdata.stars.spectra = apply_spaxel_extinction( + config, rubixdata, wavelength, n_spaxels, spaxel_area + ) + + return rubixdata + + return calculate_extinction diff --git a/rubix/core/fits.py b/rubix/core/fits.py index a9d69c52..a766122d 100644 --- a/rubix/core/fits.py +++ b/rubix/core/fits.py @@ -1,25 +1,28 @@ +import os + +import matplotlib.pyplot as plt import numpy as np from astropy.io import fits +from matplotlib.colors import LogNorm +from mpdaf.obj import Cube + from rubix.core.telescope import get_telescope from rubix.logger import get_logger -from mpdaf.obj import Cube -import matplotlib.pyplot as plt -from matplotlib.colors import LogNorm def store_fits(config, data, filepath): """ - Store the datacube in a fits file. + Store the datacube in a FITS file. Parameters: config (dict): The configuration dictionary data (dict): The data dictionary - filepath (str): The path to the fits + filepath (str): The path to save the FITS file Returns: None """ - logger_config = config["logger"] if "logger" in config else None # type:ignore + logger_config = config.get("logger", None) logger = get_logger(logger_config) if "cube_type" not in config["data"]["args"]: @@ -38,14 +41,25 @@ def store_fits(config, data, filepath): hdr["SIMPLE"] = "T /conforms to FITS standard" hdr["PIPELINE"] = config["pipeline"]["name"] hdr["DIST_z"] = config["galaxy"]["dist_z"] - hdr["ROTATION"] = config["galaxy"]["rotation"]["type"] - # hdr['XCOORD'] = params['cube_params']['x_coord'] - # hdr['YCOORD'] = params['cube_params']['y_coord'] - # hdr['X_RES'] = params['cube_params']['spatial_resolution'][0] - # hdr['Y_RES'] = params['cube_params']['spatial_resolution'][1] + if ( + config["galaxy"]["rotation"]["type"] == "face-on" + or config["galaxy"]["rotation"]["type"] == "edge-on" + ): + hdr["ROTATION"] = config["galaxy"]["rotation"]["type"] + else: + hdr["ROT_a"] = config["galaxy"]["rotation"]["alpha"] + hdr["ROT_b"] = config["galaxy"]["rotation"]["beta"] + hdr["ROT_c"] = config["galaxy"]["rotation"]["gamma"] hdr["SIM"] = config["simulation"]["name"] - hdr["GALAXYID"] = config["data"]["load_galaxy_args"]["id"] - hdr["SNAPSHOT"] = config["data"]["args"]["snapshot"] + + # For Illustris and NIHAO + galaxy_id = config["data"]["load_galaxy_args"]["id"] + snapshot = config["data"]["args"]["snapshot"] + + hdr["GALAXYID"] = galaxy_id + object_name = f"{config['simulation']['name']} {galaxy_id}" + hdr["SNAPSHOT"] = snapshot + hdr["SUBSET"] = config["data"]["subset"]["use_subset"] hdr["SSP"] = config["ssp"]["template"]["name"] hdr["INSTR"] = config["telescope"]["name"] @@ -59,24 +73,18 @@ def store_fits(config, data, filepath): hdr1 = fits.Header() hdr1["EXTNAME"] = "DATA" - hdr1["OBJECT"] = ( - str(config["simulation"]["name"]) - + " " - + str(config["data"]["load_galaxy_args"]["id"]) - ) - hdr1["BUNIT"] = "erg/(s*cm^2*A)" # ? /Angstrom + hdr1["OBJECT"] = object_name + hdr1["BUNIT"] = "10**-20 erg/(s*cm^2*A)" # flux unit per Angstrom hdr1["CRPIX1"] = (datacube.shape[0] - 1) / 2 hdr1["CRPIX2"] = (datacube.shape[1] - 1) / 2 - hdr1["CD1_1"] = telescope.spatial_res / 3600 # to convert from arcsec to deg + hdr1["CD1_1"] = telescope.spatial_res / 3600 # convert arcsec to deg hdr1["CD1_2"] = 0 hdr1["CD2_1"] = 0 - hdr1["CD2_2"] = telescope.spatial_res / 3600 # to convert from arcsec to deg + hdr1["CD2_2"] = telescope.spatial_res / 3600 # convert arcsec to deg hdr1["CUNIT1"] = "deg" hdr1["CUNIT2"] = "deg" hdr1["CTYPE1"] = "RA---TAN" hdr1["CTYPE2"] = "DEC--TAN" - hdr1["CRVAL1"] = 0 - hdr1["CRVAL2"] = 0 hdr1["CTYPE3"] = "AWAV" hdr1["CUNIT3"] = "Angstrom" hdr1["CD3_3"] = telescope.wave_res @@ -89,22 +97,24 @@ def store_fits(config, data, filepath): empty_primary = fits.PrimaryHDU(header=hdr) image_hdu1 = fits.ImageHDU(datacube.T, header=hdr1) - # image_hdu2 = fits.ImageHDU(wavelengths, name='WAVE') - hdul = fits.HDUList([empty_primary, image_hdu1]) # , image_hdu2]) - hdul.writeto( - f"{filepath}{config['simulation']['name']}_id{config['data']['load_galaxy_args']['id']}_snap{config['data']['args']['snapshot']}_{parttype}_subset{config['data']['subset']['use_subset']}.fits", - overwrite=True, + output_filename = ( + f"{filepath}{config['simulation']['name']}_id{galaxy_id}_snap{snapshot}_" + f'{config["telescope"]["name"]}_{config["pipeline"]["name"]}.fits' ) - logger.info(f"Datacube saved to {filepath}") + + os.makedirs(os.path.dirname(output_filename), exist_ok=True) + hdul = fits.HDUList([empty_primary, image_hdu1]) + hdul.writeto(output_filename, overwrite=True) + logger.info(f"Datacube saved to {output_filename}") def load_fits(filepath): """ - Load a fits file and return the datacube. + Load a FITS file and return the datacube. Parameters: - filepath (str): The path to the fits file + filepath (str): The path to the FITS file Returns: The cube object from mpdaf diff --git a/rubix/core/ifu.py b/rubix/core/ifu.py index 9d363c0f..2388f76d 100644 --- a/rubix/core/ifu.py +++ b/rubix/core/ifu.py @@ -1,24 +1,28 @@ from typing import Callable, Union -from rubix.core.data import StarsData, GasData import jax import jax.numpy as jnp +from beartype import beartype as typechecker +from jaxtyping import Array, Float, jaxtyped from rubix import config as rubix_config +from rubix.core.data import GasData, StarsData from rubix.logger import get_logger from rubix.spectra.ifu import ( + calculate_cube, cosmological_doppler_shift, resample_spectrum, velocity_doppler_shift, - calculate_cube, ) + from .data import RubixData -from .ssp import get_lookup_interpolation_pmap, get_ssp +from .ssp import ( + get_lookup_interpolation, + get_lookup_interpolation_pmap, + get_lookup_interpolation_vmap, + get_ssp, +) from .telescope import get_telescope -from .data import RubixData - -from jaxtyping import Array, Float, jaxtyped -from beartype import beartype as typechecker @jaxtyped(typechecker=typechecker) @@ -52,6 +56,8 @@ def get_calculate_spectra(config: dict) -> Callable: """ logger = get_logger(config.get("logger", None)) lookup_interpolation_pmap = get_lookup_interpolation_pmap(config) + # lookup_interpolation_vmap = get_lookup_interpolation_vmap(config) + lookup_interpolation = get_lookup_interpolation(config) @jaxtyped(typechecker=typechecker) def calculate_spectra(rubixdata: RubixData) -> RubixData: @@ -68,13 +74,47 @@ def calculate_spectra(rubixdata: RubixData) -> RubixData: age = jnp.atleast_1d(age_data) metallicity = jnp.atleast_1d(metallicity_data) - spectra = lookup_interpolation_pmap( + """ + spectra1 = lookup_interpolation( # rubixdata.stars.metallicity, rubixdata.stars.age - metallicity, - age, + metallicity[0][:250000], + age[0][:250000], ) # * inputs["mass"] + spectra2 = lookup_interpolation( + # rubixdata.stars.metallicity, rubixdata.stars.age + metallicity[0][250000:500000], + age[0][250000:500000], + ) + spectra3 = lookup_interpolation( + # rubixdata.stars.metallicity, rubixdata.stars.age + metallicity[0][500000:750000], + age[0][500000:750000], + ) + spectra = jnp.concatenate([spectra1, spectra2, spectra3], axis=0) + """ + # Define the chunk size (number of particles per chunk) + chunk_size = 100000 + total_length = metallicity[0].shape[ + 0 + ] # assuming metallicity[0] is your 1D array of particles + + # List to hold the spectra chunks + spectra_chunks = [] + + # Loop over the data in chunks + for start in range(0, total_length, chunk_size): + end = min(start + chunk_size, total_length) + current_chunk = lookup_interpolation( + metallicity[0][start:end], + age[0][start:end], + ) + spectra_chunks.append(current_chunk) + + # Concatenate all the chunks along axis 0 + spectra = jnp.concatenate(spectra_chunks, axis=0) logger.debug(f"Calculation Finished! Spectra shape: {spectra.shape}") spectra_jax = jnp.array(spectra) + spectra_jax = jnp.expand_dims(spectra_jax, axis=0) rubixdata.stars.spectra = spectra_jax # setattr(rubixdata.gas, "spectra", spectra) # jax.debug.print("Calculate Spectra: Spectra {}", spectra) @@ -227,7 +267,7 @@ def get_doppler_shift_and_resampling(config: dict) -> Callable: @jaxtyped(typechecker=typechecker) def process_particle( - particle: Union[StarsData, GasData] + particle: Union[StarsData, GasData], ) -> Union[Float[Array, "..."], None]: if particle.spectra is not None: # Doppler shift based on the velocity of the particle diff --git a/rubix/core/lsf.py b/rubix/core/lsf.py index ec72c173..7c5e9083 100644 --- a/rubix/core/lsf.py +++ b/rubix/core/lsf.py @@ -1,10 +1,13 @@ -from rubix.telescope.lsf.lsf import apply_lsf -from .telescope import get_telescope from typing import Callable + +from beartype import beartype as typechecker +from jaxtyping import jaxtyped + from rubix.logger import get_logger +from rubix.telescope.lsf.lsf import apply_lsf + from .data import RubixData -from jaxtyping import jaxtyped -from beartype import beartype as typechecker +from .telescope import get_telescope @jaxtyped(typechecker=typechecker) diff --git a/rubix/core/noise.py b/rubix/core/noise.py index 24a67f6c..a1988aa1 100644 --- a/rubix/core/noise.py +++ b/rubix/core/noise.py @@ -1,14 +1,16 @@ +from typing import Callable + import jax.numpy as jnp +from beartype import beartype as typechecker +from jaxtyping import jaxtyped + +from rubix.logger import get_logger from rubix.telescope.noise.noise import ( - calculate_noise_cube, SUPPORTED_NOISE_DISTRIBUTIONS, + calculate_noise_cube, ) + from .data import RubixData -from rubix.logger import get_logger -from .data import RubixData -from typing import Callable -from jaxtyping import jaxtyped -from beartype import beartype as typechecker @jaxtyped(typechecker=typechecker) diff --git a/rubix/core/pipeline.py b/rubix/core/pipeline.py index 44e2fa6e..e376bd4d 100644 --- a/rubix/core/pipeline.py +++ b/rubix/core/pipeline.py @@ -3,29 +3,28 @@ import jax import jax.numpy as jnp +from beartype import beartype as typechecker from jax import block_until_ready +from jaxtyping import jaxtyped from rubix.logger import get_logger from rubix.pipeline import linear_pipeline as pipeline from rubix.utils import get_config, get_pipeline_config from .data import get_reshape_data, get_rubix_data +from .dust import get_extinction from .ifu import ( + get_calculate_datacube, get_calculate_spectra, get_doppler_shift_and_resampling, get_scale_spectrum_by_mass, - get_calculate_datacube, ) -from .rotation import get_galaxy_rotation -from .ssp import get_ssp -from .telescope import get_spaxel_assignment, get_telescope, get_filter_particles -from .psf import get_convolve_psf from .lsf import get_convolve_lsf from .noise import get_apply_noise -from rubix import config as rubix_config - -from jaxtyping import jaxtyped -from beartype import beartype as typechecker +from .psf import get_convolve_psf +from .rotation import get_galaxy_rotation +from .ssp import get_ssp +from .telescope import get_filter_particles, get_spaxel_assignment, get_telescope class RubixPipeline: @@ -112,6 +111,7 @@ def _get_pipeline_functions(self) -> list: doppler_shift_and_resampling = get_doppler_shift_and_resampling( self.user_config ) + apply_extinction = get_extinction(self.user_config) calculate_datacube = get_calculate_datacube(self.user_config) convolve_psf = get_convolve_psf(self.user_config) convolve_lsf = get_convolve_lsf(self.user_config) @@ -125,6 +125,7 @@ def _get_pipeline_functions(self) -> list: reshape_data, scale_spectrum_by_mass, doppler_shift_and_resampling, + apply_extinction, calculate_datacube, convolve_psf, convolve_lsf, diff --git a/rubix/core/psf.py b/rubix/core/psf.py index 8550228a..28e8d362 100644 --- a/rubix/core/psf.py +++ b/rubix/core/psf.py @@ -1,12 +1,13 @@ -from rubix.telescope.psf.psf import get_psf_kernel, apply_psf -from rubix.logger import get_logger - -from rubix.logger import get_logger from typing import Callable, Dict + import jax.numpy as jnp -from .data import RubixData -from jaxtyping import jaxtyped from beartype import beartype as typechecker +from jaxtyping import jaxtyped + +from rubix.logger import get_logger +from rubix.telescope.psf.psf import apply_psf, get_psf_kernel + +from .data import RubixData # TODO: add option to disable PSF convolution @@ -40,7 +41,7 @@ def get_convolve_psf(config: dict) -> Callable: """ logger = get_logger(config.get("logger", None)) - + # Check if key exists in config file if "psf" not in config["telescope"]: raise ValueError("PSF configuration not found in telescope configuration") diff --git a/rubix/core/rotation.py b/rubix/core/rotation.py index c5d68b01..05c8d3df 100644 --- a/rubix/core/rotation.py +++ b/rubix/core/rotation.py @@ -1,8 +1,10 @@ -from rubix.logger import get_logger +from beartype import beartype as typechecker +from jaxtyping import jaxtyped + from rubix.galaxy.alignment import rotate_galaxy as rotate_galaxy_core +from rubix.logger import get_logger + from .data import RubixData -from jaxtyping import jaxtyped -from beartype import beartype as typechecker @jaxtyped(typechecker=typechecker) @@ -46,14 +48,14 @@ def get_galaxy_rotation(config: dict): # if type is face on, alpha = beta = gamma = 0 # if type is edge on, alpha = 90, beta = gamma = 0 if config["galaxy"]["rotation"]["type"] == "face-on": - logger.debug("Roataion Type found: Face-on") + logger.debug("Rotation Type found: Face-on") alpha = 0.0 beta = 0.0 gamma = 0.0 else: # type is edge-on - logger.debug("Roataion Type found: edge-on") + logger.debug("Rotation Type found: edge-on") alpha = 90.0 beta = 0.0 gamma = 0.0 @@ -74,9 +76,11 @@ def get_galaxy_rotation(config: dict): def rotate_galaxy(rubixdata: RubixData) -> RubixData: logger.info(f"Rotating galaxy with alpha={alpha}, beta={beta}, gamma={gamma}") + """ for particle_type in ["stars", "gas"]: if particle_type in config["data"]["args"]["particle_type"]: # Get the component (either stars or gas) + logger.info(f"Rotating {particle_type}") component = getattr(rubixdata, particle_type) # Get the inputs @@ -97,7 +101,8 @@ def rotate_galaxy(rubixdata: RubixData) -> RubixData: coords, velocities = rotate_galaxy_core( positions=coords, velocities=velocities, - masses=masses, + positions_stars=rubixdata.stars.coords, + masses_stars=rubixdata.stars.mass, halfmass_radius=halfmass_radius, alpha=alpha, beta=beta, @@ -111,5 +116,64 @@ def rotate_galaxy(rubixdata: RubixData) -> RubixData: setattr(component, "velocity", velocities) return rubixdata + """ + logger.info("Rotating galaxy for simulation: " + config["simulation"]["name"]) + # Rotate gas + if "gas" in config["data"]["args"]["particle_type"]: + logger.info("Rotating gas") + + # Rotate the gas component + new_coords_gas, new_velocities_gas = rotate_galaxy_core( + positions=rubixdata.gas.coords, + velocities=rubixdata.gas.velocity, + positions_stars=rubixdata.stars.coords, + masses_stars=rubixdata.stars.mass, + halfmass_radius=rubixdata.galaxy.halfmassrad_stars, + alpha=alpha, + beta=beta, + gamma=gamma, + key=config["simulation"]["name"], + ) + + setattr(rubixdata.gas, "coords", new_coords_gas) + setattr(rubixdata.gas, "velocity", new_velocities_gas) + + # Rotate the stellar component + new_coords_stars, new_velocities_stars = rotate_galaxy_core( + positions=rubixdata.stars.coords, + velocities=rubixdata.stars.velocity, + positions_stars=rubixdata.stars.coords, + masses_stars=rubixdata.stars.mass, + halfmass_radius=rubixdata.galaxy.halfmassrad_stars, + alpha=alpha, + beta=beta, + gamma=gamma, + key=config["simulation"]["name"], + ) + + setattr(rubixdata.stars, "coords", new_coords_stars) + setattr(rubixdata.stars, "velocity", new_velocities_stars) + + else: + logger.warning( + "Gas not found in particle_type, only rotating stellar component." + ) + # Rotate the stellar component + new_coords_stars, new_velocities_stars = rotate_galaxy_core( + positions=rubixdata.stars.coords, + velocities=rubixdata.stars.velocity, + positions_stars=rubixdata.stars.coords, + masses_stars=rubixdata.stars.mass, + halfmass_radius=rubixdata.galaxy.halfmassrad_stars, + alpha=alpha, + beta=beta, + gamma=gamma, + key=config["simulation"]["name"], + ) + + setattr(rubixdata.stars, "coords", new_coords_stars) + setattr(rubixdata.stars, "velocity", new_velocities_stars) + + return rubixdata return rotate_galaxy diff --git a/rubix/core/ssp.py b/rubix/core/ssp.py index 511dd8ca..5d205d3f 100644 --- a/rubix/core/ssp.py +++ b/rubix/core/ssp.py @@ -1,12 +1,12 @@ +from typing import Callable + import jax +from beartype import beartype as typechecker +from jaxtyping import jaxtyped from rubix.logger import get_logger from rubix.spectra.ssp.factory import get_ssp_template -from typing import Callable -from jaxtyping import jaxtyped -from beartype import beartype as typechecker - @jaxtyped(typechecker=typechecker) def get_ssp(config: dict) -> object: diff --git a/rubix/core/telescope.py b/rubix/core/telescope.py index a65c917b..6cfa50be 100644 --- a/rubix/core/telescope.py +++ b/rubix/core/telescope.py @@ -1,20 +1,21 @@ +from typing import Callable, Union + import jax.numpy as jnp -import jax -import equinox as eqx +from beartype import beartype as typechecker +from jaxtyping import Array, Float, jaxtyped + +from rubix.logger import get_logger +from rubix.telescope.base import BaseTelescope +from rubix.telescope.factory import TelescopeFactory from rubix.telescope.utils import ( calculate_spatial_bin_edges, - square_spaxel_assignment, mask_particles_outside_aperture, + square_spaxel_assignment, ) -from rubix.telescope.base import BaseTelescope -from rubix.telescope.factory import TelescopeFactory -from rubix.logger import get_logger + from .cosmology import get_cosmology from .data import RubixData -from typing import Callable, List, Union -from jaxtyping import Array, Float, jaxtyped -from beartype import beartype as typechecker @jaxtyped(typechecker=typechecker) def get_telescope(config: Union[str, dict]) -> BaseTelescope: @@ -112,7 +113,7 @@ def spaxel_assignment(rubixdata: RubixData) -> RubixData: ) rubixdata.stars.pixel_assignment = pixel_assignment rubixdata.stars.spatial_bin_edges = spatial_bin_edges - + if rubixdata.gas.coords is not None: pixel_assignment = square_spaxel_assignment( rubixdata.gas.coords, spatial_bin_edges @@ -182,7 +183,7 @@ def filter_particles(rubixdata: RubixData) -> RubixData: for attr in dir(rubixdata.gas) if not attr.startswith("__") and not callable(getattr(rubixdata.gas, attr)) - and attr not in ("coords", "velocity") + and attr not in ("coords", "velocity", "metals") ] for attr in attributes: current_attr_value = getattr(rubixdata.gas, attr) @@ -192,6 +193,8 @@ def filter_particles(rubixdata: RubixData) -> RubixData: mask_jax = jnp.array(mask) setattr(rubixdata.gas, "mask", mask_jax) # rubixdata.gas.mask = mask + # masked_metals = jnp.where(mask_jax[:, jnp.newaxis], rubixdata.gas.metals, 0) + # setattr(rubixdata.gas, "metals", masked_metals) return rubixdata diff --git a/rubix/core/visualisation.py b/rubix/core/visualisation.py index 82f4da1c..863e90a1 100644 --- a/rubix/core/visualisation.py +++ b/rubix/core/visualisation.py @@ -1,10 +1,10 @@ -import numpy as np -import matplotlib.pyplot as plt -from mpdaf.obj import Cube +import h5py import ipywidgets as widgets +import matplotlib.pyplot as plt +import numpy as np from ipywidgets import interact from jdaviz import Cubeviz -import h5py +from mpdaf.obj import Cube def visualize_rubix(filename): diff --git a/rubix/cosmology/__init__.py b/rubix/cosmology/__init__.py index 884f3f96..11496d8b 100644 --- a/rubix/cosmology/__init__.py +++ b/rubix/cosmology/__init__.py @@ -1,4 +1,3 @@ from .base import BaseCosmology as RubixCosmology - PLANCK15 = RubixCosmology(0.3075, -1.0, 0.0, 0.6774) diff --git a/rubix/cosmology/base.py b/rubix/cosmology/base.py index eebbe15a..1790b716 100644 --- a/rubix/cosmology/base.py +++ b/rubix/cosmology/base.py @@ -1,13 +1,12 @@ -from jax import lax, vmap, jit -import jax.numpy as jnp -from .utils import trapz +from typing import Union import equinox as eqx - -from typing import Union -from jaxtyping import Array, Float, jaxtyped +import jax.numpy as jnp from beartype import beartype as typechecker +from jax import jit, lax, vmap +from jaxtyping import Array, Float, jaxtyped +from .utils import trapz # TODO: maybe change this to load from the config file? C_SPEED = 2.99792458e8 # m/s @@ -57,8 +56,8 @@ def __init__(self, Om0: float, w0: float, wa: float, h: float): self.wa = jnp.float32(wa) self.h = jnp.float32(h) - @jaxtyped(typechecker=typechecker) @jit + @jaxtyped(typechecker=typechecker) def scale_factor_to_redshift( self, a: Union[Float[Array, "..."], float] ) -> Float[Array, "..."]: @@ -80,8 +79,8 @@ def scale_factor_to_redshift( z = 1.0 / a - 1.0 return z - @jaxtyped(typechecker=typechecker) @jit + @jaxtyped(typechecker=typechecker) def _rho_de_z(self, z: Union[Float[Array, "..."], float]) -> Float[Array, "..."]: a = 1.0 / (1.0 + z) de_z = a ** (-3.0 * (1.0 + self.w0 + self.wa)) * lax.exp( @@ -89,8 +88,8 @@ def _rho_de_z(self, z: Union[Float[Array, "..."], float]) -> Float[Array, "..."] ) return de_z - @jaxtyped(typechecker=typechecker) @jit + @jaxtyped(typechecker=typechecker) def _Ez(self, z: Union[Float[Array, "..."], float]) -> Float[Array, "..."]: zp1 = 1.0 + z Ode0 = 1.0 - self.Om0 @@ -98,15 +97,15 @@ def _Ez(self, z: Union[Float[Array, "..."], float]) -> Float[Array, "..."]: E = jnp.sqrt(t) return E - @jaxtyped(typechecker=typechecker) @jit + @jaxtyped(typechecker=typechecker) def _integrand_oneOverEz( self, z: Union[Float[Array, "..."], float] ) -> Float[Array, "..."]: return 1 / self._Ez(z) - @jaxtyped(typechecker=typechecker) @jit + @jaxtyped(typechecker=typechecker) def comoving_distance_to_z( self, redshift: Union[Float[Array, "..."], float] ) -> Float[Array, "..."]: @@ -129,8 +128,8 @@ def comoving_distance_to_z( integrand = self._integrand_oneOverEz(z_table) return trapz(z_table, integrand) * C_SPEED * 1e-5 / self.h - @jaxtyped(typechecker=typechecker) @jit + @jaxtyped(typechecker=typechecker) def luminosity_distance_to_z( self, redshift: Union[Float[Array, "..."], float] ) -> Float[Array, "..."]: @@ -151,8 +150,8 @@ def luminosity_distance_to_z( """ return self.comoving_distance_to_z(redshift) * (1 + redshift) - @jaxtyped(typechecker=typechecker) @jit + @jaxtyped(typechecker=typechecker) def angular_diameter_distance_to_z( self, redshift: Union[Float[Array, "..."], float] ) -> Float[Array, "..."]: @@ -173,8 +172,8 @@ def angular_diameter_distance_to_z( """ return self.comoving_distance_to_z(redshift) / (1 + redshift) - @jaxtyped(typechecker=typechecker) @jit + @jaxtyped(typechecker=typechecker) def distance_modulus_to_z( self, redshift: Union[Float[Array, "..."], float] ) -> Float[Array, "..."]: @@ -197,15 +196,15 @@ def distance_modulus_to_z( mu = 5.0 * jnp.log10(d_lum * 1e5) return mu - @jaxtyped(typechecker=typechecker) @jit + @jaxtyped(typechecker=typechecker) def _hubble_time(self, z: Union[Float[Array, "..."], float]) -> Float[Array, "..."]: E0 = self._Ez(z) htime = 1e-16 * MPC / YEAR / self.h / E0 return htime - @jaxtyped(typechecker=typechecker) @jit + @jaxtyped(typechecker=typechecker) def lookback_to_z( self, redshift: Union[Float[Array, "..."], float] ) -> Float[Array, "..."]: @@ -230,8 +229,8 @@ def lookback_to_z( th = self._hubble_time(0.0) return th * res - @jaxtyped(typechecker=typechecker) @jit + @jaxtyped(typechecker=typechecker) def age_at_z0(self) -> Float[Array, "..."]: """ The function calculates the age of the universe at redshift 0. @@ -251,8 +250,8 @@ def age_at_z0(self) -> Float[Array, "..."]: th = self._hubble_time(0.0) return th * res - @jaxtyped(typechecker=typechecker) @jit + @jaxtyped(typechecker=typechecker) def _age_at_z_kern( self, redshift: Union[Float[Array, "..."], float] ) -> Float[Array, "..."]: @@ -260,8 +259,8 @@ def _age_at_z_kern( tlook = self.lookback_to_z(redshift) return t0 - tlook - @jaxtyped(typechecker=typechecker) @jit + @jaxtyped(typechecker=typechecker) def age_at_z( self, redshift: Union[Float[Array, "..."], float] ) -> Float[Array, "..."]: @@ -286,8 +285,8 @@ def age_at_z( def _age_at_z_vmap(self): return jit(vmap(self._age_at_z_kern)) - @jaxtyped(typechecker=typechecker) @jit + @jaxtyped(typechecker=typechecker) def angular_scale( self, z: Union[Float[Array, "..."], float] ) -> Float[Array, "..."]: @@ -328,9 +327,6 @@ def _Om_at_z(self, z): E = self._Ez(z) return self.Om0 * (1.0 + z) ** 3 / E / E - - - @jit def _delta_vir(self, z): x = self._Om(z) - 1.0 diff --git a/rubix/cosmology/utils.py b/rubix/cosmology/utils.py index 70a6ac71..60a6f9d9 100644 --- a/rubix/cosmology/utils.py +++ b/rubix/cosmology/utils.py @@ -1,14 +1,15 @@ -from jax import jit -from jax.lax import scan from typing import Union + import jax.numpy as jnp -from jaxtyping import Array, Float, jaxtyped from beartype import beartype as typechecker +from jax import jit +from jax.lax import scan +from jaxtyping import Array, Float, jaxtyped # Source: https://github.com/ArgonneCPAC/dsps/blob/b81bac59e545e2d68ccf698faba078d87cfa2dd8/dsps/utils.py#L247C1-L256C1 -@jaxtyped(typechecker=typechecker) @jit +@jaxtyped(typechecker=typechecker) def _cumtrapz_scan_func(carryover, el): """ Integral helper function, which uses the formula for trapezoidal integration. @@ -36,8 +37,8 @@ def _cumtrapz_scan_func(carryover, el): # Source: https://github.com/ArgonneCPAC/dsps/blob/b81bac59e545e2d68ccf698faba078d87cfa2dd8/dsps/utils.py#L278C1-L298C1 -@jaxtyped(typechecker=typechecker) @jit +@jaxtyped(typechecker=typechecker) def trapz( xarr: Union[jnp.ndarray, Float[Array, "n"]], yarr: Union[jnp.ndarray, Float[Array, "n"]], diff --git a/rubix/debug.py b/rubix/debug.py index 9f4e326e..e902b82f 100644 --- a/rubix/debug.py +++ b/rubix/debug.py @@ -1,9 +1,10 @@ +import jax import jax.numpy as jnp -from rubix.galaxy.input_handler.base import create_rubix_galaxy + from rubix import config -import jax -from rubix.spectra.ssp.factory import get_ssp_template +from rubix.galaxy.input_handler.base import create_rubix_galaxy from rubix.logger import get_logger +from rubix.spectra.ssp.factory import get_ssp_template def random_data(n_particles, min_val, max_val, dimension, key=42): diff --git a/rubix/galaxy/__init__.py b/rubix/galaxy/__init__.py index 45b2e207..e5d6870f 100644 --- a/rubix/galaxy/__init__.py +++ b/rubix/galaxy/__init__.py @@ -1,6 +1,6 @@ from .input_handler import ( - IllustrisHandler, BaseHandler, IllustrisAPI, + IllustrisHandler, get_input_handler, ) diff --git a/rubix/galaxy/alignment.py b/rubix/galaxy/alignment.py index edb4c835..09b41538 100644 --- a/rubix/galaxy/alignment.py +++ b/rubix/galaxy/alignment.py @@ -1,8 +1,9 @@ -import jax.numpy as jnp from typing import Tuple, Union + +import jax.numpy as jnp +from beartype import beartype as typechecker from jax.scipy.spatial.transform import Rotation from jaxtyping import Array, Float, jaxtyped -from beartype import beartype as typechecker @jaxtyped(typechecker=typechecker) @@ -232,11 +233,13 @@ def apply_rotation( def rotate_galaxy( positions: Float[Array, "* 3"], velocities: Float[Array, "* 3"], - masses: Float[Array, "..."], - halfmass_radius: Float[Array, "..."], + positions_stars: Float[Array, "..."], + masses_stars: Float[Array, "..."], + halfmass_radius: Union[Float[Array, "..."], float], alpha: float, beta: float, gamma: float, + key: str, ) -> Tuple[Float[Array, "* 3"], Float[Array, "* 3"]]: """ Orientate the galaxy by applying a rotation matrix to the positions of the particles. @@ -253,12 +256,25 @@ def rotate_galaxy( Returns: The rotated positions and velocities as a jnp.ndarray. """ - - I = moment_of_inertia_tensor(positions, masses, halfmass_radius) - R = rotation_matrix_from_inertia_tensor(I) - pos_rot = apply_init_rotation(positions, R) - vel_rot = apply_init_rotation(velocities, R) - pos_final = apply_rotation(pos_rot, alpha, beta, gamma) - vel_final = apply_rotation(vel_rot, alpha, beta, gamma) + # we have to distinguis between IllustrisTNG and NIHAO. + # The nihao galaxies are already oriented face-on in the pynbody input handler. + # The IllustrisTNG galaxies are not oriented face-on, so we have to calculate the moment of inertia tensor + # and apply the rotation matrix to the positions and velocities. + # After that the simulations can be treated in the same way. + # Then the user specific rotation is applied to the positions and velocities. + if key == "IllustrisTNG": + I = moment_of_inertia_tensor(positions_stars, masses_stars, halfmass_radius) + R = rotation_matrix_from_inertia_tensor(I) + pos_rot = apply_init_rotation(positions, R) + vel_rot = apply_init_rotation(velocities, R) + pos_final = apply_rotation(pos_rot, alpha, beta, gamma) + vel_final = apply_rotation(vel_rot, alpha, beta, gamma) + elif key == "NIHAO": + pos_final = apply_rotation(positions, alpha, beta, gamma) + vel_final = apply_rotation(velocities, alpha, beta, gamma) + else: + raise ValueError( + f"Unknown key: {key} for the rotation. Supported keys are 'IllustrisTNG' and 'NIHAO'." + ) return pos_final, vel_final diff --git a/rubix/galaxy/input_handler/__init__.py b/rubix/galaxy/input_handler/__init__.py index 00edb73c..a7f322fd 100644 --- a/rubix/galaxy/input_handler/__init__.py +++ b/rubix/galaxy/input_handler/__init__.py @@ -1,7 +1,6 @@ -from .illustris import IllustrisHandler -from .base import BaseHandler from .api.illustris_api import IllustrisAPI +from .base import BaseHandler from .factory import get_input_handler - +from .illustris import IllustrisHandler __all__ = ["IllustrisHandler", "BaseHandler", "IllustrisAPI", "get_input_handler"] diff --git a/rubix/galaxy/input_handler/api/illustris_api.py b/rubix/galaxy/input_handler/api/illustris_api.py index 2ac26c08..4d21cb3b 100644 --- a/rubix/galaxy/input_handler/api/illustris_api.py +++ b/rubix/galaxy/input_handler/api/illustris_api.py @@ -1,7 +1,9 @@ import os -import requests -import h5py from typing import List, Union + +import h5py +import requests + from rubix import config diff --git a/rubix/galaxy/input_handler/base.py b/rubix/galaxy/input_handler/base.py index 33fe51ec..92c783a2 100644 --- a/rubix/galaxy/input_handler/base.py +++ b/rubix/galaxy/input_handler/base.py @@ -1,13 +1,15 @@ -from abc import ABC, abstractmethod -import os -import h5py import logging +import os +from abc import ABC, abstractmethod +from typing import List, Optional, Union + import astropy.units as u -from typing import List, Union, Optional +import h5py +from beartype import beartype as typechecker +from jaxtyping import Array, Float, jaxtyped + from rubix import config from rubix.logger import get_logger -from jaxtyping import Array, Float, jaxtyped -from beartype import beartype as typechecker @jaxtyped(typechecker=typechecker) diff --git a/rubix/galaxy/input_handler/factory.py b/rubix/galaxy/input_handler/factory.py index bc888180..ce480fbc 100644 --- a/rubix/galaxy/input_handler/factory.py +++ b/rubix/galaxy/input_handler/factory.py @@ -1,10 +1,12 @@ -from .base import BaseHandler -from .illustris import IllustrisHandler -from .pynbody import PynbodyHandler from typing import Union from unittest.mock import MagicMock -from jaxtyping import Array, Float, jaxtyped + from beartype import beartype as typechecker +from jaxtyping import Array, Float, jaxtyped + +from .base import BaseHandler +from .illustris import IllustrisHandler +from .pynbody import PynbodyHandler __all__ = ["IllustrisHandler", "BaseHandler"] diff --git a/rubix/galaxy/input_handler/illustris.py b/rubix/galaxy/input_handler/illustris.py index 8e234b5e..6051c201 100644 --- a/rubix/galaxy/input_handler/illustris.py +++ b/rubix/galaxy/input_handler/illustris.py @@ -1,9 +1,12 @@ -from .base import BaseHandler # type: ignore import os + import h5py import numpy as np -from rubix.utils import convert_values_to_physical, SFTtoAge + from rubix import config +from rubix.utils import SFTtoAge, convert_values_to_physical + +from .base import BaseHandler # type: ignore class IllustrisHandler(BaseHandler): diff --git a/rubix/galaxy/input_handler/pynbody.py b/rubix/galaxy/input_handler/pynbody.py index fe2beec5..1fc1f29e 100644 --- a/rubix/galaxy/input_handler/pynbody.py +++ b/rubix/galaxy/input_handler/pynbody.py @@ -1,12 +1,17 @@ -from .base import BaseHandler -import pynbody -import numpy as np -from rubix.utils import SFTtoAge import logging +import os + import astropy.units as u +import numpy as np +import pynbody import yaml -import os + +from rubix.cosmology import PLANCK15 as rubix_cosmo from rubix.units import Zsun +from rubix.utils import SFTtoAge + +from .base import BaseHandler + class PynbodyHandler(BaseHandler): def __init__( @@ -84,6 +89,36 @@ def load_data(self): getattr(self.sim, cls), fields[cls], units[cls], cls ) + # Combine HI and OxMassFrac into a two-column metals field for gas + hi_data = self.load_particle_data( + getattr(self.sim, "gas"), + {"HI": "HI"}, + {"HI": u.dimensionless_unscaled}, + "gas", + ) + ox_data = self.load_particle_data( + getattr(self.sim, "gas"), + {"OxMassFrac": "OxMassFrac"}, + {"OxMassFrac": u.dimensionless_unscaled}, + "gas", + ) + # fe_data = self.load_particle_data(getattr(self.sim, "gas"), {"FeMassFrac": "FeMassFrac"}, {"FeMassFrac": u.dimensionless_unscaled}, "gas") + # self.data["gas"]["metals"] = np.column_stack((hi_data["HI"], ox_data["OxMassFrac"])) + # Create a metals array with 10 columns, filled with zeros initially + n_particles = hi_data["HI"].shape[0] + metals = np.zeros((n_particles, 10), dtype=hi_data["HI"].dtype) + + # Place HI values at column 0 and OxMassFrac (O) at column 4 (that it is storred in the same way as IllustrisTNG) + metals[:, 0] = hi_data["HI"] + metals[:, 4] = ox_data["OxMassFrac"] + + self.data["gas"]["metals"] = metals + self.logger.info("Metals assigned to gas particles.") + self.logger.info("Metals shape is: %s", self.data["gas"]["metals"].shape) + + age_at_z0 = rubix_cosmo.age_at_z0() + self.data["stars"]["age"] = age_at_z0 * u.Gyr - self.data["stars"]["age"] + self.logger.info( f"Simulation snapshot and halo data loaded successfully for classes: {load_classes}." ) diff --git a/rubix/logger.py b/rubix/logger.py index b3ca340e..6cb5d548 100644 --- a/rubix/logger.py +++ b/rubix/logger.py @@ -1,5 +1,8 @@ import logging import os + +import jax + import rubix._version as version from rubix import config as rubix_config @@ -52,5 +55,7 @@ def get_logger(config=None): """ ) logger.info(f"Rubix version: {version.__version__}") + logger.info(f"JAX version: {jax.__version__}") + logger.info(f"Running on {jax.devices()} devices") return logger diff --git a/rubix/pipeline/abstract_pipeline.py b/rubix/pipeline/abstract_pipeline.py index 097075bb..9dec0506 100644 --- a/rubix/pipeline/abstract_pipeline.py +++ b/rubix/pipeline/abstract_pipeline.py @@ -1,7 +1,9 @@ from abc import ABC, abstractmethod -from .transformer import compiled_transformer, expression_transformer + from jax import jit +from .transformer import compiled_transformer, expression_transformer + class AbstractPipeline(ABC): """ diff --git a/rubix/pipeline/linear_pipeline.py b/rubix/pipeline/linear_pipeline.py index 8d270f75..729c44d3 100644 --- a/rubix/pipeline/linear_pipeline.py +++ b/rubix/pipeline/linear_pipeline.py @@ -1,7 +1,9 @@ +from copy import deepcopy + +from jax.tree_util import Partial + from . import abstract_pipeline as apl from .transformer import bound_transformer -from jax.tree_util import Partial -from copy import deepcopy class LinearTransformerPipeline(apl.AbstractPipeline): diff --git a/rubix/pipeline/transformer.py b/rubix/pipeline/transformer.py index e23da740..0ff798a9 100644 --- a/rubix/pipeline/transformer.py +++ b/rubix/pipeline/transformer.py @@ -1,7 +1,6 @@ from copy import deepcopy -from jax import jit -from jax import make_jaxpr +from jax import jit, make_jaxpr from jax.tree_util import Partial diff --git a/rubix/spectra/dust/dust_baseclasses.py b/rubix/spectra/dust/dust_baseclasses.py new file mode 100644 index 00000000..e6fe89fb --- /dev/null +++ b/rubix/spectra/dust/dust_baseclasses.py @@ -0,0 +1,164 @@ +from abc import abstractmethod + +import equinox +import jax.numpy as jnp +from beartype import beartype as typechecker + +# TODO: add runtime type checking for valid x ranges +# can be achieved by using chekify... +# from .helpers import test_valid_x_range +from jaxtyping import Array, Float, jaxtyped + +__all__ = [ + "BaseExtModel", + "BaseExtRvModel", +] # , "BaseExtRvAfAModel", "BaseExtGrainModel"] + + +@jaxtyped(typechecker=typechecker) +class BaseExtModel(equinox.Module): + """ + Base class for dust extinction models. + """ + + wave_range_l: equinox.AbstractVar[float] + wave_range_h: equinox.AbstractVar[float] + + def __call__(self, wave: Float[Array, "n_wave"]) -> Float[Array, "n_wave"]: + """ + Evaluate the dust extinction model at the input wavelength for the given model parameters. + """ + + # test_valid_x_range(wave, [self.wave_range_l,self.wave_range_h], self.__class__.__name__) + + return self.evaluate(wave) + + @abstractmethod + def evaluate(self, wave: Float[Array, "n_wave"]) -> Float[Array, "n_wave"]: + """ + Abstract function to evaluate the dust extinction model at the input wavelength for the given model parameters. + + Parameters + ---------- + wave : Float[Array, "n_wave"] + The wavelength to calculate the dust extinction for. + The wavelength has to be passed as wavenumber in units of [1/microns]. + + Returns + ------- + Float[Array, "n_wave"] + The dust extinction as a function of wavenumber. + """ + + @abstractmethod + def extinguish(self) -> Float[Array, "n_wave"]: + """ + Abstract function to calculate the dust extinction for a given wavelength as a fraction. + + Parameters + ---------- + wave : Float[Array, "n_wave"] + The wavelength to calculate the dust extinction for. + The wavelength has to be passed as wavenumber in units of [1/microns]. + + Returns + ------- + Float[Array, "n_wave"] + The fractional extinction as a function of wavenumber. + """ + + +@jaxtyped(typechecker=typechecker) +class BaseExtRvModel(BaseExtModel): + """ + Base class for dust extinction models with Rv parameter. + """ + + Rv: equinox.AbstractVar[float] + Rv_range_l: equinox.AbstractVar[float] # [Array, "2"]] + Rv_range_h: equinox.AbstractVar[float] + + """ + The Rv parameter (R(V) = A(V)/E(B-V) total-to-selective extinction) of the dust extinction model and its valid range. + """ + + # def __check_init__(self) -> None: + # """ + # Check if the Rv parameter of the dust extinction model is within Rv_range. + + # Parameters + # ---------- + # Rv : Float + # The Rv parameter of the dust extinction model. + + # Raises + # ------ + # ValueError + # If the Rv parameter is outsied of defined range. + # """ + # #if jnp.logical_or(self.Rv < self.Rv_range[0], self.Rv > self.Rv_range[1]): #not (self.Rv_range[0] <= self.Rv <= self.Rv_range[1]): + # # raise ValueError( + # # "parameter Rv must be between " + # # + str(self.Rv_range[0]) + # # + " and " + # # + str(self.Rv_range[1]) + # # ) + # #else: + # # pass + + # def true_fn(_): + # raise ValueError(f"Rv value {self.Rv} is out of range [{self.Rv_range_l},{self.Rv_range_h}]") + + # def false_fn(_): + # return None + + # condition = jnp.logical_or(self.Rv < self.Rv_range_l, self.Rv > self.Rv_range_h) + # jax.debug.print("Condition: {}", condition) + + # jax.lax.cond( + # jnp.logical_or(self.Rv < self.Rv_range_l, self.Rv > self.Rv_range_h), + # true_fn, + # false_fn, + # operand=None + # ) + + def extinguish( + self, wave: Float[Array, "n_wave"], Av: Float = None, Ebv: Float = None + ) -> Float[Array, "n_wave"]: + """ + Calculate the dust extinction for a given wavelength as a fraction. + + Parameters + ---------- + wave : Float[Array, "n_wave"] + The wavelength to calculate the dust extinction for. + The wavelength has to be passed as wavenumber in units of [1/microns]. + + Av : Float + The visual extinction. + A(V) value of dust column. + Note: Av or Ebv must be set. + + Ebv : Float + The color excess. + E(B-V) value of dust column. + Note: Av or Ebv must be set. + + Returns + ------- + Float[Array, "n_wave"] + The fractional extinction as a function of wavenumber. + """ + # get the extinction curve + axav = self(wave) + + # check that av or ebv is set + if (Av is None) and (Ebv is None): + raise ValueError("neither Av or Ebv passed, one of them is required!") + + # if Av is not set and Ebv set, convert to Av + if Av is None: + Av = self.Rv * Ebv + + # return fractional extinction + return jnp.power(10.0, -0.4 * axav * Av) diff --git a/rubix/spectra/dust/dust_extinction.py b/rubix/spectra/dust/dust_extinction.py new file mode 100644 index 00000000..f74ef851 --- /dev/null +++ b/rubix/spectra/dust/dust_extinction.py @@ -0,0 +1,358 @@ +import jax +import jax.numpy as jnp +from beartype import beartype as typechecker +from jaxtyping import Array, Float, jaxtyped + +from rubix import config as rubix_config +from rubix.core.data import RubixData +from rubix.logger import get_logger + +from .extinction_models import * + + +@jaxtyped(typechecker=typechecker) +def calculate_dust_to_gas_ratio( + gas_metallicity: Float[Array, "n_gas"], model: str, Xco: str +) -> Float[Array, "n_gas"]: + """ + Calculate the dust_to_gas ratio following the empirical relations from Remy-Ruyer et al. 2014. + We use the fitting formula from table 1. + + Parameters + ---------- + gas_metallicity : Float[Array, "n_gas"] + The metallicity of the gas cells. Remy-Ruyer et al. 2014 use 12 + log(O/H) as a proxy for metallicity. + + model : str + The model to use for the gas-to-dust ratio as specified in Table 1 of Remy-Ruyer et al. 2014. Options are: + - power law fixed slope + - power law free slope + - broken power law fit + Returns + ------- + Float[Array, "n_gas"] + The gas-to-dust ratio for each gas cell. + """ + + x_sol = 8.69 # solar oxygen abundance from Asplund et al. 2009 + + if Xco == "MW": + if model == "power law slope fixed": + raise NotImplementedError( + "power law slope fixed not implemented yet." + ) # pragma no cover + elif model == "power law slope free": + # power law slope fixed + # log(D/G) = a + b * log(O/H) + alpha = 1.62 + a = 2.21 + dust_to_gas_ratio = 1 / 10 ** (a + alpha * (x_sol - gas_metallicity)) + elif model == "broken power law fit": + # broken power law fit + # log(D/G) = a + b * log(O/H) for log(O/H) < 8.4 + # log(D/G) = c + d * log(O/H) for log(O/H) >= 8.4 + a = 2.21 + alpha_h = 1.00 + b = 0.68 + alpha_l = 3.08 + x_transition = 7.96 + dust_to_gas_ratio = 1 / jnp.where( + gas_metallicity > x_transition, + 10 ** (a + alpha_h * (x_sol - gas_metallicity)), + 10 ** (b + alpha_l * (x_sol - gas_metallicity)), + ) + elif Xco == "Z": + if model == "power law slope fixed": + raise NotImplementedError( + "power law slope fixed not implemented yet." + ) # pragma no cover + elif model == "power law slope free": + # power law slope fixed + # log(D/G) = a + b * log(O/H) + alpha = 2.02 + a = 2.21 + dust_to_gas_ratio = 1 / 10 ** (a + alpha * (x_sol - gas_metallicity)) + elif model == "broken power law fit": + # broken power law fit + # log(D/G) = a + b * log(O/H) for log(O/H) < 8.4 + # log(D/G) = c + d * log(O/H) for log(O/H) >= 8.4 + a = 2.21 + alpha_h = 1.00 + b = 0.96 + alpha_l = 3.10 + x_transition = 8.10 + dust_to_gas_ratio = 1 / jnp.where( + gas_metallicity > x_transition, + 10 ** (a + alpha_h * (x_sol - gas_metallicity)), + 10 ** (b + alpha_l * (x_sol - gas_metallicity)), + ) + + return dust_to_gas_ratio + + +@jaxtyped(typechecker=typechecker) +def calculate_extinction( + dust_column_density: Float[Array, "n_gas"], + dust_grain_density: float, + effective_wavelength: float = 5448, # Johnson V band effective wavelength in Angstrom +) -> Float[Array, "n_gas"]: + r""" + Calculate the extinction of the gas cells due to dust. + + The extinction is calculated using the dust column density and the dust-to-gas ratio. + The dust column density is calculated by multiplying the gas column density with the dust-to-gas ratio. + See e.g. formula A5 and A6 in the appendix of the paper by Ibarra-Medel et al. 2018. + + Parameters + ---------- + dust_column_density : Float[Array, "n_gas"] + The gas column density of each gas cell. + dust_grain_density : Float + The dust grain density. + effective_wavelength : Float + The effective wavelength in Angstroem of the light at which we calculate the extinction. + Default value is 5448 Angstrom for Johnson V as taken from here: https://www.aavso.org/filters + + Returns + ------- + Float[Array, "n_gas"] + The extinction of the gas cells due to dust. + + Notes + ----- + Extinction is calculated as: + + .. :math: `A_{\lambda}(z)=\frac{3m_H\pi \Sigma(z)}{0.4 \log(10)\lambda_V \rho_{D}}\times (D/G)` + + where: + - :math:`A_{\lambda}` is the extinction at the effective wavelength + - :math:`m_H` is the mass of a hydrogen atom + - :math:`\Sigma(z)` is the column density of the gas cells + - :math:`\lambda_V` is the effective wavelength` + - :math:`\rho_{D}` is the dust grain density + - :math:`D/G` is the dust-to-gas ratio + """ + + # Constants + m_H = rubix_config["constants"][ + "MASS_OF_PROTON" + ] # mass of a hydrogen atom in grams + + # dust_grain_density is in g/cm^3 + # dust_column_density is internally in Msun per kpc^2, but should be in g/cm^2 + # coordinates internally are in kpc + # effective_wavelength is in Angstrom = 10^-10 m + # dust_to_gas_ratio is dimensionless + # m_H is in grams + + # Note: we adopt a different equation than in Ibarra-Medel et al. 2018 as our dust_column_density is in Msun per kpc^2 and not in particle number per cm^2. + # Ibarra-Medel give: dust_extinction = 3 * m_H * jnp.pi * gas_column_density / (0.4 * jnp.log(10) * effective_wavelength * 1e-8 * dust_grain_density) * dust_to_gas_ratio + + # convert the surface density to grams per cm^2 + CONVERT_MASS_PER_AREA = ( + float(rubix_config["constants"]["MSUN_TO_GRAMS"]) + / float(rubix_config["constants"]["KPC_TO_CM"]) ** 2 + ) + effective_wavelength = effective_wavelength * 1e-8 # convert to cm + dust_extinction = ( + 3 + * jnp.pi + * dust_column_density + * CONVERT_MASS_PER_AREA + / (0.4 * jnp.log(10) * effective_wavelength * dust_grain_density) + ) + + return dust_extinction + + +@jaxtyped(typechecker=typechecker) +def apply_spaxel_extinction( + config: dict, + rubixdata: RubixData, + wavelength: Float[Array, "n_wave"], + n_spaxels: int, + spaxel_area: Float[Array, "..."], +) -> Float[Array, "1 n_star n_wave"]: + r""" + Calculate the extinction for each star in the spaxel and apply dust extinction to it's associated SSP. + + The dust column density is calculated by effectively integrating the dust mass along the z-axis and dividing by pixel area. + This is done by first sorting the RubixData by spaxel index and within each spaxel segment the gas cells are sorted by their z position. + Then we calculate the column density of the dust as a function of distance. + + The dust column density is then interpolated to the z positions of the stars. + The extinction is calculated using the dust column density and the dust-to-gas ratio. + The extinction is then applied to the SSP fluxes using an Av/Rv dependent extinction model. Default is chosen as Cardelli89. + + Parameters + ---------- + config : dict + The configuration dictionary. + rubixdata : RubixData + The RubixData object containing the spaxel data. + wavelength : Float[Array, "n_wave"] + The wavelength of the SSP template fluxes. + n_spaxels : int + The number of spaxels. + spaxel_area : Float[Array, "..."] + The area of a spaxel. + + Returns + ------- + + Float[Array, "n_star, n_wave"] + The SSP template fluxes after applying the dust extinction. + + Notes + ----- + .. math:: + \Sigma(z) = \sum_{i=0}^{n} \rho_i \Delta z_i + + where: + - :math:`\Sigma(z)` is the column density at position :math:`z` + - :math:`\rho_i` is the gas density of the i-th cell + - :math:`\Delta z_i` is the difference between consecutive z positions + + This function makes some approximations that should be valid for densly populated gas cells, i.e. + the gas cells are much smaller than a spaxel size. The behaviour of this function might be improved by + rasterizing the gas cells first onto a regular grid. + + """ + + logger = get_logger(config.get("logger", None)) + logger.info("Applying dust extinction to the spaxel data using vmap...") + + ext_model = config["ssp"]["dust"]["extinction_model"] + Rv = config["ssp"]["dust"]["Rv"] + + # Dynamically choose the extinction model based on the string name + if ext_model not in RV_MODELS: + raise ValueError( + f"Extinction model '{ext_model}' is not available. Choose from {RV_MODELS}." + ) + + ext_model_class = Rv_model_dict[ext_model] + ext = ext_model_class(Rv=Rv) + + # sort the arrays by pixel assignment and z position + gas_sorted_idx = jnp.lexsort( + (rubixdata.gas.coords[0, :, 2], rubixdata.gas.pixel_assignment[0]) + ) + stars_sorted_idx = jnp.lexsort( + (rubixdata.stars.coords[0, :, 2], rubixdata.stars.pixel_assignment[0]) + ) + + # determine the segment boundaries + spaxel_IDs = jnp.arange(n_spaxels) + # we use searchsorted to get the segment boundaries for the gas and stars arrays and we concatenate the length of the sorted arrays to get the last segment boundary. + gas_segment_boundaries = jnp.concatenate( + [ + jnp.searchsorted( + rubixdata.gas.pixel_assignment[0][gas_sorted_idx], + spaxel_IDs, + side="left", + ), + jnp.array([len(gas_sorted_idx)]), + ] + ) + stars_segment_boundaries = jnp.concatenate( + [ + jnp.searchsorted( + rubixdata.stars.pixel_assignment[0][stars_sorted_idx], + spaxel_IDs, + side="left", + ), + jnp.array([len(stars_sorted_idx)]), + ] + ) + # Notes for performance for searchsorted: + # The method argument controls the algorithm used to compute the insertion indices. + # + # 'scan' (the default) tends to be more performant on CPU, particularly when a is very large. + # 'scan_unrolled' is more performant on GPU at the expense of additional compile time. + # 'sort' is often more performant on accelerator backends like GPU and TPU, particularly when v is very large. + # 'compare_all' tends to be the most performant when a is very small. + + # calculate the oxygen abundance, i.e. number fraction of oxygen and hydrogen and with that the dust-to-gas ratio + # with this we can calculate the dust mass + # we need to correct by factor of 16 for the difference in atomic mass + log_OH = 12 + jnp.log10( + rubixdata.gas.metals[0, :, 4] / (16 * rubixdata.gas.metals[0, :, 0]) + ) + dust_to_gas_ratio = calculate_dust_to_gas_ratio( + log_OH, + rubix_config["ssp"]["dust"]["dust_to_gas_model"], + rubix_config["ssp"]["dust"]["Xco"], + ) + dust_mass = rubixdata.gas.mass[0] * dust_to_gas_ratio + + dust_grain_density = config["ssp"]["dust"]["dust_grain_density"] + extinction = ( + calculate_extinction(dust_mass[gas_sorted_idx], dust_grain_density) + / spaxel_area + ) + + # Preallocate arrays + Av_array = jnp.zeros_like(rubixdata.stars.mass[0]) + + def body_fn(carry, idx): + Av_array = carry + gas_start, gas_end = ( + gas_segment_boundaries[idx], + gas_segment_boundaries[idx + 1], + ) + star_start, star_end = ( + stars_segment_boundaries[idx], + stars_segment_boundaries[idx + 1], + ) + + # Create masks for the current segment + gas_mask = (jnp.arange(gas_sorted_idx.shape[0]) >= gas_start) & ( + jnp.arange(gas_sorted_idx.shape[0]) < gas_end + ) + star_mask = (jnp.arange(stars_sorted_idx.shape[0]) >= star_start) & ( + jnp.arange(stars_sorted_idx.shape[0]) < star_end + ) + # create one mask for the gas positions to move non-segment positions to effectively infinity. + gas_mask2 = jnp.where(gas_mask, 1, 1e30) + + cumulative_dust_mass = jnp.cumsum(extinction * gas_mask) * gas_mask + + # resort the arrays as jnp.interp requires sorted arrays and our approach of using masks to select the segment is not compatible with this requirement. + xp_arr = rubixdata.gas.coords[0, :, 2][gas_sorted_idx] * gas_mask2 + fp_arr = cumulative_dust_mass + + xp_arr, fp_arr = jax.lax.sort_key_val(xp_arr, fp_arr) + + interpolated_column_density = ( + jnp.interp( + rubixdata.stars.coords[0, :, 2][stars_sorted_idx], + xp_arr, + fp_arr, + left="extrapolate", + ) + * star_mask + ) + + # calculate the extinction for each star + Av_array += interpolated_column_density + + return Av_array, None + + Av_array, _ = jax.lax.scan(body_fn, Av_array, spaxel_IDs) + + # get the extinguished SSP flux for different amounts of dust + # Vectorize the extinction calculation using vmap + extinguish_vmap = jax.vmap(ext.extinguish, in_axes=(None, 0)) + # note, we need to pass wavelength in microns here to the extinction model. + # in Rubix the wavelength is in Angstroms, so we divide by 1e4 to get microns. + extinction = extinguish_vmap(wavelength / 1e4, Av_array) + + # undo the sorting of the stars + undo_sort = jnp.argsort(stars_sorted_idx) + extinction = extinction[undo_sort] + + # Apply the extinction to the SSP fluxes + extincted_ssp_template_fluxes = rubixdata.stars.spectra * extinction + + return extincted_ssp_template_fluxes diff --git a/rubix/spectra/dust/extinction_models.py b/rubix/spectra/dust/extinction_models.py new file mode 100644 index 00000000..5bae1dc1 --- /dev/null +++ b/rubix/spectra/dust/extinction_models.py @@ -0,0 +1,451 @@ +import equinox +import jax.numpy as jnp +from beartype import beartype as typechecker +from jaxtyping import Array, Float, jaxtyped + +from .dust_baseclasses import BaseExtRvModel +from .generic_models import FM90, Drude1d, Polynomial1d, PowerLaw1d, _modified_drude +from .helpers import _smoothstep + +RV_MODELS = [ + "Cardelli89", + "Gordon23", +] # "O94", "F99", "F04", "VCG04", "GCC09", "M14", "G16", "F19", "D22", "G23"] + +wave_range_CCM89 = [0.3, 10.0] +Rv_range_CCM89 = [2.0, 6.0] + +wave_range_G23 = [0.0912, 32.0] +Rv_range_G23 = [2.3, 5.6] + + +@equinox.filter_jit +@jaxtyped(typechecker=typechecker) +class Cardelli89(BaseExtRvModel): + r""" + Calculate the extinction curve of the Milky Way according to the + Cardelli, Clayton, & Mathis (1989) Milky Way R(V) dependent model. + + Parameters + ---------- + Rv : Float + R(V) = A(V)/E(B-V) = total-to-selective extinction + + Returns + ------- + Float[Array, "n_wave"] + A(x)/A(V) extinction curve [mag] + + Raises + ------ + InputParameterError + Input Rv values outside of defined range + + Notes + ----- + From Cardelli, Clayton, and Mathis (1989, ApJ, 345, 245) + + Example showing CCM89 curves for a range of R(V) values. + + .. plot:: + :include-source: + + import numpy as np + import matplotlib.pyplot as plt + + from rubix.spectra.dust.extinction_models import Cardelli89 + + fig, ax = plt.subplots() + + # generate the curves and plot them + x = np.arange(0.5,10.0,0.1) # units of micron + + Rvs = ['2.0','3.0','4.0','5.0','6.0'] + for cur_Rv in Rvs: + ext_model = Cardelli89(Rv=cur_Rv) + ax.plot(x,ext_model,label='R(V) = ' + str(cur_Rv)) + + ax.set_xlabel(r'$x$ [$\mu m^{-1}$]') + ax.set_ylabel(r'$A(x)/A(V)$') + + # for 2nd x-axis with lambda values + axis_xs = np.array([0.1, 0.12, 0.15, 0.2, 0.3, 0.5, 1.0]) + new_ticks = 1 / axis_xs + new_ticks_labels = ["%.2f" % z for z in axis_xs] + tax = ax.twiny() + tax.set_xlim(ax.get_xlim()) + tax.set_xticks(new_ticks) + tax.set_xticklabels(new_ticks_labels) + tax.set_xlabel(r"$\lambda$ [$\mu$m]") + + ax.legend(loc='best') + plt.show() + """ + + # wave: Float[Array, "n_wave"] + + # wave_range: Float[Array, "2"] = equinox.field(converter=jnp.asarray, static=True, default_factory=lambda: jnp.array(wave_range_CCM89)) + wave_range_l: float = equinox.field( + converter=float, static=True, default=wave_range_CCM89[0] + ) + wave_range_h: float = equinox.field( + converter=float, static=True, default=wave_range_CCM89[1] + ) + + Rv: float = equinox.field(converter=float, static=True, default=3.1) + # Rv_range: Float[Array, "2"] = equinox.field(converter=jnp.asarray, static=True, default_factory=lambda: jnp.array(Rv_range_CCM89)) + Rv_range_l: float = equinox.field( + converter=float, static=True, default=Rv_range_CCM89[0] + ) + Rv_range_h: float = equinox.field( + converter=float, static=True, default=Rv_range_CCM89[1] + ) + + def evaluate(self, wave: Float[Array, "n_wave"]) -> Float[Array, "n_wave"]: + """ + Cardelli, Clayton, and Mathis (1989, ApJ, 345, 245) function + + Parameters + ---------- + wave: float + expects wave as wavelengths in microns. + + Returns + ------- + axav: jax numpy array (float) + A(wave)/A(V) extinction curve [mag] + """ + + # setup the a & b coefficient vectors + a = jnp.zeros(wave.shape) + b = jnp.zeros(wave.shape) + + # define the ranges + ir_mask = jnp.logical_and(0.3 <= wave, wave < 1.1) + opt_mask = jnp.logical_and(1.1 <= wave, wave < 3.3) + nuv_mask = jnp.logical_and(3.3 <= wave, wave <= 8.0) + fnuv_mask = jnp.logical_and(5.9 <= wave, wave <= 8) + fuv_mask = jnp.logical_and(8 < wave, wave <= 10) + + # Infrared + a = jnp.where(ir_mask, 0.574 * wave**1.61, a) + b = jnp.where(ir_mask, -0.527 * wave**1.61, b) + + # NIR/optical + y = wave - 1.82 + a = jnp.where( + opt_mask, + 1 + + 0.17699 * y + - 0.50447 * y**2 + - 0.02427 * y**3 + + 0.72085 * y**4 + + 0.01979 * y**5 + - 0.77530 * y**6 + + 0.32999 * y**7, + a, + ) + b = jnp.where( + opt_mask, + 1.41338 * y + + 2.28305 * y**2 + + 1.07233 * y**3 + - 5.38434 * y**4 + - 0.62251 * y**5 + + 5.30260 * y**6 + - 2.09002 * y**7, + b, + ) + + a = jnp.where( + nuv_mask, 1.752 - 0.316 * wave - 0.104 / ((wave - 4.67) ** 2 + 0.341), a + ) + b = jnp.where( + nuv_mask, -3.09 + 1.825 * wave + 1.206 / ((wave - 4.62) ** 2 + 0.263), b + ) + + # far-NUV + y = wave - 5.9 + a = jnp.where(fnuv_mask, a + (-0.04473 * (y**2) - 0.009779 * (y**3)), a) + b = jnp.where(fnuv_mask, b + (0.2130 * (y**2) + 0.1207 * (y**3)), b) + + # FUV + y = wave - 8.0 + a = jnp.where(fuv_mask, -1.073 - 0.628 * y + 0.137 * y**2 - 0.070 * y**3, a) + b = jnp.where(fuv_mask, 13.670 + 4.257 * y - 0.420 * y**2 + 0.374 * y**3, b) + + # return A(x)/A(V) + return a + b / self.Rv + + +@jaxtyped(typechecker=typechecker) +class Gordon23(BaseExtRvModel): + r""" + Gordon et al. (2023) Milky Way R(V) dependent model + + Parameters + ---------- + Rv: float + R(V) = A(V)/E(B-V) = total-to-selective extinction + + Returns + ------- + Float[Array, "n_wave"] + A(x)/A(V) extinction curve [mag] + + Raises + ------ + InputParameterError + Input Rv values outside of defined range + + Notes + ----- + From Gordon et al. (2023, ApJ, in press) + + Example showing G23 curves for a range of R(V) values. + + .. plot:: + :include-source: + + import numpy as np + import matplotlib.pyplot as plt + import astropy.units as u + + from dust_extinction.parameter_averages import G23 + + fig, ax = plt.subplots() + + # generate the curves and plot them + lam = np.logspace(np.log10(0.0912), np.log10(30.0), num=1000) * u.micron + + Rvs = [2.5, 3.1, 4.0, 4.75, 5.5] + for cur_Rv in Rvs: + ext_model = G23(Rv=cur_Rv) + ax.plot(lam,ext_model(lam),label='R(V) = ' + str(cur_Rv)) + + ax.set_xscale('log') + ax.set_yscale('log') + + ax.set_xlabel('$\lambda$ [$\mu$m]') + ax.set_ylabel(r'$A(x)/A(V)$') + + ax.legend(loc='best') + plt.show() + """ + + # wave_range: ClassVar[Float[Array, "2"]] = equinox.field(converter=jnp.asarray, static=True, default=jnp.array(wave_range_G23)) + # Rv_range: ClassVar[Float[Array, "2"]] = equinox.field(converter=jnp.asarray, static=True, default=jnp.array(Rv_range_G23)) + + wave_range_l: float = equinox.field( + converter=float, static=True, default=wave_range_G23[0] + ) + wave_range_h: float = equinox.field( + converter=float, static=True, default=wave_range_G23[1] + ) + + Rv: float = equinox.field(converter=float, static=True, default=3.1) + # Rv_range: Float[Array, "2"] = equinox.field(converter=jnp.asarray, static=True, default_factory=lambda: jnp.array(Rv_range_CCM89)) + Rv_range_l: float = equinox.field( + converter=float, static=True, default=Rv_range_G23[0] + ) + Rv_range_h: float = equinox.field( + converter=float, static=True, default=Rv_range_G23[1] + ) + + def evaluate(self, wave: Float[Array, "n_wave"]) -> Float[Array, "n_wave"]: + """ + Gordon 2023 function (The Astrophysical Journal, Volume 950, Issue 2, id.86, 13 pp.) + + Parameters + ---------- + wave: float + expects wave as wavelengths in micron + + Returns + ------- + axav: np array (float) + A(wave)/A(V) extinction curve [mag] + + Raises + ------ + ValueError + Input wave values outside of defined range + """ + # setup the a & b coefficient vectors + a = jnp.zeros(wave.shape) + b = jnp.zeros(wave.shape) + + # define the ranges + ir_mask = jnp.logical_and(1.0 <= wave, wave < 35.0) + opt_mask = jnp.logical_and(0.3 <= wave, wave < 1.1) + uv_mask = jnp.logical_and(0.09 <= wave, wave <= 0.3) + + # overlap ranges + optir_waves = [0.9, 1.1] + optir_overlap = jnp.logical_and(wave >= optir_waves[0], wave <= optir_waves[1]) + uvopt_waves = [0.3, 0.33] + uvopt_overlap = jnp.logical_and(wave >= uvopt_waves[0], wave <= uvopt_waves[1]) + + # NIR/MIR + # fmt: off + # (scale, alpha1, alpha2, swave, swidth), sil1, sil2 + ir_a = [0.38526, 1.68467, 0.78791, 4.30578, 4.78338, + 0.06652, 9.8434, 2.21205, -0.24703, + 0.0267 , 19.58294, 17., -0.27] + # fmt: on + + a = jnp.where(ir_mask, self.nirmir_intercept(wave, ir_a), a) + b = jnp.where( + ir_mask, PowerLaw1d(x=wave, amplitude=-1.01251, x_0=1.0, alpha=-1.06099), b + ) + + # optical + # fmt: off + # polynomial coeffs, ISS1, ISS2, ISS3 + opt_a = [-0.35848, 0.7122 , 0.08746, -0.05403, 0.00674, + 0.03893, 2.288, 0.243, + 0.02965, 2.054, 0.179, + 0.01747, 1.587, 0.243] + opt_b = [0.12354, -2.68335, 2.01901, -0.39299, 0.03355, + 0.18453, 2.288, 0.243, + 0.19728, 2.054, 0.179, + 0.1713 , 1.587, 0.243] + # fmt: on + + def compound_polynomial_drude_model( + x: Float[Array, "n_wave"], params: Float[Array, "m"] + ) -> Float[Array, "n_wave"]: + """ + Compound polynomial and Drude model + + Parameters + ---------- + x : ndarray + input wavelengths in wavenumbers [1/micron] + params : ndarray + model parameters + + Returns + ------- + y : ndarray + output profile + """ + # Extract polynomial coefficients and Drude model parameters from opt_a + poly_coeffs = params[:5] # First 5 elements for polynomial coefficients + drude_params = params[5:] # Remaining elements for Drude model parameters + + # Evaluate the polynomial model + poly_result = Polynomial1d(x, poly_coeffs) + + # Evaluate the Drude models + drude_result_1 = Drude1d( + x, amplitude=drude_params[0], x_0=drude_params[1], fwhm=drude_params[2] + ) + drude_result_2 = Drude1d( + x, amplitude=drude_params[3], x_0=drude_params[4], fwhm=drude_params[5] + ) + drude_result_3 = Drude1d( + x, amplitude=drude_params[6], x_0=drude_params[7], fwhm=drude_params[8] + ) + + # Combine the results + return poly_result + drude_result_1 + drude_result_2 + drude_result_3 + + a = jnp.where(opt_mask, compound_polynomial_drude_model(1 / wave, opt_a), a) + b = jnp.where(opt_mask, compound_polynomial_drude_model(1 / wave, opt_b), b) + + # overlap between optical/ir + weights = _smoothstep(wave, x_min=optir_waves[0], x_max=optir_waves[1], N=1) + a = jnp.where( + optir_overlap, + (1.0 - weights) * compound_polynomial_drude_model(1 / wave, opt_a) + + weights * self.nirmir_intercept(wave, ir_a), + a, + ) + b = jnp.where( + optir_overlap, + (1.0 - weights) * compound_polynomial_drude_model(1 / wave, opt_b) + + weights * PowerLaw1d(x=wave, amplitude=-1.01251, x_0=1.0, alpha=-1.06099), + b, + ) + + # Ultraviolet + a = jnp.where( + uv_mask, FM90(1 / wave, 0.81297, 0.2775, 1.06295, 0.11303, 4.60, 0.99), a + ) + b = jnp.where( + uv_mask, FM90(1 / wave, -2.97868, 1.89808, 3.10334, 0.65484, 4.60, 0.99), b + ) + + # overlap between uv/optical + weights = _smoothstep(wave, x_min=uvopt_waves[0], x_max=uvopt_waves[1], N=1) + a = jnp.where( + uvopt_overlap, + (1.0 - weights) + * FM90(1 / wave, 0.81297, 0.2775, 1.06295, 0.11303, 4.60, 0.99) + + weights * compound_polynomial_drude_model(1 / wave, opt_a), + a, + ) + b = jnp.where( + uvopt_overlap, + (1.0 - weights) + * FM90(1 / wave, -2.97868, 1.89808, 3.10334, 0.65484, 4.60, 0.99) + + weights * compound_polynomial_drude_model(1 / wave, opt_b), + b, + ) + + # return A(x)/A(V) + return a + b * (1 / self.Rv - 1 / 3.1) + + @staticmethod + def nirmir_intercept(wave, params): + """ + Functional form for the NIR/MIR intercept term. + Based on modifying the G21 shape model to have two power laws instead + of one with a break wavelength. + + Parameters + ---------- + wave: float + expects x as wavelength in micron. + params: floats + paramters of function + + Returns + ------- + axav: np array (float) + A(x)/A(V) extinction curve [mag] + """ + + # fmt: off + (scale, alpha, alpha2, swave, swidth, + sil1_amp, sil1_center, sil1_fwhm, sil1_asym, + sil2_amp, sil2_center, sil2_fwhm, sil2_asym) = params + # fmt: on + + # broken powerlaw with a smooth transition + axav_pow1 = scale * (wave ** (-1.0 * alpha)) + + norm_ratio = swave ** (-1.0 * alpha) / swave ** (-1.0 * alpha2) + axav_pow2 = scale * norm_ratio * (wave ** (-1.0 * alpha2)) + + # use smoothstep to smoothly transition between the two powerlaws + weights = _smoothstep( + wave, x_min=swave - swidth / 2, x_max=swave + swidth / 2, N=1 + ) + axav = axav_pow1 * (1.0 - weights) + axav_pow2 * weights + + # silicate feature drudes + axav += _modified_drude(wave, sil1_amp, sil1_center, sil1_fwhm, sil1_asym) + axav += _modified_drude(wave, sil2_amp, sil2_center, sil2_fwhm, sil2_asym) + + return axav + + +# TODO: Implement more jax versions of extinction models from astropy, see https://dust-extinction.readthedocs.io/en/latest/index.html + +# Create a dictionary to map model names to classes +Rv_model_dict = { + "Cardelli89": Cardelli89, + "Gordon23": Gordon23, +} diff --git a/rubix/spectra/dust/generic_models.py b/rubix/spectra/dust/generic_models.py new file mode 100644 index 00000000..025dd9b9 --- /dev/null +++ b/rubix/spectra/dust/generic_models.py @@ -0,0 +1,335 @@ +from typing import Tuple + +import jax.numpy as jnp +from beartype import beartype as typechecker +from jaxtyping import Array, Float, jaxtyped + +from .helpers import poly_map_domain + +# TODO: add runtime type checking for valid x ranges +# can be achieved by using chekify... +# from .dust_baseclasses import test_valid_x_range + + +# TODO: Implement functions as classes? + + +@jaxtyped(typechecker=typechecker) +def PowerLaw1d( + x: Float[Array, "n_wave"], amplitude: float, x_0: float, alpha: float +) -> Float[Array, "n_wave"]: + """ + Calculate a power law function. + Function inspired by astropy.modeling.functional_models.PowerLaw1D. + + Parameters + ---------- + x : Float[Array, "n_wave"] + Input array. + amplitude : float + Amplitude of the power law. + x_0 : float + Reference x value. + alpha : float + Power law index. + + Returns + ------- + Float[Array, "n_wave"] + Output array after applying the power law. + + Notes + ----- + Model formula (with :math:`A` for ``amplitude`` and :math:`\\alpha` for ``alpha``): + + .. math:: f(x) = A (x / x_0) ^ {-\\alpha} + """ + xx = x / x_0 + return amplitude * xx ** (-alpha) + + +def Polynomial1d( + x: Float[Array, "n"], + coeffs: Float[Array, "m"], + domain: Tuple[float, float] = (-1.0, 1.0), + window: Tuple[float, float] = (-1.0, 1.0), +) -> Float[Array, "n"]: + r""" + Evaluate a 1D polynomial model defined as + + .. math:: + + P = \sum_{i=0}^{i=n}C_{i} * x^{i} + + This function inspired by astropy.modelling.polynomial.Polynomial1D. + + Parameters + ---------- + x : ndarray + Input values. + coeffs : ndarray + Coefficients of the polynomial, ordered from the constant term to the highest degree term. + domain : tuple, optional + Domain of the input values. Default is (-1, 1). + window : tuple, optional + Window to which the domain is mapped. Default is (-1, 1). + + Returns + ------- + result : ndarray + Evaluated polynomial values. + """ + + def horner(x: Float[Array, "n"], coeffs: Float[Array, "m"]) -> Float[Array, "n"]: + """ + Evaluate polynomial using Horner's method. + """ + if len(coeffs) == 1: + return coeffs[-1] * jnp.ones_like(x) + c0 = coeffs[-1] + for i in range(2, len(coeffs) + 1): + c0 = coeffs[-i] + c0 * x + return c0 + + if domain is not None: + x = poly_map_domain(x, domain, window) + return horner(x, coeffs) + + +@jaxtyped(typechecker=typechecker) +def Drude1d( + x: Float[Array, "n"], amplitude: float = 1.0, x_0: float = 1.0, fwhm: float = 1.0 +): + r""" + Evaluate the Drude model function. + This function is inspired by astropy.modeling.functional_models.Drude1D. + + Model formula: + + .. math:: f(x) = A \\frac{(fwhm/x_0)^2}{((x/x_0 - x_0/x)^2 + (fwhm/x_0)^2} + + Parameters + ---------- + x : ndarray + Input values. + amplitude : float, optional + Peak value. Default is 1.0. + x_0 : float, optional + Position of the peak. Default is 1.0. + fwhm : float, optional + Full width at half maximum. Default is 1.0. + + Returns + ------- + result : ndarray + Evaluated Drude model values. + + Examples + -------- + .. plot:: + :include-source: + + import numpy as np + import matplotlib.pyplot as plt + + from rubix.spectra.dust.extinction_models import Drude1D + + fig, ax = plt.subplots() + + # generate the curves and plot them + x = np.arange(7.5 , 12.5 , 0.1) + + dmodel = Drude1D(amplitude=1.0, fwhm=1.0, x_0=10.0) + ax.plot(x, dmodel(x)) + + ax.set_xlabel('x') + ax.set_ylabel('F(x)') + + plt.show() + """ + if x_0 == 0: + raise ValueError("0 is not an allowed value for x_0") + return ( + amplitude * ((fwhm / x_0) ** 2) / ((x / x_0 - x_0 / x) ** 2 + (fwhm / x_0) ** 2) + ) + + +@jaxtyped(typechecker=typechecker) +def _modified_drude( + x: Float[Array, "n"], scale: float, x_o: float, gamma_o: float, asym: float +) -> Float[Array, "n"]: + """ + Modified Drude function to have a variable asymmetry. Drude profiles + are intrinsically asymmetric with the asymmetry fixed by specific central + wavelength and width. This modified Drude introduces an asymmetry + parameter that allows for variable asymmetry at fixed central wavelength + and width. + + Parameters + ---------- + x : ndarray + input wavelengths + + scale : float + central amplitude + + x_o : float + central wavelength + + gamma_o : float + full-width-half-maximum of profile + + asym : float + asymmetry where a value of 0 results in a standard Drude profile + + Returns + ------- + y : ndarray + output profile + """ + gamma = 2.0 * gamma_o / (1.0 + jnp.exp(asym * (x - x_o))) + y = scale * ((gamma / x_o) ** 2) / ((x / x_o - x_o / x) ** 2 + (gamma / x_o) ** 2) + + return y + + +@jaxtyped(typechecker=typechecker) +def FM90( + x: Float[Array, "n"], + C1: float = 0.10, + C2: float = 0.70, + C3: float = 3.23, + C4: float = 0.41, + xo: float = 4.59, + gamma: float = 0.95, +) -> Float[Array, "n"]: + r""" + Fitzpatrick & Massa (1990) 6 parameter ultraviolet shape model + + Parameters + ---------- + x: float + wavenumber x in units of [1/micron] + + C1: float + y-intercept of linear term + + C2: float + slope of liner term + + C3: float + strength of "2175 A" bump (true amplitude is C3/gamma^2) + + C4: float + amplitude of FUV rise + + xo: float + centroid of "2175 A" bump + + gamma: float + width of "2175 A" bump + + Returns + ------- + exvebv: np array (float) + E(x-V)/E(B-V) extinction curve [mag] + + Raises + ------ + ValueError + Input x values outside of defined range + + Notes + ----- + From Fitzpatrick & Massa (1990, ApJS, 72, 163) + + Only applicable at UV wavelengths + + Example showing a FM90 curve with components identified. + + .. plot:: + :include-source: + + import numpy as np + import matplotlib.pyplot as plt + import astropy.units as u + + from rubix.spectra.dust.extinction_models import FM90 + + fig, ax = plt.subplots() + + # generate the curves and plot them + x = np.arange(3.8,8.6,0.1)/u.micron + + ext_model = FM90(x=x) + ax.plot(x,ext_model,label='total') + + ext_model = FM90(x=x, C3=0.0, C4=0.0) + ax.plot(x,ext_model,label='linear term') + + ext_model = FM90(x=x, C1=0.0, C2=0.0, C4=0.0) + ax.plot(x,ext_model,label='bump term') + + ext_model = FM90(x=x, C1=0.0, C2=0.0, C3=0.0) + ax.plot(x,ext_model,label='FUV rise term') + + ax.set_xlabel(r'$x$ [$\mu m^{-1}$]') + ax.set_ylabel(r'$E(\lambda - V)/E(B - V)$') + + # for 2nd x-axis with lambda values + axis_xs = np.array([0.12, 0.15, 0.2, 0.3]) + new_ticks = 1 / axis_xs + new_ticks_labels = ["%.2f" % z for z in axis_xs] + tax = ax.twiny() + tax.set_xlim(ax.get_xlim()) + tax.set_xticks(new_ticks) + tax.set_xticklabels(new_ticks_labels) + tax.set_xlabel(r"$\lambda$ [$\mu$m]") + + ax.legend(loc='best') + plt.show() + """ + + # Define bounds based on Gordon et al. (2024) results + bounds = { + "C1": (-10.0, 5.0), + "C2": (-0.1, 5.0), + "C3": (-1.0, 6.0), + "C4": (-0.5, 1.5), + "xo": (4.5, 4.9), + "gamma": (0.6, 1.7), + } + + # Check if parameters are within bounds + if not (bounds["C1"][0] <= C1 <= bounds["C1"][1]): + raise ValueError(f"C1 is out of bounds: {C1}") + if not (bounds["C2"][0] <= C2 <= bounds["C2"][1]): + raise ValueError(f"C2 is out of bounds: {C2}") + if not (bounds["C3"][0] <= C3 <= bounds["C3"][1]): + raise ValueError(f"C3 is out of bounds: {C3}") + if not (bounds["C4"][0] <= C4 <= bounds["C4"][1]): + raise ValueError(f"C4 is out of bounds: {C4}") + if not (bounds["xo"][0] <= xo <= bounds["xo"][1]): + raise ValueError(f"xo is out of bounds: {xo}") + if not (bounds["gamma"][0] <= gamma <= bounds["gamma"][1]): + raise ValueError(f"gamma is out of bounds: {gamma}") + + x_range = [1 / 0.35, 1 / 0.09] + # test_valid_x_range(x, x_range, "FM90") + + # linear term + exvebv = C1 + C2 * x + + # bump term + x2 = x**2 + exvebv += C3 * (x2 / ((x2 - xo**2) ** 2 + x2 * (gamma**2))) + + # FUV rise term + fnuv_mask = x >= 5.9 + y = jnp.where(fnuv_mask, x - 5.9, 0.0) + exvebv = jnp.where( + fnuv_mask, exvebv + C4 * (0.5392 * (y**2) + 0.05644 * (y**3)), exvebv + ) + + # return E(x-V)/E(B-V) + return exvebv diff --git a/rubix/spectra/dust/helpers.py b/rubix/spectra/dust/helpers.py new file mode 100644 index 00000000..1139e32f --- /dev/null +++ b/rubix/spectra/dust/helpers.py @@ -0,0 +1,107 @@ +from typing import Tuple + +import jax +import jax.numpy as jnp +from beartype import beartype as typechecker +from jaxtyping import Array, Float, jaxtyped + +# from jax.scipy.special import comb +from scipy.special import ( # whenever there is a jax version of comb, replace this!!! + comb, +) + +# Might come soon according to this github PR: https://github.com/jax-ml/jax/pull/18389 + + +def test_valid_x_range( + wave: Float[Array, "n"], wave_range: Float[Array, "2"], outname: str +) -> None: # pragma no cover + """ + Test if the input wavelength is within the valid range of the model. + + Parameters + ---------- + wave : Float[Array, "n"] + The input wavelength to test. + + wave_range : Float[Array, "2"] + The valid range of the model. + + outname : str + The name of the model for error message. + + Returns + ------- + None + """ + + deltacheck = 1e-6 # delta to allow for small numerical issues + + # if jnp.logical_or( + # jnp.any(wave <= (wave_range[0] - deltacheck)), jnp.any(wave >= (wave_range[1] + deltacheck)) + # ): + # raise ValueError( + # "Input wave outside of range defined for " + # + outname + # + " [" + # + str(wave_range[0]) + # + " <= wave <= " + # + str(wave_range[1]) + # + ", wave has units 1/micron]" + # ) + def true_fn(_): + raise ValueError( + f"Input wave (min: {jnp.min(wave)}, max: {jnp.max(wave)}) outside of range defined for {outname} [{wave_range[0]} <= wave <= {wave_range[1]}, wave has units 1/micron]." + ) + + def false_fn(_): + return None + + condition = jnp.logical_or( + jnp.any(wave <= (wave_range[0] - deltacheck)), + jnp.any(wave >= (wave_range[1] + deltacheck)), + ) + jax.lax.cond(condition, true_fn, false_fn, operand=None) + + +@jaxtyped(typechecker=typechecker) +def _smoothstep( + x: Float[Array, "n_wave"], x_min: float = 0, x_max: float = 1, N: int = 1 +) -> Float[Array, "n_wave"]: + """ + Smoothstep function. This function is a polynomial approximation to the smoothstep function. + The smoothstep function is a function commonly used in computer graphics to interpolate smoothly between two values. + """ + x = jnp.clip((x - x_min) / (x_max - x_min), 0, 1) + + result = 0 + for n in range(0, N + 1): + result += comb(N + n, n) * comb(2 * N + 1, N - n) * (-x) ** n + + result *= x ** (N + 1) + + return result + + +@jaxtyped(typechecker=typechecker) +def poly_map_domain( + oldx: Float[Array, "n"], domain: Tuple[float, float], window: Tuple[float, float] +) -> Float[Array, "n"]: + """ + Map domain into window by shifting and scaling. + + Parameters + ---------- + oldx : array + original coordinates + domain : tuple of length 2 + function domain + window : tuple of length 2 + range into which to map the domain + """ + domain = jnp.array(domain) + window = jnp.array(window) + + scl = (window[1] - window[0]) / (domain[1] - domain[0]) + off = (window[0] * domain[1] - window[1] * domain[0]) / (domain[1] - domain[0]) + return off + scl * oldx diff --git a/rubix/spectra/ifu.py b/rubix/spectra/ifu.py index 9e2a5a48..483106b2 100644 --- a/rubix/spectra/ifu.py +++ b/rubix/spectra/ifu.py @@ -1,12 +1,12 @@ -import jax.numpy as jnp +from typing import Union + import jax -from rubix import config -from jaxtyping import Float, Array +import jax.numpy as jnp import numpy as np - -from typing import Union -from jaxtyping import Array, Float, Int, jaxtyped from beartype import beartype as typechecker +from jaxtyping import Array, Float, Int, jaxtyped + +from rubix import config @jaxtyped(typechecker=typechecker) @@ -185,7 +185,12 @@ def _velocity_doppler_shift_single( """ velocity = get_velocity_component(velocity, direction) # Calculate the Doppler shift of a wavelength due to a velocity + # print(velocity/SPEED_OF_LIGHT) + # classic dopplershift, which is approximated 1 + v/c return wavelength * jnp.exp(velocity / SPEED_OF_LIGHT) + # relativistic dopplershift + # return wavelength * jnp.sqrt((1 + velocity / SPEED_OF_LIGHT) / (1 - velocity / SPEED_OF_LIGHT)) + # return wavelength @jaxtyped(typechecker=typechecker) diff --git a/rubix/spectra/ssp/factory.py b/rubix/spectra/ssp/factory.py index e68fc39b..69f2e7c6 100644 --- a/rubix/spectra/ssp/factory.py +++ b/rubix/spectra/ssp/factory.py @@ -1,12 +1,12 @@ -from rubix.utils import read_yaml -from rubix.spectra.ssp.grid import SSPGrid, HDF5SSPGrid, pyPipe3DSSPGrid -from rubix.spectra.ssp.fsps_grid import write_fsps_data_to_disk +from beartype import beartype as typechecker +from jaxtyping import Array, Float, jaxtyped + from rubix import config as rubix_config -from rubix.paths import TEMPLATE_PATH from rubix.logger import get_logger - -from jaxtyping import Array, Float, jaxtyped -from beartype import beartype as typechecker +from rubix.paths import TEMPLATE_PATH +from rubix.spectra.ssp.fsps_grid import write_fsps_data_to_disk +from rubix.spectra.ssp.grid import HDF5SSPGrid, SSPGrid, pyPipe3DSSPGrid +from rubix.utils import read_yaml @jaxtyped(typechecker=typechecker) @@ -44,7 +44,20 @@ def get_ssp_template(template: str) -> SSPGrid: return pyPipe3DSSPGrid.from_file(config[template], file_location=TEMPLATE_PATH) elif config[template]["format"].lower() == "fsps": if config[template]["source"] == "load_from_file": - return HDF5SSPGrid.from_file(config[template], file_location=TEMPLATE_PATH) + try: + return HDF5SSPGrid.from_file( + config[template], file_location=TEMPLATE_PATH + ) + except FileNotFoundError: + logger.warning( + "The FSPS SSP template file is not found. Running FSPS to generate SSP templates." + ) + write_fsps_data_to_disk( + config[template]["file_name"], file_location=TEMPLATE_PATH + ) + return HDF5SSPGrid.from_file( + config[template], file_location=TEMPLATE_PATH + ) elif config[template]["source"] == "rerun_from_scratch": logger.info( "Running fsps to generate SSP templates. This may take a while." diff --git a/rubix/spectra/ssp/fsps_grid.py b/rubix/spectra/ssp/fsps_grid.py index 4dae3c83..f190b699 100644 --- a/rubix/spectra/ssp/fsps_grid.py +++ b/rubix/spectra/ssp/fsps_grid.py @@ -1,16 +1,20 @@ """Use python-fsps to retrieve a block of Simple Stellar Population (SSP) data -adapted from https://github.com/ArgonneCPAC/dsps/blob/main/dsps/data_loaders/retrieve_fsps_data.py""" +adapted from https://github.com/ArgonneCPAC/dsps/blob/main/dsps/data_loaders/retrieve_fsps_data.py +""" +import importlib +import os + +import h5py import numpy as np -from rubix.logger import get_logger +from beartype import beartype as typechecker +from jaxtyping import Array, Float, jaxtyped + from rubix import config as rubix_config +from rubix.logger import get_logger from rubix.paths import TEMPLATE_PATH -import h5py -import os -import importlib + from .grid import SSPGrid -from jaxtyping import Array, Float, jaxtyped -from beartype import beartype as typechecker # Setup a logger based on the config logger = get_logger() @@ -108,9 +112,16 @@ def retrieve_ssp_data_from_fsps( _wave, _fluxes = sp.get_spectrum(zmet=zmet, tage=tage, peraa=peraa) spectrum_collector.append(_fluxes) ssp_wave = np.array(_wave) + # Adjust the wavelength grid to the bin centers: + # The offset is calculated as half the difference between _wave[1] and _wave[0], + # which dynamically depends on the input spectrum. For example, if the difference is 3 Å, + # the offset would be 1.5 Å. To test that the centering is correct, we can look at the + # position of the Halpha line at 6563 Å. + offset = (_wave[1] - _wave[0]) / 2.0 + ssp_wave_centered = ssp_wave - offset ssp_flux = np.array(spectrum_collector) - grid = SSPGrid(ssp_lg_age_gyr, ssp_lgmet, ssp_wave, ssp_flux) + grid = SSPGrid(ssp_lg_age_gyr, ssp_lgmet, ssp_wave_centered, ssp_flux) grid.__class__.__name__ = config["name"] return grid diff --git a/rubix/spectra/ssp/grid.py b/rubix/spectra/ssp/grid.py index 98259e21..6800c23f 100644 --- a/rubix/spectra/ssp/grid.py +++ b/rubix/spectra/ssp/grid.py @@ -1,18 +1,20 @@ +import os +from dataclasses import dataclass, fields +from typing import List, Tuple, Union + import equinox as eqx +import h5py import jax.numpy as jnp +import requests from astropy import units as u from astropy.io import fits -import os -import h5py -import requests -from rubix import config as rubix_config -from rubix.logger import get_logger +from beartype import beartype as typechecker from interpax import interp2d from jax.tree_util import Partial -from dataclasses import dataclass, fields -from typing import List, Tuple, Union -from jaxtyping import Int, Array, Float, jaxtyped -from beartype import beartype as typechecker +from jaxtyping import Array, Float, Int, jaxtyped + +from rubix import config as rubix_config +from rubix.logger import get_logger SSP_UNITS = rubix_config["ssp"]["units"] diff --git a/rubix/spectra/ssp/templates/fsps.h5 b/rubix/spectra/ssp/templates/fsps.h5 new file mode 100644 index 00000000..7769a31f Binary files /dev/null and b/rubix/spectra/ssp/templates/fsps.h5 differ diff --git a/rubix/telescope/apertures.py b/rubix/telescope/apertures.py index b9021ef5..e738cb16 100644 --- a/rubix/telescope/apertures.py +++ b/rubix/telescope/apertures.py @@ -1,12 +1,9 @@ -""" This class defines the aperture mask for the observation of a galaxy. +"""This class defines the aperture mask for the observation of a galaxy.""" -""" - -import numpy as np -from jaxtyping import Array, Float import jax.numpy as jnp -from jaxtyping import Array, Float, jaxtyped +import numpy as np from beartype import beartype as typechecker +from jaxtyping import Array, Float, jaxtyped __all__ = ["HEXAGONAL_APERTURE", "SQUARE_APERTURE", "CIRCULAR_APERTURE"] diff --git a/rubix/telescope/base.py b/rubix/telescope/base.py index f2761f4c..91bda2a5 100644 --- a/rubix/telescope/base.py +++ b/rubix/telescope/base.py @@ -1,9 +1,9 @@ from typing import List, Optional, Union -from jaxtyping import Int, Float, Array, jaxtyped -from beartype import beartype as typechecker -import numpy as np import equinox as eqx +import numpy as np +from beartype import beartype as typechecker +from jaxtyping import Array, Float, Int, jaxtyped @jaxtyped(typechecker=typechecker) diff --git a/rubix/telescope/factory.py b/rubix/telescope/factory.py index bc797215..79dcde28 100644 --- a/rubix/telescope/factory.py +++ b/rubix/telescope/factory.py @@ -1,17 +1,19 @@ +import os +import warnings +from typing import Optional, Union + import numpy as np +from beartype import beartype as typechecker +from jaxtyping import jaxtyped + from rubix.telescope.apertures import ( - SQUARE_APERTURE, CIRCULAR_APERTURE, HEXAGONAL_APERTURE, + SQUARE_APERTURE, ) from rubix.telescope.base import BaseTelescope from rubix.telescope.utils import calculate_wave_edges, calculate_wave_seq from rubix.utils import read_yaml -import os -import warnings -from typing import Optional, Union -from jaxtyping import Float, Array, jaxtyped -from beartype import beartype as typechecker PATH = os.path.dirname(os.path.abspath(__file__)) TELESCOPE_CONFIG_PATH = os.path.join(PATH, "telescopes.yaml") diff --git a/rubix/telescope/filters/__init__.py b/rubix/telescope/filters/__init__.py index ac51f92f..95fed769 100644 --- a/rubix/telescope/filters/__init__.py +++ b/rubix/telescope/filters/__init__.py @@ -1 +1 @@ -from .filters import * \ No newline at end of file +from .filters import * diff --git a/rubix/telescope/filters/filters.py b/rubix/telescope/filters/filters.py index dab1c2f6..1fe3787f 100644 --- a/rubix/telescope/filters/filters.py +++ b/rubix/telescope/filters/filters.py @@ -1,13 +1,15 @@ +import os +from typing import List, Optional, Union + import equinox as eqx import jax.numpy as jnp import matplotlib.pyplot as plt -from jaxtyping import Array, Float -from typing import List, Union, Optional -from rubix.paths import FILTERS_PATH -from rubix.logger import get_logger from astropy.table import Table from astroquery.svo_fps import SvoFps -import os +from jaxtyping import Array, Float + +from rubix.logger import get_logger +from rubix.paths import FILTERS_PATH _logger = get_logger() @@ -337,15 +339,13 @@ def _load_filter_list_for_instrument( for ID in filter_table["filterID"]: if ID.startswith(filter_prefix): # filter_data = filter_table.loc[ID] - #tmp_ID = ID.split("/")[-1] + # tmp_ID = ID.split("/")[-1] # check if the filter file is present on disk # if not, download it from the SVO Filter Profile Service # and save it to the specified path # this is needed if from the previous run the specific filters were not saved to disk or only the instrument table was saved. if not os.path.exists(f"{filter_dir}/{ID}.csv"): - _logger.info( - f"Filter file {ID}.csv not found in {filter_dir}." - ) + _logger.info(f"Filter file {ID}.csv not found in {filter_dir}.") _logger.info( f"Start downloading telescope filter files for {filter_prefix}." ) @@ -476,7 +476,9 @@ def print_filter_list_info(facility: str, instrument: Optional[str] = None): print(filter_list.info) -def print_filter_property(facility: str, filter_name: str, instrument: Optional[str] = None): +def print_filter_property( + facility: str, filter_name: str, instrument: Optional[str] = None +): """ Print the properties of a filter available for a given facility, instrument and filter name. If you want to see the list of all facilities and instruments, follow the link below: diff --git a/rubix/telescope/lsf/lsf.py b/rubix/telescope/lsf/lsf.py index 5116f025..92a2375d 100644 --- a/rubix/telescope/lsf/lsf.py +++ b/rubix/telescope/lsf/lsf.py @@ -4,9 +4,9 @@ """ import jax.numpy as jnp -from jax.scipy.signal import convolve from jax import vmap -from jaxtyping import Float, Array +from jax.scipy.signal import convolve +from jaxtyping import Array, Float def gaussian1d(x: Float[Array, " n_x"], sigma: float) -> Float[Array, " n_x"]: diff --git a/rubix/telescope/noise/noise.py b/rubix/telescope/noise/noise.py index 40646021..774ed45e 100644 --- a/rubix/telescope/noise/noise.py +++ b/rubix/telescope/noise/noise.py @@ -1,6 +1,5 @@ import jax.numpy as jnp from jax import random as jrandom - from jaxtyping import Array, Float SUPPORTED_NOISE_DISTRIBUTIONS = ["normal", "uniform"] diff --git a/rubix/telescope/psf/kernels.py b/rubix/telescope/psf/kernels.py index 59c4376c..24f3db72 100644 --- a/rubix/telescope/psf/kernels.py +++ b/rubix/telescope/psf/kernels.py @@ -1,5 +1,5 @@ import jax.numpy as jnp -from jaxtyping import Float, Array +from jaxtyping import Array, Float def gaussian_kernel_2d(m: int, n: int, sigma: float) -> Float[Array, "m n"]: diff --git a/rubix/telescope/psf/psf.py b/rubix/telescope/psf/psf.py index 3e8dc8d8..cdf8b584 100644 --- a/rubix/telescope/psf/psf.py +++ b/rubix/telescope/psf/psf.py @@ -1,7 +1,8 @@ import jax.numpy as jnp +from jax import vmap from jax.scipy.signal import convolve2d from jaxtyping import Array, Float -from jax import vmap + from .kernels import gaussian_kernel_2d diff --git a/rubix/telescope/telescopes.yaml b/rubix/telescope/telescopes.yaml index d833797f..1f191807 100644 --- a/rubix/telescope/telescopes.yaml +++ b/rubix/telescope/telescopes.yaml @@ -9,6 +9,26 @@ MUSE: aperture_type: "square" pixel_type: "square" +MUSE_WFM: + fov: 60.0 + spatial_res: 0.2 + wave_range: [4700.15, 9351.4] + wave_res: 1.25 + lsf_fwhm: 2.51 + signal_to_noise: null + aperture_type: "square" + pixel_type: "square" + +MUSE_ultraWFM: + fov: 180.0 + spatial_res: 0.2 + wave_range: [4700.15, 9351.4] + wave_res: 1.25 + lsf_fwhm: 2.51 + signal_to_noise: null + aperture_type: "square" + pixel_type: "square" + NIRSpec_PRISM_CLEAR: fov: 3.0 spatial_res: 0.1 diff --git a/rubix/telescope/utils.py b/rubix/telescope/utils.py index 2a571e7b..939604bc 100644 --- a/rubix/telescope/utils.py +++ b/rubix/telescope/utils.py @@ -1,10 +1,11 @@ +from typing import List, Tuple, Union + import jax.numpy as jnp import numpy as np -from rubix.cosmology.base import BaseCosmology -from typing import Tuple, List -from jaxtyping import Float, Array, Bool, Int, jaxtyped from beartype import beartype as typechecker -from typing import Union +from jaxtyping import Array, Bool, Float, Int, jaxtyped + +from rubix.cosmology.base import BaseCosmology @jaxtyped(typechecker=typechecker) diff --git a/rubix/units.py b/rubix/units.py index 6a7b1448..31b8337d 100644 --- a/rubix/units.py +++ b/rubix/units.py @@ -2,4 +2,4 @@ # Define custom units here Zsun = u.def_unit("Zsun", u.dimensionless_unscaled) -u.add_enabled_units(Zsun) \ No newline at end of file +u.add_enabled_units(Zsun) diff --git a/rubix/utils.py b/rubix/utils.py index dff53a23..07cf77d7 100644 --- a/rubix/utils.py +++ b/rubix/utils.py @@ -1,10 +1,11 @@ # Description: Utility functions for Rubix import os -from astropy.cosmology import Planck15 as cosmo -import yaml -import h5py from typing import Dict, Union +import h5py +import yaml +from astropy.cosmology import Planck15 as cosmo + def get_config(config: Union[str, Dict]) -> Dict: """ diff --git a/setup.py b/setup.py index b024da80..60684932 100644 --- a/setup.py +++ b/setup.py @@ -1,4 +1,3 @@ from setuptools import setup - setup() diff --git a/tests/test_apertures.py b/tests/test_apertures.py index f97080e4..c6d1e257 100644 --- a/tests/test_apertures.py +++ b/tests/test_apertures.py @@ -1,10 +1,11 @@ -import pytest # type: ignore # noqa import jax.numpy as jnp import numpy as np +import pytest # type: ignore # noqa + from rubix.telescope.apertures import ( + CIRCULAR_APERTURE, HEXAGONAL_APERTURE, SQUARE_APERTURE, - CIRCULAR_APERTURE, ) diff --git a/tests/test_core_cosmology.py b/tests/test_core_cosmology.py index a7eb0cbf..c0054ab2 100644 --- a/tests/test_core_cosmology.py +++ b/tests/test_core_cosmology.py @@ -1,6 +1,7 @@ import pytest -from rubix.cosmology import RubixCosmology, PLANCK15 + from rubix.core.cosmology import get_cosmology +from rubix.cosmology import PLANCK15, RubixCosmology def test_get_cosmology_planck15(): diff --git a/tests/test_core_data.py b/tests/test_core_data.py index 6b37f2b1..70082b77 100644 --- a/tests/test_core_data.py +++ b/tests/test_core_data.py @@ -1,15 +1,19 @@ -from unittest.mock import MagicMock, Mock, patch, call +from unittest.mock import MagicMock, Mock, call, patch import jax import jax.numpy as jnp + from rubix.core.data import ( + Galaxy, + GasData, + RubixData, + StarsData, convert_to_rubix, + get_reshape_data, + get_rubix_data, prepare_input, reshape_array, - get_rubix_data, - get_reshape_data, ) -from rubix.core.data import RubixData, Galaxy, StarsData, GasData # Mock configuration for tests config_dict = { @@ -139,7 +143,6 @@ def test_prepare_input(mock_center_particles, mock_path_join): ) - @patch("rubix.core.data.os.path.join") @patch("rubix.core.data.center_particles") @patch("rubix.core.data.get_logger") diff --git a/tests/test_core_ifu.py b/tests/test_core_ifu.py index 2f1f391b..4dd948fc 100644 --- a/tests/test_core_ifu.py +++ b/tests/test_core_ifu.py @@ -2,16 +2,16 @@ import jax.numpy as jnp import numpy as np -from rubix.spectra.ifu import resample_spectrum -from rubix.core.data import reshape_array, RubixData, Galaxy, StarsData, GasData -from rubix.core.ssp import get_ssp +from rubix.core.data import Galaxy, GasData, RubixData, StarsData, reshape_array from rubix.core.ifu import ( get_calculate_spectra, - get_scale_spectrum_by_mass, - get_resample_spectrum_vmap, - get_resample_spectrum_pmap, get_doppler_shift_and_resampling, + get_resample_spectrum_pmap, + get_resample_spectrum_vmap, + get_scale_spectrum_by_mass, ) +from rubix.core.ssp import get_ssp +from rubix.spectra.ifu import resample_spectrum RTOL = 1e-4 ATOL = 1e-6 diff --git a/tests/test_core_lsf.py b/tests/test_core_lsf.py index df915496..ff043736 100644 --- a/tests/test_core_lsf.py +++ b/tests/test_core_lsf.py @@ -1,6 +1,7 @@ +import jax.numpy as jnp import pytest + from rubix.core.lsf import get_convolve_lsf -import jax.numpy as jnp def test_get_convolve_lsf_missing_lsf_key(): diff --git a/tests/test_core_pipeline.py b/tests/test_core_pipeline.py index cab8b79b..1f6430a6 100644 --- a/tests/test_core_pipeline.py +++ b/tests/test_core_pipeline.py @@ -1,12 +1,13 @@ -import pytest -from unittest.mock import patch, MagicMock +import os # noqa +from unittest.mock import MagicMock, patch + import jax.numpy as jnp +import pytest + from rubix.core.pipeline import RubixPipeline from rubix.spectra.ssp.grid import SSPGrid from rubix.telescope.base import BaseTelescope -import os # noqa - # Dummy data functions def dummy_get_rubix_data(config): @@ -65,6 +66,13 @@ def setup_environment(monkeypatch): }, "ssp": { "template": {"name": "BruzualCharlot2003"}, + "dust": { + "extinction_model": "Cardelli89", # "Gordon23", + "dust_to_gas_ratio": 0.01, # need to check Remyer's paper + "dust_to_metals_ratio": 0.4, # do we need this ratio if we set the dust_to_gas_ratio? + "dust_grain_density": 3.5, # g/cm^3 #check this value + "Rv": 3.1, + }, }, } diff --git a/tests/test_core_psf.py b/tests/test_core_psf.py index a18569ea..51c58326 100644 --- a/tests/test_core_psf.py +++ b/tests/test_core_psf.py @@ -1,4 +1,5 @@ import pytest + from rubix.core.psf import get_convolve_psf diff --git a/tests/test_core_rotation.py b/tests/test_core_rotation.py index 96aa154c..5e74f8f8 100644 --- a/tests/test_core_rotation.py +++ b/tests/test_core_rotation.py @@ -1,4 +1,5 @@ import pytest + from rubix.core.rotation import get_galaxy_rotation diff --git a/tests/test_core_ssp.py b/tests/test_core_ssp.py index 1b97fdf7..ccbe950a 100644 --- a/tests/test_core_ssp.py +++ b/tests/test_core_ssp.py @@ -1,13 +1,14 @@ +import jax.numpy as jnp import pytest + +from rubix import config from rubix.core.data import reshape_array from rubix.core.ssp import ( get_lookup_interpolation, - get_ssp, - get_lookup_interpolation_vmap, get_lookup_interpolation_pmap, + get_lookup_interpolation_vmap, + get_ssp, ) -from rubix import config -import jax.numpy as jnp ssp_config = config["ssp"] supported_templates = ssp_config["templates"] diff --git a/tests/test_core_telescope.py b/tests/test_core_telescope.py index 07f1df0a..5767c6c2 100644 --- a/tests/test_core_telescope.py +++ b/tests/test_core_telescope.py @@ -1,13 +1,15 @@ +from typing import cast +from unittest.mock import MagicMock, patch + +import jax.numpy as jnp import pytest + from rubix.core.telescope import ( + get_spatial_bin_edges, get_spaxel_assignment, get_telescope, - get_spatial_bin_edges, ) from rubix.telescope.base import BaseTelescope -from unittest.mock import patch, MagicMock -from typing import cast -import jax.numpy as jnp class MockRubixData: diff --git a/tests/test_cosmology.py b/tests/test_cosmology.py index 185d0a8d..fa8b05a3 100644 --- a/tests/test_cosmology.py +++ b/tests/test_cosmology.py @@ -1,6 +1,7 @@ import pytest -from jax import numpy as jnp from astropy.cosmology import Planck15 as astropy_cosmo +from jax import numpy as jnp + from rubix.cosmology import PLANCK15 as rubix_cosmo # Define the cosmological parameters similar to the ones used in the BaseCosmology class diff --git a/tests/test_debug.py b/tests/test_debug.py index 2e7a7cc5..2cad7efc 100644 --- a/tests/test_debug.py +++ b/tests/test_debug.py @@ -1,9 +1,10 @@ import h5py import jax.numpy as jnp -from rubix.debug import ( - random_data, + +from rubix.debug import ( # Adjust the import based on your actual file structure create_dummy_rubix, -) # Adjust the import based on your actual file structure + random_data, +) from rubix.utils import print_hdf5_file_structure diff --git a/tests/test_dust_classes.py b/tests/test_dust_classes.py new file mode 100644 index 00000000..f064eccb --- /dev/null +++ b/tests/test_dust_classes.py @@ -0,0 +1,192 @@ +import jax.numpy as jnp +import pytest + +from rubix.spectra.dust.extinction_models import Cardelli89, Gordon23 +from rubix.spectra.dust.generic_models import ( + FM90, + Drude1d, + Polynomial1d, + PowerLaw1d, + _modified_drude, +) + + +def test_PowerLaw1d(): + x = jnp.array([1.0, 2.0, 3.0]) + amplitude = 2.0 + x_0 = 1.0 + alpha = 1.0 + expected = jnp.array([2.0, 1.0, 0.66666667]) + result = PowerLaw1d(x, amplitude, x_0, alpha) + assert jnp.allclose(result, expected), f"Expected {expected}, but got {result}" + + +def test_Polynomial1d(): + x = jnp.array([1.0, 2.0, 3.0]) + coeffs = jnp.array([1.0, 2.0, 3.0]) + expected = jnp.array([6.0, 17.0, 34.0]) + result = Polynomial1d(x, coeffs) + assert jnp.allclose(result, expected), f"Expected {expected}, but got {result}" + + +def test_Polynomial1d_single_coefficient(): + x = jnp.array([1.0, 2.0, 3.0]) + coeffs = jnp.array([1.0]) + expected = jnp.array([1.0, 1.0, 1.0]) + result = Polynomial1d(x, coeffs) + assert jnp.allclose(result, expected), f"Expected {expected}, but got {result}" + + +def test_Drude1d(): + x = jnp.array([1.0, 2.0, 3.0]) + amplitude = 1.0 + x_0 = 1.0 + fwhm = 1.0 + expected = jnp.array([1.0, 0.30769232, 0.12328766]) + result = Drude1d(x, amplitude, x_0, fwhm) + assert jnp.allclose(result, expected), f"Expected {expected}, but got {result}" + + +def test_Drude1d_value_error(): + x = jnp.array([1.0, 2.0, 3.0]) + amplitude = 1.0 + x_0 = 0.0 + fwhm = 1.0 + expected = jnp.array([1.0, 0.30769232, 0.12328766]) + with pytest.raises(ValueError, match="0 is not an allowed value for x_0"): + result = Drude1d(x, amplitude, x_0, fwhm) + + +def test_modified_drude(): + x = jnp.array([1.0, 2.0, 3.0]) + scale = 1.0 + x_o = 1.0 + gamma_o = 1.0 + asym = 0.0 + expected = jnp.array([1.0, 0.30769232, 0.12328766]) + result = _modified_drude(x, scale, x_o, gamma_o, asym) + assert jnp.allclose(result, expected), f"Expected {expected}, but got {result}" + + +def test_FM90(): + x = jnp.array([4.0, 5.0, 6.0]) + C1 = 0.10 + C2 = 0.70 + C3 = 3.23 + C4 = 0.41 + xo = 4.59 + gamma = 0.95 + expected = jnp.array([4.1879544, 5.723751, 4.7574277]) + result = FM90(x, C1, C2, C3, C4, xo, gamma) + assert jnp.allclose(result, expected), f"Expected {expected}, but got {result}" + + +def test_FM90_value_errors(): + x = jnp.array([4.0, 5.0, 6.0]) + + # Test C1 out of bounds + with pytest.raises(ValueError, match="C1 is out of bounds: 6.0"): + FM90(x, C1=6.0, C2=0.5, C3=3.0, C4=0.5, xo=4.5, gamma=0.5) + + # Test C2 out of bounds + with pytest.raises(ValueError, match="C2 is out of bounds: -1.5"): + FM90(x, C1=0.0, C2=-1.5, C3=3.0, C4=0.5, xo=4.5, gamma=0.5) + + # Test C3 out of bounds + with pytest.raises(ValueError, match="C3 is out of bounds: 7.0"): + FM90(x, C1=0.0, C2=0.5, C3=7.0, C4=0.5, xo=4.5, gamma=0.5) + + # Test C4 out of bounds + with pytest.raises(ValueError, match="C4 is out of bounds: -1.5"): + FM90(x, C1=0.0, C2=0.5, C3=3.0, C4=-1.5, xo=4.5, gamma=0.5) + + # Test xo out of bounds + with pytest.raises(ValueError, match="xo is out of bounds: 5.5"): + FM90(x, C1=0.0, C2=0.5, C3=3.0, C4=0.5, xo=5.5, gamma=0.5) + + # Test gamma out of bounds + with pytest.raises(ValueError, match="gamma is out of bounds: 0.1"): + FM90(x, C1=0.0, C2=0.5, C3=3.0, C4=0.5, xo=4.5, gamma=0.1) + + +def test_cardelli89_evaluate(): + # Test with a sample wavelength array + wave = jnp.array([0.5, 1.0, 2.0, 3.0, 5.0, 8.0, 10.0]) + model = Cardelli89(Rv=3.1) + result = model.evaluate(wave) + + # Check the shape of the result + assert result.shape == wave.shape + + # Check the values are within expected range + assert jnp.all(result >= 0) + assert jnp.all(result <= 10) + + +def test_cardelli89_no_AV_noEbv(): + # Test with a sample wavelength array + wave = jnp.array([0.5, 1.0, 2.0, 3.0, 5.0, 8.0, 10.0]) + model = Cardelli89(Rv=3.1) + with pytest.raises( + ValueError, match="neither Av or Ebv passed, one of them is required!" + ): + result = model.extinguish(wave) + + +def test_cardelli89_no_AV(): + # Test with a sample wavelength array + wave = jnp.array([0.5, 1.0, 2.0, 3.0, 5.0, 8.0, 10.0]) + model = Cardelli89(Rv=3.1) + result = model.extinguish(wave, Ebv=1.0) + + # Calculate expected extinction values + Av = 3.1 * 1.0 # Since Ebv=1.0, Av = Rv * Ebv = 3.1 * 1.0 = 3.1 + expected = ( + model.evaluate(wave) * Av + ) # Since Ebv=1.0, Av = Rv * Ebv = 3.1 * 1.0 = 3.1 + expected_extinction = jnp.power(10.0, -0.4 * expected) + + assert jnp.allclose( + result, expected_extinction + ) # , f"Expected {expected_extinction}, but got {result}" + + +def test_gordon23_evaluate(): + # Test with a sample wavelength array + wave = jnp.array([0.1, 0.3, 0.5, 1.0, 2.0, 5.0, 10.0, 20.0, 30.0]) + model = Gordon23(Rv=3.1) + result = model.evaluate(wave) + + # Check the shape of the result + assert result.shape == wave.shape + + # Check the values are within expected range + assert jnp.all(result >= 0) + assert jnp.all(result <= 10) + + +""" +def test_cardelli89_invalid_rv(): + # Test with an invalid Rv value + with pytest.raises(ValueError): + model = Cardelli89(Rv=7.0) # Rv out of range + +def test_gordon23_invalid_rv(): + # Test with an invalid Rv value + with pytest.raises(ValueError): + model = Gordon23(Rv=6.0) # Rv out of range + +def test_cardelli89_wave_out_of_range(): + # Test with a wavelength out of range + model = Cardelli89(Rv=3.1) + wave = jnp.array([0.1, 15.0]) # Out of range wavelengths + with pytest.raises(ValueError): + model.evaluate(wave) + +def test_gordon23_wave_out_of_range(): + # Test with a wavelength out of range + model = Gordon23(Rv=3.1) + wave = jnp.array([0.05, 40.0]) # Out of range wavelengths + with pytest.raises(ValueError): + model.evaluate(wave) +""" diff --git a/tests/test_dust_extinction.py b/tests/test_dust_extinction.py new file mode 100644 index 00000000..eccbad25 --- /dev/null +++ b/tests/test_dust_extinction.py @@ -0,0 +1,264 @@ +from unittest.mock import MagicMock, patch + +import jax.numpy as jnp +import pytest + +from rubix.core.data import RubixData +from rubix.core.dust import get_extinction +from rubix.spectra.dust.dust_extinction import ( + apply_spaxel_extinction, + calculate_dust_to_gas_ratio, +) +from rubix.spectra.dust.helpers import poly_map_domain + + +@pytest.fixture +def mock_config(): + return { + "logger": None, + "constants": { + "MASS_OF_PROTON": 1.6726219e-24, + "MSUN_TO_GRAMS": 1.989e33, + "KPC_TO_CM": 3.086e21, + }, + "ssp": { + "dust": { + "dust_grain_density": 3.0, + "extinction_model": "Cardelli89", + "Rv": 3.1, + "dust_to_gas_model": "power law slope free", + "Xco": "MW", + } + }, + } + + +@pytest.fixture +def mock_rubixdata(): + class MockGas: + def __init__(self): + self.coords = jnp.array([[[0.1, 0.2, 0.3], [0.4, 0.5, 0.6]]]) + self.pixel_assignment = jnp.array([[0, 1]]) + self.metals = jnp.array( + [[[0.01, 0.02, 0.03, 0.04, 0.05], [0.06, 0.07, 0.08, 0.09, 0.1]]] + ) + self.mass = jnp.array([[1.0, 2.0]]) + + class MockStars: + def __init__(self): + self.coords = jnp.array([[[0.1, 0.2, 0.3], [0.4, 0.5, 0.6]]]) + self.pixel_assignment = jnp.array([[0, 1]]) + self.mass = jnp.array([[1.0, 2.0]]) + self.spectra = jnp.array([[[1.0, 2.0], [3.0, 4.0]]]) + + class MockRubixData(RubixData): + def __init__(self): + self.gas = MockGas() + self.stars = MockStars() + + return MockRubixData() + + +def test_spaxel_extinction_Cardelli(mock_config, mock_rubixdata): + wavelength = jnp.array([5000.0, 6000.0]) + n_spaxels = 2 + spaxel_area = jnp.array([1.0, 1.0]) + + result = apply_spaxel_extinction( + mock_config, mock_rubixdata, wavelength, n_spaxels, spaxel_area + ) + + assert result.shape == (1, 2, 2) + assert jnp.all(result >= 0) + + +@pytest.fixture +def mock_config(): + return { + "logger": None, + "constants": { + "MASS_OF_PROTON": 1.6726219e-24, + "MSUN_TO_GRAMS": 1.989e33, + "KPC_TO_CM": 3.086e21, + }, + "ssp": { + "dust": { + "dust_grain_density": 3.0, + "extinction_model": "Gordon23", + "Rv": 3.1, + "dust_to_gas_model": "power law slope free", + "Xco": "MW", + } + }, + } + + +def test_spaxel_extinction_Gordon(mock_config, mock_rubixdata): + wavelength = jnp.array([5000.0, 6000.0]) + n_spaxels = 2 + spaxel_area = jnp.array([1.0, 1.0]) + + result = apply_spaxel_extinction( + mock_config, mock_rubixdata, wavelength, n_spaxels, spaxel_area + ) + + assert result.shape == (1, 2, 2) + assert jnp.all(result >= 0) + + +@pytest.fixture +def mock_config(): + return { + "logger": None, + "constants": { + "MASS_OF_PROTON": 1.6726219e-24, + "MSUN_TO_GRAMS": 1.989e33, + "KPC_TO_CM": 3.086e21, + }, + "ssp": { + "dust": { + "dust_grain_density": 3.0, + "extinction_model": "Cardelli89", + "Rv": 3.1, + "dust_to_gas_model": "power law slope free", + "Xco": "MW", + } + }, + } + + +@pytest.fixture +def mock_rubixdata(): + class MockGas: + def __init__(self): + self.coords = jnp.array([[[0.1, 0.2, 0.3], [0.4, 0.5, 0.6]]]) + self.pixel_assignment = jnp.array([[0, 1]]) + self.metals = jnp.array( + [[[0.01, 0.02, 0.03, 0.04, 0.05], [0.06, 0.07, 0.08, 0.09, 0.1]]] + ) + self.mass = jnp.array([[1.0, 2.0]]) + + class MockStars: + def __init__(self): + self.coords = jnp.array([[[0.1, 0.2, 0.3], [0.4, 0.5, 0.6]]]) + self.pixel_assignment = jnp.array([[0, 1]]) + self.mass = jnp.array([[1.0, 2.0]]) + self.spectra = jnp.array([[[1.0, 2.0], [3.0, 4.0]]]) + + class MockRubixData(RubixData): + def __init__(self): + self.gas = MockGas() + self.stars = MockStars() + + return MockRubixData() + + +def test_calculate_dust_to_gas_ratio_power_law_slope_free_MW(): + gas_metallicity = jnp.array([8.0, 8.5]) + model = "power law slope free" + Xco = "MW" + result = calculate_dust_to_gas_ratio(gas_metallicity, model, Xco) + assert result.shape == (2,) + assert jnp.all(result >= 0) + + +def test_calculate_dust_to_gas_ratio_broken_power_law_fit_MW(): + gas_metallicity = jnp.array([8.0, 8.5]) + model = "broken power law fit" + Xco = "MW" + result = calculate_dust_to_gas_ratio(gas_metallicity, model, Xco) + assert result.shape == (2,) + assert jnp.all(result >= 0) + + +def test_calculate_dust_to_gas_ratio_power_law_slope_free_Z(): + gas_metallicity = jnp.array([8.0, 8.5]) + model = "power law slope free" + Xco = "Z" + result = calculate_dust_to_gas_ratio(gas_metallicity, model, Xco) + assert result.shape == (2,) + assert jnp.all(result >= 0) + + +def test_calculate_dust_to_gas_ratio_broken_power_law_fit_Z(): + gas_metallicity = jnp.array([8.0, 8.5]) + model = "broken power law fit" + Xco = "Z" + result = calculate_dust_to_gas_ratio(gas_metallicity, model, Xco) + assert result.shape == (2,) + assert jnp.all(result >= 0) + + +def test_invalid_extinction_model(mock_config, mock_rubixdata): + # Modify the config to use an invalid extinction model + mock_config["ssp"]["dust"]["extinction_model"] = "InvalidModel" + + wavelength = jnp.array([5000.0, 6000.0]) + n_spaxels = 2 + spaxel_area = jnp.array([1.0, 1.0]) + + with pytest.raises( + ValueError, + match="Extinction model 'InvalidModel' is not available. Choose from", + ): + apply_spaxel_extinction( + mock_config, mock_rubixdata, wavelength, n_spaxels, spaxel_area + ) + + +def test_get_extinction_raises_value_error_for_missing_dust_key(): + config = {"ssp": {}, "galaxy": {"dist_z": 0.1}} + with pytest.raises( + ValueError, match="Dust configuration not found in config file." + ): + get_extinction(config) + + +def test_get_extinction_raises_value_error_for_missing_extinction_model(): + config = {"ssp": {"dust": {}}, "galaxy": {"dist_z": 0.1}} + with pytest.raises( + ValueError, match="Extinction model not found in dust configuration." + ): + get_extinction(config) + + +@patch("rubix.core.dust.get_telescope") +@patch("rubix.core.dust.get_cosmology") +@patch("rubix.core.dust.calculate_spatial_bin_edges") +@patch("rubix.core.dust.apply_spaxel_extinction") +@patch("rubix.core.dust.get_logger") +def test_get_extinction_applies_dust_extinction( + mock_get_logger, + mock_apply_spaxel_extinction, + mock_calculate_spatial_bin_edges, + mock_get_cosmology, + mock_get_telescope, +): + mock_logger = MagicMock() + mock_get_logger.return_value = mock_logger + + mock_telescope = MagicMock() + mock_telescope.sbin = 2 + mock_telescope.wave_seq = [5000, 6000, 7000] + mock_get_telescope.return_value = mock_telescope + + mock_calculate_spatial_bin_edges.return_value = (None, 1.0) + + config = { + "ssp": {"dust": {"extinction_model": "some_model"}}, + "galaxy": {"dist_z": 0.1}, + } + + rubixdata = MagicMock(spec=RubixData) + rubixdata.stars.spectra = [1, 2, 3] + + calculate_extinction = get_extinction(config) + result = calculate_extinction(rubixdata) + + mock_logger.info.assert_called_with( + "Applying dust extinction to the spaxel data..." + ) + mock_apply_spaxel_extinction.assert_called_with( + config, rubixdata, [5000, 6000, 7000], 4, 1.0 + ) + assert result == rubixdata diff --git a/tests/test_factory.py b/tests/test_factory.py index 3d2b6666..96a0f9a5 100644 --- a/tests/test_factory.py +++ b/tests/test_factory.py @@ -1,5 +1,7 @@ +from unittest.mock import MagicMock, patch + import pytest -from unittest.mock import patch, MagicMock + from rubix.galaxy.input_handler.factory import get_input_handler diff --git a/tests/test_galaxy_alignment.py b/tests/test_galaxy_alignment.py index d8af9e84..74521d3b 100644 --- a/tests/test_galaxy_alignment.py +++ b/tests/test_galaxy_alignment.py @@ -1,15 +1,16 @@ -import pytest +import jax.numpy as jnp import numpy as np -from rubix.galaxy.alignment import center_particles +import pytest + from rubix.galaxy.alignment import ( - moment_of_inertia_tensor, - rotation_matrix_from_inertia_tensor, apply_init_rotation, - euler_rotation_matrix, apply_rotation, + center_particles, + euler_rotation_matrix, + moment_of_inertia_tensor, + rotate_galaxy, + rotation_matrix_from_inertia_tensor, ) -from rubix.galaxy.alignment import rotate_galaxy -import jax.numpy as jnp class MockRubixData: @@ -186,7 +187,15 @@ def test_rotate_galaxy(): gamma = 0.0 rotated_positions, rotated_velocities = rotate_galaxy( - positions, velocities, masses, halfmass_radius, alpha, beta, gamma + positions, + velocities, + positions, + masses, + halfmass_radius, + alpha, + beta, + gamma, + "IllustrisTNG", ) assert rotated_positions.shape == positions.shape diff --git a/tests/test_illustris_handler.py b/tests/test_illustris_handler.py index e7e22809..73cf9073 100644 --- a/tests/test_illustris_handler.py +++ b/tests/test_illustris_handler.py @@ -1,6 +1,8 @@ -import pytest +from unittest.mock import MagicMock, patch + import numpy as np -from unittest.mock import patch, MagicMock +import pytest + from rubix.galaxy import IllustrisHandler from rubix.utils import SFTtoAge @@ -114,6 +116,7 @@ def test_load_data(mock_file, mock_exists): "density": "g/cm^3", "mass": "g", "metallicity": "", + "metals": "", "sfr": "Msun/yr", "internal_energy": "erg/g", "velocity": "cm/s", diff --git a/tests/test_input_handler.py b/tests/test_input_handler.py index be5b6b7b..a7f2b80e 100644 --- a/tests/test_input_handler.py +++ b/tests/test_input_handler.py @@ -1,7 +1,8 @@ -import pytest -from rubix.galaxy import BaseHandler import h5py +import pytest + from rubix import config +from rubix.galaxy import BaseHandler class ConcreteInputHandler(BaseHandler): diff --git a/tests/test_pipeline.py b/tests/test_pipeline.py index 61f5005e..f6267ee1 100644 --- a/tests/test_pipeline.py +++ b/tests/test_pipeline.py @@ -1,12 +1,14 @@ -from rubix.pipeline import linear_pipeline as lp -from rubix.utils import read_yaml -import pytest -from pathlib import Path from copy import deepcopy +from pathlib import Path + import jax.numpy as jnp -from jax import make_jaxpr, jit +import pytest +from jax import jit, make_jaxpr from jax.tree_util import Partial +from rubix.pipeline import linear_pipeline as lp +from rubix.utils import read_yaml + # helper stuff that we need def add(x, s: float = 0.0): diff --git a/tests/test_pynbody_handler.py b/tests/test_pynbody_handler.py index 34796029..b8656811 100644 --- a/tests/test_pynbody_handler.py +++ b/tests/test_pynbody_handler.py @@ -1,8 +1,11 @@ -import pytest from unittest.mock import MagicMock, patch + import numpy as np +import pytest + from rubix.galaxy.input_handler.pynbody import PynbodyHandler + @pytest.fixture def mock_config(): """Mocked configuration for PynbodyHandler.""" @@ -37,12 +40,19 @@ def mock_config(): "galaxy": {"dist_z": 0.1}, } + @pytest.fixture def mock_simulation(): """Mocked simulation object that mimics a pynbody SimSnap (stars, gas, dm).""" mock_sim = MagicMock() - mock_sim.stars.loadable_keys.return_value = ["pos", "mass", "vel", "metallicity", "age"] + mock_sim.stars.loadable_keys.return_value = [ + "pos", + "mass", + "vel", + "metallicity", + "age", + ] mock_sim.gas.loadable_keys.return_value = ["density", "temperature"] mock_sim.dm.loadable_keys.return_value = ["mass"] @@ -59,9 +69,7 @@ def mock_simulation(): "temperature": np.array([100.0, 200.0, 300.0]), } - dm_arrays = { - "mass": np.array([10.0, 20.0, 30.0]) - } + dm_arrays = {"mass": np.array([10.0, 20.0, 30.0])} def star_getitem(key): return star_arrays[key] @@ -86,6 +94,7 @@ def dm_getitem(key): return mock_sim + @pytest.fixture def handler_with_mock_data(mock_simulation, mock_config): with patch("pynbody.load", return_value=mock_simulation): @@ -99,15 +108,18 @@ def handler_with_mock_data(mock_simulation, mock_config): ) return handler + def test_pynbody_handler_initialization(handler_with_mock_data): """Test initialization of PynbodyHandler.""" assert handler_with_mock_data is not None + def test_load_data(handler_with_mock_data): """Test if data is loaded correctly.""" data = handler_with_mock_data.get_particle_data() assert "stars" in data + def test_get_galaxy_data(handler_with_mock_data): """Test retrieval of galaxy data.""" galaxy_data = handler_with_mock_data.get_galaxy_data() @@ -122,6 +134,7 @@ def test_get_galaxy_data(handler_with_mock_data): assert galaxy_data["center"] == expected_center assert "halfmassrad_stars" in galaxy_data + def test_get_units(handler_with_mock_data): """Test if units are correctly returned.""" units = handler_with_mock_data.get_units() @@ -129,6 +142,7 @@ def test_get_units(handler_with_mock_data): assert "gas" in units assert "dm" in units + def test_gas_data_load(handler_with_mock_data): """Test loading of gas data.""" data = handler_with_mock_data.get_particle_data() @@ -136,6 +150,7 @@ def test_gas_data_load(handler_with_mock_data): assert "density" in data["gas"] assert "temperature" in data["gas"] + def test_stars_data_load(handler_with_mock_data): """Test loading of stars data.""" data = handler_with_mock_data.get_particle_data() diff --git a/tests/test_spectra_ifu.py b/tests/test_spectra_ifu.py index f7d6f759..3d6d9d72 100644 --- a/tests/test_spectra_ifu.py +++ b/tests/test_spectra_ifu.py @@ -1,16 +1,17 @@ -import pytest -import numpy as np import jax.numpy as jnp +import numpy as np +import pytest + from rubix.spectra.ifu import ( + _get_velocity_component_multiple, + _get_velocity_component_single, + calculate_cube, calculate_diff, convert_luminoisty_to_flux, - _get_velocity_component_single, - _get_velocity_component_multiple, - resample_spectrum, cosmological_doppler_shift, - velocity_doppler_shift, get_velocity_component, - calculate_cube, + resample_spectrum, + velocity_doppler_shift, ) # Assuming the functions are imported from the module diff --git a/tests/test_ssp_factory.py b/tests/test_ssp_factory.py index 9ea23825..95eb64fd 100644 --- a/tests/test_ssp_factory.py +++ b/tests/test_ssp_factory.py @@ -1,11 +1,12 @@ -import pytest +import sys +from copy import deepcopy +from unittest.mock import MagicMock, patch + import numpy as np -from unittest.mock import patch, MagicMock -from rubix.spectra.ssp.factory import get_ssp_template -from rubix.spectra.ssp.factory import HDF5SSPGrid, pyPipe3DSSPGrid +import pytest + from rubix.paths import TEMPLATE_PATH -from copy import deepcopy -import sys +from rubix.spectra.ssp.factory import HDF5SSPGrid, get_ssp_template, pyPipe3DSSPGrid # Fixture to reset the configuration after each test @@ -78,10 +79,9 @@ def test_get_ssp_template_existing_template(): template = get_ssp_template(template_name) template_class_name = config["ssp"]["templates"][template_name]["name"] assert template.__class__.__name__ == template_class_name - mock_write_fsps_data_to_disk.assert_called_once_with( - config["ssp"]["templates"][template_name]["file_name"], - file_location=TEMPLATE_PATH, - ) + assert ( + mock_write_fsps_data_to_disk.call_count <= 1 + ), f"Expected at most 1 call to 'write_fsps_data_to_disk', but got {mock_write_fsps_data_to_disk.call_count}" def test_get_ssp_template_existing_template_BC03(): diff --git a/tests/test_ssp_fsps.py b/tests/test_ssp_fsps.py index ffcf5a82..a9dae478 100644 --- a/tests/test_ssp_fsps.py +++ b/tests/test_ssp_fsps.py @@ -1,12 +1,14 @@ -import pytest -import numpy as np -from unittest.mock import patch -from rubix.spectra.ssp.grid import SSPGrid -from rubix.spectra.ssp.fsps_grid import write_fsps_data_to_disk -import sys import os -import h5py +import sys from importlib import reload +from unittest.mock import patch + +import h5py +import numpy as np +import pytest + +from rubix.spectra.ssp.fsps_grid import write_fsps_data_to_disk +from rubix.spectra.ssp.grid import SSPGrid # Mock the fsps.StellarPopulation class @@ -59,7 +61,9 @@ def test_retrieve_ssp_data_from_fsps(): assert isinstance(result, SSPGrid) assert np.allclose(result.metallicity, np.log10(mock_sp_instance.zlegend)) assert np.allclose(result.age, mock_sp_instance.log_age - 9.0) - assert np.allclose(result.wavelength, np.array([4000, 4100, 4200])) + assert np.allclose( + result.wavelength, np.array([4000, 4100, 4200]) - 50 + ) # because wavelengths are shifted by the calculated offset in the mock to be centered assert np.allclose( result.flux, np.array([[[1, 2, 3], [4, 5, 6], [7, 8, 9]]]), @@ -82,7 +86,9 @@ def test_retrieve_ssp_data_from_fsps_with_kwargs(): assert isinstance(result, SSPGrid) assert np.allclose(result.metallicity, np.log10(mock_sp_instance.zlegend)) assert np.allclose(result.age, mock_sp_instance.log_age - 9.0) - assert np.allclose(result.wavelength, np.array([4000, 4100, 4200])) + assert np.allclose( + result.wavelength, np.array([4000, 4100, 4200]) - 50 + ) # because wavelengths are shifted by 50 in the mock to be centered assert np.allclose( result.flux, np.array([[[1, 2, 3], [4, 5, 6], [7, 8, 9]]]), diff --git a/tests/test_telescope_factory.py b/tests/test_telescope_factory.py index 2947a99d..044159b4 100644 --- a/tests/test_telescope_factory.py +++ b/tests/test_telescope_factory.py @@ -1,18 +1,20 @@ +from unittest.mock import MagicMock, patch + +import jax +import jax.numpy as jnp +import numpy as np import pytest -from unittest.mock import patch, MagicMock -from rubix.telescope.base import BaseTelescope +import yaml + from rubix.telescope.apertures import ( - SQUARE_APERTURE, CIRCULAR_APERTURE, HEXAGONAL_APERTURE, + SQUARE_APERTURE, ) +from rubix.telescope.base import BaseTelescope from rubix.telescope.factory import ( TelescopeFactory, ) -import numpy as np -import yaml -import jax -import jax.numpy as jnp jax.config.update("jax_platform_name", "cpu") diff --git a/tests/test_telescope_filters.py b/tests/test_telescope_filters.py index 25f6c072..424579a1 100644 --- a/tests/test_telescope_filters.py +++ b/tests/test_telescope_filters.py @@ -1,25 +1,24 @@ +import os +from unittest.mock import MagicMock, mock_open, patch + +import jax.numpy as jnp +import matplotlib +import matplotlib.pyplot as plt import pytest -from unittest.mock import MagicMock, patch, mock_open +from astropy.table import Table + from rubix.telescope.filters.filters import ( Filter, FilterCurves, + _load_filter_list_for_instrument, convolve_filter_with_spectra, load_filter, - save_filters, print_filter_list, print_filter_list_info, print_filter_property, - _load_filter_list_for_instrument, + save_filters, ) -import os -from astropy.table import Table - -import jax.numpy as jnp - -import matplotlib -import matplotlib.pyplot as plt - # Use the Agg backend for testing to avoid opening a figure window matplotlib.use("Agg") diff --git a/tests/test_telescope_lsf.py b/tests/test_telescope_lsf.py index cd12cfd7..1e2b24f9 100644 --- a/tests/test_telescope_lsf.py +++ b/tests/test_telescope_lsf.py @@ -1,4 +1,5 @@ import jax.numpy as jnp + from rubix.telescope.lsf.lsf import apply_lsf diff --git a/tests/test_telescope_noise.py b/tests/test_telescope_noise.py index 4add94de..5a138bc0 100644 --- a/tests/test_telescope_noise.py +++ b/tests/test_telescope_noise.py @@ -1,6 +1,7 @@ -import pytest import jax.numpy as jnp import jax.random as jrandom +import pytest + from rubix.telescope.noise.noise import calculate_noise_cube, sample_noise diff --git a/tests/test_telescope_psf.py b/tests/test_telescope_psf.py index 3e0ede1b..af230430 100644 --- a/tests/test_telescope_psf.py +++ b/tests/test_telescope_psf.py @@ -1,9 +1,10 @@ -import pytest -from rubix.telescope.psf.psf import get_psf_kernel, apply_psf -import numpy as np import jax.numpy as jnp +import numpy as np +import pytest from jax.scipy.signal import convolve2d +from rubix.telescope.psf.psf import apply_psf, get_psf_kernel + def test_get_psf_kernel_gaussian(): m, n = 3, 3 diff --git a/tests/test_telescope_psf_kernels.py b/tests/test_telescope_psf_kernels.py index 04fdccef..807d067e 100644 --- a/tests/test_telescope_psf_kernels.py +++ b/tests/test_telescope_psf_kernels.py @@ -1,4 +1,5 @@ import jax.numpy as jnp + from rubix.telescope.psf.kernels import gaussian_kernel_2d diff --git a/tests/test_telescope_utils.py b/tests/test_telescope_utils.py index 98d9c6ef..f13a6e00 100644 --- a/tests/test_telescope_utils.py +++ b/tests/test_telescope_utils.py @@ -1,14 +1,15 @@ -from rubix.telescope.utils import ( - square_spaxel_assignment, - mask_particles_outside_aperture, - calculate_spatial_bin_edges, -) +from unittest.mock import MagicMock + import jax import jax.numpy as jnp -from unittest.mock import MagicMock import numpy as np from rubix.cosmology.base import BaseCosmology +from rubix.telescope.utils import ( + calculate_spatial_bin_edges, + mask_particles_outside_aperture, + square_spaxel_assignment, +) # enfrce that jax uses cpu only diff --git a/tests/test_transformer.py b/tests/test_transformer.py index 28f11488..6e830f35 100644 --- a/tests/test_transformer.py +++ b/tests/test_transformer.py @@ -1,8 +1,9 @@ -from rubix.pipeline import transformer as pt import jax.numpy as jnp -from jax import random, jit, make_jaxpr -from jax.errors import TracerBoolConversionError import pytest +from jax import jit, make_jaxpr, random +from jax.errors import TracerBoolConversionError + +from rubix.pipeline import transformer as pt def func( diff --git a/tests/test_units.py b/tests/test_units.py index 561c4545..f4814e22 100644 --- a/tests/test_units.py +++ b/tests/test_units.py @@ -1,6 +1,8 @@ -from rubix.units import Zsun import astropy.units as u +from rubix.units import Zsun + + def test_zsun_unit(): assert str(Zsun) == "Zsun" - assert u.Unit("Zsun") == Zsun \ No newline at end of file + assert u.Unit("Zsun") == Zsun diff --git a/tests/test_utils.py b/tests/test_utils.py index 7f32c682..81fbf275 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -1,16 +1,17 @@ +import h5py +import numpy as np import pytest # type: ignore # noqa +import yaml +from astropy.cosmology import Planck15 as cosmo + from rubix.utils import ( - convert_values_to_physical, SFTtoAge, + convert_values_to_physical, + get_config, + load_galaxy_data, print_hdf5_file_structure, read_yaml, - load_galaxy_data, - get_config, ) -import yaml -from astropy.cosmology import Planck15 as cosmo -import h5py -import numpy as np def test_convert_values_to_physical():