ld2daps/ld2dap/Differential.py

51 lines
1.4 KiB
Python

#!/usr/bin/python
# -*- coding: utf-8 -*-
# \file Differential.py
# \brief TODO
# \author Florent Guiotte <florent.guiotte@gmail.com>
# \version 0.1
# \date 16 avril 2018
#
# TODO details
from ld2dap.core import Filter, Stack
import numpy as np
class Differential(Filter):
def __init__(self):
super().__init__(self.__class__.__name__)
def _process(self, data, metadata):
raster_list = list()
metadata_new = list()
offset = 0
for stack in metadata:
print('Differential: {}'.format(stack))
raster_list.append(data[:,:,stack.begin+1:stack.end] -
data[:,:,stack.begin:stack.end-1])
size_new = stack.end - stack.begin - 1
stack_new = Stack(offset, size_new)
for i in range(len(stack_new.desc)):
desc = stack.desc[i].copy()
desc.append(':Differential:')
desc.extend(stack.desc[i+1])
stack_new.desc[i] = desc
metadata_new.append(stack_new)
for i in range(len(stack_new.symb)):
symb = list() #['D(']
symb.extend(stack.symb[i])
symb.append(' - ')
symb.extend(stack.symb[i+1])
#symb.append(')')
stack_new.symb[i] = symb
offset += size_new
data = np.dstack(raster_list)
return data, metadata_new