8000 GitHub - emilinecsa/Alouette_extract: đŸ›°ïž Ce code sert Ă  extraire les donnĂ©es et les mĂ©tadonnĂ©es des ionogrammes numĂ©risĂ©s du satellite Alouette | đŸ›°ïž This code is an effort to extract data and metadata from the scanned ionogram images from the Alouette satellite.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

đŸ›°ïž Ce code sert Ă  extraire les donnĂ©es et les mĂ©tadonnĂ©es des ionogrammes numĂ©risĂ©s du satellite Alouette | đŸ›°ïž This code is an effort to extract data and metadata from the scanned ionogram images from the Alouette satellite.

License

Notifications You must be signed in to change notification settings

emilinecsa/Alouette_extract

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

alouette satellite

Logiciel de traitement de l'ensemble des données Alouette-I

Contexte

Le satellite Alouette-I a été le premier satellite canadien lancé dans l'espace. Le but de son expérience principale était de comprendre la structure de la haute ionosphÚre.

Les données ont été enregistrées sur un film de 35 mm. L'ASC a numérisé 884952 (44,25%) des 2 000 000 d'images d'ionogrammes brutes estimées.

ionogram

Ce code sert à extraire les données et les métadonnées des ionogrammes numérisés.

Démarrage rapide

pip install -r pip-requirements.txt
cd scan2data
run user_input.py 

Navigation

  • /docs contient la documentation pertinente sur les sous-modules et les sous-ensembles de scan2data
    • La documentation peut ĂȘtre consultĂ©e dans un navigateur en cliquant sur /docs/_build/html/index
  • /scan2data est un progiciel basĂ© sur Python3 qui permet de transformer les scans bruts en informations
    • process_directory.py contient du code pour parcourir l'ensemble du processus de traitement d'un rĂ©pertoire
    • user_input.py est un moyen d'exĂ©cuter rapidement le code
  • /output-analysis contient des scripts R pour analyser et visualiser les sorties gĂ©nĂ©rĂ©es en CSV de /scan2data
  • /pickle stocke la trame de donnĂ©es finale gĂ©nĂ©rĂ©e par le code process_directory avec l'Ă©tiquetage du rĂ©pertoire et du sous-rĂ©pertoire associĂ©s
  • /feature_detection utilise le fichier pickle stockĂ© dans /pickle pour effectuer l'extraction de traces, le nettoyage et pour extraire les paramĂštres d'intĂ©rĂȘt
  • /saved_results contient les sorties d'images de feature_detection.py

Détection de caractéristiques

Pour exécuter le code de détection des caractéristiques :

  1. Exécutez /scan2data/process_directory.py sur le répertoire d'ionogrammes souhaité (spécifié dans "main")
  2. Dans /feature_detection/feature_detection_main.py, indiquez le nom de fichier du fichier .pkl généré à l'étape précédente (enregistré dans /pickle)
  3. ExĂ©cutez le fichier feature_detection_main.py. Les images de sortie seront sauvegardĂ©es dans /saved_results. Notez que pour le traitement Ă  grande Ă©chelle des ionogrammes, il peut ĂȘtre prĂ©fĂ©rable de ne pas enregistrer les images afin d'accĂ©lĂ©rer le traitement.

La dĂ©tection des caractĂ©ristiques fonctionne en quelques Ă©tapes. La sortie de process_directory contient toutes les coordonnĂ©es auxquelles un point est dĂ©tectĂ©. Afin de rendre la trace plus facile Ă  analyser scientifiquement, elle est rééchantillonnĂ©e, filtrĂ©e et lissĂ©e. Diverses mĂ©thodes peuvent ĂȘtre utilisĂ©es sur la trace nettoyĂ©e pour tenter d'extraire des points de donnĂ©es d'intĂ©rĂȘt majeur, bien que cela nĂ©cessite un travail supplĂ©mentaire pour ĂȘtre gĂ©nĂ©ralisable.

Conventions d'appellation des modules dans les sous-ensembles

  • les modules commençant par test_ sont des modules permettant de tester la fonctionnalitĂ© du sous-paquet
  • les modules commençant par draft_ sont des codes de dĂ©part qui nĂ©cessitent encore beaucoup de travail

