Commit e09fb6db authored by Daniel Scheffler's avatar Daniel Scheffler
Browse files

Added/revised parameters related to AC mode and ACwater.


Signed-off-by: Daniel Scheffler's avatarDaniel Scheffler <danschef@gfz-potsdam.de>
parent 0ad0686b
Pipeline #24466 failed with stage
in 1 minute and 34 seconds
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
import os import os
from os.path import expanduser from os.path import expanduser
import psutil import psutil
from pkgutil import get_loader
from datetime import date from datetime import date
from multiprocessing import cpu_count from multiprocessing import cpu_count
from threading import Thread from threading import Thread
...@@ -70,6 +71,11 @@ class _EnPTBaseAlgorithm(QgsProcessingAlgorithm): ...@@ -70,6 +71,11 @@ class _EnPTBaseAlgorithm(QgsProcessingAlgorithm):
P_enable_vnir_swir_coreg = 'enable_vnir_swir_coreg' P_enable_vnir_swir_coreg = 'enable_vnir_swir_coreg'
P_path_reference_image = 'path_reference_image' P_path_reference_image = 'path_reference_image'
P_enable_ac = 'enable_ac' P_enable_ac = 'enable_ac'
P_mode_ac = 'mode_ac'
P_polymer_root = 'polymer_root'
P_threads = 'threads'
P_blocksize = 'blocksize'
P_auto_download_ecmwf = 'auto_download_ecmwf'
P_scale_factor_boa_ref = 'scale_factor_boa_ref' P_scale_factor_boa_ref = 'scale_factor_boa_ref'
P_run_smile_P = 'run_smile_P' P_run_smile_P = 'run_smile_P'
P_run_deadpix_P = 'run_deadpix_P' P_run_deadpix_P = 'run_deadpix_P'
...@@ -102,6 +108,15 @@ class _EnPTBaseAlgorithm(QgsProcessingAlgorithm): ...@@ -102,6 +108,15 @@ class _EnPTBaseAlgorithm(QgsProcessingAlgorithm):
def createInstance(self, *args, **kwargs): def createInstance(self, *args, **kwargs):
return type(self)() return type(self)()
@staticmethod
def _get_default_polymer_root():
try:
path_polymer = os.path.abspath(
os.path.join(os.path.dirname(get_loader("polymer").path), os.pardir))
except:
path_polymer = ''
return path_polymer
@staticmethod @staticmethod
def _get_default_output_dir(): def _get_default_output_dir():
userhomedir = expanduser('~') userhomedir = expanduser('~')
...@@ -280,12 +295,56 @@ class _EnPTBaseAlgorithm(QgsProcessingAlgorithm): ...@@ -280,12 +295,56 @@ class _EnPTBaseAlgorithm(QgsProcessingAlgorithm):
description='Enable atmospheric correction using SICOR algorithm', description='Enable atmospheric correction using SICOR algorithm',
defaultValue=True)) defaultValue=True))
self.addParameter(QgsProcessingParameterNumber( self.addParameter(
name=self.P_scale_factor_boa_ref, QgsProcessingParameterEnum(
description='Scale factor to be applied to BOA reflectance result', name=self.P_mode_ac,
type=QgsProcessingParameterNumber.Integer, description="Atmospheric correction mode",
defaultValue=10000, options=['land - SICOR (developed for land surfaces) is applied to land AND water surfaces',
optional=True), 'water - POLYMER (developed for water surfaces) is applied to water only; '
'land surfaces are not included in the L2A product',
'combined - SICOR is applied to land and POLYMER is applied to water surfaces; '
'NOTE that this may result in edge effects, e.g., at coastlines*/'],
defaultValue=2),
advanced=True)
self.addParameter(
QgsProcessingParameterFile(
name=self.P_polymer_root,
description='Polymer root directory (that contains the subdirectory for ancillary data)',
behavior=QgsProcessingParameterFile.Folder,
defaultValue=self._get_default_polymer_root()),
advanced=True)
self.addParameter(
QgsProcessingParameterNumber(
name=self.P_threads,
description='Number of threads for multiprocessing'
"('0: no threads', '-1: automatic', '>0: number of threads')",
type=QgsProcessingParameterNumber.Integer,
defaultValue=-1),
advanced=True)
self.addParameter(
QgsProcessingParameterNumber(
name=self.P_blocksize,
description='Block size for multiprocessing',
type=QgsProcessingParameterNumber.Integer,
defaultValue=100),
advanced=True)
self.addParameter(
QgsProcessingParameterBoolean(
name=self.P_auto_download_ecmwf,
description='Automatically download ECMWF data for atmospheric correction',
defaultValue=False),
advanced=True)
self.addParameter(
QgsProcessingParameterNumber(
name=self.P_scale_factor_boa_ref,
description='Scale factor to be applied to BOA reflectance result',
type=QgsProcessingParameterNumber.Integer,
defaultValue=10000),
advanced=True) advanced=True)
self.addParameter( self.addParameter(
......
...@@ -78,6 +78,7 @@ class EnPTAlgorithm(_EnPTBaseAlgorithm): ...@@ -78,6 +78,7 @@ class EnPTAlgorithm(_EnPTBaseAlgorithm):
# replace Enum parameters with corresponding strings # replace Enum parameters with corresponding strings
for n, opts in [ for n, opts in [
('output_format', {0: 'GTiff', 1: 'ENVI'}), ('output_format', {0: 'GTiff', 1: 'ENVI'}),
('mode_ac', {0: 'land', 1: 'water', 2: 'combined'}),
('deadpix_P_algorithm', {0: 'spectral', 1: 'spatial'}), ('deadpix_P_algorithm', {0: 'spectral', 1: 'spatial'}),
('deadpix_P_interp_spectral', {0: 'linear', 1: 'bilinear', 2: 'cubic', 3: 'spline'}), ('deadpix_P_interp_spectral', {0: 'linear', 1: 'bilinear', 2: 'cubic', 3: 'spline'}),
('deadpix_P_interp_spatial', {0: 'linear', 1: 'bilinear', 2: 'cubic', 3: 'spline'}), ('deadpix_P_interp_spatial', {0: 'linear', 1: 'bilinear', 2: 'cubic', 3: 'spline'}),
......
...@@ -173,6 +173,7 @@ class ExternalEnPTAlgorithm(_EnPTBaseAlgorithm): ...@@ -173,6 +173,7 @@ class ExternalEnPTAlgorithm(_EnPTBaseAlgorithm):
# replace Enum parameters with corresponding strings # replace Enum parameters with corresponding strings
for n, opts in [ for n, opts in [
('output_format', {0: 'GTiff', 1: 'ENVI'}), ('output_format', {0: 'GTiff', 1: 'ENVI'}),
('mode_ac', {0: 'land', 1: 'water', 2: 'combined'}),
('deadpix_P_algorithm', {0: 'spectral', 1: 'spatial'}), ('deadpix_P_algorithm', {0: 'spectral', 1: 'spatial'}),
('deadpix_P_interp_spectral', {0: 'linear', 1: 'bilinear', 2: 'cubic', 3: 'spline'}), ('deadpix_P_interp_spectral', {0: 'linear', 1: 'bilinear', 2: 'cubic', 3: 'spline'}),
('deadpix_P_interp_spatial', {0: 'linear', 1: 'bilinear', 2: 'cubic', 3: 'spline'}), ('deadpix_P_interp_spatial', {0: 'linear', 1: 'bilinear', 2: 'cubic', 3: 'spline'}),
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment