Skip to content

Full-stack AI system combining physics-based validation and a hybrid CNN-Transformer to classify exoplanets from NASA Kepler light curves.

License

Notifications You must be signed in to change notification settings

alexanderabesteh/ExoGenAI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

ExoGen AI is a full-stack platform that combines physics-based validation with deep learning to analyze stellar light curves from NASA's Kepler mission and identify potential exoplanets.

The system integrates a FastAPI backend for model inference and training with a Next.js frontend for data upload, visualization, and result interaction.

ExoGen AI Backend Setup

Quick Start

  1. Clone the repository

    git clone https://github.com/alexanderabesteh/ExoGenAI.git
    cd ExoGenAI/backend
  2. Install dependencies

    pip install -r requirements.txt
  3. Download required files

  4. Start API server

    uvicorn api:app --host 0.0.0.0 --port 8000
  5. Test the API

API Endpoint

POST /predict-with-plot

  • Upload: CSV file with time and flux columns.
  • Returns:
    • Prediction
    • Probabilities
    • plot_data

Troubleshooting

  • No GPU detected?
    Edit api.py line 38:
    Change device='cuda' to device='cpu'.

  • Port conflict?
    Start the server with a different port:

    uvicorn api:app --host 0.0.0.0 --port 8001

ExoGen AI Frontend Setup

Quick Start

  1. Navigate to the frontend directory

    cd ../frontend
  2. Install dependencies

    npm install
  3. Start the development server

    npm run dev
  4. Open your browser and navigate to http://localhost:3000

  5. Upload a CSV file and view results

ExoGen AI Full Stack

Quick Start

Ensure both backend and frontend are set up as per the instructions above.

  1. Start the backend server
    cd ../backend
    uvicorn api:app --host 0.0.0.0 --port 8000
  2. In a new terminal, start the frontend server
    cd ../frontend
    npm run dev
  3. Open your browser and navigate to http://localhost:3000
  4. Upload a CSV file and view results