Welcome to RUBIX’s documentation!#
RUBIX is a tested and modular Open Source tool developed in JAX, designed to forward model IFU cubes of galaxies from cosmological hydrodynamical simulations. The code automatically parallelizes computations across multiple GPUs, demonstrating performance improvements over state-of-the-art codes. For further details see the publications or the documentation of the individual functions.
Currently the following functionalities are provided:
Generate mock IFU flux cubes for stars from IllustrisTNG50, NIHAO or other cosmological hydrodynamical simulations
Generate mock photometric images for stars for different filter curves
Use different stellar population synthesis models (Bruzual & Charlot, Mastar, FSPS, EMILES)
Use MUSE as telescope instrument (and some other instruments)
Use different dust attenuation laws
Calculate gradients of the modelled flux cubes with respect to stellar age and metallicity using JAX automatic differentiation
Currently the code is under development and is not yet all functionality is available. We are working on adding more features and improving the code, espectially we work on the following features:
Adding gas emission lines and gas continuum
Extend gradient calculation to more parameters and scale the gradient calculation to larger data sets
Sampling from distribution functions
If you are interested in contributing to the code or have ideas for further features, please contact us via a github issue or via email. If you use the code in your research, please cite the following paper: Publications
RUBIX documentation:
Notebooks#
Notebooks:
- Create RUBIX data
- Concept of the pipeline
- RUBIX pipeline
- RUBIX pipeline in steps
- Store datacube in a fits file with header
- Visualisation of the datacube
- Dust extinction
- Dust extinction models in Rubix
- Run the RUBIX pipeline with dust
- Now let’s visualize a nice edge-on galaxy in SDSS broad-band images with some nice dust lanes…
- Sanity check: overlay gas column density map over the dusty emission image
- And in comparison to this, the same galaxy without dust…
- Gradient based optimization (Adam)
- Load ssp template from FSPS
- Configure pipeline
- Set target values
- Set initial datracube
- Adam optimizer
- Calculate loss landscape
- Gradient vs finite difference
- Load ssp template from FSPS
- Configure pipeline
- Set target values
- Set initial datracube
- Adam optimizer
- Cosmology
- Telescopes
- Load supported SSP templates
- Load SSP template via custom config
- Let’s plot some example spectra
- Automatic download supported SSP template
- Lets plot some example spectra
- SSP interpolation
- Use configuration to load lookup function
- pyFSPS
- Showcase how to get an SSP template using pyFSPS
- The point spread function
- Filter curves
Code base documentation#
Code documentation:
- rubix.core package
- rubix.cosmology package
- rubix.galaxy package
- rubix.pipeline package
- rubix.spectra package
- rubix.telescope package
- rubix.utils package