Skip to content

Commit

Permalink
7.8.0
Browse files Browse the repository at this point in the history
  • Loading branch information
semiautomaticgit committed Mar 6, 2021
1 parent 1eb6e82 commit 4cea62a
Show file tree
Hide file tree
Showing 31 changed files with 38,771 additions and 36,334 deletions.
2 changes: 1 addition & 1 deletion __init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ def description():


def version():
return 'Version 7.7.1 - Matera'
return 'Version 7.8.0 - Matera'


def icon():
Expand Down
3 changes: 2 additions & 1 deletion core/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -795,6 +795,7 @@
functionNames.append([[' landsat_conversion', 'cfg.batchT.performLandsatConversion', 'cfg.landsatT.landsat', ['input_dir : \'\'', 'mtl_file_path : \'\'', 'celsius_temperature : 0', 'apply_dos1 : 0', 'use_nodata : 1', 'nodata_value : 0', 'pansharpening : 0', 'create_bandset : 1', 'output_dir : \'\'', 'band_set : 1']]])
functionNames.append([[' modis_conversion', 'cfg.batchT.performMODISConversion', 'cfg.MODIST.MODIS', ['input_raster_path : \'\'', 'reproject_wgs84 : 1', 'use_nodata : 1', 'nodata_value : -999', 'create_bandset : 1', 'output_dir : \'\'', 'band_set : 1']]])
functionNames.append([[' mosaic_bandsets', 'cfg.batchT.performMosaicBandSets', 'cfg.mosaicBS.mosaicBandSets', ['band_set_list : \'\'', 'output_dir : \'\'', 'output_name_prefix : \'mosaic\'']]])
functionNames.append([[' neighbor_pixels', 'cfg.batchT.performNeighborPixels', 'cfg.clssNghbr.classNeighbor', ['band_set : 1', 'matrix_size : 1', 'matrix_file_path : \'\'', 'output_name_prefix : \'neighbor\'', 'statistic : \'sum\'', 'stat_value : 50', 'output_dir : \'\'']]])
functionNames.append([[' reproject_raster_bands', 'cfg.batchT.performReprojectRasters', 'cfg.rprjRstBndsT.reprojectRasters', ['band_set : 1', 'output_dir : \'\'', 'align_raster_path : \'\'', 'same_extent_reference : 0', 'epsg : \'\'','x_resolution : \'\'', 'y_resolution : \'\'', 'resample_pixel_factor : \'\'', 'resampling_method : \'near\'', 'output_nodata_value : -32768', 'data_type : \'auto\'', 'output_name_prefix : \'reproj\'']]])
functionNames.append([[' sentinel1_conversion', 'cfg.batchT.performSentinel1Conversion', 'cfg.sentinel1T.sentinel1', ['input_raster_path : \'\'', 'xml_file_path : \'\'', 'vh : 1', 'vv : 1', 'raster_project : 0', 'raster_projections_band_set : 1', 'convert_to_db : 1', 'use_nodata : 1', 'nodata_value : 0', 'create_bandset : 1', 'output_dir : \'\'', 'band_set : 1']]])
functionNames.append([[' sentinel2_conversion', 'cfg.batchT.performSentinel2Conversion', 'cfg.sentinel2T.sentinel2', ['input_dir : \'\'', 'mtd_safl1c_file_path : \'\'', 'apply_dos1 : 0', 'preprocess_bands_1_9_10 : 0', 'use_nodata : 1', 'nodata_value : 0', 'create_bandset : 1', 'output_dir : \'\'', 'band_set : 1']]])
Expand All @@ -821,7 +822,7 @@
functionNames.append([[' edit_raster_using_vector', 'cfg.batchT.performEditRasterUsingVector', 'cfg.editRstr.setRasterValue', ['input_raster_path : \'\'', 'input_vector_path : \'\'', 'vector_field_name : \'\'', 'constant_value : 0', 'expression : \'where(raster == 1, 2, raster)\'']]])
functionNames.append([[' land_cover_change', 'cfg.batchT.performLandCoverChange', 'cfg.landCC.landCoverChange', ['reference_raster_path : \'\'', 'new_raster_path : \'\'', 'output_raster_path : \'\'']]])
functionNames.append([[' reclassification', 'cfg.batchT.performReclassification', 'cfg.reclassification.reclassify', ['input_raster_path : \'\'', 'value_list : \'oldVal_newVal,oldVal_newVal\'', 'use_signature_list_code : 1', 'code_field : \'MC_ID\'', 'output_raster_path : \'\'']]])
functionNames.append([[' zonal_stat_raster', 'cfg.batchT.performZonalStatRaster', 'cfg.znlSttRstT.zonalStatRaster', ['input_raster_path : \'\'', 'reference_file_path : \'\'', 'use_nodata : 0', 'nodata_value : 0', 'vector_field_name : \'\'', 'statistic : \'sum\'', 'stat_value : 50', 'output_raster_path : \'\'']]])
functionNames.append([[' zonal_stat_raster', 'cfg.batchT.performZonalStatRaster', 'cfg.znlSttRstT.zonalStatRaster', ['input_raster_path : \'\'', 'reference_file_path : \'\'', 'use_nodata : 0', 'nodata_value : 0', 'vector_field_name : \'\'', 'statistic : \'sum\'', 'stat_value : 50', 'output_raster_path : \'\'']]])
functionNames.append([['Variables']])
functionNames.append([[workingDirNm, 'cfg.batchT.workingDirectory', '', ['\'\'']]])
functionNames.append([[startForDirNm, '', '', ['\'\'']]])
Expand Down
4 changes: 3 additions & 1 deletion core/input.py
Original file line number Diff line number Diff line change
Expand Up @@ -332,6 +332,8 @@ def loadMenu(self):
cloud_mask_action = cfg.ipt.addMenuItem(cfg.preprocessing_menu, cfg.utls.cloudMaskingTab, 'semiautomaticclassificationplugin_cloud_masking_tool.svg', cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Cloud masking'))
# Mosaic bands
mosaic_action = cfg.ipt.addMenuItem(cfg.preprocessing_menu, cfg.utls.mosaicBandSetsTab, 'semiautomaticclassificationplugin_mosaic_tool.svg', cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Mosaic band sets'))
# Pixel neighbor bands
neighbor_pixels_action = cfg.ipt.addMenuItem(cfg.preprocessing_menu, cfg.utls.neighborPixelsTab, 'semiautomaticclassificationplugin_neighbor_pixels.svg', cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Neighbor pixels'))
# reproject raster bands
reproject_raster_bands_action = cfg.ipt.addMenuItem(cfg.preprocessing_menu, cfg.utls.reprojectrasterbandsTab, 'semiautomaticclassificationplugin_reproject_raster_bands.svg', cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Reproject raster bands'))
# Split raster bands
Expand Down Expand Up @@ -502,7 +504,7 @@ def mainTabChanged(self, index):
# menu index
def menuIndex(self):
try:
nDict = {cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Band set'): cfg.utls.bandSetTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Basic tools'): self.topTree, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Band set list'): cfg.utls.BandSetListTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'RGB list'): cfg.utls.RGBListTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Algorithm band weight'): cfg.utls.algorithmBandWeightTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Multiple ROI creation'): cfg.utls.multipleROICreationTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Import signatures'): cfg.utls.importSignaturesTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Export signatures'): cfg.utls.exportSignaturesTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Signature threshold'): cfg.utls.signatureThresholdTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'LCS threshold'): cfg.utls.LCSThresholdTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Download products'): cfg.utls.downloadProductsTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Preprocessing'): self.topTree, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Landsat'): cfg.utls.landsatTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Sentinel-1'): cfg.utls.sentinel1Tab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Sentinel-2'): cfg.utls.sentinel2Tab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Sentinel-3'): cfg.utls.sentinel3Tab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'ASTER'): cfg.utls.asterTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'MODIS'): cfg.utls.modisTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'GOES'): cfg.utls.GOESTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Vector to raster'): cfg.utls.vectorToRasterTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Clip multiple rasters'): cfg.utls.clipMultipleRastersTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Reproject raster bands'): cfg.utls.reprojectrasterbandsTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Split raster bands'): cfg.utls.splitrasterbandsTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Stack raster bands'): cfg.utls.stackrasterbandsTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Mosaic band sets'): cfg.utls.mosaicBandSetsTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Cloud masking'): cfg.utls.cloudMaskingTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Band processing'): self.topTree, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Classification'): cfg.utls.classificationTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Random forest'): cfg.utls.randomForestTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'PCA'): cfg.utls.PCATab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Clustering'): cfg.utls.clusteringTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Band combination'): cfg.utls.bandCombinationTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Spectral distance'): cfg.utls.spectralDistanceTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Postprocessing'): self.topTree, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Accuracy'): cfg.utls.accuracyTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Land cover change'): cfg.utls.landCoverChangeTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Classification report'): cfg.utls.classificationReportTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Cross classification'): cfg.utls.crossClassificationTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Class signature'): cfg.utls.classSignatureTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Classification to vector'): cfg.utls.classificationToVectorTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Reclassification'): cfg.utls.reclassificationTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Edit raster'): cfg.utls.editRasterTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Classification sieve'): cfg.utls.classificationSieveTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Classification erosion'): cfg.utls.classificationErosionTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Classification dilation'): cfg.utls.classificationDilationTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Zonal stat raster'): cfg.utls.zonalStatRasterTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Band calc'): cfg.utls.bandCalcTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Batch'): cfg.utls.batchTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Settings'): self.topTree, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Processing setting'): cfg.utls.processingSettingTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Interface'): cfg.utls.interfaceTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Debug'): cfg.utls.debugTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'User manual'): cfg.ipt.quickGuide, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Help'): cfg.ipt.askHelp, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'About'): cfg.utls.aboutTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Support the SCP'): cfg.ipt.supportSCP}
nDict = {cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Band set'): cfg.utls.bandSetTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Basic tools'): self.topTree, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Band set list'): cfg.utls.BandSetListTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'RGB list'): cfg.utls.RGBListTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Algorithm band weight'): cfg.utls.algorithmBandWeightTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Multiple ROI creation'): cfg.utls.multipleROICreationTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Import signatures'): cfg.utls.importSignaturesTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Export signatures'): cfg.utls.exportSignaturesTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Signature threshold'): cfg.utls.signatureThresholdTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'LCS threshold'): cfg.utls.LCSThresholdTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Download products'): cfg.utls.downloadProductsTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Preprocessing'): self.topTree, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Landsat'): cfg.utls.landsatTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Sentinel-1'): cfg.utls.sentinel1Tab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Sentinel-2'): cfg.utls.sentinel2Tab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Sentinel-3'): cfg.utls.sentinel3Tab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'ASTER'): cfg.utls.asterTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'MODIS'): cfg.utls.modisTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'GOES'): cfg.utls.GOESTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Vector to raster'): cfg.utls.vectorToRasterTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Clip multiple rasters'): cfg.utls.clipMultipleRastersTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Reproject raster bands'): cfg.utls.reprojectrasterbandsTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Split raster bands'): cfg.utls.splitrasterbandsTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Stack raster bands'): cfg.utls.stackrasterbandsTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Mosaic band sets'): cfg.utls.mosaicBandSetsTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Neighbor pixels'): cfg.utls.neighborPixelsTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Cloud masking'): cfg.utls.cloudMaskingTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Band processing'): self.topTree, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Classification'): cfg.utls.classificationTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Random forest'): cfg.utls.randomForestTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'PCA'): cfg.utls.PCATab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Clustering'): cfg.utls.clusteringTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Band combination'): cfg.utls.bandCombinationTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Spectral distance'): cfg.utls.spectralDistanceTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Postprocessing'): self.topTree, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Accuracy'): cfg.utls.accuracyTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Land cover change'): cfg.utls.landCoverChangeTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Classification report'): cfg.utls.classificationReportTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Cross classification'): cfg.utls.crossClassificationTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Class signature'): cfg.utls.classSignatureTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Classification to vector'): cfg.utls.classificationToVectorTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Reclassification'): cfg.utls.reclassificationTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Edit raster'): cfg.utls.editRasterTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Classification sieve'): cfg.utls.classificationSieveTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Classification erosion'): cfg.utls.classificationErosionTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Classification dilation'): cfg.utls.classificationDilationTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Zonal stat raster'): cfg.utls.zonalStatRasterTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Band calc'): cfg.utls.bandCalcTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Batch'): cfg.utls.batchTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Settings'): self.topTree, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Processing setting'): cfg.utls.processingSettingTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Interface'): cfg.utls.interfaceTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Debug'): cfg.utls.debugTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'User manual'): cfg.ipt.quickGuide, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Help'): cfg.ipt.askHelp, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'About'): cfg.utls.aboutTab, cfg.QtWidgetsSCP.QApplication.translate('semiautomaticclassificationplugin', 'Support the SCP'): cfg.ipt.supportSCP}
s = cfg.ui.menu_treeWidget.selectedItems()
n = s[0].text(0)
t = cfg.ui.menu_treeWidget
Expand Down
Loading

0 comments on commit 4cea62a

Please sign in to comment.