Fichier d'implémentation de la commande merge4tiff. Plus de détails...
#include <tiffio.h>#include <boost/algorithm/string.hpp>#include <boost/log/core.hpp>#include <boost/log/trivial.hpp>#include <boost/log/utility/setup/common_attributes.hpp>#include <boost/log/utility/setup/console.hpp>#include <cstdlib>#include <cmath>#include <iostream>#include <algorithm>#include <string.h>#include <stdint.h>#include <rok4/image/Image.h>#include <rok4/enums/Format.h>#include <rok4/image/file/FileImage.h>#include <rok4/image/ExtendedCompoundImage.h>#include <rok4/image/MergeImage.h>#include <rok4/image/SubsampledImage.h>#include "config.h"Fonctions | |
| void | usage () |
| Affiche l'utilisation et les différentes options de la commande merge4tiff # help. Plus de détails... | |
| void | error (std::string message, int error_code) |
| Affiche un message d'erreur, l'utilisation de la commande et sort en erreur. Plus de détails... | |
| int | parse_command_line (int argc, char *argv[]) |
| Récupère les valeurs passées en paramètres de la commande, et les stocke dans les variables globales. Plus de détails... | |
| int | check_components (FileImage *image, int position) |
| Contrôle les caractéristiques d'une image (format des canaux, tailles) et de son éventuel masque. Plus de détails... | |
| int | load_images (FileImage **output_image, FileImage **output_mask, Image **input_image) |
| Contrôle l'ensemble des images et masques, en entrée et sortie. Plus de détails... | |
| int | main (int argc, char *argv[]) |
| Fonction principale de l'outil merge4tiff. Plus de détails... | |
Variables | |
| char * | strnodata = 0 |
| std::string | background_image_path |
| std::string | background_mask_path |
| std::vector< std::string > | input_images_paths = {"", "", "", ""} |
| std::vector< std::string > | input_masks_paths = {"", "", "", ""} |
| std::string | output_image_path |
| std::string | output_mask_path |
| double | local_gamma = 1. |
| uint32_t | width |
| uint32_t | height |
| Compression::eCompression | compression = Compression::NONE |
| bool | output_format_provided = false |
| uint16_t | samplesperpixel = 0 |
| SampleFormat::eSampleFormat | sampleformat = SampleFormat::UNKNOWN |
| Photometric::ePhotometric | photometric |
| bool | debug_logger =false |
| std::string | help |
Fichier d'implémentation de la commande merge4tiff.
Le fonctionnement général est décrit dans la page Commande merge4tiff .
| int check_components | ( | FileImage * | image, |
| int | position | ||
| ) |
Contrôle les caractéristiques d'une image (format des canaux, tailles) et de son éventuel masque.
Si les composantes sont bonnes, le masque est attaché à l'image.
| [in] | image | image à contrôler |
| [in] | position | position de l'image (0, 1, 2 ou 3) |
| void error | ( | std::string | message, |
| int | error_code | ||
| ) |
Affiche un message d'erreur, l'utilisation de la commande et sort en erreur.
| [in] | message | message d'erreur |
| [in] | error_code | code de retour |
| int load_images | ( | FileImage ** | output_image, |
| FileImage ** | output_mask, | ||
| Image ** | input_image | ||
| ) |
Contrôle l'ensemble des images et masques, en entrée et sortie.
Crée les objets TIFF, contrôle la cohérence des caractéristiques des images en entrée, ouvre les flux de lecture et écriture. Les éventuels masques associés sont ajoutés aux objets FileImage.
| [in] | output_image | image en sortie |
| [in] | output_mask | masque en sortie |
| [in] | input_image | image composée en entrée |
| int main | ( | int | argc, |
| char * | argv[] | ||
| ) |
Fonction principale de l'outil merge4tiff.
Différencie le cas de canaux flottants sur 32 bits des canaux entier non signés sur 8 bits.
| [in] | argc | nombre de paramètres |
| [in] | argv | tableau des paramètres |
| int parse_command_line | ( | int | argc, |
| char * | argv[] | ||
| ) |
Récupère les valeurs passées en paramètres de la commande, et les stocke dans les variables globales.
| [in] | argc | nombre de paramètres |
| [in] | argv | tableau des paramètres |
| void usage | ( | ) |
Affiche l'utilisation et les différentes options de la commande merge4tiff # help.
L'affichage se fait dans le niveau de logger INFO
| std::string background_image_path |
Chemin de l'image de fond
| std::string background_mask_path |
Chemin du masque associé à l'image de fond
| Compression::eCompression compression = Compression::NONE |
Compression de l'image de sortie
| bool debug_logger =false |
Activation du niveau de log debug. Faux par défaut
| uint32_t height |
Hauteur des images
| std::string help |
Message d'usage de la commande merge4tiff
| std::vector<std::string> input_images_paths = {"", "", "", ""} |
Chemins des images en entrée
| std::vector<std::string> input_masks_paths = {"", "", "", ""} |
Chemins des masques associés aux images en entrée
| double local_gamma = 1. |
Valeur de gamma, pour foncer ou éclaircir des images en entier
| bool output_format_provided = false |
A-t-on précisé le format en sortie, c'est à dire les 3 informations samplesperpixel et sampleformat
| std::string output_image_path |
Chemin de l'image en sortie
| std::string output_mask_path |
Chemin du masque associé à l'image en sortie
| Photometric::ePhotometric photometric |
Photométrie (rgb, gray), déduit du nombre de canaux
| SampleFormat::eSampleFormat sampleformat = SampleFormat::UNKNOWN |
Format du canal (entier, flottant, signé ou non...), pour l'image en sortie
| uint16_t samplesperpixel = 0 |
Nombre de canaux par pixel, pour l'image en sortie
| char* strnodata = 0 |
Valeur de nodata sour forme de chaîne de caractère (passée en paramètre de la commande)
| uint32_t width |
Largeur des images