Statistics
| Revision:

root / trunk / extensions / extRasterTools-SE / src / org / gvsig / rastertools / vectorizacion / data / GrayConversionData.java @ 21860

History | View | Annotate | Download (6.23 KB)

1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2007 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 */
19
package org.gvsig.rastertools.vectorizacion.data;
20

    
21
import java.util.Observable;
22

    
23
import org.gvsig.raster.filter.grayscale.GrayScaleFilter;
24

    
25
/**
26
 * Datos asociados al panel GrayConversionPanel
27
 * 
28
 * 12/06/2008
29
 * @author Nacho Brodin nachobrodin@gmail.com
30
 */
31
public class GrayConversionData extends Observable {
32
        private String[]   bands                  = {"R", "G" , "B", "RGB"};
33
        private String[]   scales                 = {"1/4", "1/3", "1/2", "1", "2", "3", "4", "5"};
34
        private int        bandType               = GrayScaleFilter.GRAY;
35
        private int        scaleSelected          = 3;
36
        private int        posterizationLevels    = 2;
37
        
38
        private boolean    posterizationActive    = true;
39
        private boolean    highPassActive         = false;
40
        private boolean    noiseActive            = false;
41
        
42
        private int        posterizationThreshold = 0;
43
        private int        radiusHighPass         = 0;
44
        private int        thresholdNoise         = 0;
45
        
46
        /**
47
         * Consulta los niveles de posterizaci?n
48
         * @return
49
         */
50
        public int getPosterizationLevels() {
51
                return posterizationLevels;
52
        }
53

    
54
        /**
55
         * Asigna los niveles de posterizaci?n
56
         * @param posterizationLevels
57
         */
58
        public void setPosterizationLevels(int posterizationLevels) {
59
                this.posterizationLevels = posterizationLevels;
60
                updateObservers();
61
        }
62
        
63
        /**
64
         * Obtiene el texto del desplegable de bandas. Este depende del n?mero de bandas
65
         * del raster de origen.
66
         * @return Lista de textos con la interpretaci?n de las bandas con las que se har? la 
67
         * posterizaci?n
68
         */
69
        public String[] getBands() {
70
                return bands;
71
        }
72
        
73
        /**
74
         * Asigna el texto del desplegable de bandas. Este depende del n?mero de bandas
75
         * del raster de origen.
76
         * @param Lista de textos con la interpretaci?n de las bandas con las que se har? la 
77
         * posterizaci?n
78
         */
79
        public void setBands(String[] bands) {
80
                this.bands = bands;
81
                updateObservers();
82
        }
83
        
84
        /**
85
         * Obtiene el texto del desplegable de escalas. 
86
         * @return Lista de textos con las escalas
87
         */
88
        public String[] getScales() {
89
                return scales;
90
        }
91
        
92
        /**
93
         * Asigna el texto del desplegable de escalas. 
94
         * @param Lista de textos con las escalas
95
         */
96
        public void setScales(String[] scales) {
97
                this.scales = scales;
98
                updateObservers();
99
        }
100
        
101
        /**
102
         * Consulta si est? activo el filtro de paso alto
103
         * @return true si est? activo y false si no lo est?
104
         */
105
        public boolean isHighPassActive() {
106
                return highPassActive;
107
        }
108

    
109
        /**
110
         * Asigna si est? activo el filtro de paso alto
111
         * @param true si est? activo y false si no lo est?
112
         */
113
        public void setHighPassActive(boolean highPassActive) {
114
                this.highPassActive = highPassActive;
115
                updateObservers();
116
        }
117

    
118
        /**
119
         * Consulta si est? activo el filtro de ruido
120
         * @param true si est? activo y false si no lo est?
121
         */
122
        public boolean isNoiseActive() {
123
                return noiseActive;
124
        }
125

    
126
        /**
127
         * Asigna si est? activo el filtro de ruido
128
         * @return true si est? activo y false si no lo est?
129
         */
130
        public void setNoiseActive(boolean noiseActive) {
131
                this.noiseActive = noiseActive;
132
                updateObservers();
133
        }
134

    
135
        /**
136
         * Consulta si est? activa la posterizaci?n
137
         * @return true si est? activa y false si no lo est?
138
         */
139
        public boolean isPosterizationActive() {
140
                return posterizationActive;
141
        }
142

    
143
        /**
144
         * Asigna si est? activa la posterizaci?n
145
         * @return true si est? activo y false si no lo est?
146
         */
147
        public void setPosterizationActive(boolean posterizationActive) {
148
                this.posterizationActive = posterizationActive;
149
                updateObservers();
150
        }
151
        
152
        /**
153
         * Consulta el tipo de banda asignado
154
         * @return Entero con el tipo de banda. Debe corresponder a una constante
155
         * definida en la clase GrayScaleFilter
156
         */
157
        public int getBandType() {
158
                return bandType;
159
        }
160

    
161
        /**
162
         * Asigna el tipo de banda asignado
163
         * @param Entero con el tipo de banda. Debe corresponder a una constante
164
         * definida en la clase GrayScaleFilter
165
         */
166
        public void setBandType(int bandType) {
167
                this.bandType = bandType;
168
                updateObservers();
169
        }
170
        
171
        /**
172
         * Asigna el valor del umbral de la posterizaci?n
173
         * @param posterizationThreshold
174
         */
175
        public void setPosterizationThreshold(int posterizationThreshold) {
176
                this.posterizationThreshold = posterizationThreshold;
177
        }
178
        
179
        /**
180
         * Obtener el valor del umbral de la posterizaci?n
181
         * @param posterizationThreshold
182
         */
183
        public int getPosterizationThreshold() {
184
                return posterizationThreshold;
185
        }
186

    
187
        /**
188
         * Asigna el valor del radio del filtro de paso alto
189
         * @param radiusHighPass
190
         */
191
        public void setRadiusHighPass(int radiusHighPass) {
192
                this.radiusHighPass = radiusHighPass;
193
        }
194
        
195
        /**
196
         * Obtiene el valor del radio del filtro de paso alto
197
         * @return radiusHighPass
198
         */
199
        public int getRadiusHighPass() {
200
                return this.radiusHighPass;
201
        }
202

    
203
        /**
204
         * Asigna el valor del umbral del filtro de ruido
205
         * @param thresholdNoise
206
         */
207
        public void setThresholdNoise(int thresholdNoise) {
208
                this.thresholdNoise = thresholdNoise;
209
        }
210
        
211
        /**
212
         * Obtiene el valor del umbral del filtro de ruido
213
         * @return thresholdNoise
214
         */
215
        public int getThresholdNoise() {
216
                return thresholdNoise;
217
        }
218
        
219
        /**
220
         * Obtiene la escala seleccionada en el selector
221
         * @return posici?n en la lista de escalas
222
         */
223
        public int getScaleSelected() {
224
                return scaleSelected;
225
        }
226

    
227
        /**
228
         * Asigna la escala seleccionada
229
         * @param posici?n en la lista de escalas
230
         */
231
        public void setScaleSelected(int scaleSelected) {
232
                this.scaleSelected = scaleSelected;
233
        }
234
        
235
        /**
236
         * Actualiza datos y llama al update de los observadores
237
         */
238
        public void updateObservers() {
239
                setChanged();
240
                notifyObservers();
241
        }
242

    
243
}