ODIN
filter_resize.h
1 /***************************************************************************
2  filter_resize.h - description
3  -------------------
4  begin : Fri Feb 1 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_RESIZE_H
19 #define FILTER_RESIZE_H
20 
21 #include <odindata/filter_step.h>
22 
23 class FilterResize : public FilterStep {
24 
25  LDRint newsize[3];
26 
27  STD_string label() const {return "resize";}
28  STD_string description() const {return "Spatial resize of image data";}
29  bool process(Data<float,4>& data, Protocol& prot) const;
30  FilterStep* allocate() const {return new FilterResize();}
31  void init();
32 };
33 
35 
36 class FilterResample : public FilterStep {
37 
38  LDRint newsize;
39 
40  STD_string label() const {return "resample";}
41  STD_string description() const {return "Temporal resize of image data";}
42  bool process(Data<float,4>& data, Protocol& prot) const;
43  FilterStep* allocate() const {return new FilterResample();}
44  void init();
45 };
46 
48 
49 class FilterIsotrop : public FilterStep {
50  LDRfloat size;
51  STD_string label() const {return "isotrop";}
52  STD_string description() const {return "make image voxels isotrop through interpolation (image geometry will not change), set to zero for minimum extent";}
53  bool process(Data<float,4>& data, Protocol& prot) const;
54  FilterStep* allocate() const {return new FilterIsotrop();}
55  void init();
56 };
57 
58 #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