Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
145 commits
Select commit Hold shift + click to select a range
aa41fa1
notebook to compare ssp templates
anschaible Feb 12, 2025
d7b12f7
fixing bug in convert luminosity to flux function
anschaible Feb 12, 2025
3bd552f
compare ssp on ifu cubes
anschaible Feb 12, 2025
23db802
not reload ssp template for fsps for every star new, use saved one
anschaible Feb 12, 2025
1718321
compare templates
anschaible Feb 12, 2025
84306c1
notebooks for plots for the paper
anschaible Feb 13, 2025
8a601ea
try ifu calculation with jax float 64
anschaible Feb 13, 2025
f824865
compare grids
anschaible Feb 13, 2025
2ea8a7a
figure out that fsps template is offset
anschaible Mar 13, 2025
fdbc006
fix fsps wavelength offset
anschaible Mar 14, 2025
ef7d3b7
Merge branch 'main' into compare_ssp
anschaible Mar 14, 2025
d07bd38
gitignore
anschaible Mar 14, 2025
aa508d1
comment out notebook cells
anschaible Mar 14, 2025
ae690cf
fix fsps test to account for the new wavelemgth shift introduced in t…
Mar 14, 2025
46bfa5e
add metals in pynbody handler that are needed for dust computation, h…
anschaible Apr 1, 2025
08dbdac
fix rotation for nihao
anschaible Apr 1, 2025
62c3e21
fix rotation for nihao galaxies
anschaible Apr 1, 2025
9c60c7c
fix wrong age for nihao
anschaible Apr 1, 2025
d5e303f
fits file saving
anschaible Apr 1, 2025
131f0ec
reduce chunk size for spectral assignment
anschaible Apr 2, 2025
75dbeed
restructure pipeline to split in data preparation and pipeline run. i…
anschaible Apr 2, 2025
6cad668
fix dimension problems
anschaible Apr 2, 2025
7aba0a9
notebooks
anschaible Apr 2, 2025
51b2e31
notebooks for gradient, fast computation only if loss function in not…
anschaible Apr 2, 2025
f39c8ad
try levenberg marquardt, but it does not converge at the moment
anschaible Apr 2, 2025
c83879e
plots of adam optimization run
anschaible Apr 3, 2025
ba05644
notebook with plots for the paper
anschaible Apr 15, 2025
f4e569c
compare ifu cubes notebook
anschaible Apr 15, 2025
ac06892
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Apr 15, 2025
8464436
try multi parameters
anschaible May 26, 2025
e6b07b5
Implement review comment: offset = (_wave[1] - _wave[0]) / 2.
anschaible May 28, 2025
7d0c7af
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] May 28, 2025
df23f1f
update apertures
anschaible Jun 2, 2025
c8cbffa
merge conflicts
anschaible Jun 2, 2025
2f94f01
Merge main into this side branch
anschaible Jun 2, 2025
8c6aa4b
fix pytests for the fsps wavelength offset
anschaible Jun 2, 2025
4a21f30
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 2, 2025
587cd68
fix pytest for galaxy rotation
anschaible Jun 2, 2025
11048d8
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 2, 2025
0687644
Update rubix/spectra/ssp/fsps_grid.py
anschaible Jun 11, 2025
d15ef58
update stellar age in pynbody
anschaible Jun 11, 2025
915feb8
Merge branch 'main' into fix-stellar-age
anschaible Jun 11, 2025
a64b863
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 11, 2025
2724e3f
Update tests/test_ssp_fsps.py
anschaible Jun 11, 2025
25637d5
fix pytest
anschaible Jun 11, 2025
5259cf3
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 11, 2025
275896d
Merge branch 'sharded-minimal-gradient' into minimal-gradient
anschaible Jun 26, 2025
c6e5e50
Merge pull request #150 from AstroAI-Lab/minimal-gradient
anschaible Jun 26, 2025
013023f
clean gradient notebooks
anschaible Jun 26, 2025
44e8a5b
notebook sharded gradient
anschaible Jun 26, 2025
b03924b
notebook on cpu
anschaible Jun 26, 2025
8140064
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 26, 2025
1a1497a
comment out notebook cells
anschaible Jun 26, 2025
0e13af0
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 26, 2025
8d38f05
fix pytest for rotation
anschaible Jun 26, 2025
1842833
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 26, 2025
0e828b2
fix typo in notebook
Jul 1, 2025
01f1a31
more typos fixed
Jul 1, 2025
1422247
scaling relation on cpu
anschaible Jul 2, 2025
07cb666
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jul 2, 2025
5da0011
Timing on gpus
anschaible Jul 2, 2025
8867c6b
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jul 2, 2025
e38e8fd
Merge pull request #153 from AstroAI-Lab/dust_notebook-fix
anschaible Jul 2, 2025
7c86bf0
Merge pull request #137 from AstroAI-Lab/compare_ssp
anschaible Jul 2, 2025
f94b12c
scaling relations for computation
anschaible Jul 2, 2025
8038901
add comment in rotation
anschaible Jul 2, 2025
213b85c
Merge branch 'main' into fix-stellar-age
anschaible Jul 2, 2025
760b063
minor: deleting some lines that were already commented out in the fit…
anschaible Jul 2, 2025
5235b6f
change timing
anschaible Jul 3, 2025
315a2b6
scaling
anschaible Jul 3, 2025
75efd92
Merge pull request #138 from AstroAI-Lab/fix-stellar-age
TobiBu Jul 3, 2025
0ca0a58
Merge branch 'main' into restructure-pipelinefunctions
Jul 3, 2025
1518894
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jul 3, 2025
090a4e2
fix failing test after merge.
Jul 3, 2025
20fe06c
updated notebook cells with `#NBVAL_SKIP`
Jul 3, 2025
678ff7e
Update readme
anschaible Jul 4, 2025
96d8f4f
change size of logo
anschaible Jul 4, 2025
8e18fc6
correct first caption
anschaible Jul 4, 2025
d6251ba
remove second license
anschaible Jul 4, 2025
4dd7500
make astro AI lab as copyright holder
anschaible Jul 4, 2025
2d03a35
general description of the code for the readme
anschaible Jul 4, 2025
a9e42a1
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jul 4, 2025
f0759af
change pipeline config name
anschaible Jul 4, 2025
3506110
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jul 4, 2025
844c902
remove outdated stuff
anschaible Jul 4, 2025
91941ff
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jul 4, 2025
9dda882
added padding function
Jul 9, 2025
d2f0d15
fix tests of ifu pipelin
Jul 9, 2025
34e558e
fix failing pytests
Jul 10, 2025
a3cfb97
adapted email and maintainer in pyproject.toml
Jul 10, 2025
f55baf3
Bump actions/checkout from 4 to 5
dependabot[bot] Sep 2, 2025
060c53b
finite difference calculation in notebook
anschaible Sep 26, 2025
31934cc
Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0
dependabot[bot] Oct 1, 2025
3edbd10
variational inference first attempts
anschaible Oct 8, 2025
1f322b9
gpu noteboot for finding bug
anschaible Oct 8, 2025
a0a563b
gradient on gpu
anschaible Oct 8, 2025
2764694
gradient on linux system
anschaible Oct 8, 2025
e26690f
gradient working on linux system with jax 0.4.38
anschaible Oct 8, 2025
9baaf4e
gradient notebook on mac
anschaible Oct 8, 2025
1cf58e9
maximum difference
anschaible Oct 8, 2025
dd75eaa
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Oct 13, 2025
b389afb
gradient plots
anschaible Oct 16, 2025
b51d566
Merge pull request #157 from AstroAI-Lab/dependabot/github_actions/ac…
TobiBu Oct 16, 2025
fe864a5
Bump actions/setup-python from 5 to 6
dependabot[bot] Oct 16, 2025
52bf426
notebooks
anschaible Oct 22, 2025
3ffaa35
Exclude jax[cpu] version 0.8.0 from dependencies
TobiBu Oct 24, 2025
670b9ea
Exclude jax[cpu] version 0.7.2
TobiBu Oct 24, 2025
ce595d3
Update pyproject.toml
TobiBu Oct 24, 2025
9d908a5
Exclude jax[cpu] version 0.7.0
TobiBu Oct 24, 2025
ae60edf
Exclude jax[cpu] version 0.6.2
TobiBu Oct 24, 2025
71001b0
Exclude jax[cpu] version 0.6.1
TobiBu Oct 24, 2025
b35c48e
Exclude jax[cpu] version 0.6.0 from dependencies
TobiBu Oct 24, 2025
17a4023
Exclude jax[cpu] version 0.5.3
TobiBu Oct 24, 2025
25412a4
Exclude jax[cpu] version 0.5.2
TobiBu Oct 24, 2025
6ea1ecc
Clean up jax[cpu] version exclusions in pyproject.toml
TobiBu Oct 25, 2025
39db4a3
Add typechecker to _cumtrapz_scan_func decorator
TobiBu Oct 25, 2025
2fefe48
switch @jit and typechecker decorator to make tests pass.
Oct 25, 2025
81b5671
switch @jit with typechecker decorator to make tests pass.
Oct 25, 2025
ec93658
Merge pull request #159 from AstroAI-Lab/dependabot/github_actions/py…
TobiBu Oct 25, 2025
312b75b
Merge pull request #160 from AstroAI-Lab/main
TobiBu Oct 25, 2025
278cb29
Merge pull request #158 from AstroAI-Lab/dependabot/github_actions/ac…
TobiBu Oct 25, 2025
afd7e41
Merge pull request #161 from AstroAI-Lab/main
TobiBu Oct 25, 2025
e354e1c
Merge pull request #156 from AstroAI-Lab/pre-commit-ci-update-config
TobiBu Oct 25, 2025
dc78a47
variational inference notebook
anschaible Nov 4, 2025
3f6f677
redo licence holder, this has to be discussed
anschaible Nov 4, 2025
8c8aaf2
update core data regarding Haralds and Tobias comments
anschaible Nov 4, 2025
85f743f
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Nov 4, 2025
6fe3212
change core modules regarding comments
anschaible Nov 4, 2025
f884b84
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Nov 4, 2025
3935dd7
changes according to Haralds review comments
anschaible Nov 4, 2025
42d6129
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Nov 4, 2025
7c150c8
fixing failing pytest
anschaible Nov 4, 2025
0b33f47
delete notebooks
anschaible Nov 4, 2025
821f8f7
delete template file on pull request
anschaible Nov 4, 2025
8eb6922
save template filed that get not automaticly downloaded
anschaible Nov 4, 2025
78c3b44
changed licence holder to AstroAI-Lab
Nov 10, 2025
e932ee6
adapted readme and todo lists.
Nov 10, 2025
93696b6
Merge pull request #154 from AstroAI-Lab/43-documentation-on-best-pra…
TobiBu Nov 10, 2025
d9041c9
Merge pull request #147 from AstroAI-Lab/restructure-pipelinefunctions
TobiBu Nov 10, 2025
107b381
Merge branch 'main' into sharded-minimal-gradient
Nov 10, 2025
3b27fd7
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Nov 10, 2025
3d70532
notebook cell fixes
Nov 10, 2025
22b9244
Add NBVAL_SKIP to matplotlib plotting section and adjust title comment
Nov 10, 2025
7e6d730
Fix indentation for key assignment in get_galaxy_rotation function
Nov 10, 2025
8544605
Merge pull request #151 from AstroAI-Lab/sharded-minimal-gradient
TobiBu Nov 10, 2025
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
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}

Expand All @@ -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"

Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
5 changes: 2 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -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/*
Expand All @@ -169,11 +171,8 @@ utils/*
firebase.json
.firebase/*

rubix/spectra/ssp/templates/fsps.h5

notebooks/frames
notebooks/frames/*
notebooks/nohup.out
notebooks/data/*

# don´t add .env files
Expand Down
8 changes: 4 additions & 4 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,17 @@ repos:
- id: nbstripout
files: ".ipynb"
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
rev: v6.0.0
hooks:
- id: check-yaml
- id: end-of-file-fixer
- id: trailing-whitespace
- repo: https://github.com/psf/black
rev: 25.1.0
- repo: https://github.com/psf/black-pre-commit-mirror
rev: 25.9.0
hooks:
- id: black
- repo: https://github.com/pycqa/isort
rev: 6.0.1
rev: 7.0.0
hooks:
- id: isort
name: isort (python)
2 changes: 1 addition & 1 deletion COPYING.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ This is the list of copyright holders of rubix.
For information on the license, see LICENSE.md.


* Ufuk Çakır, 2024
* AstroAI-Lab, 2025
54 changes: 49 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,29 @@
# Welcome to rubix
<p align="center">
<img src="./logo_rubix.png" alt="Rubix Logo" width="30%">
</p>

# Welcome to RUBIX

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/ufuk-cakir/rubix/ci.yml?branch=main)](https://github.com/ufuk-cakir/rubix/actions/workflows/ci.yml)
[![Documentation Status](https://readthedocs.org/projects/rubix/badge/)](https://rubix.readthedocs.io/)
[![codecov](https://codecov.io/gh/ufuk-cakir/rubix/branch/main/graph/badge.svg)](https://codecov.io/gh/ufuk-cakir/rubix)
[![All Contributors](https://img.shields.io/github/all-contributors/ufuk-cakir/rubix?color=ee8449&style=flat-square)](#contributors)

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.

Key features include:
- **Mock IFU Cube Generation:** Convert simulation data into realistic IFU cubes.
- **GPU-Accelerated Computations:** Built on JAX for high-performance GPU support.
- **Gradient-Based Inverse Modeling:** Utilize gradients for efficient inverse modeling techniques.
- **Flexible and Extensible:** Designed to easily integrate with existing pipelines and astrophysical analysis tools.

## Installation

The Python package `rubix` can be downloades from git and can be installed:

```
git clone https://github.com/ufuk-cakir/rubix
git clone https://github.com/AstroAI-Lab/rubix.git
cd rubix
pip install .
```
Expand All @@ -22,7 +34,7 @@ If you want to contribute to the development of `rubix`, we recommend
the following editable installation from this repository:

```
git clone https://github.com/ufuk-cakir/rubix
git clone https://github.com/AstroAI-Lab/rubix.git
cd rubix
python -m pip install --editable .[tests]
```
Expand All @@ -40,8 +52,40 @@ please refer to [here](https://github.com/google/jax?tab=readme-ov-file#installa
## Documentation
Sphinx Documentation of all the functions is currently available under [this link](https://astro-rubix.web.app/).

## Configuration Generator Tool
A tool to interactively generate a user configuration is available under [this link](https://cakir-ufuk.de/docs/getting-started/configuration/).
## Contribution

Contributions to `rubix` are welcome and greatly appreciated!
Whether you're fixing bugs, improving documentation, or suggesting new features, your help is valuable to us.


### 1. File your issue

If you find a bug or think of an enhancement, please open an issue on GitHub. For example, you might write an issue like:

- **Title:** Fix incorrect galaxy rotation calculation
- **Description:**
The galaxy rotation function (rotate_galaxy) does not properly convert angle inputs, causing unexpected behavior when non-scalar JAX arrays are passed. Please investigate and fix this conversion so that it accepts a Python float.

### 2. Create a branch for your issue

After creating the issue, create a new branch from `main` following a clear naming convention - e.g. name it such that the following sentence makes sense: ```If applied, this branch does/adds/ *name-of-branch*.```
For example:

```bash
git checkout -b fix/rotate-galaxy-angle
```

Work on your changes in this branch. Make sure to write tests and update documentation if necessary.

### 3. Submit a pull request

Once your changes pass all tests locally and the branch is up to date with `main`, create a pull request (PR) on GitHub. Describe the problem, your approach, and link the original issue so that the issue is automatically closed upon merge.

### 4. Merge and get recognition

After your PR is reviewed and merged into `main`, your contributions will be recognized automatically. Thanks to our All Contributors setup, a bot or a maintainer will add you to the contributors list in the README file. You'll then appear in the All Contributors section below.

Thank you for helping improve `rubix`!

## Acknowledgments

Expand Down
2 changes: 1 addition & 1 deletion TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ The following tasks need to be done to get a fully working project:
In order to do so, you have to head to the "Publishing" tab, scroll to the bottom
and add a "new pending publisher". The relevant information is:
* PyPI project name: `rubix`
* Owner: `ufuk-cakir`
* Owner: `AstroAI-Lab`
* Repository name: `rubix`
* Workflow name: `pypi.yml`
* Environment name: not required
Expand Down
Binary file added logo_rubix.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading