Revision 22800 trunk/extensions/extRemoteSensing/src/org/gvsig/remotesensing/mosaic/process/FeatherProcessBuff.java

View differences:

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