Table of Contents

Sources

Pour commencer, ci-dessous le répertoire principale du projet git Triskele :

Nom du dossier/du fichierRésumé de ses fonctions
cmake Contient des modules utilisé pour le cmake, utilisé pour la compilation du projet sur la plateforme choisis
data
dockers Contient des documents textes dans lesquels sont définies toutes les commandes qu'un utilisateur peut appeler sur la ligne de commande pour assembler une image. À l'aide de docker build, les utilisateurs peuvent créer une build automatisée qui exécute successivement plusieurs instructions de ligne de commande
documentation Contient différentes documentations sur triskele notamment le fichier InstallTriskeleWindows.pdf qui décris les différentes étapes pour l'installation de triskele sous OS windows
include Contient tous les modules utilisé par l’application, en contenant les fichiers d'en-tête des classes sous forme de code source écrit en C++. Ses fichiers HPP sont utilisés pour stocker des composants de code qui sont réutilisés dans le projet Dans ce dossier
src Contient l'ensemble de fichiers sources (format .h ou .cpp) de l’application triskele
test Contient différents fichiers d’en-tête C++ pour effectuer des test unitaires
thirdparty Contient un module de catch permettant de récupérer les erreurs, utilisé pour les tests unitaires, comme par exemple des tests sur la classe Border ou la classe Thread
gitignore Le fichier gitignore spécifie les fichiers intentionnellement non suivis que Git doit ignorer, comme par exemple des fichiers qui ne servent qu’à la compilation de programme ou des fichiers temporaires créés par votre éditeur de texte.Les fichiers déjà suivis par Git ne sont pas affectés.
CMakeLists.txt Le fichier CMakeLists.txt contient un ensemble de directives et d'instructions décrivant les fichiers source et les cibles du projet (exécutable, bibliothèque ou les deux).
CMakeListsOTB.txt Un fichier CMakeLists.txt modifié pour l'utilisation de triskele dans son intégration à OTB

Notre attention ce portera sur les dossier includes et src

Triskele est structuré par des classes ayant pour groupes de fonctions spécifiques :

Types

Type Description
CPP Fichiers sources classiques contenant l’implémentation concrète du code. Ils sont compilés en fichiers objet (.o) pour former l’exécutable final.
HPP Fichiers d’en-tête contenant les déclarations de classes, fonctions et types. Ils servent d’interface entre les différentes parties du projet sans exposer les détails d’implémentation.
TPP Fichiers regroupant les définitions des fonctions inline (souvent pour les templates), permettant ainsi de maintenir des en-têtes clairs et bien organisés.
MCPP Fichiers rappelant le contenu des HPP, utilisés lorsque l’on a besoin de préciser certains types dans l’implémentation.
TCPP Fichiers destinés à l’explicitation détaillée des différents types possibles, offrant ainsi une documentation interne sur la structure des types.

Le dossier include

Ce dossier contient tous les modules utilisé par l’application, en contenant les fichiers d'en-tête des classes sous forme de code source écrit en C++. Ses fichiers HPP sont utilisés pour stocker des composants de code qui sont réutilisés dans le projet Dans ce dossier, on retrouve :

  1. Le dossier Attributes, ce dossier contient toutes les classes en liens avec des attributs possible de l’image ou de l’arbre
  2. Le dossier ArrayTree, ce dossier contient toutes les classes permettant la création d'un arbre
Nom de la classe C++ Résumé de ses fonctions Groupes
AttributeProfile Propriétés des images : taille, largeur, sombre.Contient un tableaux de propriétés géométrique géométrique
Border Permet de limiter les pixels à prendre en compte géométrique
HDF5 Permet d’enregistrer l’arbre sur le disque, permet d’enregistrer sa structure construction d'arbre
misc Fourre-tout pratique
ObelixDebug Créer une trace durant l’exécution pour suivre le code géométrique
Obelix 2D/3D Utiliser pour manager les images 2D et 3D, créer des tempaltes pour manipuler les pixels lors de l’éxécution géométrique
ObelixNDvie Calcul NDvie, permettant de distinguer la végétation dans l’image, en utilisant l’absorption du pigment chlorophyllien dans le canal rouge et la haute réflectivité des matières végétales dans le canal proche infrarouge géométrique
ObelixPantex Permet de distinguer les infrastructures humaines, comme une ville, s’appuie sur la rectangularité des objets géométrique
ObelixSobel Utilise le gradient entre un pixel et ses voisins pour identifier le contour des objets géométrique
ObelixThread Permet de lancer des tâches/calculs en parallèle géométrique
TextWin Permet de gérer une fenêtre glissante afin de calculer des éléments statistiques. géométrique
WeightAttributes Permet d’attributs un poids à l’image, utilisé plus tard pour différents calculs géométrique
ZLengthAttributes Permet de voir le temps de vie d’un objet, en utilisant la croissance d’un arbre par exemple géométrique
Dossier ArrayTree : construction d'arbre
ArrayTreeBuilder construction d'arbre
GraphWalker construction d'arbre
Leader construction d'arbre
Weight construction d'arbre
triskeleSort construction d'arbre

En construction