Revision 29786 branches/v2_0_0_prep/libraries/libRaster/src/org/gvsig/raster/grid/filter/enhancement/EnhancementStretchListManager.java
EnhancementStretchListManager.java | ||
---|---|---|
1 |
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
|
|
1 |
/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
|
|
2 | 2 |
* |
3 | 3 |
* Copyright (C) 2006 IVER T.I. and Generalitat Valenciana. |
4 | 4 |
* |
... | ... | |
72 | 72 |
} |
73 | 73 |
|
74 | 74 |
/** |
75 |
* A?ade un filtro de realce.
|
|
76 |
* La forma de inserci?n del filtro es fija ya que la inserci?n de un realce lleva implicita
|
|
77 |
* la inserci?n de un filtro de recorte de colas (tailtrim), aunque no en todos los casos.
|
|
78 |
* Si ya existe un filtro de realce en la lista se obtiene la posici?n de este.
|
|
75 |
* A�ade un filtro de realce.
|
|
76 |
* La forma de inserci�n del filtro es fija ya que la inserci�n de un realce lleva implicita
|
|
77 |
* la inserci�n de un filtro de recorte de colas (tailtrim), aunque no en todos los casos.
|
|
78 |
* Si ya existe un filtro de realce en la lista se obtiene la posici�n de este.
|
|
79 | 79 |
* Si es necesario un recorte de colas entonces se comprueba si existe un uno reemplazandose |
80 |
* por el nuevo y sino se insertar? uno. Al final reemplazamos el realce que existia.
|
|
80 |
* por el nuevo y sino se insertar� uno. Al final reemplazamos el realce que existia.
|
|
81 | 81 |
* |
82 |
* Si por el contrario no existen realce ni trim se a?aden ambos al final de la lista.
|
|
82 |
* Si por el contrario no existen realce ni trim se a�aden ambos al final de la lista.
|
|
83 | 83 |
* @param stats Objeto de estadisticas asociado |
84 |
* @param tailTrim porcentaje de recorte de colas. Ser? un valor entre 0 y 1.
|
|
85 |
* @param insertionMode Modo de inserci?n
|
|
86 |
* @param renderBands bandas RGB mostradas en la visualizaci?n.
|
|
84 |
* @param tailTrim porcentaje de recorte de colas. Ser� un valor entre 0 y 1.
|
|
85 |
* @param insertionMode Modo de inserci�n
|
|
86 |
* @param renderBands bandas RGB mostradas en la visualizaci�n.
|
|
87 | 87 |
* @throws FilterTypeException |
88 | 88 |
*/ |
89 | 89 |
public void addEnhancedStretchFilter(LinearStretchParams leParams, IStatistics stats, int[] renderBands, boolean removeEnds) throws FilterTypeException { |
90 | 90 |
try { |
91 |
if (!leParams.hasTailTrim()) { // En este caso siempre es necesario el m?ximo y
|
|
92 |
// m?nimo
|
|
91 |
if (!leParams.hasTailTrim()) { // En este caso siempre es necesario el m�ximo y
|
|
92 |
// m�nimo
|
|
93 | 93 |
if (!stats.isCalculated()) |
94 | 94 |
try { |
95 | 95 |
stats.calcFullStatistics(); |
... | ... | |
109 | 109 |
if (filter != null) |
110 | 110 |
filterList.add(filter); |
111 | 111 |
} catch (InterruptedException e) { |
112 |
//Si se ha interrumpido no a?adimos el filtro
|
|
112 |
//Si se ha interrumpido no a�adimos el filtro
|
|
113 | 113 |
} |
114 | 114 |
} |
115 | 115 |
|
116 | 116 |
/** |
117 |
* Crea un filtro de realce por tramos de forma est?tica
|
|
118 |
* @param leParams Par?metros del filtro
|
|
117 |
* Crea un filtro de realce por tramos de forma est�tica
|
|
118 |
* @param leParams Par�metros del filtro
|
|
119 | 119 |
* @param stats |
120 | 120 |
* @param renderBands |
121 | 121 |
* @return |
... | ... | |
223 | 223 |
|
224 | 224 |
/** |
225 | 225 |
* Obtiene un Array de Strings a partir de una pila de filtros. Cada elemento |
226 |
* del array tendr? la forma de elemento=valor.
|
|
226 |
* del array tendr� la forma de elemento=valor.
|
|
227 | 227 |
*/ |
228 | 228 |
public ArrayList getStringsFromFilterList(ArrayList filterList, RasterFilter rf) { |
229 | 229 |
if (rf instanceof LinearStretchEnhancementFilter) { |
230 | 230 |
LinearStretchEnhancementFilter filter = (LinearStretchEnhancementFilter) rf; |
231 |
|
|
231 |
LinearStretchParams stretchs = (LinearStretchParams) filter.getParam("stretchs"); |
|
232 |
int [] renderBands = (int[]) filter.getParam("renderBands"); |
|
233 |
|
|
232 | 234 |
filterList.add("filter.linearstretchenhancement.active=true"); |
233 | 235 |
filterList.add("filter.linearstretchenhancement.removeends=" + filter.getRemoveEnds()); |
234 |
putStretchBand(filterList, "red", filter.stretchs.red);
|
|
235 |
putStretchBand(filterList, "green", filter.stretchs.green);
|
|
236 |
putStretchBand(filterList, "blue", filter.stretchs.blue);
|
|
237 |
filterList.add("filter.linearstretchenhancement.renderbands=" + convertArrayToString(filter.renderBands));
|
|
238 |
filterList.add("filter.linearstretchenhancement.RGB=" + Boolean.valueOf(filter.stretchs.rgb).toString());
|
|
236 |
putStretchBand(filterList, "red", stretchs.red); |
|
237 |
putStretchBand(filterList, "green", stretchs.green); |
|
238 |
putStretchBand(filterList, "blue", stretchs.blue); |
|
239 |
filterList.add("filter.linearstretchenhancement.renderbands=" + convertArrayToString(renderBands)); |
|
240 |
filterList.add("filter.linearstretchenhancement.RGB=" + Boolean.valueOf(stretchs.rgb).toString()); |
|
239 | 241 |
} |
240 | 242 |
|
241 | 243 |
return filterList; |
Also available in: Unified diff