Skip to content

vyron-arvanitis/xray-clusters

Repository files navigation

Machine Learning X-ray Cluster Masses

This project trains convolutional neural networks to infer galaxy-cluster masses from observed or simulated X-ray images. The codebase is now organized as a small Python package with separate script entry points, examples, notebooks, and generated results.

Project Layout

src/xray_clusters/   Reusable package code
scripts/             Training, tuning, and dataset-inspection entry points
examples/            Tutorial and small code examples
notebooks/           Jupyter notebooks
guides/              Course and lab guides
Lab_Report/          Report sources and PDF
final_results/       Saved training outputs
optuna_results/      Saved Optuna studies

Main Python Entrypoints

  • python scripts/train_model.py --out-dir simple
  • python scripts/tune_model.py --out-dir optuna_results --n-trials 20
  • python scripts/inspect_dataset.py --out-dir all_plots

If you install the project as a package, the same entry points are also available as:

  • xray-train
  • xray-tune

Package Modules

  • xray_clusters.data_loader: dataset loading
  • xray_clusters.preprocessing: normalization, splits, augmentation
  • xray_clusters.models: CNN model construction
  • xray_clusters.training: training, evaluation, and plotting
  • xray_clusters.pipeline: end-to-end training pipeline
  • xray_clusters.tuning: Optuna search workflow

Experiment Context

In this lab experiment you use neural networks to infer the masses of galaxy clusters directly from observed or simulated X-ray images. The workflow relies mainly on TensorFlow/Keras, with Pandas for catalog handling and supporting scientific Python packages for preprocessing and plotting.

Preparation and report material:

About

Project from University of Munich on Xray Clusters and Deep Learning

Topics

Resources

Stars

Watchers

Forks

Contributors