iipsrv  1.0
Transforms.h
1 /*
2  Image Transforms
3 
4  Copyright (C) 2004-2013 Ruven Pillay.
5 
6  This program is free software; you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation; either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program; if not, write to the Free Software Foundation,
18  Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
19 */
20 
21 
22 #ifndef _TRANSFORMS_H
23 #define _TRANSFORMS_H
24 
25 #include <vector>
26 #include "RawTile.h"
27 
29 
33 void filter_normalize( RawTile& in, std::vector<float>& max, std::vector<float>& min );
34 
38 
41 enum cmap_type { HOT, COLD, JET, BLUE, GREEN, RED };
42 void filter_cmap( RawTile& in, enum cmap_type cmap );
43 
45 
47 void filter_inv( RawTile& in );
48 
49 
51 
55 void filter_shade( RawTile& in, int h_angle, int v_angle );
56 
57 
59 
60 void filter_LAB2sRGB( RawTile& in );
61 
62 
64 
67 void filter_contrast( RawTile& in, float c );
68 
69 
71 
74 void filter_gamma( RawTile& in, float g );
75 
76 
78 
82 void filter_interpolate_nearestneighbour( RawTile& in, unsigned int w, unsigned int h );
83 
84 
86 
90 void filter_interpolate_bilinear( RawTile& in, unsigned int w, unsigned int h );
91 
92 
94 
98 void filter_rotate( RawTile& in, float angle );
99 
100 
102 
103 void filter_greyscale( RawTile& in );
104 
105 
107 
110 void filter_twist( RawTile& in, const std::vector< std::vector<float> >& ctw );
111 
112 
114 
117 void filter_flatten( RawTile& in, int bands );
118 
119 
121 
124 void filter_flip( RawTile& in, int o );
125 
126 
127 #endif
Class to represent a single image tile.
Definition: RawTile.h:45