Commit 8cd73481 authored by Daniel Scheffler's avatar Daniel Scheffler
Browse files

Dead-pixel correction is now called once more after AC to correct possible...

Dead-pixel correction is now called once more after AC to correct possible spectral spikes due to fringe effect (fixes issue #30

). Updated version info and HISTORY.rst.
Signed-off-by: Daniel Scheffler's avatarDaniel Scheffler <danschef@gfz-potsdam.de>
parent dacd1e90
Pipeline #8544 passed with stages
in 15 minutes and 30 seconds
......@@ -2,7 +2,13 @@
History
=======
0.12.4 (2020-04-05)
0.12.5 (2020-05-04)
------------------
* Dead-pixel correction is now called once more after AC to correct possible spectral spikes due to fringe effect.
0.12.4 (2020-05-04)
-------------------
* Revised computation of the common VNIR/SWIR extent within orthorectification (fixes issue #34). This computation now
......
......@@ -146,6 +146,9 @@ class EnPT_Controller(object):
"""Run all processors at once."""
if os.getenv('IS_ENPT_GUI_TEST') != "1":
try:
if self.cfg.log_level == 'DEBUG':
self._print_received_configuration()
self.read_L1B_data()
if self.cfg.run_deadpix_P:
self.L1_obj.correct_dead_pixels()
......@@ -153,6 +156,11 @@ class EnPT_Controller(object):
self.run_dem_processor()
if self.cfg.enable_ac:
self.run_atmospheric_correction()
# re-apply dead pixel correction
self.L1_obj.logger.info(
'Re-applying dead pixel correction to correct fof spectral spikes due to fringe effect.')
self.L1_obj.correct_dead_pixels()
else:
self.L1_obj.logger.info('Skipping atmospheric correction as configured and '
'computing top-of-atmosphere reflectance instead.')
......@@ -164,8 +172,7 @@ class EnPT_Controller(object):
self.cleanup()
else:
print('EnPT Controller received the following configuration:')
print(repr(self.cfg))
self._print_received_configuration()
if not os.path.isdir(self.cfg.output_dir):
raise NotADirectoryError(self.cfg.output_dir)
......@@ -178,6 +185,10 @@ class EnPT_Controller(object):
),
outF)
def _print_received_configuration(self):
print('EnPT Controller received the following configuration:')
print(repr(self.cfg))
@classmethod
def _cleanup(cls, tempDir, warn_message):
"""Clean up implicitly (not to be called directly)."""
......
......@@ -211,7 +211,7 @@ def interp_nodata_along_axis_2d(data_2d: np.ndarray, axis: int = 0,
# call 1D interpolation vectorized
# => group the dataset by rows that have nodata at the same column position
# => remember the row positions, call the intpolation for these rows at once (vectorized)
# => remember the row positions, call the interpolation for these rows at once (vectorized)
# and substitute the original data at the previously grouped row positions
groups_unique_rows = npi.group_by(badmask_full).split(np.arange(len(badmask_full)))
......
......@@ -27,6 +27,6 @@
# You should have received a copy of the GNU Lesser General Public License along
# with this program. If not, see <http://www.gnu.org/licenses/>.
__version__ = '0.12.4'
__versionalias__ = '20200505.01'
__version__ = '0.12.5'
__versionalias__ = '20200504.01'
__author__ = 'Daniel Scheffler'
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