Pipeline de traitement

  • Les scans bruts ont Ă©tĂ© traitĂ©s par sous-rĂ©pertoire
    • Chaque image brute dans le sous-rĂ©pertoire a Ă©tĂ© segmentĂ©e en son ionogramme brut et en mĂ©tadonnĂ©es ajustĂ©es (voir /scan2data/image_segmentation)
    • S'il Ă©tait dĂ©terminĂ© que les mĂ©tadonnĂ©es se trouvaient Ă  gauche des ionogrammes, les mĂ©tadonnĂ©es de tous les ionogrammes Ă©taient traduites en informations (voir /scan2data/metadata_translation)
      • La grille de mĂ©tadonnĂ©es du point de gauche, qui fait correspondre les coordonnĂ©es des pixels de l'image des mĂ©tadonnĂ©es du point de gauche au numĂ©ro, Ă  la catĂ©gorie, a Ă©tĂ© dĂ©terminĂ©e Ă  partir de toutes les mĂ©tadonnĂ©es du point
      • La grille de mĂ©tadonnĂ©es du chiffre de gauche, qui associe les coordonnĂ©es des pixels de l'image des mĂ©tadonnĂ©es du chiffre de gauche au numĂ©ro, Ă  la catĂ©gorie, a Ă©tĂ© dĂ©terminĂ©e Ă  partir de toutes les mĂ©tadonnĂ©es du chiffre
    • À partir de tous les ionogrammes extraits, on a dĂ©terminĂ© la grille d'ionogrammes, qui permet de cartographier les coordonnĂ©es des pixels de l'image en Hz, en km (voir /scan2data/ionogram_grid_determination)
    • La trace de l'ionogramme (noir) a Ă©tĂ© extraite et mise en correspondance avec des valeurs (Hz, km) (voir /scan2data/ionogram_content_extraction)
    • Les paramĂštres sĂ©lectionnĂ©s ont Ă©tĂ© extraits, c'est-Ă -dire fmin (voir /scan2data/ionogram_content_extraction

Software to process the Alouette-I dataset

Background

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 was recorded on 35-mm film. The CSA has scanned 884952 (44.25%) of the 2 000 000 estimated raw images.

ionogram

This code is an effort to extract data and metadata from the scanned ionogram images.

Quick start

pip install -r pip-requirements.txt
cd scan2data
run user_input.py

Navigation

  • /docs contains relevant documentation on the submodules and the subpackages of scan2data
    • The documentation can be viewed in a browser by clicking on /docs/_build/html/index
  • /scan2data is a Python3-based package to transform raw scans into information
    • process_directory.py contains code to through the entire processing pipeline for a directory
    • user_input.py is a way to quickly run the code
  • /output-analysis contains R scripts to analyze and visualize CSV-generated outputs of /scan2data
  • /pickle stores the final dataframe generated by the process_directory code with the associated directory and subdirectory labeling
  • /feature_detection uses the pickle file stored in /pickle to perform trace extraction, cleaning, and to extract parameters of interest
  • /saved_results contains the image outputs from feature_detection.py

Feature detection

To run the feature detection code:

  1. Run /scan2data/process_directory.py on the desired ionograms directory (specified in 'main')
  2. In /feature_detection/feature_detection_main.py, specify the file_name of the .pkl file generated in the previous step (saved in /pickle)
  3. Run feature_detection_main.py. Output images will be saved to /saved_results. Note that for large-scale processing of ionograms, it may be preferable not to save the images in order to speed up the processing.

The feature detection works using a few steps. The output from process_directory contains all the coordinates at which a point is detected. In order to make the trace more amenable to scientific analysis, it is resampled, filtered, and smoothed. Various methods can be used on the cleaned trace to attempt to extract data points of key interest, although this needs further work to be generalizable.

Naming conventions for modules in subpackages

  • modules starting with test_ are modules to test the subpackage's functionality
  • modules starting with draft_ are starting code that still needs a lot of work

Processing pipeline

  • The raw scans were processed by subdirectory
    • Each raw image in the subdirectory was segmented into its raw ionogram and trimmed metadata (see /scan2data/image_segmentation)
    • If the metadata was determined to be located on the left of ionograms, the metadata of all the ionograms was translated into information (see /scan2data/metadata_translation)
      • The leftside dot metadata grid, which maps image pixel coordinates of leftside dot metadata to number, category, was determined from all the dot metadata
      • The leftside digit metadata grid, which maps image pixel coordinates of leftside digit metadata to number, category, was determined from all the digit metadata
    • From all the extracted ionograms, the ionogram grid, which maps image pixel coordinates to Hz, km mappings, was determined (see /scan2data/ionogram_grid_determination)
    • The ionogram trace (black) was extracted and mapped to (Hz, km) values (see /scan2data/ionogram_content_extraction)
    • Select parameters were extracted i.e. fmin (see /scan2data/ionogram_content_extraction

Créateur | Creators

Jenisha Patel
Etienne Low-Décarie
Wasiq Mohammad

About

đŸ›°ïž Ce code sert Ă  extraire les donnĂ©es et les mĂ©tadonnĂ©es des ionogrammes numĂ©risĂ©s du satellite Alouette | đŸ›°ïž This code is an effort to extract data and metadata from the scanned ionogram images from the Alouette satellite.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%
0