A Machine learning library developed in Python library for Spacecraft Conjunction Assessment optimisation using Artificial Neural Networks on Conjunction Data Messages.
- José Javier Rosales Ruiz [[email protected]] a
- Nicola Garzaniti [[email protected]] b
a Corresponding author
b Supervisor
ScaPy is distributed under the GNU General Public License version 3, whose terms are included in this repository.
Since ScaPy uses PyTorch for the deep learning models, the requirements differ depending on the platform as follows:
Platform | Requisites |
---|---|
Windows | Python 3.8-3.11 (limited by PyTorch); Python 2.x is not supported. |
MacOS | Python 3.8 or greater. |
Linux | Python 3.8 or greater. |
To download ScaPy, open the terminal (PowerShell in Windows) and run the following commands to clone repository and change working directory to the root of the project directory:
git clone https://github.com/JJavierRosales/scapy.git
cd scapy
To create a Conda environment with a specific Python version, open your terminal and run the following command:
conda activate
conda create -n scapy-env python=3.11
conda activate scapy-env
PIP offers two modes to install Python projects: an editable/development mode -recommended for development- and a user mode. When installed as editable, the project can be edited in-place without reinstallation: changes to Python source files will be reflected the next time the interpreter process is started. To install ScaPy in editable/development mode, you can add as follows:
python -m pip install -e .
where the PIP command-line flag -e
stands for editable mode (short for --editable
) and .
indicate working directory.
Alternatively, if no modification is planned to be made after installation, the library can be installed using PIP user mode as follows:
python -m pip install .
To uninstall the library run the following command:
python -m pip uninstall scapy
This repository includes the following Jupyter notebooks to support users to use the library:
- Using ScaPy without installation
- Forecast conjunctions evolutions
- Evaluate collision risk per conjunction
- Generate synthetic CDM data
- Method
evaluate()
for collision risk evaluation. - Section on how to use CRE to evaluate conjunctions in users notebook.
- Learning rate scheduler for models training.
- Docker container.
- ...