Files
UR/src/common/estimatePulseLength.cpp

22 lines
566 B
C++

#include "estimatePulseLength.h"
#include "Function1D.h"
#include "Function2D.h"
#include <cstddef>
#include <vector>
using namespace Aurora;
double Recon::estimatePulseLength(const CeEstimatePulseLength& aCe, double aSampleFreq)
{
Matrix value1 = abs(hilbert(aCe.ce));
double value2 = 0.05 * max(abs(hilbert(aCe.ce)),All)[0];
std::vector<size_t> t;
for(size_t i=0; i<value1.getDataSize(); ++i)
{
if(value1[i] > value2)
{
t.push_back(i);
}
}
return (t[t.size()-1] - t[0]) / aCe.ce_sf * aSampleFreq;
}