1 /*=========================================================================
6 Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
7 l'Image). All rights reserved. See Doc/License.txt or
8 http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details.
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notices for more information.
14 =========================================================================*/
16 #ifndef CLITKSIGNALMEANPOSITIONFILTER_H
17 #define CLITKSIGNALMEANPOSITIONFILTER_H
19 #include "clitkSignalMeanPositionTracking_ggo.h"
20 #include "clitkSignal.h"
21 #include "clitkEllipse.h"
22 #include "itkVector.h"
26 //---------------------------------------------------------------------
27 class SignalMeanPositionFilter {
29 typedef itk::Vector<double,2> Vector2d;
31 void SetParameters(args_info_clitkSignalMeanPositionTracking & args_info);
35 args_info_clitkSignalMeanPositionTracking args_info;
37 clitk::Signal mAugmentedInputX;
38 clitk::Signal mAugmentedInputY;
39 int mAugmentationDelay;
43 bool mOutputFilenameIsSet;
44 bool mOutputResidualFilenameIsSet;
45 bool mOutputAugmentedFilenameIsSet;
46 std::string mOutputFilename;
47 std::string mOutputResidualFilename;
48 std::string mOutputAugmentedFilename;
50 bool mVerboseIteration;
51 bool mIsAdaptiveMethod;
52 std::vector<double> mCurrentResidual;
54 std::vector<Vector2d> mCenters;
56 void FitEllipse(clitk::Ellipse & An);
57 void AdaptiveFitEllipse(clitk::Ellipse & An);
59 void ComputeAugmentedSpace(const clitk::Signal & input,
60 clitk::Signal & outputX,
61 clitk::Signal & outputY,
64 //---------------------------------------------------------------------