1 #include <iostream>
2 #include <fstream>
3 #include <iomanip>
4 #include <typeinfo>
5 #include <vector>
6 
7 #include "./targa.hpp"
8 
9 #include "color/color.hpp"
10 
11 typedef std::vector< ::color::bgr< std::uint8_t  > > image_type;
12 
13 template< typename category_left_name, typename category_right_name >
make_image_conversion(std::string const & name,double blue,bool interleave=false)14  void make_image_conversion
15   (
16    std::string const& name
17    ,double blue
18    , bool interleave = false
19   )
20   {
21    color::rgb<double> r, o;
22 
23    color::model< category_left_name>  left;
24    color::model< category_right_name> right;
25 
26    image_type image;
27 
28    int width = 500;
29    int height = 500;
30    image.resize( height * width );
31 
32    for( int y=0; y < height; y++  )
33     for( int x=0; x < width; x++  )
34       {
35        r.template set<0>( x /(double)width  );
36        r.template set<1>( y /(double)height );
37        r.template set<2>( blue );
38        o = r;
39 
40        right = r;
41        left = right;
42        r = left;
43 
44       image[ y*width + x] = r;
45       if( true ==  interleave )
46        {
47         if( ( 0 == (y % 2) ) && (  0 == (x % 2) ) )
48          {
49           image[ y*width + x] = o;
50          }
51        }
52      }
53 
54    {
55     targa_header_struct header;
56 
57     targa_make_header24( width, height, header );
58 
59      {
60       std::ofstream of( name.c_str(), std::ios_base::binary);
61       of.write((const char *)header, 18);
62       of.write((const char *)image.data(), image.size() * image_type::value_type::size() );
63      }
64 
65    }
66 
67   }
68 
image_bgr_conversion()69 void image_bgr_conversion()
70  {
71   typedef ::color::rgb< double         >::category_type  rgb_t;
72 
73   typedef ::color::bgr< std::uint8_t   >::category_type  bgr_uint8_t;
74   typedef ::color::bgr< std::uint16_t  >::category_type  bgr_uint16_t;
75   typedef ::color::bgr< std::uint32_t  >::category_type  bgr_uint32_t;
76   typedef ::color::bgr< std::uint64_t  >::category_type  bgr_uint64_t;
77   typedef ::color::bgr< float          >::category_type  bgr_float_t;
78   typedef ::color::bgr< double         >::category_type  bgr_double_t;
79   typedef ::color::bgr< long    double >::category_type  bgr_ldouble_t;
80 
81   typedef ::color::bgr< ::color::type::split233_t>::category_type bgr_split233_t;
82   typedef ::color::bgr< ::color::type::split323_t>::category_type bgr_split323_t;
83   typedef ::color::bgr< ::color::type::split332_t>::category_type bgr_split332_t;
84   typedef ::color::bgr< ::color::type::split422_t>::category_type bgr_split422_t;
85 
86   typedef ::color::bgr< ::color::type::split422_t>::category_type bgr_split422_t;
87   typedef ::color::bgr< ::color::type::split242_t>::category_type bgr_split242_t;
88   typedef ::color::bgr< ::color::type::split224_t>::category_type bgr_split224_t;
89 
90   typedef ::color::bgr< ::color::type::split556_t>::category_type bgr_split556_t;
91   typedef ::color::bgr< ::color::type::split565_t>::category_type bgr_split565_t;
92   typedef ::color::bgr< ::color::type::split655_t>::category_type bgr_split655_t;
93 
94 
95   make_image_conversion< rgb_t, bgr_uint8_t    >( "./conv-rgb/bgr_uint8_2bgr.tga",     0.5 );
96   make_image_conversion< rgb_t, bgr_uint16_t   >( "./conv-rgb/bgr_uint16_2bgr.tga",    0.5 );
97   make_image_conversion< rgb_t, bgr_uint32_t   >( "./conv-rgb/bgr_uint32_2bgr.tga",    0.5 );
98   make_image_conversion< rgb_t, bgr_uint64_t   >( "./conv-rgb/bgr_uint64_2bgr.tga",    0.5 );
99   make_image_conversion< rgb_t, bgr_float_t    >( "./conv-rgb/bgr_float_2bgr.tga",     0.5 );
100   make_image_conversion< rgb_t, bgr_double_t   >( "./conv-rgb/bgr_double_2bgr.tga",    0.5 );
101   make_image_conversion< rgb_t, bgr_ldouble_t  >( "./conv-rgb/bgr_ldouble_2bgr.tga",   0.5 );
102   make_image_conversion< rgb_t, bgr_split233_t >( "./conv-rgb/bgr_split233_2bgr.tga",  0.5 );
103   make_image_conversion< rgb_t, bgr_split323_t >( "./conv-rgb/bgr_split323_2bgr.tga",  0.5 );
104   make_image_conversion< rgb_t, bgr_split332_t >( "./conv-rgb/bgr_split332_2bgr.tga",  0.5 );
105 
106   make_image_conversion< rgb_t, bgr_split422_t >( "./conv-rgb/bgr_split422_2bgr.tga",  0.5 );
107   make_image_conversion< rgb_t, bgr_split242_t >( "./conv-rgb/bgr_split242_2bgr.tga",  0.5 );
108   make_image_conversion< rgb_t, bgr_split224_t >( "./conv-rgb/bgr_split224_2bgr.tga",  0.5 );
109 
110   make_image_conversion< rgb_t, bgr_split556_t >( "./conv-rgb/bgr_split556_2bgr.tga",  0.5 );
111   make_image_conversion< rgb_t, bgr_split565_t >( "./conv-rgb/bgr_split565_2bgr.tga",  0.5 );
112   make_image_conversion< rgb_t, bgr_split655_t >( "./conv-rgb/bgr_split655_2bgr.tga",  0.5 );
113  }
114 
115 
image_rgb_conversion()116 void image_rgb_conversion()
117  {
118   typedef ::color::rgb< double         >::category_type  rgb_t;
119 
120   typedef ::color::rgb< std::uint8_t   >::category_type  rgb_uint8_t;
121   typedef ::color::rgb< std::uint16_t  >::category_type  rgb_uint16_t;
122   typedef ::color::rgb< std::uint32_t  >::category_type  rgb_uint32_t;
123   typedef ::color::rgb< std::uint64_t  >::category_type  rgb_uint64_t;
124   typedef ::color::rgb< float          >::category_type  rgb_float_t;
125   typedef ::color::rgb< double         >::category_type  rgb_double_t;
126   typedef ::color::rgb< long    double >::category_type  rgb_ldouble_t;
127 
128   typedef ::color::rgb< ::color::type::split233_t>::category_type rgb_split233_t;
129   typedef ::color::rgb< ::color::type::split323_t>::category_type rgb_split323_t;
130   typedef ::color::rgb< ::color::type::split332_t>::category_type rgb_split332_t;
131 
132   typedef ::color::rgb< ::color::type::split422_t>::category_type rgb_split422_t;
133   typedef ::color::rgb< ::color::type::split242_t>::category_type rgb_split242_t;
134   typedef ::color::rgb< ::color::type::split224_t>::category_type rgb_split224_t;
135 
136   typedef ::color::rgb< ::color::type::split556_t>::category_type rgb_split556_t;
137   typedef ::color::rgb< ::color::type::split565_t>::category_type rgb_split565_t;
138   typedef ::color::rgb< ::color::type::split655_t>::category_type rgb_split655_t;
139 
140 
141   make_image_conversion< rgb_t, rgb_uint8_t    >( "./conv-rgb/rgb_uint8_2rgb.tga",      0.5 );
142   make_image_conversion< rgb_t, rgb_uint16_t   >( "./conv-rgb/rgb_uint16_2rgb.tga",      0.5 );
143   make_image_conversion< rgb_t, rgb_uint32_t   >( "./conv-rgb/rgb_uint32_2rgb.tga",      0.5 );
144   make_image_conversion< rgb_t, rgb_uint64_t   >( "./conv-rgb/rgb_uint64_2rgb.tga",      0.5 );
145   make_image_conversion< rgb_t, rgb_float_t    >( "./conv-rgb/rgb_float_2rgb.tga",      0.5 );
146   make_image_conversion< rgb_t, rgb_double_t   >( "./conv-rgb/rgb_double_2rgb.tga",      0.5 );
147   make_image_conversion< rgb_t, rgb_ldouble_t  >( "./conv-rgb/rgb_ldouble_2rgb.tga",      0.5 );
148   make_image_conversion< rgb_t, rgb_split233_t >( "./conv-rgb/rgb_split233_2rgb.tga",      0.5 );
149   make_image_conversion< rgb_t, rgb_split323_t >( "./conv-rgb/rgb_split323_2rgb.tga",      0.5 );
150   make_image_conversion< rgb_t, rgb_split332_t >( "./conv-rgb/rgb_split332_2rgb.tga",      0.5 );
151 
152   make_image_conversion< rgb_t, rgb_split422_t >( "./conv-rgb/rgb_split422_2rgb.tga",      0.5 );
153   make_image_conversion< rgb_t, rgb_split242_t >( "./conv-rgb/rgb_split242_2rgb.tga",      0.5 );
154   make_image_conversion< rgb_t, rgb_split224_t >( "./conv-rgb/rgb_split224_2rgb.tga",      0.5 );
155 
156   make_image_conversion< rgb_t, rgb_split556_t >( "./conv-rgb/rgb_split556_2rgb.tga",      0.5 );
157   make_image_conversion< rgb_t, rgb_split565_t >( "./conv-rgb/rgb_split565_2rgb.tga",      0.5 );
158   make_image_conversion< rgb_t, rgb_split655_t >( "./conv-rgb/rgb_split655_2rgb.tga",      0.5 );
159  }
160 
image_conversion()161 void image_conversion()
162  {
163   image_rgb_conversion();
164   image_bgr_conversion();
165 
166   typedef ::color::cmy<double>::category_type           cmy_t;
167   typedef ::color::cmyk<double>::category_type         cmyk_t;
168 
169   typedef ::color::gray<double>::category_type         gray_t;
170 
171   typedef ::color::rgb<double>::category_type           rgb_t;
172   typedef ::color::bgr<double>::category_type           bgr_t;
173 
174   typedef ::color::hsi<double>::category_type           hsi_t;
175   typedef ::color::hsl<double>::category_type           hsl_t;
176   typedef ::color::hsv<double>::category_type           hsv_t;
177   typedef ::color::hwb<double>::category_type           hwb_t;
178 
179   typedef ::color::YCgCo<double>::category_type       YCgCo_t;
180   typedef ::color::YDbDr<double>::category_type       YDbDr_t;
181   typedef ::color::yiq<double>::category_type           yiq_t;
182   typedef ::color::YPbPr<double>::category_type    YPbPr709_t;
183   typedef ::color::yuv<double>::category_type        yuv709_t;
184   typedef ::color::yuv<double, ::color::constant::yuv::BT_601_entity >::category_type        yuv601_t;
185 
186   typedef ::color::lab<double, ::color::constant::lab::CIE_entity >::category_type           labCIE_t;
187   typedef ::color::lab<double, ::color::constant::lab::Hunter_entity >::category_type        labHunter_t;
188 
189   typedef ::color::lms<double, ::color::constant::lms::von_Kries_D65_entity>::category_type        lms_t;
190 //typedef ::color::lms<double, ::color::constant::lms::von_Kries_E_entity  >::category_type        lmsKE_t;
191 //typedef ::color::lms<double, ::color::constant::lms::BFD_entity          >::category_type        lmsBFD_t;
192 //typedef ::color::lms<double, ::color::constant::lms::MCAT02_entity       >::category_type        lmsMC2_t;
193   typedef ::color::luv<double>::category_type        luv_t;
194   typedef ::color::LabCH<double>::category_type    LabCH_t;
195   typedef ::color::LuvCH<double>::category_type    LuvCH_t;
196 
197   typedef ::color::xyy<double>::category_type        xyy_t;
198   typedef ::color::xyz<double>::category_type        xyz_t;
199 
200   make_image_conversion<         bgr_t,      bgr_t >( "./conv/bgr2bgr.tga",       0.5 );
201   make_image_conversion<         cmy_t,      bgr_t >( "./conv/bgr2cmy.tga",       0.5 );
202   make_image_conversion<        cmyk_t,      bgr_t >( "./conv/bgr2cmyk.tga",      0.5 );
203   make_image_conversion<        gray_t,      bgr_t >( "./conv/bgr2gray.tga",      0.5 );
204   make_image_conversion<         rgb_t,      bgr_t >( "./conv/bgr2rgb.tga",       0.5 );
205   make_image_conversion<         hsi_t,      bgr_t >( "./conv/bgr2hsi.tga",       0.5 );
206   make_image_conversion<         hsl_t,      bgr_t >( "./conv/bgr2hsl.tga",       0.5 );
207   make_image_conversion<         hsv_t,      bgr_t >( "./conv/bgr2hsv.tga",       0.5 );
208   make_image_conversion<         hwb_t,      bgr_t >( "./conv/bgr2hwb.tga",       0.5 );
209   make_image_conversion<       YCgCo_t,      bgr_t >( "./conv/bgr2YCgCo.tga",     0.5 );
210   make_image_conversion<       YDbDr_t,      bgr_t >( "./conv/bgr2YDbDr.tga",     0.5 );
211   make_image_conversion<         yiq_t,      bgr_t >( "./conv/bgr2yiq.tga",       0.5 );
212   make_image_conversion<    YPbPr709_t,      bgr_t >( "./conv/bgr2YPbPr709.tga",  0.5 );
213   make_image_conversion<      yuv601_t,      bgr_t >( "./conv/bgr2yuv601.tga",    0.5 );
214   make_image_conversion<      yuv709_t,      bgr_t >( "./conv/bgr2yuv709.tga",    0.5 );
215   make_image_conversion<         xyz_t,      bgr_t >( "./conv/bgr2xyz.tga",       0.5 );
216   make_image_conversion<      labCIE_t,      bgr_t >( "./conv/bgr2labCIE.tga",    0.5 );
217   make_image_conversion<   labHunter_t,      bgr_t >( "./conv/bgr2labHunter.tga", 0.5 );
218   make_image_conversion<         lms_t,      bgr_t >( "./conv/bgr2lms.tga",       0.5 );
219   make_image_conversion<         luv_t,      bgr_t >( "./conv/bgr2luv.tga",       0.5 );
220   make_image_conversion<       LabCH_t,      bgr_t >( "./conv/bgr2LabCH.tga",     0.5 );
221   make_image_conversion<       LuvCH_t,      bgr_t >( "./conv/bgr2LuvCH.tga",     0.5 );
222   make_image_conversion<         xyy_t,      bgr_t >( "./conv/bgr2xyy.tga",       0.5 );
223 
224   make_image_conversion<         bgr_t,      rgb_t >( "./conv/rgb2bgr.tga",       0.5 );
225   make_image_conversion<         cmy_t,      rgb_t >( "./conv/rgb2cmy.tga",       0.5 );
226   make_image_conversion<        cmyk_t,      rgb_t >( "./conv/rgb2cmyk.tga",      0.5 );
227   make_image_conversion<        gray_t,      rgb_t >( "./conv/rgb2gray.tga",      0.5 );
228   make_image_conversion<         rgb_t,      rgb_t >( "./conv/rgb2rgb.tga",       0.5 );
229   make_image_conversion<         hsi_t,      rgb_t >( "./conv/rgb2hsi.tga",       0.5 );
230   make_image_conversion<         hsl_t,      rgb_t >( "./conv/rgb2hsl.tga",       0.5 );
231   make_image_conversion<         hsv_t,      rgb_t >( "./conv/rgb2hsv.tga",       0.5 );
232   make_image_conversion<         hwb_t,      rgb_t >( "./conv/rgb2hwb.tga",       0.5 );
233   make_image_conversion<       YCgCo_t,      rgb_t >( "./conv/rgb2YCgCo.tga",     0.5 );
234   make_image_conversion<       YDbDr_t,      rgb_t >( "./conv/rgb2YDbDr.tga",     0.5 );
235   make_image_conversion<         yiq_t,      rgb_t >( "./conv/rgb2yiq.tga",       0.5 );
236   make_image_conversion<    YPbPr709_t,      rgb_t >( "./conv/rgb2YPbPr709.tga",  0.5 );
237   make_image_conversion<      yuv601_t,      rgb_t >( "./conv/rgb2yuv601.tga",    0.5 );
238   make_image_conversion<      yuv709_t,      rgb_t >( "./conv/rgb2yuv709.tga",    0.5 );
239   make_image_conversion<         xyz_t,      rgb_t >( "./conv/rgb2xyz.tga",       0.5 );
240   make_image_conversion<      labCIE_t,      rgb_t >( "./conv/rgb2labCIE.tga",    0.5 );
241   make_image_conversion<   labHunter_t,      rgb_t >( "./conv/rgb2labHunter.tga", 0.5 );
242   make_image_conversion<         lms_t,      rgb_t >( "./conv/rgb2lms.tga",       0.5 );
243   make_image_conversion<         luv_t,      rgb_t >( "./conv/rgb2luv.tga",       0.5 );
244   make_image_conversion<       LabCH_t,      rgb_t >( "./conv/rgb2LabCH.tga",     0.5 );
245   make_image_conversion<       LuvCH_t,      rgb_t >( "./conv/rgb2LuvCH.tga",     0.5 );
246   make_image_conversion<         xyy_t,      rgb_t >( "./conv/rgb2xyy.tga",       0.5 );
247 
248   make_image_conversion<         bgr_t,      cmy_t >( "./conv/cmy2bgr.tga",       0.5 );
249   make_image_conversion<         cmy_t,      cmy_t >( "./conv/cmy2cmy.tga",       0.5 );
250   make_image_conversion<        cmyk_t,      cmy_t >( "./conv/cmy2cmyk.tga",      0.5 );
251   make_image_conversion<        gray_t,      cmy_t >( "./conv/cmy2gray.tga",      0.5 );
252   make_image_conversion<         rgb_t,      cmy_t >( "./conv/cmy2rgb.tga",       0.5 );
253   make_image_conversion<         hsi_t,      cmy_t >( "./conv/cmy2hsi.tga",       0.5 );
254   make_image_conversion<         hsl_t,      cmy_t >( "./conv/cmy2hsl.tga",       0.5 );
255   make_image_conversion<         hsv_t,      cmy_t >( "./conv/cmy2hsv.tga",       0.5 );
256   make_image_conversion<         hwb_t,      cmy_t >( "./conv/cmy2hwb.tga",       0.5 );
257   make_image_conversion<       YCgCo_t,      cmy_t >( "./conv/cmy2YCgCo.tga",     0.5 );
258   make_image_conversion<       YDbDr_t,      cmy_t >( "./conv/cmy2YDbDr.tga",     0.5 );
259   make_image_conversion<         yiq_t,      cmy_t >( "./conv/cmy2yiq.tga",       0.5 );
260   make_image_conversion<    YPbPr709_t,      cmy_t >( "./conv/cmy2YPbPr709.tga",  0.5 );
261   make_image_conversion<      yuv601_t,      cmy_t >( "./conv/cmy2yuv601.tga",    0.5 );
262   make_image_conversion<      yuv709_t,      cmy_t >( "./conv/cmy2yuv709.tga",    0.5 );
263   make_image_conversion<         xyz_t,      cmy_t >( "./conv/cmy2xyz.tga",       0.5 );
264   make_image_conversion<      labCIE_t,      cmy_t >( "./conv/cmy2labCIE.tga",    0.5 );
265   make_image_conversion<   labHunter_t,      cmy_t >( "./conv/cmy2labHunter.tga", 0.5 );
266   make_image_conversion<         lms_t,      cmy_t >( "./conv/cmy2lms.tga",       0.5 );
267   make_image_conversion<         luv_t,      cmy_t >( "./conv/cmy2luv.tga",       0.5 );
268   make_image_conversion<       LabCH_t,      cmy_t >( "./conv/cmy2LabCH.tga",     0.5 );
269   make_image_conversion<       LuvCH_t,      cmy_t >( "./conv/cmy2LuvCH.tga",     0.5 );
270   make_image_conversion<         xyy_t,      cmy_t >( "./conv/cmy2xyy.tga",       0.5 );
271 
272   make_image_conversion<         bgr_t,     cmyk_t >( "./conv/cmyk2bgr.tga",      0.5 );
273   make_image_conversion<         cmy_t,     cmyk_t >( "./conv/cmyk2cmy.tga",      0.5 );
274   make_image_conversion<        cmyk_t,     cmyk_t >( "./conv/cmyk2cmyk.tga",     0.5 );
275   make_image_conversion<        gray_t,     cmyk_t >( "./conv/cmyk2gray.tga",     0.5 );
276   make_image_conversion<         rgb_t,     cmyk_t >( "./conv/cmyk2rgb.tga",      0.5 );
277   make_image_conversion<         hsi_t,     cmyk_t >( "./conv/cmyk2hsi.tga",      0.5 );
278   make_image_conversion<         hsl_t,     cmyk_t >( "./conv/cmyk2hsl.tga",      0.5 );
279   make_image_conversion<         hsv_t,     cmyk_t >( "./conv/cmyk2hsv.tga",      0.5 );
280   make_image_conversion<         hwb_t,     cmyk_t >( "./conv/cmyk2hwb.tga",      0.5 );
281   make_image_conversion<       YCgCo_t,     cmyk_t >( "./conv/cmyk2YCgCo.tga",    0.5 );
282   make_image_conversion<       YDbDr_t,     cmyk_t >( "./conv/cmyk2YDbDr.tga",    0.5 );
283   make_image_conversion<         yiq_t,     cmyk_t >( "./conv/cmyk2yiq.tga",      0.5 );
284   make_image_conversion<    YPbPr709_t,     cmyk_t >( "./conv/cmyk2YPbPr709.tga", 0.5 );
285   make_image_conversion<      yuv601_t,     cmyk_t >( "./conv/cmyk2yuv601.tga",   0.5 );
286   make_image_conversion<      yuv709_t,     cmyk_t >( "./conv/cmyk2yuv709.tga",   0.5 );
287   make_image_conversion<        xyz_t,      cmyk_t >( "./conv/cmyk2xyz.tga",      0.5 );
288   make_image_conversion<     labCIE_t,      cmyk_t >( "./conv/cmyk2labCIE.tga",   0.5 );
289   make_image_conversion<  labHunter_t,      cmyk_t >( "./conv/cmyk2labHunter.tga",0.5 );
290   make_image_conversion<        lms_t,      cmyk_t >( "./conv/cmyk2lms.tga",      0.5 );
291   make_image_conversion<        luv_t,      cmyk_t >( "./conv/cmyk2luv.tga",      0.5 );
292   make_image_conversion<      LabCH_t,      cmyk_t >( "./conv/cmyk2LabCH.tga",    0.5 );
293   make_image_conversion<      LuvCH_t,      cmyk_t >( "./conv/cmyk2LuvCH.tga",    0.5 );
294   make_image_conversion<        xyy_t,      cmyk_t >( "./conv/cmyk2xyy.tga",      0.5 );
295 
296   make_image_conversion<         bgr_t,     gray_t >( "./conv/gray2bgr.tga",      0.5 );
297   make_image_conversion<         cmy_t,     gray_t >( "./conv/gray2cmy.tga",      0.5 );
298   make_image_conversion<        cmyk_t,     gray_t >( "./conv/gray2cmyk.tga",     0.5 );
299   make_image_conversion<        gray_t,     gray_t >( "./conv/gray2gray.tga",     0.5 );
300   make_image_conversion<         rgb_t,     gray_t >( "./conv/gray2rgb.tga",      0.5 );
301   make_image_conversion<         hsi_t,     gray_t >( "./conv/gray2hsi.tga",      0.5 );
302   make_image_conversion<         hsl_t,     gray_t >( "./conv/gray2hsl.tga",      0.5 );
303   make_image_conversion<         hsv_t,     gray_t >( "./conv/gray2hsv.tga",      0.5 );
304   make_image_conversion<         hwb_t,     gray_t >( "./conv/gray2hwb.tga",      0.5 );
305   make_image_conversion<       YCgCo_t,     gray_t >( "./conv/gray2YCgCo.tga",    0.5 );
306   make_image_conversion<       YDbDr_t,     gray_t >( "./conv/gray2YDbDr.tga",    0.5 );
307   make_image_conversion<         yiq_t,     gray_t >( "./conv/gray2yiq.tga",      0.5 );
308   make_image_conversion<    YPbPr709_t,     gray_t >( "./conv/gray2YPbPr709.tga", 0.5 );
309   make_image_conversion<      yuv601_t,     gray_t >( "./conv/gray2yuv601.tga",   0.5 );
310   make_image_conversion<      yuv709_t,     gray_t >( "./conv/gray2yuv709.tga",   0.5 );
311   make_image_conversion<         xyz_t,     gray_t >( "./conv/gray2xyz.tga",      0.5 );
312   make_image_conversion<      labCIE_t,     gray_t >( "./conv/gray2labCIE.tga",   0.5 );
313   make_image_conversion<   labHunter_t,     gray_t >( "./conv/gray2labHunter.tga",0.5 );
314   make_image_conversion<         lms_t,     gray_t >( "./conv/gray2lms.tga",      0.5 );
315   make_image_conversion<         luv_t,     gray_t >( "./conv/gray2luv.tga",      0.5 );
316   make_image_conversion<       LabCH_t,     gray_t >( "./conv/gray2LabCH.tga",    0.5 );
317   make_image_conversion<       LuvCH_t,     gray_t >( "./conv/gray2LuvCH.tga",    0.5 );
318   make_image_conversion<         xyy_t,     gray_t >( "./conv/gray2xyy.tga",      0.5 );
319 
320   make_image_conversion<         bgr_t,      hsi_t >( "./conv/hsi2bgr.tga",       0.5 );
321   make_image_conversion<         cmy_t,      hsi_t >( "./conv/hsi2cmy.tga",       0.5 );
322   make_image_conversion<        cmyk_t,      hsi_t >( "./conv/hsi2cmyk.tga",      0.5 );
323   make_image_conversion<        gray_t,      hsi_t >( "./conv/hsi2gray.tga",      0.5 );
324   make_image_conversion<         rgb_t,      hsi_t >( "./conv/hsi2rgb.tga",       0.5 );
325   make_image_conversion<         hsi_t,      hsi_t >( "./conv/hsi2hsi.tga",       0.5 );
326   make_image_conversion<         hsl_t,      hsi_t >( "./conv/hsi2hsl.tga",       0.5 );
327   make_image_conversion<         hsv_t,      hsi_t >( "./conv/hsi2hsv.tga",       0.5 );
328   make_image_conversion<         hwb_t,      hsi_t >( "./conv/hsi2hwb.tga",       0.5 );
329   make_image_conversion<       YCgCo_t,      hsi_t >( "./conv/hsi2YCgCo.tga",     0.5 );
330   make_image_conversion<       YDbDr_t,      hsi_t >( "./conv/hsi2YDbDr.tga",     0.5 );
331   make_image_conversion<         yiq_t,      hsi_t >( "./conv/hsi2yiq.tga",       0.5 );
332   make_image_conversion<    YPbPr709_t,      hsi_t >( "./conv/hsi2YPbPr709.tga",  0.5 );
333   make_image_conversion<      yuv601_t,      hsi_t >( "./conv/hsi2yuv601.tga",    0.5 );
334   make_image_conversion<      yuv709_t,      hsi_t >( "./conv/hsi2yuv709.tga",    0.5 );
335   make_image_conversion<         xyz_t,      hsi_t >( "./conv/hsi2xyz.tga",       0.5 );
336   make_image_conversion<      labCIE_t,      hsi_t >( "./conv/hsi2labCIE.tga",    0.5 );
337   make_image_conversion<   labHunter_t,      hsi_t >( "./conv/hsi2labHunter.tga", 0.5 );
338   make_image_conversion<         lms_t,      hsi_t >( "./conv/hsi2lms.tga",       0.5 );
339   make_image_conversion<         luv_t,      hsi_t >( "./conv/hsi2luv.tga",       0.5 );
340   make_image_conversion<       LabCH_t,      hsi_t >( "./conv/hsi2LabCH.tga",     0.5 );
341   make_image_conversion<       LuvCH_t,      hsi_t >( "./conv/hsi2LuvCH.tga",     0.5 );
342   make_image_conversion<         xyy_t,      hsi_t >( "./conv/hsi2xyy.tga",       0.5 );
343 
344   make_image_conversion<         bgr_t,      hsl_t >( "./conv/hsl2bgr.tga",       0.5 );
345   make_image_conversion<         cmy_t,      hsl_t >( "./conv/hsl2cmy.tga",       0.5 );
346   make_image_conversion<        cmyk_t,      hsl_t >( "./conv/hsl2cmyk.tga",      0.5 );
347   make_image_conversion<        gray_t,      hsl_t >( "./conv/hsl2gray.tga",      0.5 );
348   make_image_conversion<         rgb_t,      hsl_t >( "./conv/hsl2rgb.tga",       0.5 );
349   make_image_conversion<         hsi_t,      hsl_t >( "./conv/hsl2hsi.tga",       0.5 );
350   make_image_conversion<         hsl_t,      hsl_t >( "./conv/hsl2hsl.tga",       0.5 );
351   make_image_conversion<         hsv_t,      hsl_t >( "./conv/hsl2hsv.tga",       0.5 );
352   make_image_conversion<         hwb_t,      hsl_t >( "./conv/hsl2hwb.tga",       0.5 );
353   make_image_conversion<       YCgCo_t,      hsl_t >( "./conv/hsl2YCgCo.tga",     0.5 );
354   make_image_conversion<       YDbDr_t,      hsl_t >( "./conv/hsl2YDbDr.tga",     0.5 );
355   make_image_conversion<         yiq_t,      hsl_t >( "./conv/hsl2yiq.tga",       0.5 );
356   make_image_conversion<    YPbPr709_t,      hsl_t >( "./conv/hsl2YPbPr709.tga",  0.5 );
357   make_image_conversion<      yuv601_t,      hsl_t >( "./conv/hsl2yuv601.tga",    0.5 );
358   make_image_conversion<      yuv709_t,      hsl_t >( "./conv/hsl2yuv709.tga",    0.5 );
359   make_image_conversion<         xyz_t,      hsl_t >( "./conv/hsl2xyz.tga",       0.5 );
360   make_image_conversion<      labCIE_t,      hsl_t >( "./conv/hsl2labCIE.tga",    0.5 );
361   make_image_conversion<   labHunter_t,      hsl_t >( "./conv/hsl2labHunter.tga", 0.5 );
362   make_image_conversion<         lms_t,      hsl_t >( "./conv/hsl2lms.tga",       0.5 );
363   make_image_conversion<         luv_t,      hsl_t >( "./conv/hsl2luv.tga",       0.5 );
364   make_image_conversion<       LabCH_t,      hsl_t >( "./conv/hsl2LabCH.tga",     0.5 );
365   make_image_conversion<       LuvCH_t,      hsl_t >( "./conv/hsl2LuvCH.tga",     0.5 );
366   make_image_conversion<         xyy_t,      hsl_t >( "./conv/hsl2xyy.tga",       0.5 );
367 
368   make_image_conversion<         bgr_t,      hsv_t >( "./conv/hsv2bgr.tga",       0.5 );
369   make_image_conversion<         cmy_t,      hsv_t >( "./conv/hsv2cmy.tga",       0.5 );
370   make_image_conversion<        cmyk_t,      hsv_t >( "./conv/hsv2cmyk.tga",      0.5 );
371   make_image_conversion<        gray_t,      hsv_t >( "./conv/hsv2gray.tga",      0.5 );
372   make_image_conversion<         rgb_t,      hsv_t >( "./conv/hsv2rgb.tga",       0.5 );
373   make_image_conversion<         hsi_t,      hsv_t >( "./conv/hsv2hsi.tga",       0.5 );
374   make_image_conversion<         hsl_t,      hsv_t >( "./conv/hsv2hsl.tga",       0.5 );
375   make_image_conversion<         hsv_t,      hsv_t >( "./conv/hsv2hsv.tga",       0.5 );
376   make_image_conversion<         hwb_t,      hsv_t >( "./conv/hsv2hwb.tga",       0.5 );
377   make_image_conversion<       YCgCo_t,      hsv_t >( "./conv/hsv2YCgCo.tga",     0.5 );
378   make_image_conversion<       YDbDr_t,      hsv_t >( "./conv/hsv2YDbDr.tga",     0.5 );
379   make_image_conversion<         yiq_t,      hsv_t >( "./conv/hsv2yiq.tga",       0.5 );
380   make_image_conversion<    YPbPr709_t,      hsv_t >( "./conv/hsv2YPbPr709.tga",  0.5 );
381   make_image_conversion<      yuv601_t,      hsv_t >( "./conv/hsv2yuv601.tga",    0.5 );
382   make_image_conversion<      yuv709_t,      hsv_t >( "./conv/hsv2yuv709.tga",    0.5 );
383   make_image_conversion<         xyz_t,      hsv_t >( "./conv/hsv2xyz.tga",       0.5 );
384   make_image_conversion<      labCIE_t,      hsv_t >( "./conv/hsv2labCIE.tga",    0.5 );
385   make_image_conversion<   labHunter_t,      hsv_t >( "./conv/hsv2labHunter.tga", 0.5 );
386   make_image_conversion<         lms_t,      hsv_t >( "./conv/hsv2lms.tga",       0.5 );
387   make_image_conversion<         luv_t,      hsv_t >( "./conv/hsv2luv.tga",       0.5 );
388   make_image_conversion<       LabCH_t,      hsv_t >( "./conv/hsv2LabCH.tga",     0.5 );
389   make_image_conversion<       LuvCH_t,      hsv_t >( "./conv/hsv2LuvCH.tga",     0.5 );
390   make_image_conversion<         xyy_t,      hsv_t >( "./conv/hsv2xyy.tga",       0.5 );
391 
392   make_image_conversion<         bgr_t,      hwb_t >( "./conv/hwb2bgr.tga",       0.5 );
393   make_image_conversion<         cmy_t,      hwb_t >( "./conv/hwb2cmy.tga",       0.5 );
394   make_image_conversion<        cmyk_t,      hwb_t >( "./conv/hwb2cmyk.tga",      0.5 );
395   make_image_conversion<        gray_t,      hwb_t >( "./conv/hwb2gray.tga",      0.5 );
396   make_image_conversion<         rgb_t,      hwb_t >( "./conv/hwb2rgb.tga",       0.5 );
397   make_image_conversion<         hsi_t,      hwb_t >( "./conv/hwb2hsi.tga",       0.5 );
398   make_image_conversion<         hsl_t,      hwb_t >( "./conv/hwb2hsl.tga",       0.5 );
399   make_image_conversion<         hsv_t,      hwb_t >( "./conv/hwb2hsv.tga",       0.5 );
400   make_image_conversion<         hwb_t,      hwb_t >( "./conv/hwb2hwb.tga",       0.5 );
401   make_image_conversion<       YCgCo_t,      hwb_t >( "./conv/hwb2YCgCo.tga",     0.5 );
402   make_image_conversion<       YDbDr_t,      hwb_t >( "./conv/hwb2YDbDr.tga",     0.5 );
403   make_image_conversion<         yiq_t,      hwb_t >( "./conv/hwb2yiq.tga",       0.5 );
404   make_image_conversion<    YPbPr709_t,      hwb_t >( "./conv/hwb2YPbPr709.tga",  0.5 );
405   make_image_conversion<      yuv601_t,      hwb_t >( "./conv/hwb2yuv601.tga",    0.5 );
406   make_image_conversion<      yuv709_t,      hwb_t >( "./conv/hwb2yuv709.tga",    0.5 );
407   make_image_conversion<      labCIE_t,      hwb_t >( "./conv/hwb2labCIE.tga",    0.5 );
408   make_image_conversion<   labHunter_t,      hwb_t >( "./conv/hwb2labHunter.tga", 0.5 );
409   make_image_conversion<         lms_t,      hwb_t >( "./conv/hwb2lms.tga",       0.5 );
410   make_image_conversion<         luv_t,      hwb_t >( "./conv/hwb2luv.tga",       0.5 );
411   make_image_conversion<       LabCH_t,      hwb_t >( "./conv/hwb2LabCH.tga",     0.5 );
412   make_image_conversion<       LuvCH_t,      hwb_t >( "./conv/hwb2LuvCH.tga",     0.5 );
413   make_image_conversion<         xyy_t,      hwb_t >( "./conv/hwb2xyy.tga",       0.5 );
414   make_image_conversion<         xyz_t,      hwb_t >( "./conv/hwb2xyz.tga",       0.5 );
415 
416   make_image_conversion<         bgr_t,    YCgCo_t >( "./conv/YCgCo2bgr.tga",      0.5 );
417   make_image_conversion<         cmy_t,    YCgCo_t >( "./conv/YCgCo2cmy.tga",      0.5 );
418   make_image_conversion<        cmyk_t,    YCgCo_t >( "./conv/YCgCo2cmyk.tga",     0.5 );
419   make_image_conversion<        gray_t,    YCgCo_t >( "./conv/YCgCo2gray.tga",     0.5 );
420   make_image_conversion<         rgb_t,    YCgCo_t >( "./conv/YCgCo2rgb.tga",      0.5 );
421   make_image_conversion<         hsi_t,    YCgCo_t >( "./conv/YCgCo2hsi.tga",      0.5 );
422   make_image_conversion<         hsl_t,    YCgCo_t >( "./conv/YCgCo2hsl.tga",      0.5 );
423   make_image_conversion<         hsv_t,    YCgCo_t >( "./conv/YCgCo2hsv.tga",      0.5 );
424   make_image_conversion<         hwb_t,    YCgCo_t >( "./conv/YCgCo2hwb.tga",      0.5 );
425   make_image_conversion<       YCgCo_t,    YCgCo_t >( "./conv/YCgCo2YCgCo.tga",    0.5 );
426   make_image_conversion<       YDbDr_t,    YCgCo_t >( "./conv/YCgCo2YDbDr.tga",    0.5 );
427   make_image_conversion<         yiq_t,    YCgCo_t >( "./conv/YCgCo2yiq.tga",      0.5 );
428   make_image_conversion<    YPbPr709_t,    YCgCo_t >( "./conv/YCgCo2YPbPr709.tga", 0.5 );
429   make_image_conversion<      yuv601_t,    YCgCo_t >( "./conv/YCgCo2yuv601.tga",   0.5 );
430   make_image_conversion<      yuv709_t,    YCgCo_t >( "./conv/YCgCo2yuv709.tga",   0.5 );
431   make_image_conversion<      labCIE_t,    YCgCo_t >( "./conv/YCgCo2labCIE.tga",   0.5 );
432   make_image_conversion<   labHunter_t,    YCgCo_t >( "./conv/YCgCo2labHunter.tga",0.5 );
433   make_image_conversion<         lms_t,    YCgCo_t >( "./conv/YCgCo2lms.tga",      0.5 );
434   make_image_conversion<         luv_t,    YCgCo_t >( "./conv/YCgCo2luv.tga",      0.5 );
435   make_image_conversion<       LabCH_t,    YCgCo_t >( "./conv/YCgCo2LabCH.tga",    0.5 );
436   make_image_conversion<       LuvCH_t,    YCgCo_t >( "./conv/YCgCo2LuvCH.tga",    0.5 );
437   make_image_conversion<         xyy_t,    YCgCo_t >( "./conv/YCgCo2xyy.tga",      0.5 );
438   make_image_conversion<         xyz_t,    YCgCo_t >( "./conv/YCgCo2xyz.tga",      0.5 );
439 
440   make_image_conversion<         bgr_t,    YDbDr_t >( "./conv/YDbDr2bgr.tga",      0.5 );
441   make_image_conversion<         cmy_t,    YDbDr_t >( "./conv/YDbDr2cmy.tga",      0.5 );
442   make_image_conversion<        cmyk_t,    YDbDr_t >( "./conv/YDbDr2cmyk.tga",     0.5 );
443   make_image_conversion<        gray_t,    YDbDr_t >( "./conv/YDbDr2gray.tga",     0.5 );
444   make_image_conversion<         rgb_t,    YDbDr_t >( "./conv/YDbDr2rgb.tga",      0.5 );
445   make_image_conversion<         hsi_t,    YDbDr_t >( "./conv/YDbDr2hsi.tga",      0.5 );
446   make_image_conversion<         hsl_t,    YDbDr_t >( "./conv/YDbDr2hsl.tga",      0.5 );
447   make_image_conversion<         hsv_t,    YDbDr_t >( "./conv/YDbDr2hsv.tga",      0.5 );
448   make_image_conversion<         hwb_t,    YDbDr_t >( "./conv/YDbDr2hwb.tga",      0.5 );
449   make_image_conversion<       YCgCo_t,    YDbDr_t >( "./conv/YDbDr2YCgCo.tga",    0.5 );
450   make_image_conversion<       YDbDr_t,    YDbDr_t >( "./conv/YDbDr2YDbDr.tga",    0.5 );
451   make_image_conversion<         yiq_t,    YDbDr_t >( "./conv/YDbDr2yiq.tga",      0.5 );
452   make_image_conversion<    YPbPr709_t,    YDbDr_t >( "./conv/YDbDr2YPbPr709.tga", 0.5 );
453   make_image_conversion<      yuv601_t,    YDbDr_t >( "./conv/YDbDr2yuv601.tga",   0.5 );
454   make_image_conversion<      yuv709_t,    YDbDr_t >( "./conv/YDbDr2yuv709.tga",   0.5 );
455   make_image_conversion<      labCIE_t,    YDbDr_t >( "./conv/YDbDr2labCIE.tga",   0.5 );
456   make_image_conversion<   labHunter_t,    YDbDr_t >( "./conv/YDbDr2labHunter.tga",0.5 );
457   make_image_conversion<         lms_t,    YDbDr_t >( "./conv/YDbDr2lms.tga",      0.5 );
458   make_image_conversion<         luv_t,    YDbDr_t >( "./conv/YDbDr2luv.tga",      0.5 );
459   make_image_conversion<       LabCH_t,    YDbDr_t >( "./conv/YDbDr2LabCH.tga",    0.5 );
460   make_image_conversion<       LuvCH_t,    YDbDr_t >( "./conv/YDbDr2LuvCH.tga",    0.5 );
461   make_image_conversion<         xyy_t,    YDbDr_t >( "./conv/YDbDr2xyy.tga",      0.5 );
462   make_image_conversion<         xyz_t,    YDbDr_t >( "./conv/YDbDr2xyz.tga",      0.5 );
463 
464   make_image_conversion<         bgr_t,      yiq_t >( "./conv/yiq2bgr.tga",        0.5 );
465   make_image_conversion<         cmy_t,      yiq_t >( "./conv/yiq2cmy.tga",        0.5 );
466   make_image_conversion<        cmyk_t,      yiq_t >( "./conv/yiq2cmyk.tga",       0.5 );
467   make_image_conversion<        gray_t,      yiq_t >( "./conv/yiq2gray.tga",       0.5 );
468   make_image_conversion<         rgb_t,      yiq_t >( "./conv/yiq2rgb.tga",        0.5 );
469   make_image_conversion<         hsi_t,      yiq_t >( "./conv/yiq2hsi.tga",        0.5 );
470   make_image_conversion<         hsl_t,      yiq_t >( "./conv/yiq2hsl.tga",        0.5 );
471   make_image_conversion<         hsv_t,      yiq_t >( "./conv/yiq2hsv.tga",        0.5 );
472   make_image_conversion<         hwb_t,      yiq_t >( "./conv/yiq2hwb.tga",        0.5 );
473   make_image_conversion<       YCgCo_t,      yiq_t >( "./conv/yiq2YCgCo.tga",      0.5 );
474   make_image_conversion<       YDbDr_t,      yiq_t >( "./conv/yiq2YDbDr.tga",      0.5 );
475   make_image_conversion<         yiq_t,      yiq_t >( "./conv/yiq2yiq.tga",        0.5 );
476   make_image_conversion<    YPbPr709_t,      yiq_t >( "./conv/yiq2YPbPr709.tga",   0.5 );
477   make_image_conversion<      yuv601_t,      yiq_t >( "./conv/yiq2yuv601.tga",     0.5 );
478   make_image_conversion<      yuv709_t,      yiq_t >( "./conv/yiq2yuv709.tga",     0.5 );
479   make_image_conversion<         xyz_t,      yiq_t >( "./conv/yiq2xyz.tga",        0.5 );
480   make_image_conversion<      labCIE_t,      yiq_t >( "./conv/yiq2labCIE.tga",     0.5 );
481   make_image_conversion<   labHunter_t,      yiq_t >( "./conv/yiq2labHunter.tga",  0.5 );
482   make_image_conversion<         lms_t,      yiq_t >( "./conv/yiq2lms.tga",        0.5 );
483   make_image_conversion<         luv_t,      yiq_t >( "./conv/yiq2luv.tga",        0.5 );
484   make_image_conversion<       LabCH_t,      yiq_t >( "./conv/yiq2LabCH.tga",      0.5 );
485   make_image_conversion<       LuvCH_t,      yiq_t >( "./conv/yiq2LuvCH.tga",      0.5 );
486   make_image_conversion<         xyy_t,      yiq_t >( "./conv/yiq2xyy.tga",        0.5 );
487 
488   make_image_conversion<         bgr_t, YPbPr709_t >( "./conv/YPbPr709_2bgr.tga",      0.5 );
489   make_image_conversion<         cmy_t, YPbPr709_t >( "./conv/YPbPr709_2cmy.tga",      0.5 );
490   make_image_conversion<        cmyk_t, YPbPr709_t >( "./conv/YPbPr709_2cmyk.tga",     0.5 );
491   make_image_conversion<        gray_t, YPbPr709_t >( "./conv/YPbPr709_2gray.tga",     0.5 );
492   make_image_conversion<         rgb_t, YPbPr709_t >( "./conv/YPbPr709_2rgb.tga",      0.5 );
493   make_image_conversion<         hsi_t, YPbPr709_t >( "./conv/YPbPr709_2hsi.tga",      0.5 );
494   make_image_conversion<         hsl_t, YPbPr709_t >( "./conv/YPbPr709_2hsl.tga",      0.5 );
495   make_image_conversion<         hsv_t, YPbPr709_t >( "./conv/YPbPr709_2hsv.tga",      0.5 );
496   make_image_conversion<         hwb_t, YPbPr709_t >( "./conv/YPbPr709_2hwb.tga",      0.5 );
497   make_image_conversion<       YCgCo_t, YPbPr709_t >( "./conv/YPbPr709_2YCgCo.tga",    0.5 );
498   make_image_conversion<       YDbDr_t, YPbPr709_t >( "./conv/YPbPr709_2YDbDr.tga",    0.5 );
499   make_image_conversion<         yiq_t, YPbPr709_t >( "./conv/YPbPr709_2yiq.tga",      0.5 );
500   make_image_conversion<    YPbPr709_t, YPbPr709_t >( "./conv/YPbPr709_2YPbPr709.tga", 0.5 );
501   make_image_conversion<      yuv601_t, YPbPr709_t >( "./conv/YPbPr709_2yuv601.tga",   0.5 );
502   make_image_conversion<      yuv709_t, YPbPr709_t >( "./conv/YPbPr709_2yuv709.tga",   0.5 );
503   make_image_conversion<         xyz_t, YPbPr709_t >( "./conv/YPbPr709_2xyz.tga",      0.5 );
504   make_image_conversion<      labCIE_t, YPbPr709_t >( "./conv/YPbPr709_2labCIE.tga",   0.5 );
505   make_image_conversion<   labHunter_t, YPbPr709_t >( "./conv/YPbPr709_2labHunter.tga",0.5 );
506   make_image_conversion<         lms_t, YPbPr709_t >( "./conv/YPbPr709_2lms.tga",      0.5 );
507   make_image_conversion<         luv_t, YPbPr709_t >( "./conv/YPbPr709_2luv.tga",      0.5 );
508   make_image_conversion<       LabCH_t, YPbPr709_t >( "./conv/YPbPr709_2LabCH.tga",    0.5 );
509   make_image_conversion<       LuvCH_t, YPbPr709_t >( "./conv/YPbPr709_2LuvCH.tga",    0.5 );
510   make_image_conversion<         xyy_t, YPbPr709_t >( "./conv/YPbPr709_2xyy.tga",      0.5 );
511 
512   make_image_conversion<         bgr_t,   yuv601_t >( "./conv/yuv601_2bgr.tga",        0.5 );
513   make_image_conversion<         cmy_t,   yuv601_t >( "./conv/yuv601_2cmy.tga",        0.5 );
514   make_image_conversion<        cmyk_t,   yuv601_t >( "./conv/yuv601_2cmyk.tga",       0.5 );
515   make_image_conversion<        gray_t,   yuv601_t >( "./conv/yuv601_2gray.tga",       0.5 );
516   make_image_conversion<         rgb_t,   yuv601_t >( "./conv/yuv601_2rgb.tga",        0.5 );
517   make_image_conversion<         hsi_t,   yuv601_t >( "./conv/yuv601_2hsi.tga",        0.5 );
518   make_image_conversion<         hsl_t,   yuv601_t >( "./conv/yuv601_2hsl.tga",        0.5 );
519   make_image_conversion<         hsv_t,   yuv601_t >( "./conv/yuv601_2hsv.tga",        0.5 );
520   make_image_conversion<         hwb_t,   yuv601_t >( "./conv/yuv601_2hwb.tga",        0.5 );
521   make_image_conversion<       YCgCo_t,   yuv601_t >( "./conv/yuv601_2YCgCo.tga",      0.5 );
522   make_image_conversion<       YDbDr_t,   yuv601_t >( "./conv/yuv601_2YDbDr.tga",      0.5 );
523   make_image_conversion<         yiq_t,   yuv601_t >( "./conv/yuv601_2yiq.tga",        0.5 );
524   make_image_conversion<    YPbPr709_t,   yuv601_t >( "./conv/yuv601_2YPbPr709.tga",   0.5 );
525   make_image_conversion<      yuv601_t,   yuv601_t >( "./conv/yuv601_2yuv601.tga",     0.5 );
526   make_image_conversion<      yuv709_t,   yuv601_t >( "./conv/yuv601_2yuv709.tga",     0.5 );
527   make_image_conversion<         xyz_t,   yuv601_t >( "./conv/yuv601_2xyz.tga",        0.5 );
528   make_image_conversion<      labCIE_t,   yuv601_t >( "./conv/yuv601_2labCIE.tga",    0.5 );
529   make_image_conversion<   labHunter_t,   yuv601_t >( "./conv/yuv601_2labHunter.tga",  0.5 );
530   make_image_conversion<         lms_t,   yuv601_t >( "./conv/yuv601_2lms.tga",        0.5 );
531   make_image_conversion<         luv_t,   yuv601_t >( "./conv/yuv601_2luv.tga",        0.5 );
532   make_image_conversion<       LabCH_t,   yuv601_t >( "./conv/yuv601_2LabCH.tga",      0.5 );
533   make_image_conversion<       LuvCH_t,   yuv601_t >( "./conv/yuv601_2LuvCH.tga",      0.5 );
534   make_image_conversion<         xyy_t,   yuv601_t >( "./conv/yuv601_2xyy.tga",        0.5 );
535 
536   make_image_conversion<         bgr_t,   yuv709_t >( "./conv/yuv709_2bgr.tga",        0.5 );
537   make_image_conversion<         cmy_t,   yuv709_t >( "./conv/yuv709_2cmy.tga",        0.5 );
538   make_image_conversion<        cmyk_t,   yuv709_t >( "./conv/yuv709_2cmyk.tga",       0.5 );
539   make_image_conversion<        gray_t,   yuv709_t >( "./conv/yuv709_2gray.tga",       0.5 );
540   make_image_conversion<         rgb_t,   yuv709_t >( "./conv/yuv709_2rgb.tga",        0.5 );
541   make_image_conversion<         hsi_t,   yuv709_t >( "./conv/yuv709_2hsi.tga",        0.5 );
542   make_image_conversion<         hsl_t,   yuv709_t >( "./conv/yuv709_2hsl.tga",        0.5 );
543   make_image_conversion<         hsv_t,   yuv709_t >( "./conv/yuv709_2hsv.tga",        0.5 );
544   make_image_conversion<         hwb_t,   yuv709_t >( "./conv/yuv709_2hwb.tga",        0.5 );
545   make_image_conversion<       YCgCo_t,   yuv709_t >( "./conv/yuv709_2YCgCo.tga",      0.5 );
546   make_image_conversion<       YDbDr_t,   yuv709_t >( "./conv/yuv709_2YDbDr.tga",      0.5 );
547   make_image_conversion<         yiq_t,   yuv709_t >( "./conv/yuv709_2yiq.tga",        0.5 );
548   make_image_conversion<    YPbPr709_t,   yuv709_t >( "./conv/yuv709_2YPbPr709.tga",   0.5 );
549   make_image_conversion<      yuv601_t,   yuv709_t >( "./conv/yuv709_2yuv601.tga",     0.5 );
550   make_image_conversion<      yuv709_t,   yuv709_t >( "./conv/yuv709_2yuv709.tga",     0.5 );
551   make_image_conversion<        xyz_t,    yuv709_t >( "./conv/yuv709_2xyz.tga",        0.5 );
552   make_image_conversion<      labCIE_t,   yuv709_t >( "./conv/yuv709_2labCIE.tga",    0.5 );
553   make_image_conversion<   labHunter_t,   yuv709_t >( "./conv/yuv709_2labHunter.tga",  0.5 );
554   make_image_conversion<         lms_t,   yuv709_t >( "./conv/yuv709_2lms.tga",        0.5 );
555   make_image_conversion<         luv_t,   yuv709_t >( "./conv/yuv709_2luv.tga",        0.5 );
556   make_image_conversion<       LabCH_t,   yuv709_t >( "./conv/yuv709_2LabCH.tga",          0.5 );
557   make_image_conversion<       LuvCH_t,   yuv709_t >( "./conv/yuv709_2LuvCH.tga",          0.5 );
558   make_image_conversion<         xyy_t,   yuv709_t >( "./conv/yuv709_2xyy.tga",        0.5 );
559 
560   make_image_conversion<         bgr_t,   labCIE_t >( "./conv/labCIE2bgr.tga",            0.5 );
561   make_image_conversion<         cmy_t,   labCIE_t >( "./conv/labCIE2cmy.tga",            0.5 );
562   make_image_conversion<        cmyk_t,   labCIE_t >( "./conv/labCIE2cmyk.tga",           0.5 );
563   make_image_conversion<        gray_t,   labCIE_t >( "./conv/labCIE2gray.tga",           0.5 );
564   make_image_conversion<         rgb_t,   labCIE_t >( "./conv/labCIE2rgb.tga",            0.5 );
565   make_image_conversion<         hsi_t,   labCIE_t >( "./conv/labCIE2hsi.tga",            0.5 );
566   make_image_conversion<         hsl_t,   labCIE_t >( "./conv/labCIE2hsl.tga",            0.5 );
567   make_image_conversion<         hsv_t,   labCIE_t >( "./conv/labCIE2hsv.tga",            0.5 );
568   make_image_conversion<         hwb_t,   labCIE_t >( "./conv/labCIE2hwb.tga",            0.5 );
569   make_image_conversion<       YCgCo_t,   labCIE_t >( "./conv/labCIE2YCgCo.tga",          0.5 );
570   make_image_conversion<       YDbDr_t,   labCIE_t >( "./conv/labCIE2YDbDr.tga",          0.5 );
571   make_image_conversion<         yiq_t,   labCIE_t >( "./conv/labCIE2yiq.tga",            0.5 );
572   make_image_conversion<    YPbPr709_t,   labCIE_t >( "./conv/labCIE2YPbPr709.tga",       0.5 );
573   make_image_conversion<      yuv601_t,   labCIE_t >( "./conv/labCIE2yuv601.tga",         0.5 );
574   make_image_conversion<      yuv709_t,   labCIE_t >( "./conv/labCIE2yuv709.tga",         0.5 );
575   make_image_conversion<         xyz_t,   labCIE_t >( "./conv/labCIE2xyz.tga",            0.5 );
576   make_image_conversion<      labCIE_t,   labCIE_t >( "./conv/labCIE2labCIE.tga",         0.5 );
577   make_image_conversion<   labHunter_t,   labCIE_t >( "./conv/labCIE2labHunter.tga",      0.5 );
578   make_image_conversion<         lms_t,   labCIE_t >( "./conv/labCIE2lms.tga",            0.5 );
579   make_image_conversion<         luv_t,   labCIE_t >( "./conv/labCIE2luv.tga",            0.5 );
580   make_image_conversion<       LabCH_t,   labCIE_t >( "./conv/labCIE2LabCH.tga",          0.5 );
581   make_image_conversion<       LuvCH_t,   labCIE_t >( "./conv/labCIE2LuvCH.tga",          0.5 );
582   make_image_conversion<         xyy_t,   labCIE_t >( "./conv/labCIE2xyy.tga",            0.5 );
583 
584   make_image_conversion<         bgr_t,labHunter_t >( "./conv/labHunter2bgr.tga",         0.5 );
585   make_image_conversion<         cmy_t,labHunter_t >( "./conv/labHunter2cmy.tga",         0.5 );
586   make_image_conversion<        cmyk_t,labHunter_t >( "./conv/labHunter2cmyk.tga",        0.5 );
587   make_image_conversion<        gray_t,labHunter_t >( "./conv/labHunter2gray.tga",        0.5 );
588   make_image_conversion<         rgb_t,labHunter_t >( "./conv/labHunter2rgb.tga",         0.5 );
589   make_image_conversion<         hsi_t,labHunter_t >( "./conv/labHunter2hsi.tga",         0.5 );
590   make_image_conversion<         hsl_t,labHunter_t >( "./conv/labHunter2hsl.tga",         0.5 );
591   make_image_conversion<         hsv_t,labHunter_t >( "./conv/labHunter2hsv.tga",         0.5 );
592   make_image_conversion<         hwb_t,labHunter_t >( "./conv/labHunter2hwb.tga",         0.5 );
593   make_image_conversion<       YCgCo_t,labHunter_t >( "./conv/labHunter2YCgCo.tga",       0.5 );
594   make_image_conversion<       YDbDr_t,labHunter_t >( "./conv/labHunter2YDbDr.tga",       0.5 );
595   make_image_conversion<         yiq_t,labHunter_t >( "./conv/labHunter2yiq.tga",         0.5 );
596   make_image_conversion<    YPbPr709_t,labHunter_t >( "./conv/labHunter2YPbPr709.tga",    0.5 );
597   make_image_conversion<      yuv601_t,labHunter_t >( "./conv/labHunter2yuv601.tga",      0.5 );
598   make_image_conversion<      yuv709_t,labHunter_t >( "./conv/labHunter2yuv709.tga",      0.5 );
599   make_image_conversion<         xyz_t,labHunter_t >( "./conv/labHunter2xyz.tga",         0.5 );
600   make_image_conversion<      labCIE_t,labHunter_t >( "./conv/labHunter2labCIE.tga",      0.5 );
601   make_image_conversion<   labHunter_t,labHunter_t >( "./conv/labHunter2labHunter.tga",   0.5 );
602   make_image_conversion<         lms_t,labHunter_t >( "./conv/labHunter2lms.tga",         0.5 );
603   make_image_conversion<         luv_t,labHunter_t >( "./conv/labHunter2luv.tga",         0.5 );
604   make_image_conversion<       LabCH_t,labHunter_t >( "./conv/labHunter2LabCH.tga",       0.5 );
605   make_image_conversion<       LuvCH_t,labHunter_t >( "./conv/labHunter2LuvCH.tga",       0.5 );
606   make_image_conversion<         xyy_t,labHunter_t >( "./conv/labHunter2xyy.tga",         0.5 );
607 
608 
609   make_image_conversion<         bgr_t,      lms_t >( "./conv/lms2bgr.tga",            0.5 );
610   make_image_conversion<         cmy_t,      lms_t >( "./conv/lms2cmy.tga",            0.5 );
611   make_image_conversion<        cmyk_t,      lms_t >( "./conv/lms2cmyk.tga",           0.5 );
612   make_image_conversion<        gray_t,      lms_t >( "./conv/lms2gray.tga",           0.5 );
613   make_image_conversion<         rgb_t,      lms_t >( "./conv/lms2rgb.tga",            0.5 );
614   make_image_conversion<         hsi_t,      lms_t >( "./conv/lms2hsi.tga",            0.5 );
615   make_image_conversion<         hsl_t,      lms_t >( "./conv/lms2hsl.tga",            0.5 );
616   make_image_conversion<         hsv_t,      lms_t >( "./conv/lms2hsv.tga",            0.5 );
617   make_image_conversion<         hwb_t,      lms_t >( "./conv/lms2hwb.tga",            0.5 );
618   make_image_conversion<       YCgCo_t,      lms_t >( "./conv/lms2YCgCo.tga",          0.5 );
619   make_image_conversion<       YDbDr_t,      lms_t >( "./conv/lms2YDbDr.tga",          0.5 );
620   make_image_conversion<         yiq_t,      lms_t >( "./conv/lms2yiq.tga",            0.5 );
621   make_image_conversion<    YPbPr709_t,      lms_t >( "./conv/lms2YPbPr709.tga",       0.5 );
622   make_image_conversion<      yuv601_t,      lms_t >( "./conv/lms2yuv601.tga",         0.5 );
623   make_image_conversion<      yuv709_t,      lms_t >( "./conv/lms2yuv709.tga",         0.5 );
624   make_image_conversion<         xyz_t,      lms_t >( "./conv/lms2xyz.tga",            0.5 );
625   make_image_conversion<      labCIE_t,      lms_t >( "./conv/lms2labCIE.tga",         0.5 );
626   make_image_conversion<   labHunter_t,      lms_t >( "./conv/lms2labHunter.tga",      0.5 );
627   make_image_conversion<         lms_t,      lms_t >( "./conv/lms2lms.tga",            0.5 );
628   make_image_conversion<         luv_t,      lms_t >( "./conv/lms2luv.tga",            0.5 );
629   make_image_conversion<       LabCH_t,      lms_t >( "./conv/lms2LabCH.tga",          0.5 );
630   make_image_conversion<       LuvCH_t,      lms_t >( "./conv/lms2LuvCH.tga",          0.5 );
631   make_image_conversion<         xyy_t,      lms_t >( "./conv/lms2xyy.tga",            0.5 );
632 
633   make_image_conversion<         bgr_t,      luv_t >( "./conv/luv2bgr.tga",            0.5 );
634   make_image_conversion<         cmy_t,      luv_t >( "./conv/luv2cmy.tga",            0.5 );
635   make_image_conversion<        cmyk_t,      luv_t >( "./conv/luv2cmyk.tga",           0.5 );
636   make_image_conversion<        gray_t,      luv_t >( "./conv/luv2gray.tga",           0.5 );
637   make_image_conversion<         rgb_t,      luv_t >( "./conv/luv2rgb.tga",            0.5 );
638   make_image_conversion<         hsi_t,      luv_t >( "./conv/luv2hsi.tga",            0.5 );
639   make_image_conversion<         hsl_t,      luv_t >( "./conv/luv2hsl.tga",            0.5 );
640   make_image_conversion<         hsv_t,      luv_t >( "./conv/luv2hsv.tga",            0.5 );
641   make_image_conversion<         hwb_t,      luv_t >( "./conv/luv2hwb.tga",            0.5 );
642   make_image_conversion<       YCgCo_t,      luv_t >( "./conv/luv2YCgCo.tga",          0.5 );
643   make_image_conversion<       YDbDr_t,      luv_t >( "./conv/luv2YDbDr.tga",          0.5 );
644   make_image_conversion<         yiq_t,      luv_t >( "./conv/luv2yiq.tga",            0.5 );
645   make_image_conversion<    YPbPr709_t,      luv_t >( "./conv/luv2YPbPr709.tga",       0.5 );
646   make_image_conversion<      yuv601_t,      luv_t >( "./conv/luv2yuv601.tga",         0.5 );
647   make_image_conversion<      yuv709_t,      luv_t >( "./conv/luv2yuv709.tga",         0.5 );
648   make_image_conversion<         xyz_t,      luv_t >( "./conv/luv2xyz.tga",            0.5 );
649   make_image_conversion<      labCIE_t,      luv_t >( "./conv/luv2labCIE.tga",         0.5 );
650   make_image_conversion<   labHunter_t,      luv_t >( "./conv/luv2labHunter.tga",      0.5 );
651   make_image_conversion<         lms_t,      luv_t >( "./conv/luv2lms.tga",            0.5 );
652   make_image_conversion<         luv_t,      luv_t >( "./conv/luv2luv.tga",            0.5 );
653   make_image_conversion<       LabCH_t,      luv_t >( "./conv/luv2LabCH.tga",          0.5 );
654   make_image_conversion<       LuvCH_t,      luv_t >( "./conv/luv2LuvCH.tga",          0.5 );
655   make_image_conversion<         xyy_t,      luv_t >( "./conv/luv2xyy.tga",            0.5 );
656 
657   make_image_conversion<         bgr_t,      LuvCH_t >( "./conv/LuvCH2bgr.tga",            0.5 );
658   make_image_conversion<         cmy_t,      LuvCH_t >( "./conv/LuvCH2cmy.tga",            0.5 );
659   make_image_conversion<        cmyk_t,      LuvCH_t >( "./conv/LuvCH2cmyk.tga",           0.5 );
660   make_image_conversion<        gray_t,      LuvCH_t >( "./conv/LuvCH2gray.tga",           0.5 );
661   make_image_conversion<         rgb_t,      LuvCH_t >( "./conv/LuvCH2rgb.tga",            0.5 );
662   make_image_conversion<         hsi_t,      LuvCH_t >( "./conv/LuvCH2hsi.tga",            0.5 );
663   make_image_conversion<         hsl_t,      LuvCH_t >( "./conv/LuvCH2hsl.tga",            0.5 );
664   make_image_conversion<         hsv_t,      LuvCH_t >( "./conv/LuvCH2hsv.tga",            0.5 );
665   make_image_conversion<         hwb_t,      LuvCH_t >( "./conv/LuvCH2hwb.tga",            0.5 );
666   make_image_conversion<       YCgCo_t,      LuvCH_t >( "./conv/LuvCH2YCgCo.tga",          0.5 );
667   make_image_conversion<       YDbDr_t,      LuvCH_t >( "./conv/LuvCH2YDbDr.tga",          0.5 );
668   make_image_conversion<         yiq_t,      LuvCH_t >( "./conv/LuvCH2yiq.tga",            0.5 );
669   make_image_conversion<    YPbPr709_t,      LuvCH_t >( "./conv/LuvCH2YPbPr709.tga",       0.5 );
670   make_image_conversion<      yuv601_t,      LuvCH_t >( "./conv/LuvCH2yuv601.tga",         0.5 );
671   make_image_conversion<      yuv709_t,      LuvCH_t >( "./conv/LuvCH2yuv709.tga",         0.5 );
672   make_image_conversion<         xyz_t,      LuvCH_t >( "./conv/LuvCH2xyz.tga",            0.5 );
673   make_image_conversion<      labCIE_t,      LuvCH_t >( "./conv/LuvCH2labCIE.tga",         0.5 );
674   make_image_conversion<   labHunter_t,      LuvCH_t >( "./conv/LuvCH2labHunter.tga",      0.5 );
675   make_image_conversion<         lms_t,      LuvCH_t >( "./conv/LuvCH2lms.tga",            0.5 );
676   make_image_conversion<         luv_t,      LuvCH_t >( "./conv/LuvCH2luv.tga",            0.5 );
677   make_image_conversion<       LabCH_t,      LuvCH_t >( "./conv/LuvCH2LabCH.tga",          0.5 );
678   make_image_conversion<       LuvCH_t,      LuvCH_t >( "./conv/LuvCH2LuvCH.tga",          0.5 );
679   make_image_conversion<         xyy_t,      LuvCH_t >( "./conv/LuvCH2xyy.tga",            0.5 );
680 
681   make_image_conversion<         bgr_t,      LabCH_t >( "./conv/LabCH2bgr.tga",            0.5 );
682   make_image_conversion<         cmy_t,      LabCH_t >( "./conv/LabCH2cmy.tga",            0.5 );
683   make_image_conversion<        cmyk_t,      LabCH_t >( "./conv/LabCH2cmyk.tga",           0.5 );
684   make_image_conversion<        gray_t,      LabCH_t >( "./conv/LabCH2gray.tga",           0.5 );
685   make_image_conversion<         rgb_t,      LabCH_t >( "./conv/LabCH2rgb.tga",            0.5 );
686   make_image_conversion<         hsi_t,      LabCH_t >( "./conv/LabCH2hsi.tga",            0.5 );
687   make_image_conversion<         hsl_t,      LabCH_t >( "./conv/LabCH2hsl.tga",            0.5 );
688   make_image_conversion<         hsv_t,      LabCH_t >( "./conv/LabCH2hsv.tga",            0.5 );
689   make_image_conversion<         hwb_t,      LabCH_t >( "./conv/LabCH2hwb.tga",            0.5 );
690   make_image_conversion<       YCgCo_t,      LabCH_t >( "./conv/LabCH2YCgCo.tga",          0.5 );
691   make_image_conversion<       YDbDr_t,      LabCH_t >( "./conv/LabCH2YDbDr.tga",          0.5 );
692   make_image_conversion<         yiq_t,      LabCH_t >( "./conv/LabCH2yiq.tga",            0.5 );
693   make_image_conversion<    YPbPr709_t,      LabCH_t >( "./conv/LabCH2YPbPr709.tga",       0.5 );
694   make_image_conversion<      yuv601_t,      LabCH_t >( "./conv/LabCH2yuv601.tga",         0.5 );
695   make_image_conversion<      yuv709_t,      LabCH_t >( "./conv/LabCH2yuv709.tga",         0.5 );
696   make_image_conversion<         xyz_t,      LabCH_t >( "./conv/LabCH2xyz.tga",            0.5 );
697   make_image_conversion<      labCIE_t,      LabCH_t >( "./conv/LabCH2labCIE.tga",         0.5 );
698   make_image_conversion<   labHunter_t,      LabCH_t >( "./conv/LabCH2labHunter.tga",      0.5 );
699   make_image_conversion<         lms_t,      LabCH_t >( "./conv/LabCH2lms.tga",            0.5 );
700   make_image_conversion<         luv_t,      LabCH_t >( "./conv/LabCH2luv.tga",            0.5 );
701   make_image_conversion<       LabCH_t,      LabCH_t >( "./conv/LabCH2LabCH.tga",          0.5 );
702   make_image_conversion<       LuvCH_t,      LabCH_t >( "./conv/LabCH2LuvCH.tga",          0.5 );
703   make_image_conversion<         xyy_t,      LabCH_t >( "./conv/LabCH2xyy.tga",            0.5 );
704 
705   make_image_conversion<         bgr_t,      xyy_t >( "./conv/xyy2bgr.tga",            0.5 );
706   make_image_conversion<         cmy_t,      xyy_t >( "./conv/xyy2cmy.tga",            0.5 );
707   make_image_conversion<        cmyk_t,      xyy_t >( "./conv/xyy2cmyk.tga",           0.5 );
708   make_image_conversion<        gray_t,      xyy_t >( "./conv/xyy2gray.tga",           0.5 );
709   make_image_conversion<         rgb_t,      xyy_t >( "./conv/xyy2rgb.tga",            0.5 );
710   make_image_conversion<         hsi_t,      xyy_t >( "./conv/xyy2hsi.tga",            0.5 );
711   make_image_conversion<         hsl_t,      xyy_t >( "./conv/xyy2hsl.tga",            0.5 );
712   make_image_conversion<         hsv_t,      xyy_t >( "./conv/xyy2hsv.tga",            0.5 );
713   make_image_conversion<         hwb_t,      xyy_t >( "./conv/xyy2hwb.tga",            0.5 );
714   make_image_conversion<       YCgCo_t,      xyy_t >( "./conv/xyy2YCgCo.tga",          0.5 );
715   make_image_conversion<       YDbDr_t,      xyy_t >( "./conv/xyy2YDbDr.tga",          0.5 );
716   make_image_conversion<         yiq_t,      xyy_t >( "./conv/xyy2yiq.tga",            0.5 );
717   make_image_conversion<    YPbPr709_t,      xyy_t >( "./conv/xyy2YPbPr709.tga",       0.5 );
718   make_image_conversion<      yuv601_t,      xyy_t >( "./conv/xyy2yuv601.tga",         0.5 );
719   make_image_conversion<      yuv709_t,      xyy_t >( "./conv/xyy2yuv709.tga",         0.5 );
720   make_image_conversion<      labCIE_t,      xyy_t >( "./conv/xyy2labCIE.tga",         0.5 );
721   make_image_conversion<   labHunter_t,      xyy_t >( "./conv/xyy2labHunter.tga",      0.5 );
722   make_image_conversion<         lms_t,      xyy_t >( "./conv/xyy2lms.tga",            0.5 );
723   make_image_conversion<         luv_t,      xyy_t >( "./conv/xyy2luv.tga",            0.5 );
724   make_image_conversion<       LabCH_t,      xyy_t >( "./conv/xyy2LabCH.tga",          0.5 );
725   make_image_conversion<       LuvCH_t,      xyy_t >( "./conv/xyy2LuvCH.tga",          0.5 );
726   make_image_conversion<         xyy_t,      xyy_t >( "./conv/xyy2xyy.tga",            0.5 );
727   make_image_conversion<         xyz_t,      xyy_t >( "./conv/xyy2xyz.tga",            0.5 );
728 
729   make_image_conversion<         bgr_t,      xyz_t >( "./conv/xyz2bgr.tga",            0.5 );
730   make_image_conversion<         cmy_t,      xyz_t >( "./conv/xyz2cmy.tga",            0.5 );
731   make_image_conversion<        cmyk_t,      xyz_t >( "./conv/xyz2cmyk.tga",           0.5 );
732   make_image_conversion<        gray_t,      xyz_t >( "./conv/xyz2gray.tga",           0.5 );
733   make_image_conversion<         rgb_t,      xyz_t >( "./conv/xyz2rgb.tga",            0.5 );
734   make_image_conversion<         hsi_t,      xyz_t >( "./conv/xyz2hsi.tga",            0.5 );
735   make_image_conversion<         hsl_t,      xyz_t >( "./conv/xyz2hsl.tga",            0.5 );
736   make_image_conversion<         hsv_t,      xyz_t >( "./conv/xyz2hsv.tga",            0.5 );
737   make_image_conversion<         hwb_t,      xyz_t >( "./conv/xyz2hwb.tga",            0.5 );
738   make_image_conversion<       YCgCo_t,      xyz_t >( "./conv/xyz2YCgCo.tga",          0.5 );
739   make_image_conversion<       YDbDr_t,      xyz_t >( "./conv/xyz2YDbDr.tga",          0.5 );
740   make_image_conversion<         yiq_t,      xyz_t >( "./conv/xyz2yiq.tga",            0.5 );
741   make_image_conversion<    YPbPr709_t,      xyz_t >( "./conv/xyz2YPbPr709.tga",       0.5 );
742   make_image_conversion<      yuv601_t,      xyz_t >( "./conv/xyz2yuv601.tga",         0.5 );
743   make_image_conversion<      yuv709_t,      xyz_t >( "./conv/xyz2yuv709.tga",         0.5 );
744   make_image_conversion<      labCIE_t,      xyz_t >( "./conv/xyz2labCIE.tga",         0.5 );
745   make_image_conversion<   labHunter_t,      xyz_t >( "./conv/xyz2labHunter.tga",      0.5 );
746   make_image_conversion<         lms_t,      xyz_t >( "./conv/xyz2lms.tga",            0.5 );
747   make_image_conversion<         luv_t,      xyz_t >( "./conv/xyz2luv.tga",            0.5 );
748   make_image_conversion<       LabCH_t,      xyz_t >( "./conv/xyz2LabCH.tga",          0.5 );
749   make_image_conversion<       LuvCH_t,      xyz_t >( "./conv/xyz2LuvCH.tga",          0.5 );
750   make_image_conversion<         xyy_t,      xyz_t >( "./conv/xyz2xyy.tga",            0.5 );
751   make_image_conversion<         xyz_t,      xyz_t >( "./conv/xyz2xyz.tga",            0.5 );
752 
753   make_image_conversion<         bgr_t,      LabCH_t >( "./conv/LabCH2bgr.tga",            0.5 );
754   make_image_conversion<         cmy_t,      LabCH_t >( "./conv/LabCH2cmy.tga",            0.5 );
755   make_image_conversion<        cmyk_t,      LabCH_t >( "./conv/LabCH2cmyk.tga",           0.5 );
756   make_image_conversion<        gray_t,      LabCH_t >( "./conv/LabCH2gray.tga",           0.5 );
757   make_image_conversion<         rgb_t,      LabCH_t >( "./conv/LabCH2rgb.tga",            0.5 );
758   make_image_conversion<         hsi_t,      LabCH_t >( "./conv/LabCH2hsi.tga",            0.5 );
759   make_image_conversion<         hsl_t,      LabCH_t >( "./conv/LabCH2hsl.tga",            0.5 );
760   make_image_conversion<         hsv_t,      LabCH_t >( "./conv/LabCH2hsv.tga",            0.5 );
761   make_image_conversion<         hwb_t,      LabCH_t >( "./conv/LabCH2hwb.tga",            0.5 );
762   make_image_conversion<       YCgCo_t,      LabCH_t >( "./conv/LabCH2YCgCo.tga",          0.5 );
763   make_image_conversion<       YDbDr_t,      LabCH_t >( "./conv/LabCH2YDbDr.tga",          0.5 );
764   make_image_conversion<         yiq_t,      LabCH_t >( "./conv/LabCH2yiq.tga",            0.5 );
765   make_image_conversion<    YPbPr709_t,      LabCH_t >( "./conv/LabCH2YPbPr709.tga",       0.5 );
766   make_image_conversion<      yuv601_t,      LabCH_t >( "./conv/LabCH2yuv601.tga",         0.5 );
767   make_image_conversion<      yuv709_t,      LabCH_t >( "./conv/LabCH2yuv709.tga",         0.5 );
768   make_image_conversion<       LabCH_t,      LabCH_t >( "./conv/LabCH2LabCH.tga",          0.5 );
769   make_image_conversion<       LuvCH_t,      LabCH_t >( "./conv/LabCH2LuvCH.tga",          0.5 );
770   make_image_conversion<      labCIE_t,      LabCH_t >( "./conv/LabCH2labCIE.tga",         0.5 );
771   make_image_conversion<   labHunter_t,      LabCH_t >( "./conv/LabCH2labHunter.tga",      0.5 );
772   make_image_conversion<         lms_t,      LabCH_t >( "./conv/LabCH2lms.tga",            0.5 );
773   make_image_conversion<         luv_t,      LabCH_t >( "./conv/LabCH2luv.tga",            0.5 );
774   make_image_conversion<         xyy_t,      LabCH_t >( "./conv/LabCH2xyy.tga",            0.5 );
775   make_image_conversion<         xyz_t,      LabCH_t >( "./conv/LabCH2xyz.tga",            0.5 );
776 
777   make_image_conversion<         bgr_t,      LuvCH_t >( "./conv/LuvCH2bgr.tga",            0.5 );
778   make_image_conversion<         cmy_t,      LuvCH_t >( "./conv/LuvCH2cmy.tga",            0.5 );
779   make_image_conversion<        cmyk_t,      LuvCH_t >( "./conv/LuvCH2cmyk.tga",           0.5 );
780   make_image_conversion<        gray_t,      LuvCH_t >( "./conv/LuvCH2gray.tga",           0.5 );
781   make_image_conversion<         rgb_t,      LuvCH_t >( "./conv/LuvCH2rgb.tga",            0.5 );
782   make_image_conversion<         hsi_t,      LuvCH_t >( "./conv/LuvCH2hsi.tga",            0.5 );
783   make_image_conversion<         hsl_t,      LuvCH_t >( "./conv/LuvCH2hsl.tga",            0.5 );
784   make_image_conversion<         hsv_t,      LuvCH_t >( "./conv/LuvCH2hsv.tga",            0.5 );
785   make_image_conversion<         hwb_t,      LuvCH_t >( "./conv/LuvCH2hwb.tga",            0.5 );
786   make_image_conversion<       YCgCo_t,      LuvCH_t >( "./conv/LuvCH2YCgCo.tga",          0.5 );
787   make_image_conversion<       YDbDr_t,      LuvCH_t >( "./conv/LuvCH2YDbDr.tga",          0.5 );
788   make_image_conversion<         yiq_t,      LuvCH_t >( "./conv/LuvCH2yiq.tga",            0.5 );
789   make_image_conversion<    YPbPr709_t,      LuvCH_t >( "./conv/LuvCH2YPbPr709.tga",       0.5 );
790   make_image_conversion<      yuv601_t,      LuvCH_t >( "./conv/LuvCH2yuv601.tga",         0.5 );
791   make_image_conversion<      yuv709_t,      LuvCH_t >( "./conv/LuvCH2yuv709.tga",         0.5 );
792   make_image_conversion<       LabCH_t,      LuvCH_t >( "./conv/LuvCH2LabCH.tga",          0.5 );
793   make_image_conversion<       LuvCH_t,      LuvCH_t >( "./conv/LuvCH2LuvCH.tga",          0.5 );
794   make_image_conversion<      labCIE_t,      LuvCH_t >( "./conv/LuvCH2labCIE.tga",         0.5 );
795   make_image_conversion<   labHunter_t,      LuvCH_t >( "./conv/LuvCHlabHunter.tga",      0.5 );
796   make_image_conversion<         lms_t,      LuvCH_t >( "./conv/LuvCH2lms.tga",            0.5 );
797   make_image_conversion<         luv_t,      LuvCH_t >( "./conv/LuvCH2luv.tga",            0.5 );
798   make_image_conversion<         xyy_t,      LuvCH_t >( "./conv/LuvCH2xyy.tga",            0.5 );
799   make_image_conversion<         xyz_t,      LuvCH_t >( "./conv/LuvCH2xyz.tga",            0.5 );
800 
801  }
802