OpenWalnut  1.5.0dev
WResampling_I.h
1 //---------------------------------------------------------------------------
2 //
3 // Project: OpenWalnut ( http://www.openwalnut.org )
4 //
5 // Copyright 2014 OpenWalnut Community, BSV@Uni-Leipzig and CNCF@MPI-CBS
6 // For more information see http://www.openwalnut.org/copying
7 //
8 // This file is part of OpenWalnut.
9 //
10 // OpenWalnut is free software: you can redistribute it and/or modify
11 // it under the terms of the GNU Lesser General Public License as published by
12 // the Free Software Foundation, either version 3 of the License, or
13 // (at your option) any later version.
14 //
15 // OpenWalnut is distributed in the hope that it will be useful,
16 // but WITHOUT ANY WARRANTY; without even the implied warranty of
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 // GNU Lesser General Public License for more details.
19 //
20 // You should have received a copy of the GNU Lesser General Public License
21 // along with OpenWalnut. If not, see <http://www.gnu.org/licenses/>.
22 //
23 //---------------------------------------------------------------------------
24 
25 #ifndef WRESAMPLING_I_H
26 #define WRESAMPLING_I_H
27 
28 #include <core/common/WProgress.h>
29 #include <core/common/WFlag.h>
30 #include <core/dataHandler/WDataSetFibers.h>
31 
32 /**
33  * Interface for Resampling fibers.
34  */
36 {
37 public:
38  /**
39  * Resample each fiber within the given fiber dataset according to the given implementation of virtual resample().
40  *
41  * \param progress This will indicate progress.
42  * \param shutdown Possibility to abort in case of shutdown.
43  * \param fibers The fibers which should be resampled.
44  *
45  * \return Colored fibers
46  */
47  virtual WDataSetFibers::SPtr operator()( WProgress::SPtr progress, WBoolFlag const &shutdown, WDataSetFibers::SPtr fibers );
48 
49  /**
50  * Destructor.
51  */
52  virtual ~WResampling_I();
53 
54 protected:
55  /**
56  * All overrided methods should resample the fiber in their specific way.
57  *
58  * \param fib The fiber to resample.
59  *
60  * \return Copy of the resampled fiber.
61  */
62  virtual WFiber resample( WFiber fib ) const = 0;
63 
64 private:
65 };
66 
67 #endif // WRESAMPLING_I_H
std::shared_ptr< WDataSetFibers > SPtr
Pointer to dataset.
Represents a neural pathway.
Definition: WFiber.h:40
std::shared_ptr< WProgress > SPtr
Shared pointer on a WProgress.
Definition: WProgress.h:48
Interface for Resampling fibers.
Definition: WResampling_I.h:36
virtual WDataSetFibers::SPtr operator()(WProgress::SPtr progress, WBoolFlag const &shutdown, WDataSetFibers::SPtr fibers)
Resample each fiber within the given fiber dataset according to the given implementation of virtual r...
virtual WFiber resample(WFiber fib) const =0
All overrided methods should resample the fiber in their specific way.
virtual ~WResampling_I()
Destructor.