ODIN
filter_shift.h
1 /***************************************************************************
2  filter_shift.h - description
3  -------------------
4  begin : Fri Nov 21 2008
5  copyright : (C) 2000-2021 by Thies Jochimsen
6  email : thies@jochimsen.de
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef FILTER_SHIFT_H
19 #define FILTER_SHIFT_H
20 
21 #include <odindata/filter_step.h>
22 
23 class FilterShift : public FilterStep {
24 
25  LDRfloat shift[n_directions];
26 
27  STD_string label() const {return "shift";}
28  STD_string description() const {return "Shift data spatially";}
29  bool process(Data<float,4>& data, Protocol& prot) const;
30  FilterStep* allocate() const {return new FilterShift();}
31  void init();
32 };
33 
34 
36 
37 
38 class FilterTimeShift : public FilterStep {
39 
40  LDRfloat shiftframes;
41 
42  STD_string label() const {return "tshift";}
43  STD_string description() const {return "Shift data in time";}
44  bool process(Data<float,4>& data, Protocol& prot) const;
45  FilterStep* allocate() const {return new FilterTimeShift();}
46  void init();
47 };
48 
49 #endif
virtual bool process(Data< float, 4 > &data, Protocol &prot) const
Protocol proxy.
Definition: protocol.h:33
virtual FilterStep * allocate() const=0
virtual STD_string description() const=0
virtual void init()=0
virtual STD_string label() const=0