ld2daps/ld2dap/Treshold.py

33 lines
1.1 KiB
Python

#!/usr/bin/python
# -*- coding: utf-8 -*-
# \file Treshold.py
# \brief TODO
# \author Florent Guiotte <florent.guiotte@gmail.com>
# \version 0.1
# \date 09 avril 2018
#
# TODO details
from ld2dap.core import Filter
class Treshold(Filter):
def __init__(self, treshold, max_value=None):
super().__init__(self.__class__.__name__)
self.treshold = treshold
self.max_value = max_value #if max_value is not None else treshold
def _process(self, data, metadata):
# TODO: UPGRADE RASTER DEPENDANCE
if self.max_value is None:
self.max_value = data[data < self.treshold].max()
for stack in metadata:
for d, s in zip(stack.desc, stack.symb):
d.append('treshold {}'.format(self.treshold))
#s.append('T_{{{}}}'.format(self.treshold))
## TODO: TMP FIX
#data[:,:,stack.begin][data[:,:,stack.begin] > self.treshold] = data[:,:,stack.begin][data[:,:,stack.begin]].max()
return data * (data < self.treshold) + self.max_value * (data >= self.treshold), metadata