Revision 22800 trunk/extensions/extRemoteSensing/src/org/gvsig/remotesensing/mosaic/gui/MosaicDialog.java
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