Revision 22800 trunk/extensions/extRemoteSensing/src/org/gvsig/remotesensing/mosaic/gui/MosaicDialog.java

View differences:

MosaicDialog.java
80 80
import org.gvsig.gui.beans.defaultbuttonspanel.DefaultButtonsPanel;
81 81
import org.gvsig.raster.IProcessActions;
82 82
import org.gvsig.raster.RasterLibrary;
83
import org.gvsig.raster.buffer.BufferFactory;
84
import org.gvsig.raster.buffer.RasterBuffer;
83 85
import org.gvsig.raster.dataset.GeoRasterWriter;
86
import org.gvsig.raster.dataset.IRasterDataSource;
84 87
import org.gvsig.raster.datastruct.Histogram;
85 88
import org.gvsig.raster.hierarchy.IHistogramable;
86 89
import org.gvsig.raster.util.ExtendedFileFilter;
......
446 449
		try{
447 450
			FLyrRasterSE capas[]= new FLyrRasterSE[getPanelSouth().getLayers().getLayersCount()];
448 451
			hmMasterRaster= (FLyrRasterSE) getPanelSouth().getLayers().getLayer((String)getPanelSouth().getMasterImageCombo().getSelectedItem());
449
			Histogram histogramReference=hmMasterRaster.getDataSource().getHistogram();
452
			
453
			IRasterDataSource dsetCopy = null; 
454
			dsetCopy = hmMasterRaster.getDataSource().newDataset();
455
			BufferFactory bufferFactory = new BufferFactory(dsetCopy);
456
			bufferFactory.setDrawableBands(hmMasterRaster.getRenderBands());
457
			if (!RasterBuffer.loadInMemory(dsetCopy))
458
				bufferFactory.setReadOnly(true);	
459
			bufferFactory.setAreaOfInterest();
460
			Histogram histogramReference = bufferFactory.getRasterBuf().getHistogram();
461
				
462
			//Histogram histogramReference=hmMasterRaster.getDataSource().getHistogram();
450 463
			for(int i=0; i<getPanelSouth().getLayers().getLayersCount();i++)
451 464
				if(!hmMasterRaster.getName().equals(getPanelSouth().getLayers().getLayer(i).getName())){
452 465
					capas[i]= (FLyrRasterSE) getPanelSouth().getLayers().getLayer(i).cloneLayer();
......
458 471
			tempHMDir.mkdir();
459 472
			
460 473
			HistogramMatchProcess proceso = new HistogramMatchProcess();
461
			proceso.addParam("histogramMaster",histogramReference);
474
			proceso.addParam("masterHistogram",histogramReference);
462 475
			proceso.addParam("numbands",new Integer(3)); //*********************************
463
			proceso.addParam("layers",capas);
464
			proceso.addParam("resultsPath",tempHMDir.getAbsolutePath());
476
			proceso.addParam("inputRasterLayers",capas);
477
			proceso.addParam("outputPath",tempHMDir.getAbsolutePath());
465 478
			proceso.setActions(this);
466 479
			proceso.start();
467 480
	
......
513 526
			//Borrar las ficheros intermedios (el resultado del H.M.)
514 527
			File tempDir = new File(Utilities.createTempDirectory()+File.separator+"HMResults");
515 528
			File filesToDelete[] = tempDir.listFiles();
516
			for (int i = 0; i<filesToDelete.length; i++)
517
				filesToDelete[i].delete();
529
			if (filesToDelete!=null)
530
				for (int i = 0; i<filesToDelete.length; i++)
531
					filesToDelete[i].delete();
518 532
			tempDir.delete();
519 533
			break;
520 534
		}
......
524 538
		FeatherProcessBuff featherProcess= new FeatherProcessBuff();
525 539
		
526 540
		featherProcess.addParam("inputRasterLayers",inputRasterLayers);
527
		featherProcess.addParam("filename", getFileSelected());
541
		featherProcess.addParam("outputPath", getFileSelected());
528 542
		featherProcess.setActions(this);
529 543
		featherProcess.start();
530 544
	}
......
538 552
		} catch (Exception e1) {
539 553
			e1.printStackTrace();
540 554
		}
541
		proceso.addParam("numbands",new Integer(3)); //*************************************
542
		proceso.addParam("codOp",new Integer(getPanelSouth().getComboOverlapFunction().getSelectedIndex()));
543
		proceso.addParam("filename",getFileSelected());
555
		proceso.addParam("methodCode",new Integer(getPanelSouth().getComboOverlapFunction().getSelectedIndex()));
556
		proceso.addParam("outputPath",getFileSelected());
544 557
		proceso.setActions(this);
545 558
		proceso.start();
546 559
	}
......
609 622
				inputRasterLayers[i]=(FLyrRasterSE) getPanelSouth().getLayers().getLayer(i);
610 623
			this.end(inputRasterLayers);
611 624
		}
612
		/*
613
		if(getPanelSouth().getCheckFeathering().isSelected()){
614
			
615
			// Caso de degradado de borde seleccionado
616
			if(getPanelSouth().getRButtomEdge().isSelected()){
617
				
618
				FeatherProcessBuff featherProcess= new FeatherProcessBuff();
619
				FLyrRasterSE layers[]= new FLyrRasterSE[getPanelSouth().getLayers().getLayersCount()];
620
				for(int i=0; i<layers.length;i++)
621
					layers[i]=(FLyrRasterSE) getPanelSouth().getLayers().getLayer(i);
622
				
623
				featherProcess.addParam("inputRasterLayers",layers);
624
				featherProcess.addParam("filename", getFileSelected());
625
				featherProcess.addParam("view", view);
626
				featherProcess.start();
627
			}
628
			
629
			// Caso sin degradado
630
		}
631
		
632
		else {
633
			
634
			MosaicProcess proceso= new MosaicProcess ();
635
			try {
636
				proceso.addParam("layers",getPanelSouth().getLayers().cloneLayer());
637
			} catch (Exception e1) {
638
				e1.printStackTrace();
639
			}
640
			proceso.addParam("numbands",new Integer(3));
641
			proceso.addParam("codOp",new Integer(getPanelSouth().getComboOverlapFunction().getSelectedIndex()));
642
			proceso.addParam("filename",getFileSelected());
643
			proceso.addParam("vista",view);
644
			proceso.start();
645
		}
646
		
647
		*/
648 625
	}
649 626
	
650 627
}

Also available in: Unified diff