X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=common%2FclitkSignal.h;fp=common%2FclitkSignal.h;h=f2d1195d0d8373d318ef551c9e039d333dbce824;hb=21312c472d4ae614822f175153362443f27c9aa2;hp=eb0ecb47c7b2421fcb2eae99f7a8f7faa151a4ec;hpb=6b0d92d4e7580b5ba3d316aa90befd9464050d7f;p=clitk.git diff --git a/common/clitkSignal.h b/common/clitkSignal.h index eb0ecb4..f2d1195 100644 --- a/common/clitkSignal.h +++ b/common/clitkSignal.h @@ -3,7 +3,7 @@ //Adapted from Signal.hh in ilr (Simon) -#include "clitkImageCommon.h" +#include "clitkCommon.h" #include "clitkIO.h" //include external library @@ -45,13 +45,14 @@ class Signal{ m_Data.resize(size,voidValue); SetSamplingPeriod(1); }; + Signal(const Signal & s); ~Signal(){} //===================================================================================== //IO void Read(string fileName); - void Read(string fileName, int col); + bool Read(string fileName, int col); void ReadXDR(string fileName); void Write(const string fileName); @@ -78,6 +79,7 @@ class Signal{ Signal & operator*=(Signal & d); //Functions + void CopyFrom(const Signal & s); Signal Normalize(double newMin=0.,double newMax=1.); vector GetGlobalMinMax() const; double GetGlobalMean() const; @@ -101,6 +103,17 @@ class Signal{ void AddValue(double v); void ComputeAugmentedSpace(Signal & outputX, Signal & outputY, unsigned int delay) const; + void ResampleWithTimeWarpTo(clitk::Signal & output, bool lin=false) const ; + double GetValueAtNN(double t) const; + double GetValueAtLin(double t) const; + void Shift(int s, int length); + + double GetTotalTimeDuration() const { return size()*GetSamplingPeriod(); } + double UnormalizedXcov(const Signal &, Signal &) const; + Signal Xcov(const Signal &, int &, double &, double &); + double UnormalizedCorrelation(const Signal &input2) const; + double Correlation(const Signal &input2) const; + // double Compare(Signal & sigRef); // int DerivateSigne( const_iterator & it) const; // void CenteredFiniteDifferences(Signal & result,int order,int* weights);