aimsalgo 6.0.0
Neuroimaging image processing
movingaveragesubsampler.h
Go to the documentation of this file.
1/* This software and supporting documentation are distributed by
2 * Institut Federatif de Recherche 49
3 * CEA/NeuroSpin, Batiment 145,
4 * 91191 Gif-sur-Yvette cedex
5 * France
6 *
7 * This software is governed by the CeCILL-B license under
8 * French law and abiding by the rules of distribution of free software.
9 * You can use, modify and/or redistribute the software under the
10 * terms of the CeCILL-B license as circulated by CEA, CNRS
11 * and INRIA at the following URL "http://www.cecill.info".
12 *
13 * As a counterpart to the access to the source code and rights to copy,
14 * modify and redistribute granted by the license, users are provided only
15 * with a limited warranty and the software's author, the holder of the
16 * economic rights, and the successive licensors have only limited
17 * liability.
18 *
19 * In this respect, the user's attention is drawn to the risks associated
20 * with loading, using, modifying and/or developing or reproducing the
21 * software by the user in light of its specific status of free software,
22 * that may mean that it is complicated to manipulate, and that also
23 * therefore means that it is reserved for developers and experienced
24 * professionals having in-depth computer knowledge. Users are therefore
25 * encouraged to load and test the software's suitability as regards their
26 * requirements in conditions enabling the security of their systems and/or
27 * data to be ensured and, more generally, to use and operate it in the
28 * same conditions as regards security.
29 *
30 * The fact that you are presently reading this means that you have had
31 * knowledge of the CeCILL-B license and that you accept its terms.
32 */
33
34#ifndef AIMS_PYRAMID_MOVINGAVERAGESUBSAMPLER_H
35#define AIMS_PYRAMID_MOVINGAVERAGESUBSAMPLER_H
36
37//============================================================================
38//
39// MOVING AVERAGE SUBSAMPLER
40//
41//============================================================================
42
43//--- aims -------------------------------------------------------------------
45#include <aims/pyramid/convolutionsubsampler.h> // aims::ConvolutionFilter
46#include <aims/vector/vector.h> // Point4df
47//--- cartodata --------------------------------------------------------------
48#include <cartodata/volume/volume.h> // carto::VolumeRef
49//----------------------------------------------------------------------------
50
51namespace aims {
52
53 class MovingAverageSubSampler: public ConvolutionSubSampler<MovingAverageKernel>
54 {
55 public:
56
57 //------------------------------------------------------------------------
59 //------------------------------------------------------------------------
61 MovingAverageSubSampler( unsigned r = 2, unsigned length = 3,
63 MovingAverageSubSampler( const Point4du & r, unsigned length = 3,
71
72 //------------------------------------------------------------------------
74 //------------------------------------------------------------------------
79 void setLength( unsigned length );
81 void setLength( const Point4du & length );
85
86 protected:
87 // Make some inherited functions private
89 };
90
91} // namespace aims
92
93//============================================================================
94//
95// MOVING AVERAGE CASCADE SUBSAMPLER
96//
97//============================================================================
98
99//--- aims -------------------------------------------------------------------
101#include <aims/pyramid/convolutionsubsampler.h> // aims::ConvolutionFilter
102#include <aims/vector/vector.h> // Point4df
103//--- cartodata --------------------------------------------------------------
104#include <cartodata/volume/volume.h> // carto::VolumeRef
105//----------------------------------------------------------------------------
106
107namespace aims {
108
109 class MovingAverageCascadeSubSampler: public ConvolutionSubSampler<MovingAverageCascadeKernel>
110 {
111 public:
112 //------------------------------------------------------------------------
114 //------------------------------------------------------------------------
116 MovingAverageCascadeSubSampler( unsigned r = 2, unsigned length = 3, unsigned n = 2,
118 MovingAverageCascadeSubSampler( const Point4du & r, unsigned length = 3, unsigned n = 2,
120 MovingAverageCascadeSubSampler( const Point4du & r, const Point4du & length, unsigned n = 2,
128
129 //------------------------------------------------------------------------
131 //------------------------------------------------------------------------
137 void setLength( unsigned length );
139 void setLength( const Point4du & length );
141 void setCascade( unsigned length );
143 void setCascade( const Point4du & length );
147
148 protected:
149 // Make some inherited functions private
151 };
152
153} // namespace aims
154
155#endif // AIMS_PYRAMID_MOVINGAVERAGESUBSAMPLER_H
void setBasisFunction(const MovingAverageKernel &func)
1D Cascade of Moving Average Kernel
void setLength(const Point4du &length)
Updates underlying basis functions.
FilterType::Direction type() const
void setType(FilterType::Direction symtype)
Updates underlying basis functions.
MovingAverageCascadeSubSampler(const Point4du &r, const Point4du &length, const Point4du &n, FilterType::Direction symtype=FilterType::Symmetrical)
void setLength(unsigned length)
Updates underlying basis functions.
void setCascade(unsigned length)
Updates underlying basis functions.
MovingAverageCascadeSubSampler(const Point4du &r, const Point4du &length, unsigned n=2, FilterType::Direction symtype=FilterType::Symmetrical)
MovingAverageCascadeSubSampler & operator=(const MovingAverageCascadeSubSampler &other)
void setCascade(const Point4du &length)
Updates underlying basis functions.
MovingAverageCascadeSubSampler(const MovingAverageCascadeSubSampler &other)
MovingAverageCascadeSubSampler(const Point4du &r, unsigned length=3, unsigned n=2, FilterType::Direction symtype=FilterType::Symmetrical)
MovingAverageCascadeSubSampler(unsigned r=2, unsigned length=3, unsigned n=2, FilterType::Direction symtype=FilterType::Symmetrical)
Constructor / Copy.
Point4du length() const
Parameters.
1D Moving Average Kernel
void setLength(unsigned length)
Updates underlying basis functions.
FilterType::Direction type() const
void setLength(const Point4du &length)
Updates underlying basis functions.
MovingAverageSubSampler(unsigned r=2, unsigned length=3, FilterType::Direction symtype=FilterType::Symmetrical)
Constructor / Copy.
MovingAverageSubSampler(const MovingAverageSubSampler &other)
MovingAverageSubSampler(const Point4du &r, unsigned length=3, FilterType::Direction symtype=FilterType::Symmetrical)
MovingAverageSubSampler & operator=(const MovingAverageSubSampler &other)
MovingAverageSubSampler(const Point4du &r, const Point4du &length, FilterType::Direction symtype=FilterType::Symmetrical)
void setType(FilterType::Direction symtype)
Updates underlying basis functions.
Point4du length() const
Parameters.
AimsVector< uint32_t, 4 > Point4du