Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
« Pleade : Images » : différence entre les versions
m a déplacé Préparation des images vers Image Préparation des images |
|||
| (4 versions intermédiaires par 2 utilisateurs non affichées) | |||
| Ligne 72 : | Ligne 72 : | ||
=== Vérification === | === Vérification === | ||
Nous utilisons le serveur IIPImage<ref>[http://iipimage.sourceforge.net/ IIPImage]</ref> pour servir les images pyramidales. Si vous rencontrez des difficultés, nous recommandons de lire la page concernant les problèmes courants. <ref>[http://iipimage.sourceforge.net/documentation/troubleshooting/ Résoudre les problèmes courants de IIPImage]</ref> | Nous utilisons le serveur IIPImage<ref>[http://iipimage.sourceforge.net/ IIPImage]</ref> pour servir les images pyramidales. Si vous rencontrez des difficultés, nous recommandons de lire la page concernant les problèmes courants. <ref>[http://iipimage.sourceforge.net/documentation/troubleshooting/ Résoudre les problèmes courants de IIPImage]</ref> | ||
{{important|Vos images doivent être accessible au serveur IIPImage, '''vérifier les permissions''' sont correctes sur les images et sur les dossiers parents}} | {{important|Vos images doivent être accessible au serveur IIPImage, '''vérifier les permissions''' sont correctes sur les images et sur les dossiers parents}} | ||
== Conversion des images == | |||
=== Avec le Shell === | |||
Pour faire la conversion d'image on utilise {{cmd|imagemagick}} ou {{cmd|graphicsmagick}}. Généralement, {{cmd|imagemagick}} est présent à la fin d'une installation linux sur un poste de travail. Ce n'est pas forcément le cas sur les serveurs. On installera comme suit : | |||
* Ubuntu : <syntaxhighlight lang="bash">apt-get install graphicsmagick imagemagick</syntaxhighlight> | |||
* CentOS (non-testé) : <syntaxhighlight lang="bash">yum install graphicsmagick imagemagick</syntaxhighlight> | |||
=== Exemple TIF → JPEG === | |||
On s'appuie sur l'option bash {{cmd|globstar}}<ref>[https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html Bash option: {{cmd|globstar}}]</ref> et la commande {{cmd|convert}} de ImageMagick<ref>[https://twitter.com/edouard_lopez/status/210675676657893376 Quality should always come first : convert -quality 100 $start $end. If not you will #fail. #imagemagic]</ref> pour le mini-script ci-dessous : | |||
<syntaxhighlight lang="bash"> | |||
shopt -s globstar # permet l'utilisation du glob ** (profonder N>0) | |||
for i in ./**/*.tif; | |||
do | |||
convert -quality 70 "$i" "${i/.tif/.jpg}"; # on remplace l'exentsion '.tif' par '.tif' pour le nom du fichier de sortie | |||
done | |||
</syntaxhighlight> | |||
{{important|L'option {{cmd|globstar}} est propre à {{cmd|bash}}, elle '''ne fonctionnera pas dans un shell {{cmd|zsh}}!''' Pour le faire fonctionner, il vous suffit de basculer dans un shell bash avec la commande {{cmd|bash}}}} | |||
== Image DZI == | |||
La nouvelle visionneuse OpenSeaDragon va travailler avec des images au formats DZI. Pour obtenir ces images à partir des originales au format JPEG, un pré-traitement est nécessaire. | |||
Cependant, en fonction de la taille des tuiles et du taux de compression, la taille du rendu DZI est complètement différente. Cette section présente la taille du rendu DZI d'une image test après selon plusieurs taux de compression. | |||
Par défaut, '''la taille des tuiles est de 512x512'''. | |||
Pour la taille des rendu DZI, on ne considère que le contenu du répertoire DZI. En effet, le fichier XML DZI pèse 165octets. Ce qui est négligeable. | |||
Pour les images ci-dessus correspondant au rendu avec conversion, la capture d'écran est effectué avec un zoom de 300%. L'image a une teinte légèrement rouge qui provient de la visionneuse OpenSeaDragon. | |||
Au vu des résultats, '''le taux de compression par défaut préconisé est de 45%'''. | |||
=== Informations images originales === | |||
* Nom: FRAD033_3P001_001_P.jpg | |||
* Chemin: <projet ad33>/P/3P/3P001/FRAD033_3P001_001_P.jpg | |||
* Taille du fichier original: 10Mo | |||
* Taille du fichier TIFF utilisé: 8.7Mo | |||
=== Test no1 qualité=100% === | |||
* Taille rendu: 34.7Mo | |||
* Stockage à prévoir: 4 fois taille images originales | |||
* Capture de l'image de rendu: [[Fichier:Ad33-3P001-001-c100-t512x512-z300.png]] | |||
=== Test no2 qualité=90% === | |||
* Taille rendu: 15.1Mo | |||
* Stockage à prévoir: 2 fois taille images originales | |||
* Capture de l'image de rendu: [[Fichier:Ad33-3P001-001-c90-t512x512-z300.png]] | |||
=== Test no3 qualité=80% === | |||
* Taille rendu: 10.1Mo | |||
* Stockage à prévoir: 1.5 fois taille images originales | |||
* Capture de l'image de rendu: [[Fichier:Ad33-3P001-001-c80-t512x512-z300.png]] | |||
=== Test no4 qualité=70% === | |||
* Taille rendu: 7.7Mo | |||
* Stockage à prévoir: 1.5 fois taille images originales | |||
* Capture de l'image de rendu: [[Fichier:Ad33-3P001-001-c70-t512x512-z300.png]] | |||
=== Test no5 qualité=60% === | |||
* Taille rendu: 6.7Mo | |||
* Stockage à prévoir: 1 fois taille images originales | |||
* Capture de l'image de rendu: [[Fichier:Ad33-3P001-001-c60-t512x512-z300.png]] | |||
=== Test no6 qualité=50% === | |||
* Taille rendu: 5.9Mo | |||
* Stockage à prévoir: 1 fois taille images originales | |||
* Capture de l'image de rendu: [[Fichier:Ad33-3P001-001-c50-t512x512-z300.png]] | |||
=== Test no7 qualité=40% === | |||
* Taille rendu: 5.3Mo | |||
* Stockage à prévoir: 1 fois taille images originales | |||
* Capture de l'image de rendu: [[Fichier:Ad33-3P001-001-c40-t512x512-z300.png]] | |||
=== Test no8 qualité=30% === | |||
* Taille rendu: 4.8Mo | |||
* Stockage à prévoir: 1 fois taille images originales | |||
* Capture de l'image de rendu: [[Fichier:Ad33-3P001-001-c30-t512x512-z300.png]] | |||
=== Test no9 qualité=20% === | |||
* Taille rendu: 4.1Mo | |||
* Stockage à prévoir: 1 fois taille images originales | |||
* Capture de l'image de rendu: [[Fichier:Ad33-3P001-001-c20-t512x512-z300.png]] | |||
=== Test no10 qualité=10% === | |||
* Taille rendu: 3.7Mo | |||
* Stockage à prévoir: 0.75 fois taille images originales | |||
* Capture de l'image de rendu: [[Fichier:Ad33-3P001-001-c10-t512x512-z300.png]] | |||
== Références == | == Références == | ||
<references/> | <references/> | ||
Dernière version du 8 février 2018 à 11:32
Pré-requis
[modifier | modifier le wikicode]L'environnement d’exécution doit permettre d'exécuter les commandes suivantes :
convert(du paquetImageMagick) ;python(testé avec la version 2.4.3 à 2.7.3).
Pour cela, on s'assurera que les deux commandes font partie du $PATH du système hôte. Vous pouvez également tenter d'accéder à l'aide de la commande pour vérifier sa disponibilité (convert --help et python --help).
Description
[modifier | modifier le wikicode]Le script se lance, en tant qu'utilisateur classique, de la manière suivante :
bash traitement_img.sh "$scriptPython" "$dossierTiff" "$dossierJPEG" "$dossierCible" "$dossierLogs"
| Argument | Description | commentaires |
|---|---|---|
| $scriptPython | chemin absolu vers le script python pretraitement_images.py. | - |
| $dossierTiff | chemin absolu du répertoire parent de toutes les images TIFF. | - |
| $dossierJPEG | chemin absolu du répertoire où sont stockées les images JPEG préalablement générées. | Ce sera le répertoire racine des images pour Pleade. |
| $dossierCible | chemin absolu du répertoire où seront stockées les images pré-traitées (hidef, miniature, etc.). | Ce répertoire sera utilisé par Pleade. |
| $dossierLogs | chemin absolu du répertoire où seront stockés les logs concernant la conversion. | - |
Utilisation
[modifier | modifier le wikicode]Les répertoires définis par $dossierJPEG, $dossierCible, $dossierLogs doivent exister préalablement.
Définir les chemins
[modifier | modifier le wikicode]Pour définir l'environnement de travail, on pourra reprendre les commandes suivantes : Si vous ne comprenez pas ce que les commandes suivantes font, ne les exécutées pas.
scriptPython="/data/bin/pretraitement_images.py"
dossierTiff="/data/imgs-tiff"
dossierJPEG="/data/img-jpeg"
dossierCible="/data/images-preparees"
dossierLogs="/data/log"
mkdir -p "$dossierJPEG" "$dossierCible" "$dossierLogs" # créé l'arborescence pour les dossiers de travail
On se placera dans le dossier contenant le script shell et python pour exécuter la commande suivante :
bash traitement_img.sh "$scriptPython" "$dossierTiff" "$dossierJPEG" "$dossierCible" "$dossierLogs"
Tests & compatibilité
[modifier | modifier le wikicode]Il est recommandé de faire des tests de conversion sur un sous-ensemble de vos données, avant de faire un traitement massif qui pourrait échoué. Ceci tout particulièrement lors de la génération des images « TIFF pyramidales ». Nous vous conseillons d'utiliser un système qui se rapproche le plus possible des caractéristiques cités ci-dessus.
Nos tests ont été effectué sur une machine ayant les caractéristiques suivantes :
| Propriété | Description | Commentaire |
|---|---|---|
| OS | Ubuntu 12.04.1 LTS (precise) | - |
| Noyau | 3.2.0-34-generic-pae | peu d'importance |
| Architecture | 32 bits | peu d'importance |
| ImageMagick | 6.6.9-7 2012-08-17 Q16 | Préférée une version récente ou renseignez-vous sur la compatibilité avec le serveur IIPImage<ref>Comment générer correctement vos images pyramidales</ref>. |
| Python | 2.7.3 | |
| BaSH | 4.2.24 |
Important :
Nous ne garantissons pas de portabilité sur des versions inférieur à Bash <4 ou sur d'autres shells ( zsh, ksh, etc.). |
Si vous rencontrez des difficultés, n'hésiter pas à nous recontacter en nous donnant le plus de détails possible sur votre environnement de travail.
Vérification
[modifier | modifier le wikicode]Nous utilisons le serveur IIPImage<ref>IIPImage</ref> pour servir les images pyramidales. Si vous rencontrez des difficultés, nous recommandons de lire la page concernant les problèmes courants. <ref>Résoudre les problèmes courants de IIPImage</ref>
Conversion des images
[modifier | modifier le wikicode]Avec le Shell
[modifier | modifier le wikicode]Pour faire la conversion d'image on utilise imagemagick ou graphicsmagick. Généralement, imagemagick est présent à la fin d'une installation linux sur un poste de travail. Ce n'est pas forcément le cas sur les serveurs. On installera comme suit :
- Ubuntu :
apt-get install graphicsmagick imagemagick
- CentOS (non-testé) :
yum install graphicsmagick imagemagick
Exemple TIF → JPEG
[modifier | modifier le wikicode]On s'appuie sur l'option bash globstar<ref>Bash option: globstar</ref> et la commande convert de ImageMagick<ref>Quality should always come first : convert -quality 100 $start $end. If not you will #fail. #imagemagic</ref> pour le mini-script ci-dessous :
shopt -s globstar # permet l'utilisation du glob ** (profonder N>0)
for i in ./**/*.tif;
do
convert -quality 70 "$i" "${i/.tif/.jpg}"; # on remplace l'exentsion '.tif' par '.tif' pour le nom du fichier de sortie
done
globstar est propre à bash, elle ne fonctionnera pas dans un shell zsh! Pour le faire fonctionner, il vous suffit de basculer dans un shell bash avec la commande bash.
Image DZI
[modifier | modifier le wikicode]La nouvelle visionneuse OpenSeaDragon va travailler avec des images au formats DZI. Pour obtenir ces images à partir des originales au format JPEG, un pré-traitement est nécessaire. Cependant, en fonction de la taille des tuiles et du taux de compression, la taille du rendu DZI est complètement différente. Cette section présente la taille du rendu DZI d'une image test après selon plusieurs taux de compression. Par défaut, la taille des tuiles est de 512x512.
Pour la taille des rendu DZI, on ne considère que le contenu du répertoire DZI. En effet, le fichier XML DZI pèse 165octets. Ce qui est négligeable.
Pour les images ci-dessus correspondant au rendu avec conversion, la capture d'écran est effectué avec un zoom de 300%. L'image a une teinte légèrement rouge qui provient de la visionneuse OpenSeaDragon.
Au vu des résultats, le taux de compression par défaut préconisé est de 45%.
Informations images originales
[modifier | modifier le wikicode]- Nom: FRAD033_3P001_001_P.jpg
- Chemin: <projet ad33>/P/3P/3P001/FRAD033_3P001_001_P.jpg
- Taille du fichier original: 10Mo
- Taille du fichier TIFF utilisé: 8.7Mo
Test no1 qualité=100%
[modifier | modifier le wikicode]- Taille rendu: 34.7Mo
- Stockage à prévoir: 4 fois taille images originales
- Capture de l'image de rendu:

Test no2 qualité=90%
[modifier | modifier le wikicode]- Taille rendu: 15.1Mo
- Stockage à prévoir: 2 fois taille images originales
- Capture de l'image de rendu:

Test no3 qualité=80%
[modifier | modifier le wikicode]- Taille rendu: 10.1Mo
- Stockage à prévoir: 1.5 fois taille images originales
- Capture de l'image de rendu:

Test no4 qualité=70%
[modifier | modifier le wikicode]- Taille rendu: 7.7Mo
- Stockage à prévoir: 1.5 fois taille images originales
- Capture de l'image de rendu:

Test no5 qualité=60%
[modifier | modifier le wikicode]- Taille rendu: 6.7Mo
- Stockage à prévoir: 1 fois taille images originales
- Capture de l'image de rendu:

Test no6 qualité=50%
[modifier | modifier le wikicode]- Taille rendu: 5.9Mo
- Stockage à prévoir: 1 fois taille images originales
- Capture de l'image de rendu:

Test no7 qualité=40%
[modifier | modifier le wikicode]- Taille rendu: 5.3Mo
- Stockage à prévoir: 1 fois taille images originales
- Capture de l'image de rendu:

Test no8 qualité=30%
[modifier | modifier le wikicode]- Taille rendu: 4.8Mo
- Stockage à prévoir: 1 fois taille images originales
- Capture de l'image de rendu:

Test no9 qualité=20%
[modifier | modifier le wikicode]- Taille rendu: 4.1Mo
- Stockage à prévoir: 1 fois taille images originales
- Capture de l'image de rendu:

Test no10 qualité=10%
[modifier | modifier le wikicode]- Taille rendu: 3.7Mo
- Stockage à prévoir: 0.75 fois taille images originales
- Capture de l'image de rendu:

Références
[modifier | modifier le wikicode]<references/>