49 |
49 |
*
|
50 |
50 |
* @author Nacho Brodin (nachobrodin@gmail.com)
|
51 |
51 |
*/
|
52 |
|
public class EnhancedControl{
|
|
52 |
public class EnhancedControl {
|
53 |
53 |
private EnhancedPanel tPanel = null;
|
54 |
54 |
private RasterFilterList filterList = null;
|
55 |
55 |
private EnhancedWithTrimPanel ePanel = null;
|
... | ... | |
126 |
126 |
/**
|
127 |
127 |
* Carga los valores del panel desde el filtro
|
128 |
128 |
*/
|
129 |
|
private void setValuesFromFilterToPanel(){
|
|
129 |
private void setValuesFromFilterToPanel() {
|
130 |
130 |
//BRILLO
|
131 |
131 |
BrightnessFilter bFilter = (BrightnessFilter)filterList.getByName(BrightnessFilter.genericName);
|
132 |
|
if(bFilter != null){
|
|
132 |
if(bFilter != null) {
|
133 |
133 |
bcPanel.setControlEnabled(true);
|
134 |
134 |
bcPanel.setBrightnessValue((double)bFilter.getBrightnessIncrease());
|
135 |
|
}else{
|
|
135 |
} else {
|
136 |
136 |
bcPanel.setControlEnabled(false);
|
137 |
137 |
bcPanel.setBrightnessValue(0);
|
138 |
138 |
}
|
139 |
139 |
|
140 |
140 |
//CONTRASTE
|
141 |
141 |
ContrastFilter cFilter = (ContrastFilter)filterList.getByName(ContrastFilter.genericName);
|
142 |
|
if(cFilter != null){
|
143 |
|
bcPanel.setControlEnabled(true);
|
144 |
|
bcPanel.setContrastValue((double)cFilter.getContrastIncrease());
|
145 |
|
}else{
|
146 |
|
bcPanel.setControlEnabled(false);
|
147 |
|
bcPanel.setContrastValue(0);
|
148 |
|
}
|
|
142 |
if (cFilter != null) {
|
|
143 |
bcPanel.setControlEnabled(true);
|
|
144 |
bcPanel.setContrastValue((double) cFilter.getContrastIncrease());
|
|
145 |
} else {
|
|
146 |
bcPanel.setControlEnabled(false);
|
|
147 |
bcPanel.setContrastValue(0);
|
|
148 |
}
|
149 |
149 |
|
150 |
|
//REALCE LINEAL
|
151 |
|
LinearEnhancementFilter eFilter = (LinearEnhancementFilter)filterList.getByName(LinearEnhancementFilter.genericName);
|
152 |
|
if(eFilter != null){
|
153 |
|
ePanel.setControlEnabled(true);
|
154 |
|
if(eFilter.getRemoveEnds().booleanValue())
|
155 |
|
ePanel.setRemoveEndsActive(true);
|
156 |
|
else
|
157 |
|
ePanel.setRemoveEndsActive(false);
|
158 |
|
if(eFilter.getTailTrim().doubleValue() != 0){
|
159 |
|
ePanel.setTailTrimCheckActive(true);
|
160 |
|
ePanel.setTailTrimValue(eFilter.getTailTrim().doubleValue() * 100);
|
161 |
|
}else{
|
162 |
|
ePanel.setTailTrimCheckActive(false);
|
163 |
|
ePanel.setTailTrimValue(0);
|
164 |
|
}
|
165 |
|
}else{
|
166 |
|
ePanel.setControlEnabled(false);
|
167 |
|
ePanel.setRemoveEndsActive(false);
|
168 |
|
ePanel.setTailTrimCheckActive(false);
|
169 |
|
ePanel.setTailTrimValue(0);
|
170 |
|
}
|
171 |
|
}
|
|
150 |
// REALCE LINEAL
|
|
151 |
LinearEnhancementFilter eFilter = (LinearEnhancementFilter) filterList
|
|
152 |
.getByName(LinearEnhancementFilter.genericName);
|
|
153 |
if (eFilter != null) {
|
|
154 |
ePanel.setControlEnabled(true);
|
|
155 |
if (eFilter.getRemoveEnds().booleanValue())
|
|
156 |
ePanel.setRemoveEndsActive(true);
|
|
157 |
else
|
|
158 |
ePanel.setRemoveEndsActive(false);
|
|
159 |
if (eFilter.getTailTrim().doubleValue() != 0) {
|
|
160 |
ePanel.setTailTrimCheckActive(true);
|
|
161 |
ePanel
|
|
162 |
.setTailTrimValue(eFilter.getTailTrim().doubleValue() * 100);
|
|
163 |
} else {
|
|
164 |
ePanel.setTailTrimCheckActive(false);
|
|
165 |
ePanel.setTailTrimValue(0);
|
|
166 |
}
|
|
167 |
} else {
|
|
168 |
ePanel.setControlEnabled(false);
|
|
169 |
ePanel.setRemoveEndsActive(false);
|
|
170 |
ePanel.setTailTrimCheckActive(false);
|
|
171 |
ePanel.setTailTrimValue(0);
|
|
172 |
}
|
|
173 |
}
|
172 |
174 |
|
173 |
175 |
/**
|
174 |
|
* Carga los valores del filtro desde el panel
|
175 |
|
*/
|
176 |
|
private void setValuesFromPanelToFilter(){
|
|
176 |
* Carga los valores del filtro desde el panel
|
|
177 |
*/
|
|
178 |
private void setValuesFromPanelToFilter() {
|
177 |
179 |
RasterFilterListManager manager = new RasterFilterListManager(filterList);
|
178 |
180 |
BrightnessContrastListManager bcManager = (BrightnessContrastListManager)manager.getManagerByClass(BrightnessContrastListManager.class);
|
179 |
181 |
|
180 |
182 |
//BRILLO Y CONTRASTE
|
181 |
|
if(bcPanel.getActive().isSelected()){
|
182 |
|
bcManager.addBrightnessFilter((int)bcPanel.getBrightnessValue(), RasterFilterList.MODIFY_LAST);
|
183 |
|
bcManager.addContrastFilter((int)bcPanel.getContrastValue(), RasterFilterList.MODIFY_LAST);
|
184 |
|
}else{
|
|
183 |
if(bcPanel.getActive().isSelected()) {
|
|
184 |
if((int)bcPanel.getBrightnessValue() != 0)
|
|
185 |
bcManager.addBrightnessFilter((int)bcPanel.getBrightnessValue(), RasterFilterList.MODIFY_LAST);
|
|
186 |
else
|
|
187 |
filterList.remove(BrightnessFilter.genericName);
|
|
188 |
|
|
189 |
if((int)bcPanel.getContrastValue() != 0)
|
|
190 |
bcManager.addContrastFilter((int)bcPanel.getContrastValue(), RasterFilterList.MODIFY_LAST);
|
|
191 |
else
|
|
192 |
filterList.remove(ContrastFilter.genericName);
|
|
193 |
} else {
|
185 |
194 |
filterList.remove(BrightnessFilter.genericName);
|
186 |
195 |
filterList.remove(ContrastFilter.genericName);
|
187 |
196 |
}
|
... | ... | |
206 |
215 |
eManager.setStatistics(stats);
|
207 |
216 |
eManager.addEnhancedFilter(ePanel.isRemoveEndsSelected(), stats, 0,
|
208 |
217 |
RasterFilterList.MODIFY_LAST, renderBands);
|
209 |
|
}else {
|
|
218 |
} else {
|
210 |
219 |
StatisticsListManager slm = new StatisticsListManager(manager, stats);
|
211 |
220 |
slm.addTailFilter((double)(ePanel.getTrimValue() / 100D), 0D, ePanel.isRemoveEndsSelected(), stats);
|
212 |
221 |
eManager.setStatistics(stats);
|
... | ... | |
222 |
231 |
/**
|
223 |
232 |
* Acciones a ejecutar cuando se acepta
|
224 |
233 |
*/
|
225 |
|
public void accept(){
|
|
234 |
public void accept() {
|
226 |
235 |
setValuesFromPanelToFilter();
|
227 |
236 |
}
|
228 |
237 |
|
229 |
238 |
/**
|
230 |
239 |
* Acciones a ejecutar cuando se aplica
|
231 |
240 |
*/
|
232 |
|
public void apply(){
|
|
241 |
public void apply() {
|
233 |
242 |
setValuesFromPanelToFilter();
|
234 |
243 |
}
|
235 |
|
|
|
244 |
|
236 |
245 |
/**
|
237 |
246 |
* Acciones a ejecutar cuando se cancela
|
238 |
247 |
*/
|
239 |
|
public void cancel(){
|
|
248 |
public void cancel() {
|
240 |
249 |
|
241 |
250 |
}
|
242 |
251 |
|