(Example Screenshot of the AstroMedAI Graphical User Interface)
- Introduction
- Features
- How It Works
- Getting Started
- Usage Guide
- Project Structure
- Built With
- Future Enhancements
- License
- Contact
AstroMedAI is a desktop application developed in Python designed for the preliminary assessment of space radiation risk for crewed missions. It integrates real-time space weather data with user-defined mission parameters to calculate a simplified radiation risk score, visualize space weather events, generate comprehensive reports, and provide an educational quiz mode.
The primary goal of AstroMedAI is to empower mission planners, space health professionals, and space enthusiasts with a tool to quickly understand and estimate potential radiation exposure risks, thereby fostering informed decision-making and raising awareness about space environmental hazards.
- Intuitive GUI: User-friendly interface for inputting mission parameters and viewing results, built with
tkinter. - NASA DONKI API Integration: Fetches up-to-date data on Solar Flares (FLR), Coronal Mass Ejections (CMEs), and Geomagnetic Storms (GST) from NASA's Space Weather Database Of Notifications, Knowledge, and Information.
- Radiation Risk Model: Calculates a simplified mission-specific radiation risk percentage (0-100%) based on duration, orbit type, shielding level, and observed space weather events.
- Risk Categorization: Clearly categorizes the calculated risk into "Low," "Moderate," "High," or "Extreme" with color-coded indicators for quick assessment.
- Space Weather Visualization: Generates
matplotlibplots for solar flare intensity and geomagnetic storm Kp-indices over your chosen mission timeframe, helping visualize event severity. - PDF Report Generation: Creates professional PDF summaries of the mission assessment, including all input parameters, risk results, and embedded space weather plots, using
ReportLab. - Local Data Input (Drag-and-Drop): Supports dragging and dropping local
.jsonfiles (formatted similarly to DONKI API responses) onto the application for custom data analysis. - AstroMed Quiz: An interactive educational quiz mode on space health and radiation to test and expand user knowledge.
- Standalone Application: Can be packaged into a standalone executable using PyInstaller.
AstroMedAI functions by orchestrating several interconnected Python modules, each handling a specific part of the risk assessment and presentation process.
src/astro_med_ai_gui.py: The main application script. It initializes the Tkinter GUI, manages user input, orchestrates calls to other modules (API fetch, risk calculation, visualization, reporting, quiz), and displays all results. This is the primary entry point for the application.src/api_handler.py: Responsible for communication with NASA's DONKI API. It sends requests to retrieve space weather data for the specified date range and processes the API responses.src/risk_model.py: Contains the core algorithm for calculating the simplified space radiation risk. It takes into account mission parameters (duration, orbit, shielding) and integrates the fetched solar flare data to produce a risk percentage and category.src/visualization.py: Uses thematplotliblibrary to generate graphical representations of the fetched space weather data (e.g., solar flare intensity plots, geomagnetic storm Kp-index plots). These plots aid in visual analysis.src/report_generator.py: Leverages theReportLablibrary to dynamically create PDF documents. It compiles mission details, the calculated risk assessment, and embeds the generated space weather plots into a professional, printable report.src/quiz_mode.py: Implements the interactive multiple-choice quiz. It manages questions, user answers, provides feedback, and keeps track of scores, offering an educational component to the application.
Follow these steps to set up and run AstroMedAI on your local machine.
- Python 3.8+: The application is developed in Python.
- Git (optional, but recommended for cloning the repository).
-
Clone the repository:
git clone [https://github.com/your-username/AstroMedAI.git](https://github.com/your-username/AstroMedAI.git) cd AstroMedAI(Replace
https://github.com/your-username/AstroMedAI.gitwith the actual URL of your repository.) -
Create a virtual environment: It's highly recommended to use a virtual environment to isolate project dependencies.
python -m venv venv
-
Activate the virtual environment:
- On Windows:
.\venv\Scripts\activate
- On macOS/Linux:
source venv/bin/activate
- On Windows:
-
Install dependencies: With your virtual environment activated, install all required Python libraries:
pip install -r requirements.txt
To start the AstroMedAI GUI:
python -m src.astro_med_ai_gui