Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)

Doc/BM-Grenoble/Prétraitrement des images

De AJLSM
Version datée du 3 mai 2012 à 10:33 par Groche (discussion | contributions) (création)
(diff) ← Version précédente | Version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Introduction

Ce fichier fait parti d'un pack d'installation réparti comme suit :

  • processimage-bin.jar : exécutable java ;
  • pre_traitement_images_plus.py : script python utilisé pour la transformation des images.

Ce document présente l'exploitation d'un système de pré-traitement d'une liste d'image à partir des logs Rsync.

Les images pré-traitées

Pour fonctionner avec des images, une installations de Notix/bmg destinée à un large public, nécessite le pré-traitement préalable des images. Ce pré-traitement consiste à préparer à l'avance les différentes versions d'images que l'application peut offrir : miniatures, vignettes, plein format, images hidef, etc. Pour cela, il suffit de créer les images au format voulu et de les stocker dans un dossier. Les images pré-traitées doivent porter le même nom que les images sources, de même que leur organisation en dossier et sous-dossier. Par exemple, pour un dossier source :

diskE
└── FRAD064003_IR0001
    └── Biarritz_1
        └── 3E18351
            ├── FRAD064007_3E18351_0001.JPG
            ├── FRAD064007_3E18351_0002.JPG
            └── FRAD064007_3E18351_0003.JPG

on devra avoir pour les vignettes et les miniatures :

img-preparees
├── vignette
│   └── FRAD064003_IR0001
│       └── Biarritz_1
│           └── 3E18351
│               ├── FRAD064007_3E18351_0001.JPG
│               ├── FRAD064007_3E18351_0002.JPG
│               └── FRAD064007_3E18351_0003.JPG
└── miniature
        └── Biarritz_1
            └── 3E18351
                ├── FRAD064007_3E18351_0001.JPG
                ├── FRAD064007_3E18351_0002.JPG
                └── FRAD064007_3E18351_0003.JPG

À noter dans cet exemple :

  1. Chaque version d'images pré-traitées possède une arborescence identique à celle des images sources ;
  2. Chaque version d'images pré-traitées est contenue dans un dossier distinct dont le nom est celui de la version correspondante (miniature, vignette, etc.);
  3. L'ensemble des versions d'images pré-traitées est contenue dans un unique dossier, ici img-preparees.

Pré-traitement des images

Dans le cas particulier de l'application bmg/notix, initialement la totalité des images a déjà été pré- traiter. Cependant, en fonction de l’évolution du projet, des images supplémentaires s'ajoutent via le système de synchronisation Rsync. Le travail consiste à automatiser la tâche de pré-traitement des images nouvellement ajoutées. AJLSM propose dans ce pack un utilitaire JAVA capable d'analyser les logs Rsync et d'effectuer automatiquement le pré-traitement des images transférées. C'est le fichier « processImage- bin.jar » Cet utilitaire est auto-documenté. Pour accéder à l'aide il faut le lancer avec l'option « -h » ou « -- help » $ java -jar processimages-bin.jar --help usage: java -jar processimages-bin.jar --imgDir | --pDir | --rFile [options] -h,--help Afficher l'aide -i,--imgDir <imgDir> Chemin absolue vers le répertoire des images originales -p,--pDir <pDir> Chemin absolue vers le répertoire des images préparées -r,--rFile <rFile> Chemin absolue vers le fichier de log rsync à analyser -x,--py <arg> [optionnel] Chemin absolue vers le script python de pré-traitement (fichier pretraitement_images_plus.py)

NB

  1. Dans les logs Rsync les chemins vers les nouveaux fichiers doivent être donner relativement

au répertoire des images originales (option imgDir). Pour obtenir ce comportement, il faut que Rsync soit lancé depuis le répertoire « imgDir ». Exemple : Le répertoire des image originale est /home/mdia/imgdir. Le résultat dans le log Rsync est : building file list ... done ./ cosmos/ cosmos/blue-marble-west.jpg cosmos/cloud.jpg cosmos/comet.jpg Dans cette exemple le fichier à ligne 4 se trouvent sur le disque à l'emplacement « /home/mdia/imgdir/cosmos/blue-marble-west.jpg ».

  1. À chacun de ses passages l'utilitaire JAVA tente de gérer tout les images qui sont indiquées

comme nouvelles. De ce fait, après chaque passage, il faudrait vider ou archiver le fichier de log de Rsync. Ainsi, lors du prochain lancement, le fichier de log ne contiendra que les fichiers qui ont été ajouté depuis le dernier passage.

Exemple d'utilisation de l'utilitaire de pré-traitement

L’utilitaire à besoin du script « pretraitement_images_plus.py » pour fonctionner. Si ce dernier n'est pas présent dans le même répertoire, il faut spécifier son emplacement avec le paramétre optionnel « --py ». La ligne de commande pour lancer le pré-traitement est : java -jar processimages-bin.jar \ --rFile=/home/mdia/imgdir/res-rsync.txt \ --pDir=/home/mdia/img-prepared-dir \ --imgDir=/home/mdia/imgdir \ --py=/home/mdia/projets/bin/pretraitement_images_plus.py


Remarques : L'utilitaire produit lors de son exécution des logs. Ces logs peuvent être intéressent pour suivre l’évolution de la tâche ainsi que les éventuels problèmes. On conseille de stocker ces logs en effectuant une redirection de la sortie standard vers un fichier.