Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 20 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<p align="center">
<img src="./logo_rubix.png" alt="Rubix Logo" width="30%">
<img src="https://github.com/AstroAI-Lab/rubix/blob/main/logo_rubix.png" alt="Rubix Logo" width="30%">
</p>

# Welcome to RUBIX
Expand All @@ -9,11 +9,12 @@
[![Documentation Status](https://readthedocs.org/projects/rubix/badge/)](https://astro-rubix.web.app)
[![codecov](https://codecov.io/gh/AstroAI-Lab/rubix/branch/main/graph/badge.svg)](https://codecov.io/gh/AstroAI-Lab/rubix)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
[![All Contributors](https://img.shields.io/github/all-contributors/AstroAI-Lab/rubix?color=ee8449&style=flat-square)](#contributors)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://pycqa.github.io/isort/)
[![Type checking](https://github.com/beartype/beartype-assets/blob/main/badge/bear-ified.svg)](https://github.com/beartype/beartype)
[![Type checking](https://github.com/beartype/beartype-assets/blob/main/badge/bear-ified.svg)](https://github.com/beartype/beartype)<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-9-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->

RUBIX is a versatile Integral Field Unit (IFU) tool designed for astrophysical simulations. It transforms any particle based galaxy model (e.g. cosmological hydrodynamical simulation outputs) into realistic mock IFU cubes, enabling both forward and inverse modeling. Built on JAX, RUBIX leverages GPU acceleration and automatic differentiation, allowing users to perform gradient-based optimization for inverse modeling alongside traditional forward modeling.

Expand All @@ -24,16 +25,27 @@ Key features include:
- **Flexible and Extensible:** Designed to easily integrate with existing pipelines and astrophysical analysis tools.

## Installation
Rubix is on [PyPi](https://pypi.org/project/astro-rubix/). You can install it via

The Python package `rubix` is published on GitHub and can be installed alongside its runtime dependencies (including JAX) by choosing the relevant extras. For a CPU-only environment, install with:
```
pip install astro-rubix
```

If you need GPU acceleration, you can install it via

```
pip install astro-rubix[cuda]
```

Alternatively, the Python package `rubix` is published on GitHub and can be installed alongside its runtime dependencies (including JAX) by choosing the relevant extras. For a CPU-only environment, install with:

```
git clone https://github.com/AstroAI-Lab/rubix.git
cd rubix
pip install .[cpu]
pip install .
```

If you need GPU acceleration, replace `[cpu]` with `[cuda]` (or install `jax[cuda]` following the [JAX instructions](https://github.com/google/jax#installation) before installing Rubix). The plain `pip install .` command installs the minimal package without JAX and will raise `ImportError` if you try to import `rubix` before adding `jax` manually.
If you need GPU acceleration, please add the optional dependence with `[cuda]` (or install `jax[cuda]` following the [JAX instructions](https://github.com/google/jax#installation) before installing Rubix).

## Development installation

Expand All @@ -43,7 +55,7 @@ the following editable installation from this repository:
```
git clone https://github.com/AstroAI-Lab/rubix.git
cd rubix
python -m pip install --editable .[cpu,tests,dev]
python -m pip install --editable .[tests,dev]
```

Having done so, the test suite can be run using `pytest`:
Expand Down Expand Up @@ -80,7 +92,7 @@ Please see [here](docs/CONTRIBUTING.md) for contribution guidelines.

Thank you for helping improve `rubix`!

## Citation & Acknowledgement
## Citation

Please cite **both** of the following papers ([Cakir et al. 2024](https://arxiv.org/abs/2412.08265), [Schaible et al. 2025](https://arxiv.org/abs/2511.17110)) if you use Rubix in your research:

Expand Down
4 changes: 2 additions & 2 deletions docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,10 @@ You can then clone the repo and install it in editable mode with the extra devel
```bash
git clone https://github.com/AstroAI-Lab/rubix
cd rubix
pip install -e .[cpu,dev]
pip install -e .[dev]
```

Note: if you are planning to use RUBIX on the GPU you need to replace the `cpu` dependency with the corresponding `cuda` dependency. If you additionally plan to build the docs locally you'll also need to include the `docs` dependency group.
Note: if you are planning to use RUBIX on the GPU you need to add the corresponding optional `cuda` dependency. If you additionally plan to build the docs locally you'll also need to include the `docs` dependency group.

### Setting up pre-commit hooks

Expand Down
7 changes: 3 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ build-backend = "setuptools.build_meta"
# a variety of build tools. Notably, the version specified here is the
# single source of truth for rubix's version
[project]
name = "rubix"
name = "astro-rubix"
description = "A toolkit for simulating and analyzing integral field spectroscopic data cubes of astronomical sources."
readme = "README.md"

Expand Down Expand Up @@ -59,6 +59,7 @@ keywords =[
urls = { Homepage = "https://astro-rubix.web.app", Repository = "https://github.com/AstroAI-Lab/rubix", Issues = "https://github.com/AstroAI-Lab/rubix/issues" }

dependencies = [
"jax[cpu]>0.5.1",
"requests",
"h5py",
"astropy",
Expand Down Expand Up @@ -102,9 +103,7 @@ docs = [
"sphinx_mdinclude",
"sphinx_rtd_theme",
]
cpu = [
"jax[cpu]>0.5.1",
]

cuda = [
"jax[cuda]>0.5.1",
]
Expand Down
Binary file removed rubix/spectra/ssp/templates/BC03hr.h5
Binary file not shown.
Binary file removed rubix/spectra/ssp/templates/BC03lr_old.h5
Binary file not shown.
Binary file removed rubix/spectra/ssp/templates/EMILES.h5
Binary file not shown.
Loading