Le satellite Alouette-I a été le premier satellite canadien lancé dans l'espace. L'objectif de son expérience principale était de comprendre la structure de la haute ionosphère. Les données de l'Alouette I sont constitués de centaines de milliers d'ionogrammes dont une proportion sont maintenant stockés numériquement sous forme de fichiers d'images.
Ce projet est une application qui permet aux utilisateurs de filtrer les ionogrammes sur de multiples paramètres et télécharger soit les données extraites des ionogrammes sélectionnés sous forme de CSV, soit les images des ionogrammes eux-mêmes. L'application permet également aux utilisateurs de visualiser un résumé des données des ionogrammes qu'ils ont sélectionnés, à la fois sur une carte et un graphique linéaire, évitant ainsi le téléchargement des données pour des aperçus simples.
Les commandes suivantes peuvent être exécutées plus facilement dans un environnement virtuel (comme conda). Il peut donc être judicieux d'installer [Anaconda] (https://www.anaconda.com/distribution/) au préalable.
Pour démarrer l'application :
pip install -r requirements.txt
python app.py
Des instructions d'installation distinctes pour la version de production de l'application sont fournies dans le "Guide d'installation de l'application Alouette Production.docx".
-
Plotly Dash - Le framework Python construit sur Flask a été utilisé pour développer l'application. Tous les composants et visualisations de l'application web sont des objets Dash qui sont créés et mis à jour dans les fonctions de rappel de l'application. Je vous recommande de consulter la documentation complète de Dash (lien) si vous n'êtes pas sûr de son fonctionnement.
-
Jupyter Notebook - Utilisé pour le nettoyage des données.
-
app.py est l'application principale où chaque composant et la présentation de l'application sont définis
-
controls.py contient les options pour certains des composants (par exemple, les dropdowns)
-
header_footer.py contient le html pour l'en-tête et le pied de page du gouvernement du Canada. Ce html est injecté dans l'application principale.
-
/assets contient différents fichiers pour le style de l'application (images, redimensionnement, css)
-
/data contient les données csv traitées provenant du pipeline d'extraction des caractéristiques
-
/data_cleaning contient des carnets jupyter utilisés pour nettoyer les données ionogrammes extraites
-
messages.pot et /translations contient des informations sur la traduction
-
config.py précise les langues disponibles pour la traduction
- Le code de l'en-tête/du pied de page du gouvernement est enregistré dans un fichier séparé (header_footer.py), et est directement injecté dans l'application du tiret.
- Les traductions sont délicates avec Dash en raison de la façon dont il rend la page. Pour savoir comment faire de nouvelles traductions, consultez [https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-xiii-i18n-and-l10n]([https://blog.miguelgrinberg.com/post/the-flask-
Traduit avec www.DeepL.com/Translator (version gratuite)
The Alouette-I satellite was the first Canadian satellite launched into space. The goal of its main experiment was to understand the structure of the upper ionosphere. The data from the Alouette I satellite consists of hundreds of thousands of ionograms with a proportion now stored digitally as image files.
This project is an application that allows users to filter through ionograms on multiple parameters and download either the selected ionograms’ extracted features as a CSV or the ionogram images themselves. The application also allows users to visualize a summary of the data from their selected ionograms on both a map and a line chart, forgoing the need for downloading the data for simple insights.
The following commands can be done more easily if in a virtual environment (like conda) so it may be a good idea to install Anaconda beforehand.
For starting the application:
pip install -r requirements.txt
python app.py
Separate installation instructions for the production version of the app are provided in "Alouette Production Installation Guide.docx".
-
Plotly Dash - The Python framework built on top of Flask used to develop the application. All components and visualizations on the web application are Dash objects that are created and updated in the callback functions in app.py. I would recommend that you look over Dash's comprehensive documentation (linked) if you are unsure how it works.
-
Jupyter Notebook - Used for data cleaning.
-
app.py is the main application where each component and the layout of the application is defined
-
controls.py contains the options for the some of the components (e.g. dropdowns)
-
header_footer.py contains the html for the government of Canada header and footer. This html is injected into the main app.
-
/assets contains various files for the styling of the application (images, resizing, css)
-
/data contains the processed csv data from the feature extraction pipeline
-
/data_cleaning contains jupyter notebooks used to clean the extracted ionogram data
-
messages.pot and /translations contains translation information
-
config.py specifies the languages available for translation
- The max number of ionograms that can be downloaded at once is 100 as of now. These ionograms are currently stored in memory before being sent to the user as a zip; this method may fail for a larger download.
The current and previous roadmaps can be found on livelink for reference: http://livelink/livelink/llisapi.dll?func=ll&objId=39628342&objAction=viewheader
- Hansen Liu
- Wasiq Mohammmad
- Etienne Low-Decarie
- Jenisha Patel
- Cooper Ang