1 /*=========================================================================
4 Module: $RCSfile: clitkSignalMeanPositionFilter.h,v $
6 Date: $Date: 2010/01/06 13:31:56 $
7 Version: $Revision: 1.1 $
9 Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
10 l'Image). All rights reserved. See Doc/License.txt or
11 http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details.
13 This software is distributed WITHOUT ANY WARRANTY; without even
14 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 PURPOSE. See the above copyright notices for more information.
17 =========================================================================*/
19 #ifndef CLITKSIGNALMEANPOSITIONFILTER_H
20 #define CLITKSIGNALMEANPOSITIONFILTER_H
22 #include "clitkSignalMeanPositionTracking_ggo.h"
23 #include "clitkSignal.h"
24 #include "clitkEllipse.h"
25 #include "itkVector.h"
29 //---------------------------------------------------------------------
30 class SignalMeanPositionFilter {
32 typedef itk::Vector<double,2> Vector2d;
34 void SetParameters(gengetopt_args_info_clitkSignalMeanPositionTracking & args_info);
38 gengetopt_args_info_clitkSignalMeanPositionTracking args_info;
40 clitk::Signal mAugmentedInputX;
41 clitk::Signal mAugmentedInputY;
42 int mAugmentationDelay;
46 bool mOutputFilenameIsSet;
47 bool mOutputResidualFilenameIsSet;
48 bool mOutputAugmentedFilenameIsSet;
49 std::string mOutputFilename;
50 std::string mOutputResidualFilename;
51 std::string mOutputAugmentedFilename;
53 bool mVerboseIteration;
54 bool mIsAdaptiveMethod;
55 std::vector<double> mCurrentResidual;
57 std::vector<Vector2d> mCenters;
59 void FitEllipse(clitk::Ellipse & An);
60 void AdaptiveFitEllipse(clitk::Ellipse & An);
62 void ComputeAugmentedSpace(const clitk::Signal & input,
63 clitk::Signal & outputX,
64 clitk::Signal & outputY,
67 //---------------------------------------------------------------------