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.
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
python scripts/train_model.py --out-dir simplepython scripts/tune_model.py --out-dir optuna_results --n-trials 20python 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-trainxray-tune
xray_clusters.data_loader: dataset loadingxray_clusters.preprocessing: normalization, splits, augmentationxray_clusters.models: CNN model constructionxray_clusters.training: training, evaluation, and plottingxray_clusters.pipeline: end-to-end training pipelinexray_clusters.tuning: Optuna search workflow
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: