Référence du fichier overlayNtiff.cpp

Fichier d'implémentation de la commande overlayNtiff. Plus de détails...

#include <iostream>
#include <cstdlib>
#include <stdio.h>
#include <stdlib.h>
#include <vector>
#include <algorithm>
#include <string>
#include <fstream>
#include <tiffio.h>
#include <tiff.h>
#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 <rok4/image/file/FileImage.h>
#include <rok4/image/MergeImage.h>
#include <rok4/enums/Format.h>
#include <math.h>
#include "config.h"

Fonctions

void usage ()
 Affiche l'utilisation et les différentes options de la commande overlayNtiff 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 read_configuration_line (std::ifstream &configuration_file, char *image_path, bool *has_mask, char *mask_path)
 Lit une ligne du fichier de configuration. Plus de détails...
 
int load_images (FileImage **output_image, FileImage **output_mask, MergeImage **merged_image)
 Charge les images en entrée et en sortie depuis le fichier de configuration. Plus de détails...
 
int main (int argc, char **argv)
 Fonction principale de l'outil overlayNtiff. Plus de détails...
 

Variables

char configuration_path [256]
 
uint16_t samplesperpixel = 0
 
SampleFormat::eSampleFormat sampleformat
 
Photometric::ePhotometric photometric = Photometric::RGB
 
Compression::eCompression compression = Compression::NONE
 
Merge::eMergeType merge_method = Merge::UNKNOWN
 
int * transparent
 
int * background
 
bool debug_logger =false
 
std::string help
 

Description détaillée

Fichier d'implémentation de la commande overlayNtiff.

Le fonctionnement général est décrit dans la page Commande overlayNtiff .

Documentation des fonctions

◆ error()

void error ( std::string  message,
int  error_code 
)

Affiche un message d'erreur, l'utilisation de la commande et sort en erreur.

Paramètres
[in]messagemessage d'erreur
[in]error_codecode de retour

◆ load_images()

int load_images ( FileImage **  output_image,
FileImage **  output_mask,
MergeImage **  merged_image 
)

Charge les images en entrée et en sortie depuis le fichier de configuration.

On va récupérer toutes les informations de toutes les images et masques présents dans le fichier de configuration et créer les objets LibtiffImage correspondant. Toutes les images ici manipulées sont de vraies images (physiques) dans ce sens où elles sont des fichiers soit lus, soit qui seront écrits.

Paramètres
[out]output_imageimage résultante de l'outil
[out]output_maskmasque résultat de l'outil, si demandé
[out]merged_imageensemble des images en entrée
Renvoie
code de retour, 0 si réussi, -1 sinon

◆ main()

int main ( int  argc,
char **  argv 
)

Fonction principale de l'outil overlayNtiff.

Paramètres
[in]argcnombre de paramètres
[in]argvtableau des paramètres
Renvoie
code de retour, 0 si réussi, -1 sinon

◆ parse_command_line()

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.

Paramètres
[in]argcnombre de paramètres
[in]argvtableau des paramètres
Renvoie
code de retour, 0 si réussi, -1 sinon

◆ read_configuration_line()

int read_configuration_line ( std::ifstream &  configuration_file,
char *  image_path,
bool *  has_mask,
char *  mask_path 
)

Lit une ligne du fichier de configuration.

Une ligne contient le chemin vers une image, potentiellement suivi du chemin vers le masque associé.

Paramètres
[in,out]configuration_fileflux de lecture vers le fichier de configuration
[out]image_pathchemin de l'image lu dans le fichier de configuration
[out]has_maskprécise si l'image possède un masque
[out]mask_pathchemin du masque lu dans le fichier de configuration
Renvoie
code de retour, 0 en cas de succès, -1 si la fin du fichier est atteinte, 1 en cas d'erreur

◆ usage()

void usage ( )

Affiche l'utilisation et les différentes options de la commande overlayNtiff help.

L'affichage se fait dans le niveau de logger INFO

Documentation des variables

◆ background

int* background

Couleur à utiliser comme fond. Doit comporter autant de valeur qu'on veut de canaux dans l'image finale. Si un canal alpha est présent, il ne doit pas être prémultiplié aux autres canaux

◆ compression

Compression::eCompression compression = Compression::NONE

Compression de l'image de sortie

◆ configuration_path

char configuration_path[256]

Chemin du fichier de configuration des images

◆ debug_logger

bool debug_logger =false

Activation du niveau de log debug. Faux par défaut

◆ help

std::string help

Message d'usage de la commande overlayNtiff

◆ merge_method

Merge::eMergeType merge_method = Merge::UNKNOWN

Mode de fusion des images

◆ photometric

Photometric::ePhotometric photometric = Photometric::RGB

Photométrie (rgb, gray), pour les images en sortie

◆ sampleformat

SampleFormat::eSampleFormat sampleformat

Format du canal (entier, flottant, signé ou non...), dans les images en entrée et celle en sortie

◆ samplesperpixel

uint16_t samplesperpixel = 0

Nombre de canaux par pixel de l'image en sortie

◆ transparent

int* transparent

Couleur à considérer comme transparent dans le images en entrée. Vrai couleur (sur 3 canaux). Peut ne pas être définie