SMSSineFilter.cxx
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "SMSSineFilter.hxx"
00023 #include "ProcessingFactory.hxx"
00024
00025
00026 namespace CLAM
00027 {
00028
00029 namespace Hidden
00030 {
00031 static const char * metadata[] = {
00032 "key", "SMSSineFilter",
00033 "category", "SMS Transformations",
00034 "description", "SMSSineFilter",
00035 0
00036 };
00037 static FactoryRegistrator<ProcessingFactory, SMSSineFilter> reg = metadata;
00038 }
00039
00040 bool SMSSineFilter::Do(const SpectralPeakArray& in, SpectralPeakArray& out)
00041 {
00042 out = in;
00043
00044 DataArray& iMagArray = in.GetMagBuffer();
00045 DataArray& oMagArray = out.GetMagBuffer();
00046 TSize nPeaks = in.GetnPeaks();
00047
00048 BPF& filter = mConfig.GetBPF();
00049
00050 for( int i=0; i<nPeaks; i++ )
00051 {
00052 oMagArray[i] = iMagArray[i] + filter.GetValueFromIndex(i);
00053 }
00054
00055 return true;
00056 }
00057
00058
00059 }
00060