]> Creatis software - bbtk.git/blob - src/bbstdCast.cxx
#3202 BBTK Feature New Normal - fast algorithm for ImageBoundaries box
[bbtk.git] / src / bbstdCast.cxx
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  # Previous Authors : Laurent Guigues, Jean-Pierre Roux
8  # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
9  #
10  #  This software is governed by the CeCILL-B license under French law and
11  #  abiding by the rules of distribution of free software. You can  use,
12  #  modify and/ or redistribute the software under the terms of the CeCILL-B
13  #  license as circulated by CEA, CNRS and INRIA at the following URL
14  #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
15  #  or in the file LICENSE.txt.
16  #
17  #  As a counterpart to the access to the source code and  rights to copy,
18  #  modify and redistribute granted by the license, users are provided only
19  #  with a limited warranty  and the software's author,  the holder of the
20  #  economic rights,  and the successive licensors  have only  limited
21  #  liability.
22  #
23  #  The fact that you are presently reading this means that you have had
24  #  knowledge of the CeCILL-B license and that you accept its terms.
25  # ------------------------------------------------------------------------ */
26
27
28 /*=========================================================================
29   Program:   bbtk
30   Module:    $RCSfile: bbstdCast.cxx,v $
31   Language:  C++
32   Date:      $Date: 2012/11/16 08:51:32 $
33   Version:   $Revision: 1.5 $
34 =========================================================================*/
35
36 #include "bbstdCast.h"
37 #include "bbstdPackage.h"
38
39 namespace bbstd 
40 {
41   
42   //====================================================================
43   BBTK_BLACK_BOX_TEMPLATE2_IMPLEMENTATION(Cast,
44                                           bbtk::AtomicBlackBox);
45   //====================================================================
46   
47   //====================================================================
48   // Add the instanciated adaptors to the package
49   
50   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,double,int8_t);
51   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int8_t,double);
52   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,double,uint8_t);
53   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint8_t,double);
54   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,double,int16_t);
55   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int16_t,double);
56   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,double,uint16_t);
57   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint16_t,double);
58   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,double,int32_t);
59   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int32_t,double);
60   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,double,uint32_t);
61   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint32_t,double);
62   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,double,float);
63   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,float,double);
64   
65   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,bool,double);
66   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,double, bool); 
67   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,bool,float);
68   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,float, bool);    
69   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,bool,uint32_t);
70   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint32_t, bool);
71   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,bool,int32_t);
72   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int32_t, bool);  
73   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,bool,uint16_t);
74   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint16_t, bool);
75   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,bool,int16_t);
76   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int16_t, bool);  
77   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,bool,uint8_t);
78   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint8_t, bool);
79   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,bool,int8_t);
80   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int8_t, bool);   
81        
82   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,float,int8_t);
83   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int8_t,float);
84   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,float,uint8_t);
85   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint8_t,float);
86   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,float,int16_t);
87   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int16_t,float);
88   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,float,uint16_t);
89   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint16_t,float);
90   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,float,int32_t);
91   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int32_t,float);
92   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,float,uint32_t);
93   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint32_t,float);
94   
95   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int32_t,int8_t);
96   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int8_t,int32_t);
97   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int32_t,uint8_t);
98   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint8_t,int32_t);
99   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int32_t,int16_t);
100   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int16_t,int32_t);
101   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int32_t,uint16_t);
102   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint16_t,int32_t);
103   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int32_t,uint32_t);
104   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint32_t,int32_t);
105   
106   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint32_t,int8_t);
107   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int8_t,uint32_t);
108   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint32_t,uint8_t);
109   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint8_t,uint32_t);
110   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint32_t,int16_t);
111   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int16_t,uint32_t);
112   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint32_t,uint16_t);
113   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint16_t,uint32_t);
114   
115   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint16_t,int8_t);
116   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int8_t,uint16_t);
117   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint16_t,uint8_t);
118   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint8_t,uint16_t);
119   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint16_t,int16_t);
120   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int16_t,uint16_t);
121   
122   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int16_t,int8_t);
123   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int8_t,int16_t);
124   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int16_t,uint8_t);
125   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint8_t,int16_t);
126   
127   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint8_t,int8_t);
128   BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int8_t,uint8_t);
129   
130   //====================================================================
131   
132
133 } // namespace bbstd