Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UAV Dziani - Gas Bubble Detection Analysis

Analysis tool for detecting and measuring gas bubbles in UAV footage of Dziani lake, Mayotte. This project processes drone videos to identify bubble plumes, calculate their positions, and interpolate temporal data.

Prerequisites

  • Python 3.12 or higher
  • FFmpeg (for video processing)

Installation

Linux et Mac

Option 1 : avec uv (recommandé)

# Installer uv si nécessaire
curl -LsSf https://astral.sh/uv/install.sh | sh

# Créer l'environnement et installer les dépendances
uv sync

# Activer l'environnement
source .venv/bin/activate

Option 2 : avec pip

# Créer l'environnement virtuel
python3.12 -m venv .venv

# Activer l'environnement
source .venv/bin/activate

# Installer les librairies
pip install -r requirements.txt

Windows

Option 1 : avec uv (recommandé)

# Installer uv si nécessaire
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

# Créer l'environnement et installer les dépendances
uv sync

# Activer l'environnement
.venv\Scripts\activate

Option 2 : avec conda

Installer FFMPEG

Installez ffmpeg sur Windows :

  1. Téléchargez la version Windows sur https://ffmpeg.org/download.html
  2. Extrayez le contenu de l'archive téléchargée
  3. Ajoutez le chemin du dossier "bin" de ffmpeg à la variable d'environnement PATH de Windows

Créer et activer l'environnement

# Créer l'environnement
conda create -n env python=3.12

# Activer l'environnement
conda activate env

# Installer les librairies
pip install -r requirements.txt

Utilisation avec Spyder

conda activate env
spyder

Configuration

Créez un fichier .env à la racine du projet avec les variables suivantes :

# Identifiant de la feuille Google Sheets contenant les paramètres de traitement
GG_SHEET_ID=XXXXXXXXXXXXXXXXXXX
# Chemin vers le dossier de données
ROOT_DATA_PATH=/Volumes/data/images
# Chemin vers le dossier de résultats
OUTPUT_PATH=./

Utilisation

N est le numéro de la ligne dans la feuille Google Sheets contenant les paramètres de traitement pour une expérience donnée.

Avec uv (recommandé)

Calcul du centre de detection

uv run DzianiBullage.py N -c
# Exemple:
uv run DzianiBullage.py 4 -c

Calculs principaux

  • Analyse des vidéos
uv run DzianiBullage.py N -a
# Exemple:
uv run DzianiBullage.py 10 -a
  • Calcul des interpolations
uv run DzianiBullage.py N -i
# Exemple:
uv run DzianiBullage.py 4 -i
  • Calcul Largeur Panache
uv run DzianiBullage.py N -l
# Exemple:
uv run DzianiBullage.py 4 -l

Avec Python (alternative)

Si vous utilisez l'environnement virtuel traditionnel :

python3 DzianiBullage.py N -c
python3 DzianiBullage.py N -a
python3 DzianiBullage.py N -i
python3 DzianiBullage.py N -l

Options de traitement

  • -c : Calcul du centre de détection (requis en premier)
  • -a : Analyse des vidéos pour détecter les bulles
  • -i : Calcul des interpolations temporelles
  • -l : Calcul de la largeur du panache

Visualisation des données SRT — plot_srt.py

Visualisez les données de télémétrie brutes des fichiers SRT des drones DJI.

Utilisation

# Traiter un seul répertoire
uv run plot_srt.py 0

# Traiter une plage de répertoires
uv run plot_srt.py 0-5

# Spécifier le répertoire racine
uv run plot_srt.py 3-7 --dir /chemin/vers/donnees

Paramètres :

  • numeros : Numéro ou plage (ex. 0, 3-7)
  • --dir : Répertoire racine contenant les dossiers N_resultats_* (défaut : .)

Sorties

Pour chaque répertoire traité, génère un graphique PNG dans le dossier de résultats :

  • Déplacement Est et Nord : variation des coordonnées horizontales depuis le départ en cm
  • Déplacement 3D et vertical : distance 3D cumulée et variation verticale depuis le départ en cm
  • Variation de hauteur (ΔH) : différence avec la première valeur H enregistrée en m
  • Yaw gimbal (G.PRY) : orientation en degrés
  • Trajectoire 3D : tracé spatial coloré par le temps, avec points de départ/fin

Projections géodésiques automatiques :

  • Avant 2023-01-01 → RGM04 / UTM zone 38S (EPSG:4471)
  • À partir de 2023-01-01 → RGM23 / UTM zone 38S (EPSG:10674)

Exemple de sortie

Exemple de sortie plot_srt.py

Dépannage

Problème : FFmpeg non trouvé

  • Linux/Mac : brew install ffmpeg ou apt-get install ffmpeg
  • Windows : Vérifiez que le chemin FFmpeg est dans PATH

Problème : Erreur d'accès Google Sheets

  • Vérifiez que GG_SHEET_ID est correct dans le fichier .env
  • Confirmez les permissions d'accès à la feuille

Problème : Module non trouvé

  • Vérifiez que l'environnement virtuel est activé
  • Réinstallez les dépendances : pip install -r requirements.txt

Structure du projet

UAV_Dziani/
├── DzianiBullage.py      # Script principal
├── plot_srt.py           # Visualisation données SRT (télémétrie)
├── traitement.py         # Fonctions de traitement vidéo
├── utils.py              # Utilitaires
├── find_center.py        # Détection du centre
├── find_zone.py          # Détection de zones
├── cv2_parametres.py     # Paramètres OpenCV
├── requirements.txt      # Dépendances Python
└── pyproject.toml         # Configuration uv

About

Python scripts to work on Mayotte Dziani UAV movies

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages