====== Visualisation des données Pattern Spectra ======
Pour pouvoir visualiser et identifier un pattern spectra, plusieurs commandes sont disponibles (graphique ou textuelle).
Dans le cadre des travaux sur Triskele, l'équipe Obelix a défini deux représentations distinctes de signatures d'images liées aux histogrammes. Toutes deux représentent un histogramme représentant une signature unique.
* Le ''.kor'' représente le Pattern Spectra d'une image complète. Le nom de l'extension fait référence au projet Korrigan de recherche par exemple dans des images de grande taille.
* Le ''.patch'' représente un Pattern Spectra limité à une région et/ou d'une structure que l'on souhaite identifier au sein d'une image. Le nom de l'extension fait référence à la vignette choisi comme exemple pour la recherche.
==== Exemple .kor ====
La commande ci-dessous donne la structure d'un '.kor':
h5ls arles_1576x920-1000x1000-b0.kor
Ce qui donne comme résultat ceci :
PS Dataset{900}
compBinIdx Dataset{288776}
compBinVal Dataset{288776}
georeference Dataset{6}
imgSize Dataset{3}
parents Dataset{1288776}
projectionRef Dataset{SCALAR}
Explication des attributs :
* ''PS'' : Tableau Pattern Spectra de taille 900
* ''compBinIdx'' : Index
* ''compBinVal'' : Valeur de luminance
* ''georeference'' : Positionnement de géolocalisation en format wordFile
* ''imgSize'' : Dimension de l'image d'entrée
* ''parents'' : nombrr de pixel + nombre de noeud
* ''projectionRef'' : ?
Le tableau ''compBinIdx'' indique les index permettant l'ajout d'une valeur cumulée du tableau ''compBinVal'' dans le tableau ''PS''.
Chaque valeur ''compBinIdx'' est affiliée à une valeur dans le tableau ''compBinVal'', permettant ainsi la construction du tableau ''PS''.
{{:python:schema_py1.png?400|}}
La commande ci-dessous donne la représentation compacte d'un '.kor':
h5dump arles_1576x920-1000x1000-b0.kor
=== Affichage PS .kor ===
La commande ci-dessous affiche le pattern spectra à l'aide du ''displayPS.py'' :
python3 displayPs.py arles_1576x920-1000x1000-b0.kor
{{:python:figure_1.png?320&direct|}}
==== Exemple .patch ====
La commande ci-dessous donne la structure d'un '.patch':
h5ls arles-b0_400x400-200x200.patch
Ce qui donne comme résultat ceci :
patchPSBinIdx Dataset{50}
patchPSBinVal Dataset{50}
patchSize Dataset{2}
Explication des attributs :
* ''patchPSBinIdx'' : Tableau compacte comprenant les index du PS.
* ''patchPSBinVal'' : Tableau compacte comprenant les valeurs du PS.
* ''patchSize'' : Taille du patch.
Le tableau ''patchPSBinIdx'' ne doit pas être confondu avec le tableau ''compBinIdx''. De la même manière, ''patchPSBinVal'' est différent de ''compBinVal''.
Les attributs ''patchPSBinIdx'' et ''patchPSBinVal'' sont des représentations compactes du Pattern Spectra du patch mais ne permettent pas de le construire contrairement aux ''compBinIdx'' et ''compBinVal'' d'un .kor par exemple.
{{:python:schema_py2_2_.png?300|}}
=== Affichage PS .patch ===
python3 displayPs.py arles-b0_400x400-200x200.patch
{{:python:figure_1ps_patch.png?320&direct|}}