Skip to content

Explore the cosmos through the lens of artificial intelligence|

Notifications You must be signed in to change notification settings

Riddhish1/SpaceSage

Repository files navigation

SPACESAGE

An Advanced Astronomy Analysis Toolkit with Machine Learning for Galaxy Classification, Redshift Analysis, Exoplanet Habitability, and Orbital Dynamics

license last-commit repo-top-language repo-language-count

React TypeScript TensorFlow Python TailwindCSS


πŸ”— Table of Contents


πŸ“ Overview

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.


πŸ‘Ύ Features

🌌 Galaxy Classifier

  • 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

πŸ”­ Andre Shift (Redshift Analysis)

  • 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

πŸͺ ExoHabit (Exoplanet Habitability)

  • 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

πŸ›°οΈ Orbita (Satellite Orbit Optimization)

  • 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

πŸ“ Project Structure

└── 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.ts

πŸ“‚ Project Index

SPACESAGE/
__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

πŸš€ Getting Started

βš™οΈ Installation

Install SpaceSage using one of the following methods:

Build from source:

  1. Clone the SpaceSage repository:
❯ git clone https://github.com/Riddhish1/SpaceSage
  1. Navigate to the project directory:
❯ cd SpaceSage
  1. Install the project dependencies:

Using npm  

❯ npm install
  1. Install Python dependencies for the ML backend:
❯ pip install -r requirements.txt

πŸ€– Usage

  1. Start the frontend development server:
❯ npm run dev
  1. In a separate terminal, start the backend Flask server:
❯ cd src/pages
❯ python app.py
  1. The application should now be running at http://localhost:5173, with the backend API at http://localhost:5000.

πŸ§ͺ Testing

Run the test suite using the following command:

❯ npm test

πŸ”° Contributing

Contributing Guidelines
  1. Fork the Repository: Start by forking the project repository to your github account.
  2. Clone Locally: Clone the forked repository to your local machine using a git client.
    git clone https://github.com/Riddhish1/SpaceSage
  3. Create a New Branch: Always work on a new branch, giving it a descriptive name.
    git checkout -b new-feature-x
  4. Make Your Changes: Develop and test your changes locally.
  5. Commit Your Changes: Commit with a clear message describing your updates.
    git commit -m 'Implemented new feature x.'
  6. Push to github: Push the changes to your forked repository.
    git push origin new-feature-x
  7. Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
  8. Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
Contributor Graph


πŸŽ— License

This project is protected under the MIT License. For more details, refer to the LICENSE file.


πŸ™Œ Acknowledgments

  • 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

About

Explore the cosmos through the lens of artificial intelligence|

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors