An Advanced Astronomy Analysis Toolkit with Machine Learning for Galaxy Classification, Redshift Analysis, Exoplanet Habitability, and Orbital Dynamics
- π Overview
- πΎ Features
- π Project Structure
- π Getting Started
- π° Contributing
- π License
- π Acknowledgments
SpaceSage is a comprehensive astronomy toolkit that leverages advanced machine learning techniques to analyze astronomical data. The platform offers four main capabilities: galaxy classification, redshift analysis, exoplanet habitability assessment, and satellite orbit optimization. Built with React and TypeScript for the frontend interface and Python with various ML libraries for the backend models, SpaceSage provides astronomers, researchers, and space enthusiasts with powerful tools for space data analysis.
- CNN-based classification of galaxies into six distinct categories (Round Elliptical, In-between Elliptical, Cigar-shaped Elliptical, Edge-on Spiral, Unbarred Spiral, Barred Spiral)
- Utilizes the Galaxy10 dataset to achieve 82.56% accuracy
- Visual feedback with uploaded galaxy images
- Analyzes Doppler shift in spectral data to determine galactic motion
- Random Forest model for classifying approaching vs receding celestial objects
- Calculation of redshift values and radial velocities from wavelength data
- Assesses potential habitability of exoplanets based on atmospheric composition
- Analyzes key gases (Oβ, COβ, CHβ, HβO, Oβ) from spectral data
- Machine learning model synthesized from spectroscopic atmospheric analysis
- BERT-based NLP model for determining optimal satellite orbits
- Classification of satellite types into LEO, MEO, GEO, HEO, and SSO
- Integration with real-time satellite congestion data
βββ SpaceSage/
βββ README.md
βββ eslint.config.js
βββ index.html
βββ models
β βββ andromeda.ipynb # Redshift analysis model
β βββ atm_cond.ipynb # Exoplanet habitability model
β βββ galaxy.ipynb # Galaxy classification CNN
β βββ orbita.ipynb # Satellite orbit optimization model
βββ package.json
βββ src
β βββ App.tsx # Main application routing
β βββ components
β β βββ Navbar.tsx # Navigation component
β βββ index.css
β βββ main.tsx
β βββ pages
β β βββ About.tsx # About page
β β βββ AndreShift.tsx # Redshift analysis interface
β β βββ AndreShiftInfo.tsx # Redshift information
β β βββ ExoHabit.tsx # Exoplanet habitability interface
β β βββ ExoHabitInfo.tsx # Exoplanet habitability information
β β βββ GalaxyClassifier.tsx # Galaxy classification interface
β β βββ GalaxyInfo.tsx # Galaxy classification information
β β βββ Home.tsx # Landing page
β β βββ Orbita.tsx # Satellite orbit interface
β β βββ OrbitaInfo.tsx # Satellite orbit information
β β βββ app.py # Flask backend for model integration
β βββ vite-env.d.ts
βββ tailwind.config.js
βββ tsconfig.app.json
βββ tsconfig.json
βββ tsconfig.node.json
βββ vite.config.tsSPACESAGE/
__root__
postcss.config.js PostCSS configuration for processing CSS with plugins tsconfig.node.json TypeScript configuration for Node.js environment package-lock.json Dependency lock file ensuring consistent installs tsconfig.json Main TypeScript configuration file tailwind.config.js TailwindCSS configuration for styling tsconfig.app.json TypeScript configuration for the application package.json Project metadata and dependencies vite.config.ts Vite build tool configuration index.html Main HTML entry point eslint.config.js ESLint configuration for code quality
src
main.tsx Main entry point for React application index.css Global CSS styles including space theme App.tsx Root component with routing and theme context vite-env.d.ts TypeScript declarations for Vite components
Navbar.tsx Navigation bar component with theme toggle pages
Orbita.tsx Satellite orbit optimization interface app.py Flask backend for model inference and API endpoints GalaxyClassifier.tsx Galaxy classification interface with image upload ExoHabitInfo.tsx Information about exoplanet habitability analysis AndreShiftInfo.tsx Information about redshift and Doppler effect Home.tsx Landing page with feature overview About.tsx About page with project information ExoHabit.tsx Exoplanet habitability assessment interface OrbitaInfo.tsx Information about satellite orbit types logo.PNG SpaceSage logo image AndreShift.tsx Redshift analysis interface GalaxyInfo.tsx Information about galaxy classification
models
andromeda.ipynb Random Forest model for redshift analysis and celestial motion classification galaxy.ipynb CNN model for galaxy classification using transfer learning orbita.ipynb BERT-based NLP model for satellite orbit classification atm_cond.ipynb Random Forest model for exoplanet habitability assessment based on atmospheric components
Install SpaceSage using one of the following methods:
Build from source:
- Clone the SpaceSage repository:
β― git clone https://github.com/Riddhish1/SpaceSage- Navigate to the project directory:
β― cd SpaceSage- Install the project dependencies:
β― npm install- Install Python dependencies for the ML backend:
β― pip install -r requirements.txt- Start the frontend development server:
β― npm run dev- In a separate terminal, start the backend Flask server:
β― cd src/pages
β― python app.py- The application should now be running at http://localhost:5173, with the backend API at http://localhost:5000.
Run the test suite using the following command:
β― npm test- π¬ Join the Discussions: Share your insights, provide feedback, or ask questions.
- π Report Issues: Submit bugs found or log feature requests for the
SpaceSageproject. - π‘ Submit Pull Requests: Review open PRs, and submit your own PRs.
Contributing Guidelines
- Fork the Repository: Start by forking the project repository to your github account.
- Clone Locally: Clone the forked repository to your local machine using a git client.
git clone https://github.com/Riddhish1/SpaceSage
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Implemented new feature x.' - Push to github: Push the changes to your forked repository.
git push origin new-feature-x
- Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
- Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
This project is protected under the MIT License. For more details, refer to the LICENSE file.
- The Galaxy10 dataset used in the galaxy classification model
- NASA exoplanet data for habitability assessment model training
- CelesTrak for satellite orbit data
- HuggingFace Transformers library for BERT-based models
- TensorFlow and PyTorch for machine learning model development
- React, TypeScript, and TailwindCSS for the frontend