diff --git a/COPYING.md b/COPYING.md index 2ac2207..774a48f 100644 --- a/COPYING.md +++ b/COPYING.md @@ -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 diff --git a/README.md b/README.md index 14741c5..3a0375b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,8 @@ -# Welcome to rubix +

+ Rubix Logo +

+ +# 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) @@ -6,12 +10,20 @@ [![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 . ``` @@ -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] ``` @@ -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 diff --git a/TODO.md b/TODO.md index 3cc2b15..b8bd31b 100644 --- a/TODO.md +++ b/TODO.md @@ -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 diff --git a/logo_rubix.png b/logo_rubix.png new file mode 100644 index 0000000..966ddbb Binary files /dev/null and b/logo_rubix.png differ diff --git a/pyproject.toml b/pyproject.toml index 24a6326..697a93d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,7 @@ build-backend = "setuptools.build_meta" name = "rubix" description = "Add short description here" readme = "README.md" -maintainers = [{ name = "Ufuk Çakır", email = "ufukcakir2001@gmail.com" }] +maintainers = [{ name = "AstroAI-Lab", email = "astroai@iwr.uni-heidelberg.de" }] dynamic = ["version"] requires-python = ">=3.9" license = { text = "MIT" }