{ "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": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[CpuDevice(id=0)]\n" ] } ], "source": [ "# NBVAL_SKIP\n", "from jax import config\n", "import os\n", "import jax\n", "\n", "print(jax.devices())" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# NBVAL_SKIP\n", "import os\n", "os.environ['SPS_HOME'] = '/home/annalena/sps_fsps'" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2025-11-11 10:23:01,492 - rubix - INFO - \n", " ___ __ _____ _____ __\n", " / _ \\/ / / / _ )/ _/ |/_/\n", " / , _/ /_/ / _ |/ /_> <\n", "/_/|_|\\____/____/___/_/|_|\n", "\n", "\n", "2025-11-11 10:23:01,494 - rubix - INFO - Rubix version: 0.0.post626+g42b4b7505.d20251110\n", "2025-11-11 10:23:01,494 - rubix - INFO - JAX version: 0.7.2\n", "2025-11-11 10:23:01,495 - rubix - INFO - Running on [CpuDevice(id=0)] devices\n", "2025-11-11 10:23:01,496 - 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" ] } ], "source": [ "#NBVAL_SKIP\n", "import matplotlib.pyplot as plt\n", "from rubix.core.pipeline import RubixPipeline \n", "import os\n", "\n", "galaxy_id = \"g8.13e11\"\n", "\n", "config_NIHAO = {\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\": \"NihaoHandler\",\n", " \"args\": {\n", " \"particle_type\": [\"stars\"],\n", " \"save_data_path\": \"data\",\n", " \"snapshot\": \"1024\",\n", " },\n", " \"load_galaxy_args\": {\"reuse\": True, \"id\": galaxy_id},\n", " \"subset\": {\"use_subset\": False, \"subset_size\": 200000},\n", " },\n", " \"simulation\": {\n", " \"name\": \"NIHAO\",\n", " \"args\": {\n", " \"path\": f'/home/_data/nihao/nihao_classic/{galaxy_id}/{galaxy_id}.01024',\n", " \"halo_path\": f'/home/_data/nihao/nihao_classic/{galaxy_id}/{galaxy_id}.01024.z0.000.AHF_halos',\n", " \"halo_id\": 0,\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\": 100,\"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\": \"Mastar_CB19_SLOG_1_5\"\n", " },\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", "}" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# NBVAL_SKIP\n", "config_TNG = {\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\": 12,\n", " \"reuse\": True,\n", " },\n", " \n", " \"subset\": {\n", " \"use_subset\": True,\n", " \"subset_size\": 2000,\n", " },\n", " },\n", " \"simulation\": {\n", " \"name\": \"IllustrisTNG\",\n", " \"args\": {\n", " \"path\": \"data/galaxy-id-12.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\": 100,\"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\": \"Mastar_CB19_SLOG_1_5\"\n", " },\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", "}" ] }, { "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": 6, "metadata": {}, "outputs": [ { "ename": "AttributeError", "evalue": "'NoneType' object has no attribute 'upper'", "output_type": "error", "traceback": [ "\u001b[31m---------------------------------------------------------------------------\u001b[39m", "\u001b[31mAttributeError\u001b[39m Traceback (most recent call last)", "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[6]\u001b[39m\u001b[32m, line 2\u001b[39m\n\u001b[32m 1\u001b[39m \u001b[38;5;66;03m#NBVAL_SKIP\u001b[39;00m\n\u001b[32m----> \u001b[39m\u001b[32m2\u001b[39m pipe = \u001b[43mRubixPipeline\u001b[49m\u001b[43m(\u001b[49m\u001b[43mconfig_TNG\u001b[49m\u001b[43m)\u001b[49m\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.conda/envs/rubix/lib/python3.12/site-packages/rubix/core/pipeline.py:87\u001b[39m, in \u001b[36mRubixPipeline.__init__\u001b[39m\u001b[34m(self, user_config)\u001b[39m\n\u001b[32m 85\u001b[39m \u001b[38;5;28mself\u001b[39m.user_config = get_config(user_config)\n\u001b[32m 86\u001b[39m \u001b[38;5;28mself\u001b[39m.pipeline_config = get_pipeline_config(\u001b[38;5;28mself\u001b[39m.user_config[\u001b[33m\"\u001b[39m\u001b[33mpipeline\u001b[39m\u001b[33m\"\u001b[39m][\u001b[33m\"\u001b[39m\u001b[33mname\u001b[39m\u001b[33m\"\u001b[39m])\n\u001b[32m---> \u001b[39m\u001b[32m87\u001b[39m \u001b[38;5;28mself\u001b[39m.logger = \u001b[43mget_logger\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43muser_config\u001b[49m\u001b[43m[\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mlogger\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 88\u001b[39m \u001b[38;5;28mself\u001b[39m.ssp = get_ssp(\u001b[38;5;28mself\u001b[39m.user_config)\n\u001b[32m 89\u001b[39m \u001b[38;5;28mself\u001b[39m.telescope = get_telescope(\u001b[38;5;28mself\u001b[39m.user_config)\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.conda/envs/rubix/lib/python3.12/site-packages/rubix/logger.py:21\u001b[39m, in \u001b[36mget_logger\u001b[39m\u001b[34m(config)\u001b[39m\n\u001b[32m 18\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[32m 19\u001b[39m first_time = \u001b[38;5;28;01mFalse\u001b[39;00m\n\u001b[32m---> \u001b[39m\u001b[32m21\u001b[39m logger.setLevel(\u001b[38;5;28mgetattr\u001b[39m(logging, \u001b[43mconfig\u001b[49m\u001b[43m[\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mlog_level\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m.\u001b[49m\u001b[43mupper\u001b[49m(), \u001b[33m\"\u001b[39m\u001b[33mINFO\u001b[39m\u001b[33m\"\u001b[39m))\n\u001b[32m 23\u001b[39m \u001b[38;5;66;03m# Clear existing handlers\u001b[39;00m\n\u001b[32m 24\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m handler \u001b[38;5;129;01min\u001b[39;00m logger.handlers[:]:\n", "\u001b[31mAttributeError\u001b[39m: 'NoneType' object has no attribute 'upper'" ] } ], "source": [ "#NBVAL_SKIP\n", "pipe = RubixPipeline(config_TNG)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2025-11-11 10:22:23,162 - rubix - INFO - Getting rubix data...\n", "2025-11-11 10:22:23,163 - rubix - INFO - Rubix galaxy file already exists, skipping conversion\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/jax/_src/numpy/scalar_types.py:50: UserWarning: Explicitly requested dtype float64 requested in asarray is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.\n", " return asarray(x, dtype=self.dtype)\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/core/data.py:491: UserWarning: Explicitly requested dtype requested in array is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/jax-ml/jax#current-gotchas for more.\n", " rubixdata.galaxy.center = jnp.array(data[\"subhalo_center\"], dtype=jnp.float64)\n", "2025-11-11 10:22:23,246 - rubix - INFO - Centering stars particles\n", "2025-11-11 10:22:24,250 - rubix - WARNING - The Subset value is set in config. Using only subset of size 2000 for stars\n", "2025-11-11 10:22:24,254 - rubix - INFO - Data loaded with 2000 star particles and 0 gas particles.\n", "2025-11-11 10:22:24,255 - rubix - INFO - Data preparation completed in 1.09 seconds.\n", "2025-11-11 10:22:24,256 - rubix - INFO - Setting up the pipeline...\n", "2025-11-11 10:22:24,257 - rubix - DEBUG - Pipeline Configuration: {'Transformers': {'rotate_galaxy': {'name': 'rotate_galaxy', 'depends_on': None, 'args': [], 'kwargs': {}}, 'filter_particles': {'name': 'filter_particles', 'depends_on': 'rotate_galaxy', 'args': [], 'kwargs': {}}, 'spaxel_assignment': {'name': 'spaxel_assignment', 'depends_on': 'filter_particles', 'args': [], 'kwargs': {}}, 'calculate_datacube_particlewise': {'name': 'calculate_datacube_particlewise', 'depends_on': 'spaxel_assignment', 'args': [], 'kwargs': {}}, 'convolve_psf': {'name': 'convolve_psf', 'depends_on': 'calculate_datacube_particlewise', 'args': [], 'kwargs': {}}, 'convolve_lsf': {'name': 'convolve_lsf', 'depends_on': 'convolve_psf', 'args': [], 'kwargs': {}}, 'apply_noise': {'name': 'apply_noise', 'depends_on': 'convolve_lsf', 'args': [], 'kwargs': {}}}}\n", "2025-11-11 10:22:24,258 - rubix - DEBUG - Rotation Type found: edge-on\n", "2025-11-11 10:22:24,261 - rubix - INFO - Calculating spatial bin edges...\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-11-11 10:22:24,285 - rubix - INFO - Getting cosmology...\n", "2025-11-11 10:22:24,497 - rubix - INFO - Calculating spatial bin edges...\n", "2025-11-11 10:22:24,509 - rubix - INFO - Getting cosmology...\n", "2025-11-11 10:22:24,521 - rubix - INFO - Getting cosmology...\n", "2025-11-11 10:22:25,075 - rubix - DEBUG - Method not defined, using default method: cubic\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-11-11 10:22:26,192 - rubix - DEBUG - Method not defined, using default method: cubic\n", "/home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/factory.py:26: UserWarning: No telescope config provided, using default stored in /home/annalena/.conda/envs/rubix/lib/python3.12/site-packages/rubix/telescope/telescopes.yaml\n", " warnings.warn(\n", "2025-11-11 10:22:26,935 - rubix - INFO - Assembling the pipeline...\n", "2025-11-11 10:22:26,936 - rubix - INFO - Compiling the expressions...\n", "2025-11-11 10:22:26,936 - rubix - INFO - Number of devices: 1\n", "2025-11-11 10:22:27,024 - rubix - INFO - Rotating galaxy with alpha=90.0, beta=0.0, gamma=0.0\n", "2025-11-11 10:22:27,024 - rubix - INFO - Rotating galaxy for simulation: IllustrisTNG\n", "2025-11-11 10:22:27,025 - rubix - WARNING - Gas not found in particle_type, only rotating stellar component.\n", "2025-11-11 10:22:27,143 - rubix - INFO - Filtering particles outside the aperture...\n", "2025-11-11 10:22:27,150 - rubix - INFO - Assigning particles to spaxels...\n", "2025-11-11 10:22:27,184 - rubix - INFO - Calculating Data Cube (combined per‐particle)…\n", "2025-11-11 10:22:27,479 - rubix - DEBUG - Datacube shape: (25, 25, 3721)\n", "2025-11-11 10:22:27,480 - rubix - INFO - Convolving with PSF...\n", "2025-11-11 10:22:27,484 - rubix - INFO - Convolving with LSF...\n", "2025-11-11 10:22:27,490 - rubix - INFO - Applying noise to datacube with signal to noise ratio: 100 and noise distribution: normal\n", "2025-11-11 10:22:29,524 - rubix - INFO - Total time for sharded pipeline run: 5.27 seconds.\n" ] } ], "source": [ "#NBVAL_SKIP\n", "\n", "devices = jax.devices()\n", "inputdata = pipe.prepare_data()\n", "rubixdata = pipe.run_sharded(inputdata, devices)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#NBVAL_SKIP\n", "\n", "#inputdata = pipe.prepare_data()\n", "#shard_rubixdata = pipe.run_sharded_chunked(inputdata)" ] }, { "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": [ { "data": { "image/png": "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2xESElLraxqDLuPCvIBhrtOXX36Jffv24YMPPqj13DZt2mDx4sWQSqVYsmQJHnvsMbz99ttwc3PDV199hQ8//NDhz8DPzw8bN25ESEgIXnrpJXzwwQcYMWIE3nvvPbuvIRaLsX79ekyePBk//PADXnzxRYSFheG7776zOrZ9+/Y4fPgwxo4di+XLl2POnDlYunQpxGIxXnnlFeG4kJAQ7NixA/Hx8XjnnXewePFiTJ06FU8++aTD75GIiKyJ9I58ZUZERERERETMSBERERERETmKgRQREREREZGDGEgRERERERE5iIEUERERERGRgxhIEREREREROYiBFBERERERkYO4IC8AnU6H9PR0eHp6CmuSEBERERHRrUev16O4uBihoaG1LvAOMJACAKSnpyMiIqKxh0FERERERE1EamoqwsPDa93PQAqAp6cnAMOH5eXl1cijISIiIiKixqJSqRARESHECLVhIAUI5XxeXl4MpIiIiIiIqN4pP2w2QURERERE5CAGUkRERERERA5iIEVEREREROQgBlJEREREREQOYiBFRERERETkIAZSREREREREDmIgRURERERE5CAGUkRERERERA5iIEVEREREROQgBlJEREREREQOYiBFRERERETkIAZSREREREREDmIgRURERERE5CAGUmSXonI1Ziw/hPUn0ht7KEREREREjY6BFNnlz1MZ2HYuG0/8dAx6vb6xh0NERERE1KgYSJFdSqu0wuO80qpGHAkRERERUeNjIEV20Wh1wuOVB1IacSRERERERI2PgRTZpbRSIzz+92JOI46EiIiIiKjxMZAiu5RU1pT2JeWWNeJIiIiIiIgaHwMpsim7uAIV6prgqayqJiNVUFYFnY4NJ4iIiIjo1sVAiqycvlqE/u/uwNyVx4RtJSalfVqdHqoKdWMMjYiIiIioSWAgRVbWHE1DlUaHrWezoK5uMmE6Rwpg5z4iIiIiurUxkGqCErOLcT6zuNFe300uER6ryg2Zp1KTOVIAkM9AioiIiIhuYQykmphKjRbDP9yFUYt3obxKW/8JDaBKU9PqvKDMEEiVWGakSipv6JiIiIiIiJoSBlJNzJW8mo54OcUNG6xUarRYvPUCTqQWmm0vMwnghn+4E8v3JCEhQwUA8HWXA2BpHxERERHd2ho1kFq0aBF69OgBT09PBAYGYvz48Th//rzZ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ERFRg2rSgVRaWhruv/9+5OXlISAgAP3798f+/fsREBAAAPjf//4HsViMiRMnorKyEqNGjcKSJUsaedRERERERHSzE+n1en1jD6KxqVQqKJVKFBUVcb4UEREREdEtzN7YoFnNkSIiIiIiImoKGEgRERERERE5iIEUERERERGRgxhIEREREREROYiBFBERERERkYMYSBERERERETmIgRQREREREZGDGEgRERERERE5iIEUERERERGRgxhIEREREREROYiBFBERERERkYMYSBERERERETmIgRQREREREZGDGEgRERERERE5iIEUERERERGRgxhIEREREREROYiBFBERERERkYMYSBERERERETmIgRQREREREZGDGEgRERERERE5iIEUERERERGRgxhIEREREREROYiBFBERERERkYMYSBERERERETmIgRQREREREZGDGEgRERERERE5iIEUERERERGRgxhIEREREREROYiBVFOj1wMnfwUu/9Owr6HXGx5rKq33p+wHfp8D5F2q2ZZ9DvhlimF71pmGGxsRERERUTMgbewBkIXL/wBrZxoej3gT6PeE/eeW5gH5l4DA9sCxFUDMSMC3FaC6CrgHAn8uAM5uAHRqoKLI/Ny2twN3fAS4+1cHUYnAsR8ArzBA7gHknq859vRvwG2LgM4PAGmHgcStQFAHwzVW3mN4D34xQPx9QI8ZgJuv4byyfGDzC4DUBQhoC+ReAOLuASJ7A+UFNcdVlgAKj2v9BImIiIiIGpxIrzemJm5dKpUKSqUSRUVF8PLyatzBrHoIOLO25nmbMcDYDwGvEKA4Czi9Guh4N+AZZH6eTgd8ORDIPGW+XRkJFKXY99piKRDYzvoapkQSQK81PA6KA7JMju3yoCGAMyVzByJ6AkVpQN5F+8YBAD0fA0QiIP24IRisVAEu3kDv2YBXKLDrA+DsekPwNf5zoCAZOPYj4BkMdLgLiOoLiMRAdgIgdwd8WgC5iYYgMrCd/eMgIiIioluKvbEBAyk0oUBKpwX+EwpoKgAXZU3WKLwH8MhW4IeJhuxPzChg8q/m5+5bAmxeaP9rjfoPsP1tQF1a/7EiMdBlCjDkRUNQcvhb4J937TvXFr8Yx4KqayGRAx7BNUFkZF8g7SCg0wDRw4HWwwxZNt9W+P/27jwsynL/H/h7ZmCGYUd2FFBcEBXBpQwtjdSD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ERERNVT1viIFAOPHj8fw4cPRuXNn3H333fjwww9RVFSEkSNH1nXTiIiIiIioAWoQQWrQoEE4e/YsJk2ahKysLERHR2PVqlWXDUBxJUopAODofUREREREf3CWTGDJCFeiUdda4g/g5MmTHLmPiIiIiIisTpw4gSZNmlxxPoMU5Jqq06dPw83NDRqNpq6bU+/k5+cjODgYJ06cgLu7e103hxoYnl9UW3huUW3i+UW1hedW7VNKoaCgAEFBQdBqrzykRIPo2neztFrtVdMmXR93d3f+B021hucX1RaeW1SbeH5RbeG5Vbs8PDyuuUy9H7WPiIiIiIjodmOQIiIiIiIishODFN00g8GAyZMn8ybHVCt4flFt4blFtYnnF9UWnlt3Dg42QUREREREZCdWpIiIiIiIiOzEIEVERERERGQnBikiIiIiIiI7MUgRERERERHZiUGKAABvvfUWNBqNzaN169bW+SUlJRgzZgy8vb3h6uqKxx57DGfOnLHZxvHjx9GvXz84OzvDz88Pr776KioqKmyWSUxMRMeOHWEwGNCiRQvMnz//dhwe1bFTp05h6NCh8Pb2htFoRGRkJLZt22adr5TCpEmTEBgYCKPRiF69euHgwYM228jJyUF8fDzc3d3h6emJp556CoWFhTbL7Ny5E/fddx+cnJwQHByMd99997YcH9Wdpk2bXvbdpdFoMGbMGAD87qIbZzKZ8Oabb6JZs2YwGo1o3rw5pkyZgupjdPG7i25GQUEBxo0bh9DQUBiNRnTt2hUpKSnW+Ty/6gFFpJSaPHmyatu2rcrMzLQ+zp49a53/7LPPquDgYLV27Vq1bds2dc8996iuXbta51dUVKh27dqpXr16qR07dqiVK1cqHx8f9frrr1uXOXLkiHJ2dlbjx49Xe/fuVR9//LHS6XRq1apVt/VY6fbKyclRoaGhasSIESopKUkdOXJErV69Wh06dMi6zIwZM5SHh4datmyZSktLUw8//LBq1qyZKi4uti7Tp08fFRUVpX777Te1ceNG1aJFCzV48GDr/Ly8POXv76/i4+PV7t271eLFi5XRaFSzZ8++rcdLt1d2drbN99aaNWsUALV+/XqlFL+76MZNnTpVeXt7qxUrVqiMjAy1dOlS5erqqv79739bl+F3F92MJ554QrVp00Zt2LBBHTx4UE2ePFm5u7urkydPKqV4ftUH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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#NBVAL_SKIP\n", "wave = pipe.telescope.wave_seq\n", "\n", "#spectra = rubixdata#.stars.datacube # Spectra of all stars\n", "spectra_sharded = rubixdata # Spectra of all stars\n", "#print(spectra.shape)\n", "\n", "plt.figure(figsize=(10, 5))\n", "\n", "plt.title(\"Rubix Sharded\")\n", "plt.xlabel(\"Wavelength [Angstrom]\")\n", "plt.ylabel(\"Flux [erg/s/cm^2/Angstrom]\")\n", "plt.plot(wave, spectra_sharded[12,12,:])\n", "plt.plot(wave, spectra_sharded[8,12,:])\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plot a spacial image of the data cube" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmUAAAHqCAYAAABFgTm3AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAUXtJREFUeJzt3Xt8VNW9///3TMhMQkICAZIQCRBA5SKXI5cQb0WNRIq2KLZg/WlE1KqBFvK1qD0KaG056qmiFeX02ELtKUegp9IWKpaCYJWIioVyEQo0CggJF0kCgdxm1u8PmpGRkSSszWQTXs8+9qNmZs17VmYmZOWz1l7bY4wxAgAAQLPyNncHAAAAwKAMAADAFRiUAQAAuACDMgAAABdgUAYAAOACDMoAAABcgEEZAACACzAoAwAAcAEGZQAAAC7AoAyu5vF4NHHixGbtw/DhwzV8+HBHMz0ej2bMmOFoJs7cJ598Io/Ho//8z/9s7q4AOI8xKEOz2Lhxo2655RZ17dpVcXFxuuCCC3TdddfpZz/7WXN3zTUiDRRWrVolj8cT8Rg3blyoXbdu3XTDDTdEzP3www/l8Xg0b9680z7/l5/L7/crLS1Nw4cP109+8hMdOHDgjL+3LVu2aMaMGfrkk0/OOAMAWppWzd0BnH/WrFmjq6++Wl26dNE999yj9PR07d69W++9956ef/55TZo0qbm76Hrf+973NGTIkLDbunXrdlafKxAI6MCBA1qzZo2mT5+uZ599VgsXLtQ111zT5MwtW7bo8ccf1/Dhw89avwHgXMOgDFH34x//WMnJyfrggw/Utm3bsPv2798f9f5UVlYqISEh6s9r48orr9Qtt9zSbM+1YcMGjRgxQmPGjNGWLVvUqVOnqPQFAFoypi8RdTt37lTfvn1PGZBJUmpqasTHLF68WJdccon8fr/69u2rZcuWhd3/6aef6oEHHtDFF1+s+Ph4tW/fXt/61rdOmR6bN2+ePB6PVq9erQceeECpqanq3Llz6P6f//zn6tGjh+Lj4zV06FD99a9/jdif6upqTZ8+XT179pTf71dmZqamTp2q6urqU9pNmTJFHTt2VJs2bfSNb3xDe/bsacSr5G4DBgzQrFmzVFZWphdffDF0e2Peh3nz5ulb3/qWJOnqq68OTY+uWrVKkvT73/9eo0aNUkZGhvx+v3r06KEf/ehHCgQCp/Rj7dq1+vrXv6527dopISFB/fv31/PPPx+6/6vWA955551fWaF77rnn1LVrV8XHx+trX/uaNm3adEqbrVu36pZbblFKSori4uI0ePBg/eEPf2jEKwcAX41KGaKua9euKioq0qZNm3TJJZc02P6dd97R7373Oz3wwANq06aNXnjhBY0ZM0a7du1S+/btJUkffPCB1qxZo3Hjxqlz58765JNP9PLLL2v48OHasmWLWrduHZb5wAMPqGPHjpo2bZoqKyslSb/4xS/03e9+V5dddpkmT56sf/7zn/rGN76hlJQUZWZmhh4bDAb1jW98Q++8847uvfde9e7dWxs3btRzzz2nf/zjH1q8eHGo7d13363/+Z//0Xe+8x1ddtllWrlypUaNGmX9Gh45ckQHDx4Muy0lJUVeb/T+zrrllls0YcIE/fnPf9aPf/xjSY17H6666ip973vf0wsvvKAf/vCH6t27tySF/n/evHlKTExUYWGhEhMTtXLlSk2bNk0VFRV65plnQs+/fPly3XDDDerUqZO+//3vKz09XR9//LGWLFmi73//+2f0Pb366qs6cuSICgoKVFVVpeeff17XXHONNm7cqLS0NEnS5s2bdfnll+uCCy7Qww8/rISEBC1cuFCjR4/W//3f/+mmm26yeVkBnM8MEGV//vOfTUxMjImJiTE5OTlm6tSp5s033zQ1NTWntJVkfD6f2bFjR+i2DRs2GEnmZz/7Wei2Y8eOnfLYoqIiI8m8+uqrodvmzp1rJJkrrrjC1NXVhW6vqakxqampZuDAgaa6ujp0+89//nMjyXzta18L3fbrX//aeL1e89e//jXs+ebMmWMkmXfffdcYY8z69euNJPPAAw+EtfvOd75jJJnp06ef9nUqLi42kswzzzwTuu2tt94ykiIexcXFoXZdu3Y1o0aNipj7wQcfGElm7ty5p33++udatGjRV7YZMGCAadeuXejrxr4PixYtMpLMW2+9dUr7SBnf/e53TevWrU1VVZUxxpi6ujqTlZVlunbtag4fPhzWNhgMhv77a1/7Wth7Vy8/P9907do19HX9ax0fH2/27NkTun3t2rVGkpkyZUrotmuvvdb069cv1Jf657zsssvMhRdeeMpzAUBjMX2JqLvuuutUVFSkb3zjG9qwYYOefvpp5eXl6YILLog4BZSbm6sePXqEvu7fv7+SkpL0z3/+M3RbfHx86L9ra2t16NAh9ezZU23bttVHH310SuY999yjmJiY0Ncffvih9u/fr/vuu08+ny90+5133qnk5OSwxy5atEi9e/dWr169dPDgwdBRv+D9rbfekiT96U9/knRiofzJJk+e3OBr1JBp06Zp+fLlYUd6erp1blMlJibqyJEjoa+b+j5EcnJGfUXwyiuv1LFjx7R161ZJ0t/+9jcVFxdr8uTJp0yDezyeM/5+Ro8erQsuuCD09dChQ5WdnR16Lz///HOtXLlS3/72t0N9O3jwoA4dOqS8vDxt375dn3322Rk/P4DzG9OXaBZDhgzR7373O9XU1GjDhg16/fXX9dxzz+mWW27R+vXr1adPn1DbLl26nPL4du3a6fDhw6Gvjx8/rpkzZ2ru3Ln67LPPZIwJ3VdeXn7K47OyssK+/vTTTyVJF154YdjtsbGx6t69e9ht27dv18cff6yOHTtG/N7qT1b49NNP5fV6wwaUknTxxRdHfFxT9OvXT7m5uVYZNoOXekePHlWbNm1CXzf1fYhk8+bNevTRR7Vy5UpVVFSE3VefsXPnTklq1PR3U3z5/Zekiy66SAsXLpQk7dixQ8YYPfbYY3rsscciZuzfvz9sYAcAjcWgDM3K5/NpyJAhGjJkiC666CKNHz9eixYt0vTp00NtTq5onezkX/iTJk3S3LlzNXnyZOXk5Cg5OTm0d1cwGDzlsSdXY5oqGAyqX79+evbZZyPef/L6s+YSFxen48ePR7zv2LFjoTY2amtr9Y9//CNsYNTU9+HLysrK9LWvfU1JSUl64okn1KNHD8XFxemjjz7SQw891KiMk3k8nrDPSb1IJw00Rv3zP/jgg8rLy4vYpmfPnmeUDQAMyuAagwcPliTt27evyY/97W9/q/z8fP30pz8N3VZVVaWysrJGPb5r166STlTBTt53q7a2VsXFxRowYEDoth49emjDhg269tprT1tt6tq1q4LBoHbu3BlWHdu2bVtjv60z1rVrV23ZsiXiffXPX/89n6nf/va3On78eNjgpLHvw1e9bqtWrdKhQ4f0u9/9TldddVXo9uLi4rB29dXHTZs2nbZi2K5du7Bp7nr1ldEv2759+ym3/eMf/widqVlfNY2NjbWuVALAl7GmDFH31ltvRaxe1K/bOZPpvZiYmFMyf/aznzW6IjJ48GB17NhRc+bMUU1NTej2efPmnTKg+Pa3v63PPvtM//3f/31KzvHjx0Nnc44cOVKS9MILL4S1mTVrVqP6ZOPrX/+69uzZE3YmqHRii45XXnlFqampuvTSS884f8OGDZo8ebLatWungoKC0O2NfR/q94X78mtbXxU9OaOmpkYvvfRSWLtLL71UWVlZoW05TnbyY3v06KGtW7eGXX1gw4YNevfddyN+X4sXLw5bE/b+++9r7dq1ofcyNTVVw4cP13/9139F/OPB5ioHAEClDFE3adIkHTt2TDfddJN69eqlmpoarVmzRgsWLFC3bt00fvz4JmfecMMN+vWvf63k5GT16dNHRUVF+stf/hLaMqMhsbGxevLJJ/Xd735X11xzjcaOHavi4mLNnTv3lDVlt99+uxYuXKj77rtPb731li6//HIFAgFt3bpVCxcu1JtvvqnBgwdr4MCBuvXWW/XSSy+pvLxcl112mVasWKEdO3Y0+ftrqnvvvVe//OUv9a1vfUt33XWX/u3f/k2HDh3SggULtGnTJr366qthJzSczl//+ldVVVUpEAjo0KFDevfdd/WHP/xBycnJev3118NOMGjs+zBw4EDFxMToqaeeUnl5ufx+v6655hpddtllateunfLz8/W9731PHo9Hv/71r08Z6Hm9Xr388su68cYbNXDgQI0fP16dOnXS1q1btXnzZr355puSpLvuukvPPvus8vLyNGHCBO3fv19z5sxR3759T1mvJp2Yerziiit0//33q7q6WrNmzVL79u01derUUJvZs2friiuuUL9+/XTPPfeoe/fuKi0tVVFRkfbs2aMNGzY0+n0CgDDNdNYnzmNvvPGGueuuu0yvXr1MYmKi8fl8pmfPnmbSpEmmtLQ0rK0kU1BQcEpG165dTX5+fujrw4cPm/Hjx5sOHTqYxMREk5eXZ7Zu3XpKu/otMT744IOIfXvppZdMVlaW8fv9ZvDgwebtt9+OuK1CTU2Neeqpp0zfvn2N3+837dq1M4MGDTKPP/64KS8vD7U7fvy4+d73vmfat29vEhISzI033mh2795tvSXG6bapOPk1mTJlisnKyjKxsbEmKSnJXH311eaNN95o8LEnP1f9ERsbazp27Giuuuoq8+Mf/9js378/4nM25n0wxpj//u//Nt27dzcxMTFh22O8++67ZtiwYSY+Pt5kZGSEtkxRhC003nnnHXPdddeZ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MknKy8tTRUWFNm/eHGpzckZ9m/qMmpoarVu3LqyN1+tVbm5uqE1j+tJYrp2+BAAAzczJa1b+K6eioiLsZr/f/5XbZm3cuFE5OTmqqqpSYmKiXn/9dfXp00fr16+Xz+dT27Ztw9qnpaWppKREklRSUhI2IKu/v/6+07WpqKjQ8ePHdfjwYQUCgYhttm7dGspoqC+NRaUMAABEdDYus5SZmank5OTQMXPmzK98/osvvljr16/X2rVrdf/99ys/P19btmyJ1rcfdVTKAABA1OzevTtsTdnpNpf3+Xzq2bOnJGnQoEH64IMP9Pzzz2vs2LGqqalRWVlZWIWqtLRU6enpkqT09PRTzpKsPyPy5DZfPkuytLRUSUlJio+PV0xMjGJiYiK2OTmjob40FpUyAAAQ0dmolNVvcVF/NOWKP8FgUNXV1Ro0aJBiY2O1YsWK0H3btm3Trl27lJOTI0nKycnRxo0btX//FyciLV++XElJSerTp0+ozckZ9W3qM3w+nwYNGhTWJhgMasWKFaE2jelLY1EpAwAArvPII49o5MiR6tKli44cOaL58+dr1apVevPNN5WcnKwJEyaosLBQKSkpSkpK0qRJk5STkxM623HEiBHq06ePbr/9dj399NMqKSnRo48+qoKCgtBA8L777tOLL76oqVOn6q677tLKlSu1cOFCLV26NNSPwsJC5efna/DgwRo6dKhmzZqlyspKjR8/XpIa1ZfGYlAGAAAias4d/ffv36877rhD+/btU3Jysvr3768333xT1113nSTpueeek9fr1ZgxY1RdXa28vDy99NJLocfHxMRoyZIluv/++5WTk6OEhATl5+friSeeCLXJysrS0qVLNWXKFD3//PPq3LmzXnnlldAeZZI0duxYHThwQNOmTVNJSYkGDhyoZcuWhS3+b6gvjcU+ZafBPmXh2KcsHPuUfYF9ysKxT1k49ik799T/Ll573ZVKdGifsqO1dcpe/tfz4vU7U6wpAwAAcAGmLwEAQETGOLdPGRckbxiDMgAAEFFzrik7HzF9CQAA4AJUygAAQERUyqKLShkAAIALUCkDAAARBY1HQYcqXE7ltGSuHZS190t+75lvobbziH0fNpTb7w92XPYZtZ4664xhnqbtKhzJBa3tPy4PDHu/4UYNWLapv3VGXIz99nz39Cm2zthVlmL1+LQE+w/68dpY64xW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0qVatGiRkpOTNXHiRN1888169913JUmBQECjRo1Senq61qxZo3379umOO+5QbGysfvKTn0g6sTZ+1KhRuu+++/Sb3/xGK1as0N13361OnTopL+/E76wFCxaosLBQc+bMUXZ2tmbNmqW8vDxt27ZNqampjepLY7h2UAYAAJqXk/uLNTVn2bJlYV/PmzdPqampWrduna666iqVl5frF7/4hebPn69rrrlGkjR37lz17t1b7733noYNG6Y///nP2rJli/7yl78oLS1NAwcO1I9+9CM99NBDmjFjhnw+n+bMmaOsrCz99Kc/lST17t1b77zzjp577rnQoOzZZ5/VPffco/Hjx0uS5syZo6VLl+qXv/ylHn744Ub1pTGYvgQAAFHz5UsrVldXN+px5eXlkqSUlBRJ0rp161RbWxt2acdevXqpS5cuoUs7FhUVqV+/fmFXGsrLy1NFRYU2b94canNyRn2b+oyamhqtW7curI3X61Vubm6oTWP60hgMygAAQERGzl33sv4UwczMzLDLK86cObPBfgSDQU2ePFmXX365LrnkEkknLu3o8/nUtm3bsLYnX9qxpKQk4qUf6+87XZuKigodP35cBw8eVCAQOO0lJBvTl8Zg+hIAAETN7t27w67e4/c3vH6yoKBAmzZt0jvvvHM2u9bsGJQBAICIjBxcU/avE2CaeknFiRMnasmSJXr77bfVufMXJ+Kkp6erpqZGZWVlYRWqky/tmJ6efspZkvVnRJ7cJtLlIZOSkhQfH6+YmBjFxMSc9hKSjelLYzB9CQAAIgoaZ4+mMMZo4sSJev3117Vy5UplZWWF3T9o0CDFxsaGXdpx27Zt2rVrV+jSjjk5Odq4caP2798farN8+XIlJSWpT58+oTYnZ9S3qc/w+XwaNGhQWJtgMKgVK1aE2jSmL41BpQwAALhOQUGB5s+fr9///vdq06ZNaG1WcnKy4uPjlZycrAkTJqiwsFApKSlKSkrSpEmTlJOTEzrbccSIEerTp49uv/12Pf300yopKdGjjz6qgoKC0LTpfffdpxdffFFTp07VXXfdpZUrV2rhwoVaunRpqC+FhYXKz8/X4MGDNXToUM2aNUuVlZWhszEb05fGYFAGAAAias5rX7788suSTlxJ6GRz587VnXfeKUl67rnn5PV6NWbMGFVXVysvL08vvfRSqG1MTIyWLFmi+++/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3ntavny5amtrNWLECFVWVobaTJkyRX/84x+1aNEirV69Wnv37tXNN9/cjL0GzlPmHDJ06FBTUFAQ+joQCJiMjAwzc+bMZuzVuWv69OlmwIABzd2NFkOSef3110NfB4NBk56ebp555pnQbWVlZcbv95v//d//bYYennu+/JoaY0x+fr755je/2Sz9aQn2799vJJnVq1cbY058JmNjY82iRYtCbT7++GMjyRQVFTVXN4Hz0jlTKaupqdG6deuUm5sbus3r9So3N1dFRUXN2LNz2/bt25WRkaHu3bvrtttu065du5q7Sy1GcXGxSkpKwj6zycnJys7O5jNradWqVUpNTdXFF1+s+++/X4cOHWruLp0zysvLJUkpKSmSpHXr1qm2tjbsc9qrVy916dKFzykQZefMoOzgwYMKBAKn7OKblpamkpKSZurVuS07O1vz5s3TsmXL9PLLL6u4uFhXXnmljhw50txdaxHqP5d8Zp11/fXX69VXX9WKFSv01FNPafXq1Ro5cqQCgUBzd831gsGgJk+erMsvv1yXXHKJpBOfU5/Pp7Zt24a15XMKRN85eZklOGPkyJGh/+7fv7+ys7PVtWtXLVy4UBMmTGjGngFfbdy4caH/7tevn/r3768ePXpo1apVuvbaa5uxZ+5XUFCgTZs2sXYUcKlzplLWoUMHxcTEnHJGUGlpqdLT05upVy1L27ZtddFFF2nHjh3N3ZUWof5zyWf27Orevbs6dOjA57YBEydO1JIlS/TWW2+pc+fOodvT09NVU1OjsrKysPZ8ToHoO2cGZT6fT4MGDdKKFStCtwWDQa1YsUI5OTnN2LOW4+jRo9q5c6c6derU3F1pEbKyspSenh72ma2oqNDatWv5zDpoz549OnToEJ/br2CM0cSJE/X6669r5cqVysrKCrt/0KBBio2NDfucbtu2Tbt27eJzCkTZOTV9WVhYqPz8fA0ePFhDhw7VrFmzVFlZqfHjxzd3185JDz74oG688UZ17dpVe/fu1fTp0xUTE6Nbb721ubt2zjh69GhYhaa4uFjr169XSkqKunTposmTJ+vJJ5/UhRdeqKysLD322GPKyMjQ6NGjm6/TLne61zQlJUWPP/64xowZo/T0dO3cuVNTp05Vz549lZeX14y9dq+CggLNnz9fv//979WmTZvQOrHk5GTFx8crOTlZEyZMUGFhoVJSUpSUlKRJkyYpJydHw4YNa+beA+eZ5j79s6l+9rOfmS5duhifz2eGDh1q3nvvvebu0jlr7NixplOnTsbn85kLLrjAjB071uzYsaO5u3VOeeutt4ykU478/HxjzIltMR577DGTlpZm/H6/ufbaa822bduat9Mud7rX9NixY2bEiBGmY8eOJjY21nTt2tXcc889pqSkpLm77VqRXktJZu7cuaE2x48fNw888IBp166dad26tbnpppvMvn37mq/TwHnKY4wx0R8KAgAA4GTnzJoyAACAloxBGQAAgAswKAMAAHABBmUAAAAuwKAMAADABRiUAQAAuACDMgAAABdgUAYAAOACDMoAAABcgEEZAACACzAoAwAAcAEGZQAAAC7w/wMIEyizu7vu6QAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "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 = rubixdata[ :, :, visible_indices[0]]\n", "sharded_visible_spectra = rubixdata[ :, :, visible_indices[0]]\n", "#visible_spectra.shape\n", "\n", "#image = jnp.sum(visible_spectra, axis=2)\n", "sharded_image = jnp.sum(sharded_visible_spectra, axis=2)\n", "\n", "# Plot side by side\n", "fig, axes = plt.subplots(1, 1, figsize=(12, 5))\n", "\n", "# Sharded IFU datacube image\n", "im1 = axes.imshow(sharded_image, origin=\"lower\", cmap=\"inferno\")\n", "axes.set_title(\"Sharded IFU Datacube\")\n", "fig.colorbar(im1, ax=axes)\n", "\n", "plt.tight_layout()\n", "plt.show()" ] }, { "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.12.0" } }, "nbformat": 4, "nbformat_minor": 2 }