Revision 22800 trunk/extensions/extRemoteSensing/src/org/gvsig/remotesensing/mosaic/process/FeatherProcessBuff.java
FeatherProcessBuff.java | ||
---|---|---|
51 | 51 |
import org.gvsig.raster.buffer.BufferFactory; |
52 | 52 |
import org.gvsig.raster.buffer.RasterBufferInvalidException; |
53 | 53 |
import org.gvsig.raster.buffer.WriterBufferServer; |
54 |
import org.gvsig.raster.dataset.FileNotOpenException; |
|
54 | 55 |
import org.gvsig.raster.dataset.GeoRasterWriter; |
55 | 56 |
import org.gvsig.raster.dataset.IBuffer; |
56 | 57 |
import org.gvsig.raster.dataset.IRasterDataSource; |
... | ... | |
61 | 62 |
import org.gvsig.raster.grid.Grid; |
62 | 63 |
import org.gvsig.raster.grid.GridExtent; |
63 | 64 |
import org.gvsig.raster.grid.OutOfGridException; |
65 |
import org.gvsig.raster.grid.filter.RasterFilter; |
|
66 |
import org.gvsig.raster.grid.filter.enhancement.LinearEnhancementFilter; |
|
67 |
import org.gvsig.raster.grid.filter.enhancement.LinearStretchEnhancementByteFilter; |
|
68 |
import org.gvsig.raster.grid.filter.enhancement.LinearStretchEnhancementFilter; |
|
69 |
import org.gvsig.raster.grid.filter.enhancement.LinearStretchParams; |
|
64 | 70 |
import org.gvsig.raster.util.RasterToolsUtil; |
65 | 71 |
|
66 | 72 |
import com.iver.andami.PluginServices; |
... | ... | |
70 | 76 |
* Proceso para la obtenci?n de una imagen mosaico a partir de un conjunto de |
71 | 77 |
* im?genes por el metodo de degradado (Feathering). |
72 | 78 |
* |
79 |
* @params |
|
80 |
* <LI>FLyrRasterSE[] "inputRasterLayers": Capas raster de entrada</LI> |
|
81 |
* <LI>String "outputPath": Ruta completa al fichero de salida del proceso</LI> |
|
82 |
* |
|
83 |
* @result |
|
84 |
* <LI>FLyrRasterSE: Capa raster con el resultado del mosaico</LI> |
|
85 |
* |
|
73 | 86 |
* @author Diego Guerrero Sevilla (diego.guerrero@uclm.es) |
74 | 87 |
* |
75 | 88 |
*/ |
... | ... | |
140 | 153 |
} catch (RasterBufferInvalidException e) { |
141 | 154 |
RasterToolsUtil.messageBoxError("error_datos_entrada", this, e); |
142 | 155 |
} |
143 |
fileName = getStringParam("filename");
|
|
156 |
fileName = getStringParam("outputPath");
|
|
144 | 157 |
values = new byte[resultbandCount]; |
145 | 158 |
result = new double[resultbandCount]; |
146 | 159 |
|
... | ... | |
155 | 168 |
IRasterDataSource dsetCopy = null; |
156 | 169 |
|
157 | 170 |
inputBuffers = new IBuffer[inputRasterLayers.length]; |
158 |
int drawableBands[] = { 0, 1, 2 }; |
|
159 | 171 |
for (int l = 0; l < inputRasterLayers.length; l++) { |
160 | 172 |
dsetCopy = inputRasterLayers[l].getDataSource().newDataset(); |
161 | 173 |
BufferFactory bufferFactory = new BufferFactory(dsetCopy); |
162 | 174 |
bufferFactory.setAdjustToExtent(false); |
163 | 175 |
bufferFactory.setNoDataToFill(resultGrid.getNoDataValue()); |
164 |
bufferFactory.setDrawableBands(drawableBands);
|
|
176 |
bufferFactory.setDrawableBands(inputRasterLayers[l].getRenderBands());
|
|
165 | 177 |
|
166 | 178 |
try { |
167 |
bufferFactory.setReadOnly(true);
|
|
179 |
bufferFactory.setReadOnly(true); |
|
168 | 180 |
|
169 | 181 |
bufferFactory.setAreaOfInterest(resultGridExtent.getMin().getX(), resultGridExtent.getMax().getY(), |
170 | 182 |
resultGridExtent.getMax().getX(), resultGridExtent.getMin().getY(), resultGridExtent.getNX(),resultGridExtent.getNY()); |
... | ... | |
174 | 186 |
} catch (RasterDriverException e) { |
175 | 187 |
RasterToolsUtil.messageBoxError(PluginServices.getText(this, "error_datos_entrada"), this, e); |
176 | 188 |
} |
189 |
/* |
|
190 |
//Aplicar filtro de realce si es necesario: |
|
191 |
LinearStretchParams leParams = null; |
|
192 |
try { |
|
193 |
leParams = LinearStretchParams.createStandardParam(inputRasterLayers[l].getRenderBands(), 0.0, bufferFactory.getDataSource().getStatistics(), false); |
|
194 |
} catch (FileNotOpenException e) { |
|
195 |
// TODO Auto-generated catch block |
|
196 |
e.printStackTrace(); |
|
197 |
} catch (RasterDriverException e) { |
|
198 |
// TODO Auto-generated catch block |
|
199 |
e.printStackTrace(); |
|
200 |
} |
|
201 |
RasterFilter linearStretchEnhancementFilter = new LinearStretchEnhancementFilter(); |
|
202 |
linearStretchEnhancementFilter.addParam("raster", bufferFactory.getRasterBuf()); |
|
203 |
linearStretchEnhancementFilter.addParam("stats", bufferFactory.getDataSource().getStatistics()); |
|
204 |
linearStretchEnhancementFilter.addParam("renderBands",inputRasterLayers[l].getRenderBands()); |
|
205 |
linearStretchEnhancementFilter.addParam("remove",new Boolean(false)); |
|
206 |
linearStretchEnhancementFilter.addParam("stretchs", leParams); |
|
207 |
linearStretchEnhancementFilter.execute(); |
|
208 |
|
|
209 |
inputBuffers[l] = (IBuffer)linearStretchEnhancementFilter.getResult("raster");*/ |
|
210 |
|
|
177 | 211 |
inputBuffers[l] = bufferFactory.getRasterBuf(); |
178 | 212 |
} |
179 | 213 |
|
Also available in: Unified diff