#include <ToolLinearFKActived.h>
Public Slots | |
void | on_slowType_activated (int index) |
Signals | |
void | slowTypeChanged () |
Public Member Functions | |
void | getParameters (LinearFKParameters ¶m) |
void | setParameters (const LinearFKParameters ¶m) |
void | setSlownessType () |
ToolLinearFKActived (QWidget *parent=0, Qt::WFlags fl=0) |
ToolLinearFKActived::ToolLinearFKActived | ( | QWidget * | parent = 0 , |
Qt::WFlags | fl = 0 |
||
) |
Constructs a ToolLinearFKActived as a child of 'parent', with the name 'name' and widget flags set to 'f'.
References setSlownessType(), QGpCoreTools::tr(), TRACE, ArrayCore::LinearFKParameters::xSampling(), and ArrayCore::LinearFKParameters::ySampling().
: QWidget(parent, fl) { TRACE; setupUi(this); normalization->setExternalRange(); LinearFKParameters param; xSampling->setUnit(tr(" Hz")); xSampling->setPrecision(2); xSampling->setSingleStep(0.25); xSampling->setAdmissibleRange(1e-99, 1e99); xSampling->setParameters(param.xSampling()); slowType->setCurrentIndex(0); setSlownessType(); ySampling->setPrecision(5); // Avoid rounding errors when reloading parameters ySampling->setParameters(param.ySampling()); timeLimits->removeUseFirstOnly(); curves->setProxy(new DispersionProxy); }
void ToolLinearFKActived::getParameters | ( | LinearFKParameters & | param | ) |
References QGpCoreTools::SamplingParameters::inverse(), QGpCoreTools::SamplingParameters::maximum(), QGpCoreTools::SamplingParameters::minimum(), ArrayCore::LinearFKParameters::normalization(), ArrayCore::LinearFKParameters::setBeamPowerNormalization(), ArrayCore::LinearFKParameters::setDampingFactor(), ArrayCore::LinearFKParameters::setFrequencyBandwidth(), ArrayCore::LinearFKParameters::setFrequencySmoothingFactor(), ArrayCore::LinearFKParameters::setHighResolution(), ArrayCore::LinearFKParameters::setMaximumDistance(), ArrayCore::LinearFKParameters::setMinimumDistance(), GeopsyCore::NormalizationParameters::setRange(), GeopsyCore::NormalizationParameters::setType(), ArrayCore::LinearFKParameters::setYSamplingType(), ArrayCore::LinearFKParameters::taper(), ArrayCore::LinearFKParameters::timeRange(), TRACE, ArrayCore::LinearFKParameters::xSampling(), and ArrayCore::LinearFKParameters::ySampling().
{ TRACE; timeLimits->getParameters(param.timeRange()); windowShape->getParameters(param.taper()); xSampling->getParameters(param.xSampling()); ySampling->getParameters(param.ySampling()); if(slowType->currentIndex()==0) { param.setYSamplingType(LinearFKParameters::Slowness); } else { param.setYSamplingType(LinearFKParameters::Velocity); param.ySampling().inverse(); // Internally always stored in slowness } if(normalizationGroup->isChecked()) { normalization->getParameters(param.normalization()); param.normalization().setRange(param.xSampling().minimum(), param.xSampling().maximum()); } else { param.normalization().setType(NormalizationParameters::None); } param.setFrequencySmoothingFactor(frequencySmoothingFactor->value()); param.setFrequencyBandwidth(frequencyBandwidth->value()); param.setMinimumDistance(minDistance->value()); param.setMaximumDistance(maxDistance->value()); if(rawBeamPowerNorm->isChecked()) { param.setBeamPowerNormalization(LinearFKParameters::Raw); } else if(spectrumBeamPowerNorm->isChecked()) { param.setBeamPowerNormalization(LinearFKParameters::Spectrum); } else { param.setBeamPowerNormalization(LinearFKParameters::Maximum); } param.setHighResolution(hrParamGroup->isChecked()); if(doDampingFactor->isChecked()) { param.setDampingFactor(dampingFactorEdit->value()); } else { param.setDampingFactor(0.0); } }
void ToolLinearFKActived::on_slowType_activated | ( | int | index | ) | [slot] |
References setSlownessType(), and TRACE.
{ TRACE; ySampling->setPrecision(5); // Avoid rounding errors ySampling->setAdmissibleRange(1e-99, 1e99); ySampling->setInversed(index==1); setSlownessType(); }
void ToolLinearFKActived::setParameters | ( | const LinearFKParameters & | param | ) |
References ArrayCore::LinearFKParameters::beamPowerNormalization(), ArrayCore::LinearFKParameters::dampingFactor(), ArrayCore::LinearFKParameters::frequencyBandwidth(), ArrayCore::LinearFKParameters::frequencySmoothingFactor(), ArrayCore::LinearFKParameters::highResolution(), QGpCoreTools::SamplingParameters::inverse(), ArrayCore::LinearFKParameters::maximumDistance(), ArrayCore::LinearFKParameters::minimumDistance(), ArrayCore::LinearFKParameters::normalization(), ArrayCore::LinearFKParameters::taper(), ArrayCore::LinearFKParameters::timeRange(), TRACE, GeopsyCore::NormalizationParameters::type(), ArrayCore::LinearFKParameters::xSampling(), ArrayCore::LinearFKParameters::ySampling(), and ArrayCore::LinearFKParameters::ySamplingType().
{ TRACE; timeLimits->setParameters(param.timeRange()); windowShape->setParameters(param.taper()); SamplingParameters y=param.ySampling(); switch(param.ySamplingType()) { case LinearFKParameters::Slowness: slowType->setCurrentIndex(0); break; case LinearFKParameters::Velocity: slowType->setCurrentIndex(1); y.inverse(); break; } xSampling->setParameters(param.xSampling()); ySampling->setParameters(y); if(param.normalization().type()==NormalizationParameters::None) { normalizationGroup->setChecked(false); } else { normalizationGroup->setChecked(true); normalization->setParameters(param.normalization()); } frequencySmoothingFactor->setValue(param.frequencySmoothingFactor()); frequencyBandwidth->setValue(param.frequencyBandwidth()); minDistance->setValue(param.minimumDistance()); maxDistance->setValue(param.maximumDistance()); switch(param.beamPowerNormalization()) { case LinearFKParameters::Raw: rawBeamPowerNorm->setChecked(true); break; case LinearFKParameters::Spectrum: spectrumBeamPowerNorm->setChecked(true); break; case LinearFKParameters::Maximum: maxBeamPowerNorm->setChecked(true); break; } hrParamGroup->setChecked(param.highResolution()); if(param.dampingFactor()>0.0) { doDampingFactor->setChecked(true); dampingFactorEdit->setValue(param.dampingFactor()); } else { doDampingFactor->setChecked(false); } }
void ToolLinearFKActived::setSlownessType | ( | ) |
References slowTypeChanged(), QGpCoreTools::tr(), and TRACE.
Referenced by on_slowType_activated(), ToolLinearFKActived(), and ToolLinearFKActive::updateAllFields().
{ TRACE; ySampling->blockSignals(true); if(slowType->currentIndex()==0) { // Slowness ySampling->setUnit(tr(" s/m")); ySampling->setPrecision(5); ySampling->setSingleStep(0.001); ySampling->setAdmissibleRange(1e-99, 1e99); } else { // Velocity ySampling->setUnit(tr(" m/s")); ySampling->setPrecision(0); ySampling->setSingleStep(10.0); ySampling->setAdmissibleRange(1.0, 1e99); } ySampling->blockSignals(false); emit slowTypeChanged(); }
void ToolLinearFKActived::slowTypeChanged | ( | ) | [signal] |
Referenced by setSlownessType().