本文整理汇总了C++中KstPSDPtr::setApodize方法的典型用法代码示例。如果您正苦于以下问题:C++ KstPSDPtr::setApodize方法的具体用法?C++ KstPSDPtr::setApodize怎么用?C++ KstPSDPtr::setApodize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KstPSDPtr
的用法示例。
在下文中一共展示了KstPSDPtr::setApodize方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setApodize
void KstBindPowerSpectrum::setApodize(KJS::ExecState *exec, const KJS::Value& value) {
if (value.type() != KJS::BooleanType) {
KJS::Object eobj = KJS::Error::create(exec, KJS::TypeError);
exec->setException(eobj);
return;
}
KstPSDPtr d = makePSD(_d);
if (d) {
KstWriteLocker wl(d);
d->setApodize(value.toBoolean(exec));
}
}
示例2: editSingleObject
bool KstPsdDialog::editSingleObject(KstPSDPtr psPtr) {
psPtr->writeLock();
KST::vectorList.lock().readLock();
KstVectorPtr v = *KST::vectorList.findTag(_w->_vector->selectedVector());
KST::vectorList.lock().unlock();
if (v) { // Can be null if edit multiple and it wasn't changed
psPtr->setVector(v);
}
// get the values that need to be checked for consistency
double pSampRate;
int pFFTLen;
if (_sampRateDirty) {
pSampRate = _w->_kstFFTOptions->SampRate->text().toDouble();
} else {
pSampRate = psPtr->freq();
}
if (_fFTLenDirty) {
pFFTLen = _w->_kstFFTOptions->FFTLen->text().toInt();
} else {
pFFTLen = psPtr->len();
}
if (!_w->_kstFFTOptions->checkGivenValues(pSampRate, pFFTLen)) {
psPtr->unlock();
return false;
}
if (_sampRateDirty) {
psPtr->setFreq(_w->_kstFFTOptions->SampRate->text().toDouble());
}
if (_fFTLenDirty) {
psPtr->setLen(_w->_kstFFTOptions->FFTLen->text().toInt());
}
if (_vectorUnitsDirty) {
psPtr->setVUnits(_w->_kstFFTOptions->VectorUnits->text());
}
if (_rateUnitsDirty) {
psPtr->setRUnits(_w->_kstFFTOptions->RateUnits->text());
}
if (_apodizeDirty) {
psPtr->setApodize(_w->_kstFFTOptions->Apodize->isChecked());
}
if (_apodizeFxnDirty) {
if (_editMultipleMode) {
psPtr->setApodizeFxn(ApodizeFunction(_w->_kstFFTOptions->ApodizeFxn->currentIndex()-1));
} else {
psPtr->setApodizeFxn(ApodizeFunction(_w->_kstFFTOptions->ApodizeFxn->currentIndex()));
}
}
if (_gaussianSigmaDirty) {
psPtr->setGaussianSigma(_editMultipleMode ? _w->_kstFFTOptions->Sigma->value() - 1 :
_w->_kstFFTOptions->Sigma->value());
}
if (_removeMeanDirty) {
psPtr->setRemoveMean(_w->_kstFFTOptions->RemoveMean->isChecked());
}
if (_interleavedDirty) {
psPtr->setAverage(_w->_kstFFTOptions->Interleaved->isChecked());
}
if (_outputDirty) {
if (_editMultipleMode) {
psPtr->setOutput(PSDType(_w->_kstFFTOptions->Output->currentIndex()-1));
} else {
psPtr->setOutput(PSDType(_w->_kstFFTOptions->Output->currentIndex()));
}
}
if (_interpolateHolesDirty) {
psPtr->setInterpolateHoles(_w->_kstFFTOptions->InterpolateHoles->isChecked());
}
psPtr->setRecursed(false);
if (psPtr->recursion()) {
psPtr->setRecursed(true);
psPtr->unlock();
QMessageBox::critical(this, QObject::tr("Kst"), QObject::tr("There is a recursion resulting from the spectrum you entered."));
return false;
}
psPtr->unlock();
return true;
}
示例3: doTests
void doTests() {
KstVectorPtr vp = new KstVector(KstObjectTag("tempVector"), 10);
for (int i = 0; i < 10; i++){
vp->value()[i] = i;
}
KstPSDPtr psd = new KstPSD(QString("psdTest"), vp, 0.0, false, 10, false, false, QString("vUnits"), QString("rUnits"), WindowUndefined, 0.0, PSDUndefined);
doTest(psd->tagName() == "psdTest");
doTest(psd->vTag() == "tempVector");
doTest(psd->output() == PSDUndefined);
doTest(!psd->apodize());
doTest(!psd->removeMean());
doTest(!psd->average());
doTest(psd->freq() == 0.0);
doTest(psd->apodizeFxn() == WindowUndefined);
doTest(psd->gaussianSigma() == 0);
KstVectorPtr vpVX = psd->vX();
KstVectorPtr vpVY = psd->vY();
// until we call update the x and y vectors will be uninitialised and
// and so they should be of length 1 and the value of vpVX[0] and
// vpVX[0] should be NAN...
doTestV(QString("vpVX->length()"), vpVX->length(), 1);
doTestV(QString("vpVY->length()"), vpVY->length(), 1);
doTestV(QString("vpVX->length()"), isnan(vpVX->value()[0]), 1);
doTestV(QString("vpVY->length()"), isnan(vpVY->value()[0]), 1);
doTest(psd->update(0) == KstObject::UPDATE);
for(int j = 0; j < vpVX->length(); j++){
doTest(vpVX->value()[j] == 0);
}
psd->setOutput(PSDAmplitudeSpectralDensity);
psd->setApodize(true);
psd->setRemoveMean(true);
psd->setAverage(true);
psd->setFreq(0.1);
psd->setApodizeFxn(WindowOriginal);
psd->setGaussianSigma(0.2);
doTest(psd->tagName() == "psdTest");
doTest(psd->vTag() == "tempVector");
doTest(psd->output() == PSDAmplitudeSpectralDensity);
doTest(psd->apodize());
doTest(psd->removeMean());
doTest(psd->average());
doTest(psd->freq() == 0.1);
doTest(psd->apodizeFxn() == WindowOriginal);
doTest(psd->gaussianSigma() == 0.2);
// doTest(psd->update(0) == KstObject::UPDATE);
// QString ps = "PSD: " + psd->vTag();
// doTest(psd->propertyString() == ps);
// doTest(!psd->curveHints().curveName() == "");
// printf("Curve name [%s]", kstCHL[0].curveName());
// printf("X Vector name [%s]", kstCHL[0].xVectorName());
// printf("Y Vector name [%s]", kstCHL[0].yVectorName());
KTempFile tf(locateLocal("tmp", "kst-csd"), "txt");
QFile *qf = tf.file();
QTextStream ts(qf);
psd->save(ts, "");
QFile::remove(tf.name());
QDomNode n = makeDOMElement("psdDOMPsd", "psdDOMVector").firstChild();
QDomElement e = n.toElement();
KstPSDPtr psdDOM = new KstPSD(e);
doTest(psdDOM->tagName() == "psdDOMPsd");
doTest(psdDOM->output() == PSDAmplitudeSpectralDensity);
doTest(psdDOM->apodize());
doTest(psdDOM->removeMean());
doTest(psdDOM->average());
doTest(psdDOM->freq() == 128);
doTest(psdDOM->apodizeFxn() == WindowOriginal);
doTest(psdDOM->gaussianSigma() == 0.01);
// KstVectorPtr vpVX = psdDOM->vX();
// for(int j = 0; j < vpVX->length(); j++){
// printf("[%d][%lf]", j, vpVX->value()[j]);
// }
// KstVectorPtr vpVY = psdDOM->vY();
}
示例4: doTests
void doTests() {
KstVectorPtr vp = new KstVector(KstObjectTag::fromString("tempVector"), 10);
for (int i = 0; i < 10; i++){
vp->value()[i] = i;
}
KstPSDPtr psd = new KstPSD(QString("psdTest"), vp, 0.0, false, 10, false, false, QString("vUnits"), QString("rUnits"), WindowUndefined, 0.0, PSDUndefined);
doTest(psd->tagName() == "psdTest");
doTest(psd->vTag() == "tempVector");
doTest(psd->output() == PSDUndefined);
doTest(!psd->apodize());
doTest(!psd->removeMean());
doTest(!psd->average());
doTest(psd->freq() == 0.0);
doTest(psd->apodizeFxn() == WindowUndefined);
doTest(psd->gaussianSigma() == 0);
KstVectorPtr vpVX = psd->vX();
KstVectorPtr vpVY = psd->vY();
doTest(vpVX->length() == 1);
doTest(vpVX->value()[0] != vpVX->value()[0]);
doTest(vpVY->length() == 1);
doTest(vpVY->value()[0] != vpVY->value()[0]);
psd->writeLock();
doTest(psd->update(0) == KstObject::UPDATE);
psd->unlock();
for(int j = 0; j < vpVX->length(); j++){
doTest(vpVX->value()[j] == 0);
}
psd->setOutput(PSDAmplitudeSpectralDensity);
psd->setApodize(true);
psd->setRemoveMean(true);
psd->setAverage(true);
psd->setFreq(0.1);
psd->setApodizeFxn(WindowOriginal);
psd->setGaussianSigma(0.2);
doTest(psd->tagName() == "psdTest");
doTest(psd->vTag() == "tempVector");
doTest(psd->output() == PSDAmplitudeSpectralDensity);
doTest(psd->apodize());
doTest(psd->removeMean());
doTest(psd->average());
doTest(psd->freq() == 0.1);
doTest(psd->apodizeFxn() == WindowOriginal);
doTest(psd->gaussianSigma() == 0.2);
// doTest(psd->update(0) == KstObject::UPDATE);
// QString ps = "PSD: " + psd->vTag();
// doTest(psd->propertyString() == ps);
// doTest(!psd->curveHints().curveName() == "");
// printf("Curve name [%s]", kstCHL[0].curveName());
// printf("X Vector name [%s]", kstCHL[0].xVectorName());
// printf("Y Vector name [%s]", kstCHL[0].yVectorName());
QTemporaryFile tf;
tf.open();
QTextStream ts(&tf);
psd->save(ts, "");
QFile::remove(tf.fileName());
QDomNode n = makeDOMElement("psdDOMPsd", "psdDOMVector").firstChild();
QDomElement e = n.toElement();
KstPSDPtr psdDOM = new KstPSD(e);
doTest(psdDOM->tagName() == "psdDOMPsd");
doTest(psdDOM->output() == PSDAmplitudeSpectralDensity);
doTest(psdDOM->apodize());
doTest(psdDOM->removeMean());
doTest(psdDOM->average());
doTest(psdDOM->freq() == 128);
doTest(psdDOM->apodizeFxn() == WindowOriginal);
doTest(psdDOM->gaussianSigma() == 0.01);
// KstVectorPtr vpVX = psdDOM->vX();
// for(int j = 0; j < vpVX->length(); j++){
// printf("[%d][%lf]", j, vpVX->value()[j]);
// }
// KstVectorPtr vpVY = psdDOM->vY();
}