#!/usr/bin/python # -*- coding: utf-8 -*- # \file Treshold.py # \brief TODO # \author Florent Guiotte # \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