Classes | |
class | AbstractCondition |
Abstract class to define an arbitrary condition between parameters. More... | |
class | AbstractForward |
Brief description of class still missing. More... | |
class | ActiveModel |
Brief description of class still missing. More... | |
class | ActiveModels |
Brief description of class still missing. More... | |
class | BatchRun |
Brief description of class still missing. More... | |
class | BestModels |
A sorted list (by increasing misfit) of indexes of best models. More... | |
class | DinverCoreObject |
class | DinverInterface |
Abstract interface for all Dinver inversion plugins. More... | |
class | ForwardSignal |
Let forward thread emit a signal at end to wake main loop. More... | |
class | Generator |
Brief description of class still missing. More... | |
class | GeneratorModels |
Brief description of class still missing. More... | |
class | GridSnoop |
Brief description of class still missing. More... | |
class | ImportanceSampling |
Brief description of class still missing. More... | |
class | Model |
Brief description of class still missing. More... | |
class | ModelRepository |
Brief description of class still missing. More... | |
class | ModelSet |
Brief description of class still missing. More... | |
class | Neighborhood |
Brief description of class still missing. More... | |
class | NewModel |
Information about a generated model to be added. More... | |
class | ParamCondition |
Cache to access all conditions including one parameter. More... | |
class | Parameter |
Represents an inversion parameter (range, scaling, conditions) More... | |
class | ParameterGrid |
Brief description of class still missing. More... | |
class | ParamExpressionContext |
class | ParamSpaceScript |
Brief description of class still missing. More... | |
class | ParentIndex |
An active model index with a reference to corresponding GeneratorModels. More... | |
class | PdfCurve |
Brief description of class still missing. More... | |
class | PdfPoint |
Brief description of class still missing. More... | |
class | RealSpace |
Brief description of class still missing. More... | |
class | ReportReader |
class | ReportWriter |
class | ScaledModels |
Brief description of class still missing. More... | |
class | SimpleCondition |
A simple condition p1<a*p2+b. More... | |
class | Simplex |
Brief description of class still missing. More... | |
class | TemporaryDirectory |
Brief description of class still missing. More... | |
class | UniqueRandom |
A thread-safe random integer generator. More... | |
class | VoronoiNavigator |
Brief description of class still missing. More... | |
class | XMLDinver |
Brief description of class still missing. More... | |
class | XMLDinverContext |
Brief description of class still missing. More... | |
class | XMLDinverHeader |
Brief description of class still missing. More... | |
class | XMLVirtualPlugin |
Brief description of class still missing. More... | |
Typedefs | |
typedef AbstractForward * | DinverForward |
Functions | |
void | dinver_add_greater_than_condition (DinverForward forward, int p1Index, float a, int p2Index, float b) |
void | dinver_add_greater_than_condition_ (DinverForward forward, int *p1Index, float *a, int *p2Index, float *b) |
void | dinver_add_less_than_condition (DinverForward forward, int p1Index, float a, int p2Index, float b) |
void | dinver_add_less_than_condition_ (DinverForward forward, int *p1Index, float *a, int *p2Index, float *b) |
void | dinver_forward_ (int *nd, float *model, int *ok, float *misfit) |
void | dinver_init_global_ () |
void | dinver_init_run_ (DinverForward run) |
const char * | dinver_plugin_description () |
const char * | dinver_plugin_tag () |
const char * | dinver_plugin_title () |
const char * | dinver_plugin_version () |
void | dinver_set_parameter_count (DinverForward forward, int n) |
void | dinver_set_parameter_count_ (DinverForward forward, int *n) |
void | dinver_set_range (DinverForward forward, int paramIndex, float min, float max, int scale, float precision) |
void | dinver_set_range_ (DinverForward forward, int *paramIndex, float *min, float *max, int *scale, float *precision) |
const char * | dinvercoreVersion () |
PACKAGE_INFO (DinverCore, DINVERCORE) | |
uint | qHash (const Model &m) |
Variables | |
DinverCoreObject * | dinverCore = 0 |
library
typedef AbstractForward* DinverCore::DinverForward |
void DinverCore::dinver_add_greater_than_condition | ( | DinverForward | forward, |
int | p1Index, | ||
float | a, | ||
int | p2Index, | ||
float | b | ||
) |
Add a simple condition between parameter p1 and p2 for run: p1<a*p2+b
References DinverCore::RealSpace::addCondition(), DinverCore::SimpleCondition::GreaterThan, DinverCore::RealSpace::parameter(), and DinverCore::AbstractForward::parameterSpace().
{
RealSpace& ps=forward->parameterSpace();
Parameter * p1=ps.parameter(p1Index);
Parameter * p2=ps.parameter(p2Index);
ps.addCondition(new SimpleCondition(p1, SimpleCondition::GreaterThan,
Number::toDouble(a), p2, Number::toDouble(b)) );
}
void DinverCore::dinver_add_greater_than_condition_ | ( | DinverForward | forward, |
int * | p1Index, | ||
float * | a, | ||
int * | p2Index, | ||
float * | b | ||
) |
References DinverCore::RealSpace::addCondition(), DinverCore::SimpleCondition::GreaterThan, DinverCore::RealSpace::parameter(), and DinverCore::AbstractForward::parameterSpace().
{
RealSpace& ps=forward->parameterSpace();
Parameter * p1=ps.parameter( *p1Index-1);
Parameter * p2=ps.parameter( *p2Index-1);
ps.addCondition(new SimpleCondition(p1, SimpleCondition::GreaterThan,
Number::toDouble(*a), p2, Number::toDouble(*b)) );
}
void DinverCore::dinver_add_less_than_condition | ( | DinverForward | forward, |
int | p1Index, | ||
float | a, | ||
int | p2Index, | ||
float | b | ||
) |
Add a simple condition between parameter p1 and p2 for run: p1<a*p2+b
References DinverCore::RealSpace::addCondition(), DinverCore::SimpleCondition::LessThan, DinverCore::RealSpace::parameter(), and DinverCore::AbstractForward::parameterSpace().
{
RealSpace& ps=forward->parameterSpace();
Parameter * p1=ps.parameter(p1Index);
Parameter * p2=ps.parameter(p2Index);
ps.addCondition(new SimpleCondition(p1, SimpleCondition::LessThan,
Number::toDouble(a), p2, Number::toDouble(b)) );
}
void DinverCore::dinver_add_less_than_condition_ | ( | DinverForward | forward, |
int * | p1Index, | ||
float * | a, | ||
int * | p2Index, | ||
float * | b | ||
) |
References DinverCore::RealSpace::addCondition(), DinverCore::SimpleCondition::LessThan, DinverCore::RealSpace::parameter(), and DinverCore::AbstractForward::parameterSpace().
{
RealSpace& ps=forward->parameterSpace();
Parameter * p1=ps.parameter( *p1Index-1);
Parameter * p2=ps.parameter( *p2Index-1);
ps.addCondition(new SimpleCondition(p1, SimpleCondition::LessThan,
Number::toDouble(*a), p2, Number::toDouble(*b)) );
}
void DinverCore::dinver_forward_ | ( | int * | nd, |
float * | model, | ||
int * | ok, | ||
float * | misfit | ||
) |
void DinverCore::dinver_init_global_ | ( | ) |
void DinverCore::dinver_init_run_ | ( | DinverForward | run | ) |
const char * DinverCore::dinver_plugin_description | ( | ) |
A (long) user frienly string to describe the plugin. It can be a html string.
Mandatory to define it in a C++ file.
const char * DinverCore::dinver_plugin_tag | ( | ) |
A short name without space and special character to identify the plugin. It must be unique. To get a list of plugin tag: dinver -plugin-list
Mandatory to define it in a C++ file.
const char * DinverCore::dinver_plugin_title | ( | ) |
A brief user frienly string to identify the plugin
Mandatory to define it in a C++ file.
const char * DinverCore::dinver_plugin_version | ( | ) |
A string containing the version of the plugin
Mandatory to define it in a C++ file.
void DinverCore::dinver_set_parameter_count | ( | DinverForward | forward, |
int | n | ||
) |
Set total number of parameters, including the fixed ones (initialized with a null range)
References DinverCore::RealSpace::addParameter(), DinverCore::ParameterGrid::Linear, and DinverCore::AbstractForward::parameterSpace().
{ for(int i=0;i<n;i++) { forward->parameterSpace().addParameter(QString("p%1").arg(i), "", 0.0, 0.0, ParameterGrid::Linear, 0.0); } }
void DinverCore::dinver_set_parameter_count_ | ( | DinverForward | forward, |
int * | n | ||
) |
Set total number of parameters, including the fixed ones (initialized with a null range)
References DinverCore::RealSpace::addParameter(), DinverCore::ParameterGrid::Linear, and DinverCore::AbstractForward::parameterSpace().
{ for(int i=0;i<*n;i++) { forward->parameterSpace().addParameter(QString("p%1").arg(i+1), "", 0.0, 0.0, ParameterGrid::Linear, 0.0); } }
void DinverCore::dinver_set_range | ( | DinverForward | forward, |
int | paramIndex, | ||
float | min, | ||
float | max, | ||
int | scale, | ||
float | precision | ||
) |
Set range of parameter index paramIndex from min to max. scale must be 0 (linear) or 1 (log)
References DinverCore::Parameter::initGrid(), DinverCore::ParameterGrid::Linear, DinverCore::ParameterGrid::Log, DinverCore::RealSpace::parameter(), DinverCore::AbstractForward::parameterSpace(), DinverCore::Parameter::setMaximum(), DinverCore::Parameter::setMinimum(), DinverCore::Parameter::setPrecision(), and DinverCore::Parameter::setScale().
{ Parameter * p; p=forward->parameterSpace().parameter(paramIndex); p->setMinimum(Number::toDouble(min) ); p->setMaximum(Number::toDouble(max) ); if(min>0.0 && scale==1) { p->setScale(ParameterGrid::Log); } else { p->setScale(ParameterGrid::Linear); } p->setPrecision(precision); p->initGrid(); }
void DinverCore::dinver_set_range_ | ( | DinverForward | forward, |
int * | paramIndex, | ||
float * | min, | ||
float * | max, | ||
int * | scale, | ||
float * | precision | ||
) |
References DinverCore::Parameter::initGrid(), DinverCore::ParameterGrid::Linear, DinverCore::ParameterGrid::Log, DinverCore::RealSpace::parameter(), DinverCore::AbstractForward::parameterSpace(), DinverCore::Parameter::setMaximum(), DinverCore::Parameter::setMinimum(), DinverCore::Parameter::setPrecision(), and DinverCore::Parameter::setScale().
{ Parameter * p; p=forward->parameterSpace().parameter( *paramIndex-1); p->setMinimum(Number::toDouble( *min) ); p->setMaximum(Number::toDouble( *max) ); if(*min>0.0 && *scale==1) { p->setScale(ParameterGrid::Log); } else { p->setScale(ParameterGrid::Linear); } p->setPrecision( *precision); p->initGrid(); }
const char* DinverCore::dinvercoreVersion | ( | ) |
{
return DINVERCORE_VERSION;
}
DinverCore::PACKAGE_INFO | ( | DinverCore | , |
DINVERCORE | |||
) |
uint DinverCore::qHash | ( | const Model & | m | ) |
Copied from hash(const uchar *p, int n) in qhash.cpp not accessible through Qt interface.
References DinverCore::Model::data(), and DinverCore::Model::parameterCount().
Referenced by DinverCore::Parameter::checksum(), DinverCore::AbstractCondition::checksum(), MapProject::exportImage(), SciFigs::GraphicObject::exportImage(), SciFigs::GraphicSheet::exportImage(), DinverCore::SimpleCondition::internalChecksum(), QGpGuiTools::ExpandTabWidget::key(), and GeopsyMainWindow::showDBStatus().
{ uint h=0; uint g; int n=sizeof(int)*m.parameterCount(); const uchar * p=reinterpret_cast<const uchar *>(m.data()); while(n--) { h=(h << 4) + *p++; if((g=(h & 0xf0000000))!=0) h ^= g >> 23; h &= ~g; } return h; }
Referenced by DCPlugin::autocorrViewer(), DinverCore::DinverCoreObject::DinverCoreObject(), DCPlugin::dispersionViewer(), DCPlugin::ellipticityViewer(), DCPlugin::groundProfilesViewer(), DCPlugin::magnetoTelluricViewer(), modeImportanceSampling(), modeNeighborhoodOptimization(), modeSnoopOptimization(), TargetListWidget::on_autocorrSet_clicked(), TargetListWidget::on_dispSet_clicked(), TargetListWidget::on_ellCurveSet_clicked(), TargetListWidget::on_ellPeakSet_clicked(), TargetListWidget::on_magnetoTelluricSet_clicked(), TargetListWidget::on_refraVpSet_clicked(), TargetListWidget::on_refraVsSet_clicked(), ThreadLauncher::processFinished(), DCPlugin::refractionVpViewer(), DCPlugin::refractionVsViewer(), SelectPSViewer::result(), DinverCore::BatchRun::setParameters(), DinverCore::BatchRun::setTargets(), DinverCore::XMLDinver::xml_member(), DinverCore::XMLDinver::xml_polishChild(), DinverCore::XMLDinver::xml_setProperty(), DinverCore::XMLDinver::xml_writeChildren(), DinverCore::XMLDinver::xml_writeProperties(), DinverDCGui::DCModelViewer::~DCModelViewer(), and PSViewer::~PSViewer().