]> Creatis software - creaRigidRegistration.git/blob - PackRecalage/src/bbPackRecalageImageSubstraction.h
Feature #1766 Add licence terms for all files.
[creaRigidRegistration.git] / PackRecalage / src / bbPackRecalageImageSubstraction.h
1 /*
2 # ---------------------------------------------------------------------
3 #
4 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
5 #                        pour la Santé)
6 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
7 #
8 #  This software is governed by the CeCILL-B license under French law and 
9 #  abiding by the rules of distribution of free software. You can  use, 
10 #  modify and/ or redistribute the software under the terms of the CeCILL-B 
11 #  license as circulated by CEA, CNRS and INRIA at the following URL 
12 #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
13 #  or in the file LICENSE.txt.
14 #
15 #  As a counterpart to the access to the source code and  rights to copy,
16 #  modify and redistribute granted by the license, users are provided only
17 #  with a limited warranty  and the software's author,  the holder of the
18 #  economic rights,  and the successive licensors  have only  limited
19 #  liability. 
20 #
21 #  The fact that you are presently reading this means that you have had
22 #  knowledge of the CeCILL-B license and that you accept its terms.
23 # ------------------------------------------------------------------------   
24 */
25
26
27 #ifndef __bbPackRecalageImageSubstraction_h_INCLUDED__
28 #define __bbPackRecalageImageSubstraction_h_INCLUDED__
29 #include "bbPackRecalage_EXPORT.h"
30 #include "bbtkAtomicBlackBox.h"
31 #include "iostream"
32 #include "vtkImageData.h"
33
34 #include <string>
35 #include <vector>
36
37 #include "Substraction.h"
38
39
40 namespace bbPackRecalage
41 {
42 class bbPackRecalage_EXPORT ImageSubstraction
43  : 
44    public bbtk::AtomicBlackBox
45 {
46   BBTK_BLACK_BOX_INTERFACE(ImageSubstraction,bbtk::AtomicBlackBox);
47   BBTK_DECLARE_INPUT(In1,vtkImageData*);
48   BBTK_DECLARE_INPUT(In2,vtkImageData*);
49   BBTK_DECLARE_INPUT(In3,int);
50   BBTK_DECLARE_INPUT(In4,int);
51   BBTK_DECLARE_INPUT(InU,std::vector<double>);
52   BBTK_DECLARE_INPUT(InM,std::vector<double>);
53   BBTK_DECLARE_INPUT(InL,std::vector<double>);
54   BBTK_DECLARE_OUTPUT(Out,vtkImageData*);
55   BBTK_PROCESS(Process);
56   void Process();
57
58   private:
59                 Substraction* subImage;
60 };
61
62 BBTK_BEGIN_DESCRIBE_BLACK_BOX(ImageSubstraction,bbtk::AtomicBlackBox);
63 BBTK_NAME("ImageSubstraction");
64 BBTK_AUTHOR("jn.trillos44@uniandes.edu.co");
65 BBTK_DESCRIPTION("Creates a image resulting from the substraction of the RGB values of 2 other images.");
66 BBTK_CATEGORY("__CATEGORY__");
67 BBTK_INPUT(ImageSubstraction,In1,"Image 1",vtkImageData*,"");
68 BBTK_INPUT(ImageSubstraction,In2,"Image 2",vtkImageData*,"");
69 BBTK_INPUT(ImageSubstraction,In3,"Upper Zero Level (Value between 0 and 255)",int,"");
70 BBTK_INPUT(ImageSubstraction,In4,"Lower Zero Level (Value between 0 and 255)",int,"");
71 BBTK_INPUT(ImageSubstraction,InU,"Upper Level Color (RGB)",std::vector<double>,"");
72 BBTK_INPUT(ImageSubstraction,InM,"Medium Level Color (RGB)",std::vector<double>,"");
73 BBTK_INPUT(ImageSubstraction,InL,"Lower Level Color (RGB)",std::vector<double>,"");
74 BBTK_OUTPUT(ImageSubstraction,Out,"Image Result",vtkImageData*,"");
75 BBTK_END_DESCRIBE_BLACK_BOX(ImageSubstraction);
76 }
77 // EO namespace bbCreaRecalage
78
79 #endif // __bbCreaRecalageImageSubstraction_h_INCLUDED__
80