DisplayWidget
::DisplayWidget(QWidget *parent
) , pointsPerBlock(6400)
{
ui = new Ui::DisplayWidget();
ui->setupUi(this);
...
[COLOR="#FF0000"]
// I Initialize the mcl application and lib in the constructor
[/COLOR]
if (!mclInitializeApplication(NULL,0))
{
qDebug() << "Fail to initialize application!";
return;
}
if (!libpulseanalysisInitialize())
{
qDebug() << "Fail to initialize library!";
return;
}
...
}
DisplayWidget::~DisplayWidget()
{
[COLOR="#FF0000"]
// Terminate application and lib in destroyer
[/COLOR]
libpulseanalysisTerminate();
mclTerminateApplication();
delete ui;
}
DisplayWidget::DisplayWidget(QWidget *parent)
: QWidget(parent)
, pointsPerBlock(6400)
{
QString titleText;
ui = new Ui::DisplayWidget();
ui->setupUi(this);
...
[COLOR="#FF0000"]
// I Initialize the mcl application and lib in the constructor
[/COLOR]
if (!mclInitializeApplication(NULL,0))
{
qDebug() << "Fail to initialize application!";
return;
}
if (!libpulseanalysisInitialize())
{
qDebug() << "Fail to initialize library!";
return;
}
...
}
DisplayWidget::~DisplayWidget()
{
[COLOR="#FF0000"]
// Terminate application and lib in destroyer
[/COLOR]
libpulseanalysisTerminate();
mclTerminateApplication();
delete ui;
}
To copy to clipboard, switch view to plain text mode
void DisplayWidget::analyseData(void)
{
QRectF rect
(d_display
->getZoomerRect
());
//qDebug() << static_cast<int>(rect.left());
//qDebug() << static_cast<int>(rect.width());
QByteArray data
(d_data.
mid(static_cast<int>
(rect.
left()),
static_cast<int>(rect.width()) * sizeof(double)));
qDebug() << data.size();
int dataLength = data.size();
qDebug() << dataLength;
dataStream.
setFloatingPointPrecision(QDataStream::DoublePrecision);
double *pData = new double(dataLength);
for (int i = 0; i < dataLength; i++)
{
dataStream >> *(pData + i);
}
int downSamplingFactor = 5;
int windowWidth = 500;
//mxArray *sig = NULL;
//mxArray *downsampling_factor = NULL;
//mxArray *window_width = NULL;
//sig = mxCreateDoubleMatrix(1, dataLength, mxREAL);
//memcpy(mxGetPr(sig), pData, sizeof(double) * dataLength);
//downsampling_factor = mxCreateNumericMatrix(1, 1, mxINT32_CLASS, mxREAL);
//memcpy(mxGetPr(downsampling_factor), &downSamplingFactor, sizeof(double));
//window_width = mxCreateNumericMatrix(1, 1, mxINT32_CLASS, mxREAL);
//memcpy(mxGetPr(window_width), &window_width, sizeof(double));
mwArray sig(1, dataLength, mxDOUBLE_CLASS);
sig.SetData(pData, dataLength);
mwArray downsampling_factor(1, 1, mxINT32_CLASS);
downsampling_factor.SetData(&downSamplingFactor, 1);
mwArray window_width(1, 1, mxINT32_CLASS);
window_width.SetData(&windowWidth, 1);
mwArray edge_time;
pulse_analysis(1, edge_time, sig, downsampling_factor, window_width);
qDebug() << edge_time.ElementSize();
//int r = mxGetM(edge_time);
//int c = mxGetN(edge_time);
//qDebug() << r;
//qDebug() << c;
}
void DisplayWidget::analyseData(void)
{
QRectF rect(d_display->getZoomerRect());
//qDebug() << static_cast<int>(rect.left());
//qDebug() << static_cast<int>(rect.width());
QByteArray data(d_data.mid(static_cast<int>(rect.left()),
static_cast<int>(rect.width()) * sizeof(double)));
qDebug() << data.size();
int dataLength = data.size();
qDebug() << dataLength;
QDataStream dataStream(&data, QIODevice::ReadOnly);
dataStream.setByteOrder(QDataStream::ByteOrder(QDataStream::LittleEndian));
dataStream.setFloatingPointPrecision(QDataStream::DoublePrecision);
double *pData = new double(dataLength);
for (int i = 0; i < dataLength; i++)
{
dataStream >> *(pData + i);
}
int downSamplingFactor = 5;
int windowWidth = 500;
//mxArray *sig = NULL;
//mxArray *downsampling_factor = NULL;
//mxArray *window_width = NULL;
//sig = mxCreateDoubleMatrix(1, dataLength, mxREAL);
//memcpy(mxGetPr(sig), pData, sizeof(double) * dataLength);
//downsampling_factor = mxCreateNumericMatrix(1, 1, mxINT32_CLASS, mxREAL);
//memcpy(mxGetPr(downsampling_factor), &downSamplingFactor, sizeof(double));
//window_width = mxCreateNumericMatrix(1, 1, mxINT32_CLASS, mxREAL);
//memcpy(mxGetPr(window_width), &window_width, sizeof(double));
mwArray sig(1, dataLength, mxDOUBLE_CLASS);
sig.SetData(pData, dataLength);
mwArray downsampling_factor(1, 1, mxINT32_CLASS);
downsampling_factor.SetData(&downSamplingFactor, 1);
mwArray window_width(1, 1, mxINT32_CLASS);
window_width.SetData(&windowWidth, 1);
mwArray edge_time;
pulse_analysis(1, edge_time, sig, downsampling_factor, window_width);
qDebug() << edge_time.ElementSize();
//int r = mxGetM(edge_time);
//int c = mxGetN(edge_time);
//qDebug() << r;
//qDebug() << c;
}
To copy to clipboard, switch view to plain text mode
I placed a break point on the pulse_analysis function. After the program reached the break point, I press the F10, then the program enter into the
Bookmarks