1 /*=========================================================================
4 Module: $RCSfile: clitkSignalFilter.cxx,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 CLITKSIGNALFILTER_CXX
20 #define CLITKSIGNALFILTER_CXX
22 =================================================
23 * @file clitkSignalFilter.cxx
24 * @author Jef Vandemeulebroucke <jefvdmb@gmail.com>
27 * @brief "Apply a filter to the signal"
28 =================================================*/
31 #include "clitkSignalFilter_ggo.h"
32 #include "clitkSignal.h"
34 #include "clitkIOCommon.h"
36 int main(int argc, char * argv[]) {
39 GGO(clitkSignalFilter, args_info);
44 input.Read (args_info.input_arg);
46 if (args_info.input2_given) input2.Read(args_info.input2_arg);
48 double p1 = args_info.p1_arg;
49 double p2 = args_info.p2_arg;
53 if( args_info.multiply_flag) input*=input2;
54 if( args_info.divide_flag) input/=input2;
55 if( args_info.norm_flag) input=input.Normalize (p1, p2);
56 if( args_info.highPass_flag) input=input.HighPassFilter(p1,p2);
57 if( args_info.lowPass_flag) input=input.LowPassFilter(p1,p2);
58 if( args_info.detect_flag) input=input.DetectLocalExtrema(static_cast<unsigned int >(p1));
59 if( args_info.limPhase_flag) input=input.LimPhase();
60 if( args_info.monPhase_flag) input=input.MonPhase();
61 if( args_info.monPhaseDE_flag) input=input.MonPhaseDE(p1,p2);
62 if( args_info.average_flag) input=input.MovingAverageFilter(static_cast<unsigned int> (p1));
63 if( args_info.ssd_flag) std::cout<<"The sqrt of the mean SSD is "<< input.SSD(input2)<<std::endl;
64 if (args_info.gauss_flag)input=input.GaussLikeFilter();
65 if (args_info.rescale_flag)input=input.NormalizeMeanStdDev(p1, p2);
66 if (args_info.interp_flag)input=input.LinearlyInterpolateScatteredValues();
67 // if( args_info.approx_flag) input=input.ApproximateScatteredValuesWithBSplines(static_cast<unsigned int>(p1),static_cast<unsigned int>(p2));
68 if( args_info.limit_flag) input=input.LimitSignalRange();
69 // if( args_info._flag) input=input;
70 // if( args_info._flag) input=input;
71 // if( args_info._flag) input=input;
72 // if( args_info._flag) input=input;
73 // if( args_info._flag) input=input;
74 // if( args_info._flag) input=input;
75 // if( args_info._flag) input=input;
77 if (args_info.output_given) input.Write(args_info.output_arg);