From 66a899eab488d2d9f641ba9362a12881b389b3ea Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Wed, 17 Apr 2024 08:34:30 -0300 Subject: [PATCH 01/32] MainWindow: context menu item 'Delete variable' for an Attribute must be the last one following good usability practices. --- mainwindow.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mainwindow.cpp b/mainwindow.cpp index d4a35dae..fd8ff8e0 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -633,10 +633,10 @@ void MainWindow::onProjectContextMenu(const QPoint &mouse_location) makeMenuFlipData(); _projectContextMenu->addMenu( m_subMenuFlipData ); } - if( Util::isIn( parent_file->getFileType(), {"POINTSET","CARTESIANGRID","SEGMENTSET"} ) ) - _projectContextMenu->addAction("Delete variable", this, SLOT(onDeleteVariable())); if( _right_clicked_attribute->isCategorical() ) _projectContextMenu->addAction("Make facies transition matrix", this, SLOT(onMakeFaciesTransitionMatrix())); + if( Util::isIn( parent_file->getFileType(), {"POINTSET","CARTESIANGRID","SEGMENTSET"} ) ) + _projectContextMenu->addAction("Delete variable", this, SLOT(onDeleteVariable())); } //two items were selected. The context menu depends on the combination of items. } else if ( selected_indexes.size() == 2 ) { From c5bf49f3333290f50e8bd0c738a47de34e578288 Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Wed, 17 Apr 2024 13:22:06 -0300 Subject: [PATCH 02/32] LineChartWidget: new method: setLegendVisible(). --- widgets/linechartwidget.cpp | 8 ++++++++ widgets/linechartwidget.h | 5 +++++ 2 files changed, 13 insertions(+) diff --git a/widgets/linechartwidget.cpp b/widgets/linechartwidget.cpp index 5ddceb44..1671aecc 100644 --- a/widgets/linechartwidget.cpp +++ b/widgets/linechartwidget.cpp @@ -138,3 +138,11 @@ void LineChartWidget::setXaxisCaption(const QString caption) { m_axisX->setTitleText( caption ); } + +void LineChartWidget::setLegendVisible(const bool value) +{ + if( value ) + m_chart->legend()->show(); + else + m_chart->legend()->hide(); +} diff --git a/widgets/linechartwidget.h b/widgets/linechartwidget.h index bc36b56c..ece2385d 100644 --- a/widgets/linechartwidget.h +++ b/widgets/linechartwidget.h @@ -69,6 +69,11 @@ class LineChartWidget : public QWidget */ void setXaxisCaption( const QString caption ); + /** + * Shows or hides the chart legend (default is true). Takes effect upon calling. + */ + void setLegendVisible( const bool value ); + private: Ui::LineChartWidget *ui; From 6876bee71c9e6ea14e71787eb1c57b5c8df6d364 Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Wed, 17 Apr 2024 13:28:55 -0300 Subject: [PATCH 03/32] LineChartWidget: corrected Doxygen documentation. --- widgets/linechartwidget.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/widgets/linechartwidget.h b/widgets/linechartwidget.h index ece2385d..6ae209ad 100644 --- a/widgets/linechartwidget.h +++ b/widgets/linechartwidget.h @@ -60,7 +60,7 @@ class LineChartWidget : public QWidget void setSharedYaxis( bool value ){ m_sharedYaxis = value; } /** - * Sets the chart's title. The new title becomes effective after the next call to setData(). + * Sets the chart's title. Takes effect upon calling. */ void setChartTitle( const QString chartTitle ); From 783c28f3f833a2ab7d8026d9dccb82905b131ecb Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Wed, 17 Apr 2024 13:55:58 -0300 Subject: [PATCH 04/32] LineChartWidget: new property: m_swapXY which allows displaying X values to the left and Y values to the bottom of the chart. --- widgets/linechartwidget.cpp | 15 +++++++++++---- widgets/linechartwidget.h | 4 +++- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/widgets/linechartwidget.cpp b/widgets/linechartwidget.cpp index 1671aecc..3d9c8fc3 100644 --- a/widgets/linechartwidget.cpp +++ b/widgets/linechartwidget.cpp @@ -7,10 +7,11 @@ #include -LineChartWidget::LineChartWidget(QWidget *parent) : +LineChartWidget::LineChartWidget(QWidget *parent, bool swapXY) : QWidget(parent), ui(new Ui::LineChartWidget), - m_sharedYaxis(false) + m_sharedYaxis(false), + m_swapXY(swapXY) { ui->setupUi(this); @@ -25,7 +26,10 @@ LineChartWidget::LineChartWidget(QWidget *parent) : //add the horizontal axis m_axisX = new QtCharts::QValueAxis(); - m_chart->addAxis(m_axisX, Qt::AlignBottom); + if( ! m_swapXY ) + m_chart->addAxis(m_axisX, Qt::AlignBottom); + else + m_chart->addAxis(m_axisX, Qt::AlignLeft); m_series->attachAxis(m_axisX); m_axisX->setTickCount(11); @@ -111,7 +115,10 @@ void LineChartWidget::setData(const std::vector > &data, if( ! m_sharedYaxis || ! axisY ){ axisY = new QtCharts::QValueAxis(); axisY->setTickCount(11); - m_chart->addAxis(axisY, Qt::AlignLeft); + if( ! m_swapXY ) + m_chart->addAxis(axisY, Qt::AlignLeft); + else + m_chart->addAxis(axisY, Qt::AlignBottom); } axisY->setRange( minY, maxY ); series->attachAxis( axisY ); diff --git a/widgets/linechartwidget.h b/widgets/linechartwidget.h index 6ae209ad..2349238e 100644 --- a/widgets/linechartwidget.h +++ b/widgets/linechartwidget.h @@ -23,9 +23,10 @@ class LineChartWidget : public QWidget /** * Displays a multivariate line chart with a shared X-axis. * The Y-axis can be shared or one per Y variable + * @param swapXY Sets whether to display X values to the left and Y values to the bottom. * @see setSharedYaxis() */ - explicit LineChartWidget(QWidget *parent = nullptr); + explicit LineChartWidget( QWidget *parent = nullptr, bool swapXY = false ); ~LineChartWidget(); /** @@ -83,6 +84,7 @@ class LineChartWidget : public QWidget QtCharts::QValueAxis *m_axisX; bool m_sharedYaxis; + bool m_swapXY; }; From 0a0a2b915530e3dc1fb6b051cc5205a5f5c7e4d1 Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Wed, 17 Apr 2024 15:37:29 -0300 Subject: [PATCH 05/32] Introducing the new class: geometry/BoundingBox. --- geometry/boundingbox.cpp | 6 ++++++ geometry/boundingbox.h | 20 ++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 geometry/boundingbox.cpp create mode 100644 geometry/boundingbox.h diff --git a/geometry/boundingbox.cpp b/geometry/boundingbox.cpp new file mode 100644 index 00000000..cb0c7c4f --- /dev/null +++ b/geometry/boundingbox.cpp @@ -0,0 +1,6 @@ +#include "boundingbox.h" + +BoundingBox::BoundingBox() +{ + +} diff --git a/geometry/boundingbox.h b/geometry/boundingbox.h new file mode 100644 index 00000000..66d760a6 --- /dev/null +++ b/geometry/boundingbox.h @@ -0,0 +1,20 @@ +#ifndef BOUNDINGBOX_H +#define BOUNDINGBOX_H + + +/** + * The BoundingBox class represents the spatial extent of some geometric object. + */ +class BoundingBox +{ +public: + BoundingBox(); + + double getXsize() const { return m_maxX - m_minX; } + double getYsize() const { return m_maxY - m_minY; } + double getZsize() const { return m_maxZ - m_minZ; } + + double m_minX, m_minY, m_minZ, m_maxX, m_maxY, m_maxZ; +}; + +#endif // BOUNDINGBOX_H From 7b5ca01be8e30d1ac233eda17f14dd931460a8c0 Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Wed, 17 Apr 2024 15:38:20 -0300 Subject: [PATCH 06/32] DataFile: new method in its API: getBoundingBox(). --- domain/datafile.cpp | 10 +++++++++- domain/datafile.h | 5 +++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/domain/datafile.cpp b/domain/datafile.cpp index 2d0450b9..d850cdd4 100644 --- a/domain/datafile.cpp +++ b/domain/datafile.cpp @@ -29,6 +29,7 @@ #include "algorithms/ialgorithmdatasource.h" #include "calculator/icalcproperty.h" #include "geogrid.h" +#include "geometry/boundingbox.h" /****************************** THE DATASOURCE INTERFACE TO THE ALGORITHM CLASSES * ****************************/ @@ -734,7 +735,14 @@ void DataFile::setCategorical(uint variableIndex, const CategoryDefinition *cd) void DataFile::probe(double pickedX, double pickedY, double pickedZ, Attribute *targetAttribute) { Application::instance()->logWarn( "DataFile::probe(): Default implementation called. Objects of type " - + getTypeName() + " must implement one according to their particular characteristics. Probe information is limited." ); + + getTypeName() + " must implement one according to their particular characteristics. Probe information is limited." ); +} + +BoundingBox DataFile::getBoundingBox() const +{ + Application::instance()->logError( "DataFile::getBoundingBox(): Default implementation called. Objects of type " + + getTypeName() + " must implement one according to their particular geometry.", true ); + return BoundingBox(); } void DataFile::replacePhysicalFile(const QString from_file_path) diff --git a/domain/datafile.h b/domain/datafile.h index 0fc3359a..3a5545ab 100644 --- a/domain/datafile.h +++ b/domain/datafile.h @@ -14,6 +14,7 @@ class Attribute; class UnivariateCategoryClassification; class CategoryDefinition; class IAlgorithmDataSource; +class BoundingBox; enum class CartesianCoord : int { X, @@ -446,6 +447,10 @@ class DataFile : public File, public ICalcPropertyCollection */ virtual bool isGridded() const = 0; + /** Returns the spatial extent of the object represented by this data file. + */ + virtual BoundingBox getBoundingBox( ) const; + //File interface virtual void deleteFromFS(); virtual void writeToFS(); From 5bbdcf0d399ae5d246b0c4ccc286c2af534c0adc Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Wed, 17 Apr 2024 19:36:00 -0300 Subject: [PATCH 07/32] BoundingBox: new constructor initializing all members and new methods to compute the box's center XYZ coordinates. --- geometry/boundingbox.cpp | 12 ++++++++++-- geometry/boundingbox.h | 7 +++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/geometry/boundingbox.cpp b/geometry/boundingbox.cpp index cb0c7c4f..57e632b8 100644 --- a/geometry/boundingbox.cpp +++ b/geometry/boundingbox.cpp @@ -1,6 +1,14 @@ #include "boundingbox.h" BoundingBox::BoundingBox() -{ +{} -} +BoundingBox::BoundingBox(double minX, double minY, double minZ, + double maxX, double maxY, double maxZ) : + m_minX(minX), + m_minY(minY), + m_minZ(minZ), + m_maxX(maxX), + m_maxY(maxY), + m_maxZ(maxZ) +{} diff --git a/geometry/boundingbox.h b/geometry/boundingbox.h index 66d760a6..72dab177 100644 --- a/geometry/boundingbox.h +++ b/geometry/boundingbox.h @@ -10,10 +10,17 @@ class BoundingBox public: BoundingBox(); + BoundingBox(double minX, double minY, double minZ, + double maxX, double maxY, double maxZ); + double getXsize() const { return m_maxX - m_minX; } double getYsize() const { return m_maxY - m_minY; } double getZsize() const { return m_maxZ - m_minZ; } + double getCenterX() const { return (m_maxX+m_minX)/2; } + double getCenterY() const { return (m_maxY+m_minY)/2; } + double getCenterZ() const { return (m_maxZ+m_minZ)/2; } + double m_minX, m_minY, m_minZ, m_maxX, m_maxY, m_maxZ; }; From ed65abf87c3c85e11105eef35cb7a57a85b420bc Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Wed, 17 Apr 2024 19:37:18 -0300 Subject: [PATCH 08/32] Introducing a new spatial search neighborhood: the SearchBox class with the geometry of a 3D box. --- geostats/searchbox.cpp | 31 +++++++++++++++++++++++++++++++ geostats/searchbox.h | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 geostats/searchbox.cpp create mode 100644 geostats/searchbox.h diff --git a/geostats/searchbox.cpp b/geostats/searchbox.cpp new file mode 100644 index 00000000..e9ff1e3b --- /dev/null +++ b/geostats/searchbox.cpp @@ -0,0 +1,31 @@ +#include "searchbox.h" + +SearchBox::SearchBox( const BoundingBox& boundingBox ) : + m_boundingBox( boundingBox ) +{ + +} + +void SearchBox::getBBox(double centerX, double centerY, double centerZ, + double &minX, double &minY, double &minZ, + double &maxX, double &maxY, double &maxZ) const +{ + double semiWidth = m_boundingBox.getXsize() / 2; + double semiLength = m_boundingBox.getYsize() / 2; + double semiHeight = m_boundingBox.getZsize() / 2; + minX = centerX - semiWidth; + maxX = centerX + semiWidth; + minY = centerY - semiLength; + maxY = centerY + semiLength; + minZ = centerZ - semiHeight; + maxZ = centerZ + semiHeight; +} + +bool SearchBox::isInside(double centerX, double centerY, double centerZ, + double x, double y, double z) const +{ + double minX, minY, minZ, maxX, maxY, maxZ; + //the geometry for inside test of a search box is exactly its bounding box + getBBox( centerX, centerY, centerZ, minX, minY, minZ, maxX, maxY, maxZ ); + return ( x >= minX && x <= maxX && y >= minY && y <= maxY && z >= minZ && z <= maxZ ); +} diff --git a/geostats/searchbox.h b/geostats/searchbox.h new file mode 100644 index 00000000..1db1e49d --- /dev/null +++ b/geostats/searchbox.h @@ -0,0 +1,39 @@ +#ifndef SEARCHBOX_H +#define SEARCHBOX_H + +#include "geometry/boundingbox.h" +#include "geostats/searchneighborhood.h" + +/** + * The SearchBox class represents a search neighborhood with the shape of a 3D box. + */ +class SearchBox : public SearchNeighborhood +{ +public: + + SearchBox( const BoundingBox& boundingBox ); + + /** Move constructor. */ + SearchBox( SearchBox&& right_hand_side ); + + + ////-------------SearchNeighborhood interface------------------------------------------ + virtual void getBBox( double centerX, double centerY, double centerZ, + double& minX, double& minY, double& minZ, + double& maxX, double& maxY, double& maxZ ) const; + + virtual bool isInside(double centerX, double centerY, double centerZ, + double x, double y, double z ) const; + + virtual bool hasSpatialFiltering() const { return false; } + + virtual void performSpatialFilter( double centerX, double centerY, double centerZ, + std::vector< IndexedSpatialLocationPtr >& samplesLocations, + const SearchStrategy& parentSearchStrategy ) const {} + ////------------------------------------------------------------------------------------- + + + BoundingBox m_boundingBox; +}; + +#endif // SEARCHBOX_H From d6ad204c4a463b61b7e06b4ce8c42f371dcc87d5 Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Wed, 17 Apr 2024 19:39:55 -0300 Subject: [PATCH 09/32] WIP: NEW FEATURE: Drift analysis. --- GammaRay.pro | 9 ++ dialogs/driftanalysisdialog.cpp | 111 +++++++++++++ dialogs/driftanalysisdialog.h | 34 ++++ dialogs/driftanalysisdialog.ui | 267 ++++++++++++++++++++++++++++++++ geostats/driftanalysis.cpp | 184 ++++++++++++++++++++++ geostats/driftanalysis.h | 85 ++++++++++ mainwindow.cpp | 13 ++ mainwindow.h | 1 + 8 files changed, 704 insertions(+) create mode 100644 dialogs/driftanalysisdialog.cpp create mode 100644 dialogs/driftanalysisdialog.h create mode 100644 dialogs/driftanalysisdialog.ui create mode 100644 geostats/driftanalysis.cpp create mode 100644 geostats/driftanalysis.h diff --git a/GammaRay.pro b/GammaRay.pro index a779a1df..46b1db51 100644 --- a/GammaRay.pro +++ b/GammaRay.pro @@ -36,6 +36,7 @@ win32 { SOURCES += main.cpp\ dialogs/choosevariabledialog.cpp \ dialogs/contactanalysisdialog.cpp \ + dialogs/driftanalysisdialog.cpp \ dialogs/faciestransitionmatrixoptionsdialog.cpp \ dialogs/gridrepositiondialog.cpp \ dialogs/listbuilderdialog.cpp \ @@ -47,13 +48,16 @@ SOURCES += main.cpp\ domain/auxiliary/verticalproportioncurvemaker.cpp \ domain/section.cpp \ domain/verticalproportioncurve.cpp \ + geometry/boundingbox.cpp \ geometry/intersectionfinder.cpp \ geometry/quadrilateral.cpp \ geometry/triangle.cpp \ geostats/contactanalysis.cpp \ + geostats/driftanalysis.cpp \ geostats/mcmcdataimputation.cpp \ geostats/searchannulus.cpp \ geostats/searchannulusstratigraphic.cpp \ + geostats/searchbox.cpp \ geostats/searchsphericalshell.cpp \ geostats/searchverticaldumbbell.cpp \ geostats/searchwasher.cpp \ @@ -316,6 +320,7 @@ SOURCES += main.cpp\ HEADERS += mainwindow.h \ dialogs/choosevariabledialog.h \ dialogs/contactanalysisdialog.h \ + dialogs/driftanalysisdialog.h \ dialogs/faciestransitionmatrixoptionsdialog.h \ dialogs/gridrepositiondialog.h \ dialogs/listbuilderdialog.h \ @@ -332,13 +337,16 @@ HEADERS += mainwindow.h \ domain/projectroot.h \ domain/section.h \ domain/verticalproportioncurve.h \ + geometry/boundingbox.h \ geometry/intersectionfinder.h \ geometry/quadrilateral.h \ geometry/triangle.h \ geostats/contactanalysis.h \ + geostats/driftanalysis.h \ geostats/mcmcdataimputation.h \ geostats/searchannulus.h \ geostats/searchannulusstratigraphic.h \ + geostats/searchbox.h \ geostats/searchsphericalshell.h \ geostats/searchverticaldumbbell.h \ geostats/searchwasher.h \ @@ -604,6 +612,7 @@ HEADERS += mainwindow.h \ FORMS += mainwindow.ui \ dialogs/choosevariabledialog.ui \ dialogs/contactanalysisdialog.ui \ + dialogs/driftanalysisdialog.ui \ dialogs/faciestransitionmatrixoptionsdialog.ui \ dialogs/gridrepositiondialog.ui \ dialogs/listbuilderdialog.ui \ diff --git a/dialogs/driftanalysisdialog.cpp b/dialogs/driftanalysisdialog.cpp new file mode 100644 index 00000000..97444d2b --- /dev/null +++ b/dialogs/driftanalysisdialog.cpp @@ -0,0 +1,111 @@ +#include "driftanalysisdialog.h" +#include "ui_driftanalysisdialog.h" + +#include "domain/attribute.h" +#include "domain/application.h" +#include "domain/datafile.h" +#include "geostats/driftanalysis.h" +#include "widgets/linechartwidget.h" + +#include + +DriftAnalysisDialog::DriftAnalysisDialog(DataFile *dataFile, Attribute *attribute, QWidget *parent) : + QDialog(parent), + ui(new Ui::DriftAnalysisDialog), + m_dataFile(dataFile), + m_attribute(attribute) +{ + ui->setupUi(this); + + this->setWindowTitle("Drift Analysis"); + + ui->lblDataFile->setText("" + m_dataFile->getName() + ""); + ui->lblAttribute->setText("" + m_attribute->getName() + ""); + + m_chartWestEast = new LineChartWidget(); + m_chartWestEast ->setLegendVisible( false ); + m_chartSouthNorth = new LineChartWidget(); + m_chartSouthNorth->setLegendVisible( false ); + m_chartVertical = new LineChartWidget(nullptr, true); + m_chartVertical ->setLegendVisible( false ); + + ui->grpWEdrift->layout()->addWidget( m_chartWestEast ); + ui->grpSNdrift->layout()->addWidget( m_chartSouthNorth ); + ui->grpVerticalDrift->layout()->addWidget( m_chartVertical ); + + //if data set is not 3D, hide the vertical drift chart + if( ! m_dataFile->isTridimensional() ) + ui->grpVerticalDrift->hide(); +} + +DriftAnalysisDialog::~DriftAnalysisDialog() +{ + delete ui; +} + +void DriftAnalysisDialog::onRun() +{ + DriftAnalysis driftAnalysis; + driftAnalysis.setAttribute( m_attribute ); + driftAnalysis.setInputDataFile( m_dataFile ); + driftAnalysis.setNumberOfSteps( ui->spinNumberOfSteps->value() ); + + if( ! driftAnalysis.run() ) { + + Application::instance()->logError("DriftAnalysisDialog::onRun(): failed execution:"); + Application::instance()->logError(" " + driftAnalysis.getLastError()); + QMessageBox::critical( this, "Error", "Drift analysis failed. Further details in the message panel." ); + + } else { //if the drift analysis completed successfully + + //shortcut for the STL's not-a-number value. + const double NaN = std::numeric_limits::quiet_NaN(); + + //get the drift analysis results + std::vector< std::pair< DriftAnalysis::coordX, DriftAnalysis::Mean > > + resultsWestEast = driftAnalysis.getResultsWestEast(); + std::vector< std::pair< DriftAnalysis::coordY, DriftAnalysis::Mean > > + resultsSouthNorth = driftAnalysis.getResultsSouthNorth(); + std::vector< std::pair< DriftAnalysis::coordZ, DriftAnalysis::Mean > > + resultsVertical = driftAnalysis.getResultsVertical(); + + //prepare data points for the three chart plotting + //outer vector: the series of multivariate data + //inner vectors: each multivariate datum (each element is a X, Y1, Y2,... value). + std::vector< std::vector > chartDataWestEast; + std::vector< std::vector > chartDataSouthNorth; + std::vector< std::vector > chartDataVertical; + + //traverse the results to fill the three chart data vectors + for( const std::pair< DriftAnalysis::coordX, DriftAnalysis::Mean >& result : resultsWestEast ) + chartDataWestEast.push_back( { result.first, result.second } ); + for( const std::pair< DriftAnalysis::coordY, DriftAnalysis::Mean >& result : resultsSouthNorth ) + chartDataWestEast.push_back( { result.first, result.second } ); + for( const std::pair< DriftAnalysis::coordZ, DriftAnalysis::Mean >& result : resultsVertical ) + chartDataWestEast.push_back( { result.first, result.second } ); + + //get some properties of the domain categories relevant to make + //the chart informative + QColor colorWestEast = QColorConstants::Red; + QColor colorSouthNorth = QColorConstants::DarkGreen; + QColor colorVertical = QColorConstants::DarkBlue; + + //display the results + m_chartWestEast->setData( chartDataWestEast, 0, + {{}}, + {{1, "mean " + m_attribute->getName() }}, + {{1, colorWestEast}} ); + m_chartWestEast->setXaxisCaption( "Easting" ); + m_chartSouthNorth->setData( chartDataSouthNorth, 0, + {{}}, + {{1, "mean " + m_attribute->getName() }}, + {{1, colorSouthNorth}} ); + m_chartSouthNorth->setXaxisCaption( "Northing" ); + m_chartVertical->setData( chartDataVertical, 0, + {{}}, + {{1, "mean " + m_attribute->getName() }}, + {{1, colorVertical}} ); + m_chartVertical->setXaxisCaption( "Z" ); + + } +} diff --git a/dialogs/driftanalysisdialog.h b/dialogs/driftanalysisdialog.h new file mode 100644 index 00000000..ec9964da --- /dev/null +++ b/dialogs/driftanalysisdialog.h @@ -0,0 +1,34 @@ +#ifndef DRIFTANALYSISDIALOG_H +#define DRIFTANALYSISDIALOG_H + +#include + +class DataFile; +class Attribute; +class LineChartWidget; + +namespace Ui { +class DriftAnalysisDialog; +} + +class DriftAnalysisDialog : public QDialog +{ + Q_OBJECT + +public: + explicit DriftAnalysisDialog(DataFile* dataFile, Attribute* attribute, QWidget *parent = nullptr); + ~DriftAnalysisDialog(); + +private: + Ui::DriftAnalysisDialog *ui; + DataFile* m_dataFile; + Attribute* m_attribute; + LineChartWidget* m_chartWestEast; + LineChartWidget* m_chartSouthNorth; + LineChartWidget* m_chartVertical; + +private Q_SLOTS: + void onRun(); +}; + +#endif // DRIFTANALYSISDIALOG_H diff --git a/dialogs/driftanalysisdialog.ui b/dialogs/driftanalysisdialog.ui new file mode 100644 index 00000000..f619320d --- /dev/null +++ b/dialogs/driftanalysisdialog.ui @@ -0,0 +1,267 @@ + + + DriftAnalysisDialog + + + + 0 + 0 + 685 + 459 + + + + Dialog + + + + + + QLayout::SetDefaultConstraint + + + + + + 0 + 0 + + + + data file + + + + + + + + 0 + 0 + + + + variable + + + + + + + + 0 + 0 + + + + Drift analysis on: + + + + + + + + 0 + 0 + + + + variable: + + + + + + + number of steps: + + + + + + + 5 + + + 999 + + + 20 + + + + + + + + + + 0 + 0 + + + + Qt::Horizontal + + + + + 0 + 0 + + + + W-E drift + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + 0 + 0 + + + + S-N drift + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + 0 + 0 + + + + vertical drift + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + + + + Run + + + true + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Dismiss + + + + + + + + + + + btnDismiss + clicked() + DriftAnalysisDialog + reject() + + + 674 + 448 + + + 391 + 337 + + + + + btnRun + clicked() + DriftAnalysisDialog + onRun() + + + 72 + 442 + + + 115 + 438 + + + + + + onRun() + + diff --git a/geostats/driftanalysis.cpp b/geostats/driftanalysis.cpp new file mode 100644 index 00000000..a11451f5 --- /dev/null +++ b/geostats/driftanalysis.cpp @@ -0,0 +1,184 @@ +#include "driftanalysis.h" + +#include "domain/attribute.h" +#include "domain/cartesiangrid.h" +#include "domain/datafile.h" +#include "domain/geogrid.h" +#include "domain/pointset.h" +#include "domain/segmentset.h" +#include "geometry/boundingbox.h" +#include "geostats/searchbox.h" +#include "geostats/searchstrategy.h" +#include "spatialindex/spatialindex.h" + +#include +#include + +DriftAnalysis::DriftAnalysis() : + m_inputDataFile(nullptr), + m_attribute(nullptr), + m_NumberOfSteps(2), + m_lastError(""), + m_inputDataType( DataSetType::UNDEFINED ) +{} + +// getters and setters +DataFile *DriftAnalysis::getInputDataFile() const{return m_inputDataFile;} +void DriftAnalysis::setInputDataFile(DataFile *inputDataFile){ m_inputDataFile = inputDataFile;} +Attribute *DriftAnalysis::getAttribute() const{ return m_attribute;} +void DriftAnalysis::setAttribute(Attribute *attribute){ m_attribute = attribute;} +uint16_t DriftAnalysis::getNumberOfSteps() const{ return m_NumberOfSteps;} +void DriftAnalysis::setNumberOfSteps(const uint16_t &numberOfSteps){ m_NumberOfSteps = numberOfSteps;} +QString DriftAnalysis::getLastError() const{ return m_lastError;} +std::vector > DriftAnalysis::getResultsWestEast() const{ return m_resultsWestEast;} +std::vector > DriftAnalysis::getResultsSouthNorth() const{ return m_resultsSouthNorth;} +std::vector > DriftAnalysis::getResultsVertical() const{ return m_resultsVertical;} + +bool DriftAnalysis::run() +{ + //assuming the algorithm will finish normally + m_lastError = ""; + + //check whether everything is ok to run + if( ! isOKtoRun() ) + return false; + + //make sure the results vectors are empty + m_resultsVertical.clear(); + m_resultsWestEast.clear(); + m_resultsSouthNorth.clear(); + + //load the input data file + m_inputDataFile->loadData(); + + //get the data file column index corresponding to the categorcial attribute with the domains + uint indexOfVariable = m_inputDataFile->getFieldGEOEASIndex( m_attribute->getName() ) - 1; + if( indexOfVariable > m_inputDataFile->getDataColumnCount() ){ + m_lastError = "Error getting the data file column index of the categorical attribute with the domains."; + return false; + } + + //determine the type of the input data set once (avoid repetitive calls to the slow File::getFileType()) + //define a cell object that represents the current simulation cell. Also construct a data cell concrete object + //depending on the input data set type. + if( m_inputDataFile->getFileType() == "POINTSET" ) + m_inputDataType = DataSetType::POINTSET; + else if( m_inputDataFile->getFileType() == "CARTESIANGRID" ) + m_inputDataType = DataSetType::CARTESIANGRID; + else if( m_inputDataFile->getFileType() == "GEOGRID" ) + m_inputDataType = DataSetType::GEOGRID; + else if( m_inputDataFile->getFileType() == "SEGMENTSET" ) + m_inputDataType = DataSetType::SEGMENTSET; + else { + m_inputDataType = DataSetType::UNDEFINED; + m_lastError = "Input data type not currently supported:" + m_inputDataFile->getFileType(); + return false; + } + + //build the spatial index + SpatialIndex spatialIndex; + { + ////////////////////////////////// + QProgressDialog progressDialog; + progressDialog.show(); + progressDialog.setLabelText("Building spatial index..."); + progressDialog.setMinimum(0); + progressDialog.setValue(0); + progressDialog.setMaximum( 0 ); + QApplication::processEvents(); + ////////////////////////////////// + //the spatial index is filled differently depending on the type of the input data set + if( m_inputDataFile->getFileType() == "POINTSET" ){ + PointSet* psAspect = dynamic_cast( m_inputDataFile ); + spatialIndex.fill( psAspect, 0.1 ); + } else if ( m_inputDataFile->getFileType() == "SEGMENTSET") { + SegmentSet* ssAspect = dynamic_cast( m_inputDataFile ); + spatialIndex.fill( ssAspect, 0.1 ); //use cell size as tolerance + } else if ( m_inputDataFile->getFileType() == "CARTESIANGRID") { + CartesianGrid* cgAspect = dynamic_cast( m_inputDataFile ); + spatialIndex.fill( cgAspect ); + } else if ( m_inputDataFile->getFileType() == "GEOGRID") { + GeoGrid* ggAspect = dynamic_cast( m_inputDataFile ); + spatialIndex.fillWithCenters( ggAspect, 0.0001 ); + } else { + m_lastError = "Internal error building spatial index: input data of type " + m_inputDataFile->getFileType() + " are not currently supported."; + return false; + } + } + + //determine the total number of processing steps (#of lags X #of samples) + int total_steps = m_NumberOfSteps * ( m_inputDataFile->isTridimensional() ? 3 : 2 ); + + //configure and display a progress bar for the simulation task + ////////////////////////////////// + QProgressDialog progressDialog; + progressDialog.show(); + progressDialog.setLabelText("Running contact analysis..."); + progressDialog.setMinimum(0); + progressDialog.setValue(0); + progressDialog.setMaximum( total_steps ); + ///////////////////////////////// + + //this is to keep track of processing progress to update the progress bar + int total_done_so_far = 0; + + //get the spatial extent of the data file + BoundingBox bbox = m_inputDataFile->getBoundingBox(); + + //get the spatial sizes of the data along the three axes + double sizeWE = bbox.getXsize(); + double sizeSN = bbox.getYsize(); + double sizeVertical = bbox.getZsize(); + + //compute drift along West->East diretcion (x axis). + for( int iSlice = 0; iSlice < m_NumberOfSteps; iSlice++, total_done_so_far++ ){ + double sliceMin = bbox.m_minX + iSlice * sizeWE; + double sliceMax = sliceMin + sizeWE; + + //build a search strategy for current slice + SearchStrategyPtr searchStrategy; + { + SearchNeighborhoodPtr searchNeighborhood( + new SearchBox( { sliceMin, sliceMax, + -std::numeric_limits::max(), std::numeric_limits::max(), + -std::numeric_limits::max(), std::numeric_limits::max() } ) ); + searchStrategy.reset( new SearchStrategy( searchNeighborhood, std::numeric_limits::max(), 0.0, 1 ) ); + } + + progressDialog.setValue( total_done_so_far ); //update the progress bar + QApplication::processEvents(); //let Qt repaint its widgets + } + + return true; +} + +bool DriftAnalysis::isOKtoRun() +{ + //assuming everything is ok + m_lastError = ""; + + if( ! m_attribute ){ + m_lastError = "Attribute not provided."; + return false; + } + + if( ! m_inputDataFile ){ + m_lastError = "Input data file not provided."; + return false; + } else { + DataFile* dataFile = dynamic_cast( m_attribute->getContainingFile() ); + if( ! dataFile ) { + m_lastError = "Make sure the attributes have a valid parent data file."; + return false; + } + } + + if( m_NumberOfSteps < 2 ){ + m_lastError = "Number of steps must be 2 or more."; + return false; + } + + return true; +} + + diff --git a/geostats/driftanalysis.h b/geostats/driftanalysis.h new file mode 100644 index 00000000..fa2fba9c --- /dev/null +++ b/geostats/driftanalysis.h @@ -0,0 +1,85 @@ +#ifndef DRIFTANALYSIS_H +#define DRIFTANALYSIS_H + +#include "util.h" + +#include + +#include + +class DataFile; +class Attribute; + +class DriftAnalysis +{ +public: + + typedef double coordX; + typedef double coordY; + typedef double coordZ; + typedef double Mean; + + DriftAnalysis(); + + //@{ + /** The input dataset. */ + DataFile *getInputDataFile() const; + void setInputDataFile(DataFile *inputDataFile); + //@} + + //@{ + /** The input variable. */ + Attribute *getAttribute() const; + void setAttribute(Attribute *attribute); + //@} + + //@{ + /** The number of steps in which divide the south-north, west-east and vertical extents. + * The greater this number, the greater the resolution of the output data. + */ + uint16_t getNumberOfSteps() const; + void setNumberOfSteps(const uint16_t &numberOfSteps); + //@} + + /** The input dataset. */ + QString getLastError() const; + + //@{ + /** The results of the drift analysis. */ + std::vector< std::pair< DriftAnalysis::coordX, DriftAnalysis::Mean > > getResultsWestEast() const; + std::vector< std::pair< DriftAnalysis::coordY, DriftAnalysis::Mean > > getResultsSouthNorth() const; + std::vector< std::pair< DriftAnalysis::coordZ, DriftAnalysis::Mean > > getResultsVertical() const; + //@} + + /** Executes the algorithm. isOKtoRun() is called to check whether all parameters are set properly. + * @return True if the algorithm finishes without issues (check getLastError() otherwise). + */ + bool run(); + +private: + + /** + * Verifies whether everything is correct to execute the algorithm. + * If any, the reason for last check failure must be checked with getLastError(). + * This is called by run(). + * @return True if the algorithm is all set to start. + */ + bool isOKtoRun(); + + //-------------agorithm parameters------------- + DataFile* m_inputDataFile; + Attribute* m_attribute; + uint16_t m_NumberOfSteps; + //--------------------------------------------- + + QString m_lastError; + DataSetType m_inputDataType; + + //stores the drift analysis results, that is, pairs of X/Y/Z values and mean of + //the input variable in the three directions (vertical will be empty for 2D datasets). + std::vector< std::pair< DriftAnalysis::coordX, DriftAnalysis::Mean > > m_resultsWestEast; + std::vector< std::pair< DriftAnalysis::coordY, DriftAnalysis::Mean > > m_resultsSouthNorth; + std::vector< std::pair< DriftAnalysis::coordZ, DriftAnalysis::Mean > > m_resultsVertical; +}; + +#endif // DRIFTANALYSIS_H diff --git a/mainwindow.cpp b/mainwindow.cpp index fd8ff8e0..d8b7fb2e 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -93,6 +93,7 @@ #include "dialogs/subgriddialog.h" #include "dialogs/gridrepositiondialog.h" #include "dialogs/contactanalysisdialog.h" +#include "dialogs/driftanalysisdialog.h" #include "vertpropcurves/verticalproportioncurvedialog.h" #include "viewer3d/view3dwidget.h" #include "imagejockey/imagejockeydialog.h" @@ -635,6 +636,7 @@ void MainWindow::onProjectContextMenu(const QPoint &mouse_location) } if( _right_clicked_attribute->isCategorical() ) _projectContextMenu->addAction("Make facies transition matrix", this, SLOT(onMakeFaciesTransitionMatrix())); + _projectContextMenu->addAction("Drift analysis", this, SLOT(onPerformDriftAnalysis())); if( Util::isIn( parent_file->getFileType(), {"POINTSET","CARTESIANGRID","SEGMENTSET"} ) ) _projectContextMenu->addAction("Delete variable", this, SLOT(onDeleteVariable())); } @@ -1509,6 +1511,17 @@ void MainWindow::onPerformContactAnaysis() } } +void MainWindow::onPerformDriftAnalysis() +{ + DataFile* df = dynamic_cast( _right_clicked_attribute->getContainingFile() ); + if( ! df ){ + QMessageBox::critical(this, "Error", "File is not a data file."); + return; + } + DriftAnalysisDialog* dag = new DriftAnalysisDialog(df, _right_clicked_attribute, this); + dag->show(); +} + void MainWindow::openTransiographyBayesian() { TransiogramBandDialog* tbd = new TransiogramBandDialog( nullptr, nullptr, this ); diff --git a/mainwindow.h b/mainwindow.h index 16f25b9e..d8510163 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -253,6 +253,7 @@ private slots: void onReviewTransiogramBand(); void onRepositionGrid(); void onPerformContactAnaysis(); + void onPerformDriftAnalysis(); private: /** From 2c754c309116c0843007d344d70cd2fae31c317d Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Thu, 18 Apr 2024 09:57:08 -0300 Subject: [PATCH 10/32] SpatialIndex: new query method: getWithinBoundingBox(). --- spatialindex/spatialindex.cpp | 28 ++++++++++++++++++++++++++++ spatialindex/spatialindex.h | 8 ++++++++ 2 files changed, 36 insertions(+) diff --git a/spatialindex/spatialindex.cpp b/spatialindex/spatialindex.cpp index 388b9ac3..324cdb63 100644 --- a/spatialindex/spatialindex.cpp +++ b/spatialindex/spatialindex.cpp @@ -2,6 +2,7 @@ #include "domain/pointset.h" #include "domain/application.h" +#include "geometry/boundingbox.h" #include "geostats/searchellipsoid.h" #include "geostats/datacell.h" #include "geostats/searchstrategy.h" @@ -404,6 +405,33 @@ QList SpatialIndex::getNearestWithinGenericRTreeBased(const DataCell& data return result; } +QList SpatialIndex::getWithinBoundingBox(const BoundingBox &bbox) const +{ + assert( m_dataFile && "SpatialIndexPoints::getWithinBoundingBox(): No data file. Make sure there's a call to DataSet::fill() prior to making queries."); + + QList result; + + double maxX = bbox.m_maxX; + double maxY = bbox.m_maxY; + double maxZ = bbox.m_maxZ; + double minX = bbox.m_minX; + double minY = bbox.m_minY; + double minZ = bbox.m_minZ; + Box searchBB( Point3D( minX, minY, minZ ), + Point3D( maxX, maxY, maxZ )); + + //Get all the points within the bounding box of the search neighborhood. + std::vector pointsInSearchBB; + m_rtree.query( bgi::intersects( searchBB ), std::back_inserter( pointsInSearchBB ) ); + + //Get all the row indexes of the samples that fall inside the passed bounding box. + std::vector::iterator it = pointsInSearchBB.begin(); + for(; it != pointsInSearchBB.end(); ++it) + result.push_back( (*it).second ); + + return result; +} + inline bool operator< (const BoxAndDataIndexAndDistance& boxAndDataIndexAndDistance1, const BoxAndDataIndexAndDistance& boxAndDataIndexAndDistance2) { return boxAndDataIndexAndDistance1.second < boxAndDataIndexAndDistance2.second ; diff --git a/spatialindex/spatialindex.h b/spatialindex/spatialindex.h index 66843ec7..a0e14291 100644 --- a/spatialindex/spatialindex.h +++ b/spatialindex/spatialindex.h @@ -14,6 +14,7 @@ class DataFile; class GeoGrid; class SegmentSet; class GridCell; +class BoundingBox; namespace bg = boost::geometry; namespace bgi = boost::geometry::index; @@ -92,6 +93,13 @@ class SpatialIndex QList getNearestWithinGenericRTreeBased(const DataCell& dataCell, const SearchStrategy & searchStrategy ) const; + /** + * Returns the indexes of all the data lines within the given bounding box. + * The indexes are the data line indexes (file data lines) of the DataFile + * used fill the index. May return an empty list. + */ + QList getWithinBoundingBox( const BoundingBox& bbox ) const; + /** * Does the same as getNearestWithinGenericRTreeBased() but is tuned for large, high-density data sets. * It may run slower for smaller data sets than the former, though. From 1dc8e8ae763caa070fbe5b05d2a1ff51507b49cb Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Thu, 18 Apr 2024 11:28:12 -0300 Subject: [PATCH 11/32] Fixed incorrect usage of std::numeric_limits::min (replaced with -std::numeric_limits::max. --- dialogs/cokrigingdialog.cpp | 8 ++++---- dialogs/gridrepositiondialog.cpp | 12 ++++++------ dialogs/sisimdialog.cpp | 4 ++-- imagejockey/imagejockeyutils.cpp | 4 ++-- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/dialogs/cokrigingdialog.cpp b/dialogs/cokrigingdialog.cpp index cc7cb566..bf18de45 100644 --- a/dialogs/cokrigingdialog.cpp +++ b/dialogs/cokrigingdialog.cpp @@ -326,8 +326,8 @@ void CokrigingDialog::onParametersCokb3d() //load the data psInputData->loadData(); //init max with min and min with max ;-) - double minAll = std::numeric_limits::max(); - double maxAll = std::numeric_limits::min(); + double minAll = std::numeric_limits::max(); + double maxAll = -std::numeric_limits::max(); //gather the indexes of the selected variables QVector selectedColumns; selectedColumns.append( m_inputPrimVarSelector->getSelectedVariableGEOEASIndex() - 1 ); @@ -531,8 +531,8 @@ void CokrigingDialog::onParametersNewcokb3d() //load the data psInputData->loadData(); //init max with min and min with max ;-) - double minAll = std::numeric_limits::max(); - double maxAll = std::numeric_limits::min(); + double minAll = std::numeric_limits::max(); + double maxAll = -std::numeric_limits::max(); //gather the indexes of the selected variables QVector selectedColumns; selectedColumns.append( m_inputPrimVarSelector->getSelectedVariableGEOEASIndex() - 1 ); diff --git a/dialogs/gridrepositiondialog.cpp b/dialogs/gridrepositiondialog.cpp index a51a750b..d772ce71 100644 --- a/dialogs/gridrepositiondialog.cpp +++ b/dialogs/gridrepositiondialog.cpp @@ -22,9 +22,9 @@ GridRepositionDialog::GridRepositionDialog(CartesianGrid *cg, QWidget *parent) : ui->spinLLB_J->setValue( 0 ); ui->spinLLB_K->setValue( 0 ); - ui->dblSpinLLB_X->setRange( std::numeric_limits::min(), std::numeric_limits::max() ); - ui->dblSpinLLB_Y->setRange( std::numeric_limits::min(), std::numeric_limits::max() ); - ui->dblSpinLLB_Z->setRange( std::numeric_limits::min(), std::numeric_limits::max() ); + ui->dblSpinLLB_X->setRange( -std::numeric_limits::max(), std::numeric_limits::max() ); + ui->dblSpinLLB_Y->setRange( -std::numeric_limits::max(), std::numeric_limits::max() ); + ui->dblSpinLLB_Z->setRange( -std::numeric_limits::max(), std::numeric_limits::max() ); cg->getCellLocation( 0, 0, 0, x, y, z ); ui->dblSpinLLB_X->setValue( x ); ui->dblSpinLLB_Y->setValue( y ); @@ -37,9 +37,9 @@ GridRepositionDialog::GridRepositionDialog(CartesianGrid *cg, QWidget *parent) : ui->spinURT_J->setValue( cg->getNJ()-1 ); ui->spinURT_K->setValue( cg->getNK()-1 ); - ui->dblSpinURT_X->setRange( std::numeric_limits::min(), std::numeric_limits::max() ); - ui->dblSpinURT_Y->setRange( std::numeric_limits::min(), std::numeric_limits::max() ); - ui->dblSpinURT_Z->setRange( std::numeric_limits::min(), std::numeric_limits::max() ); + ui->dblSpinURT_X->setRange( -std::numeric_limits::max(), std::numeric_limits::max() ); + ui->dblSpinURT_Y->setRange( -std::numeric_limits::max(), std::numeric_limits::max() ); + ui->dblSpinURT_Z->setRange( -std::numeric_limits::max(), std::numeric_limits::max() ); cg->getCellLocation( cg->getNI()-1 , cg->getNJ()-1 , cg->getNK()-1 , x, y, z ); ui->dblSpinURT_X->setValue( x ); ui->dblSpinURT_Y->setValue( y ); diff --git a/dialogs/sisimdialog.cpp b/dialogs/sisimdialog.cpp index 66bdd5ac..1c50219c 100644 --- a/dialogs/sisimdialog.cpp +++ b/dialogs/sisimdialog.cpp @@ -442,8 +442,8 @@ void SisimDialog::onConfigureAndRun() data_max += fabs( data_max/100.0 ); //get min and max of secondary variable (for sisim_gs) - double secData_min = std::numeric_limits::max(); - double secData_max = std::numeric_limits::min(); + double secData_min = std::numeric_limits::max(); + double secData_max = -std::numeric_limits::max(); if( sisimProgram == "sisim_gs" ){ DataFile* secondaryDataFile = static_cast( m_SoftDataSetSelector->getSelectedFile() ); if( secondaryDataFile ){ diff --git a/imagejockey/imagejockeyutils.cpp b/imagejockey/imagejockeyutils.cpp index fbed9d62..d079e956 100644 --- a/imagejockey/imagejockeyutils.cpp +++ b/imagejockey/imagejockeyutils.cpp @@ -769,8 +769,8 @@ spectral::array ImageJockeyUtils::interpolateNullValuesShepard(const spectral::a //populate the VTK collections above double x, y, z; - double minValue = std::numeric_limits::max(); - double maxValue = std::numeric_limits::min(); + double minValue = std::numeric_limits::max(); + double maxValue = -std::numeric_limits::max(); for( int k = 0; k < nK; ++k ) for( int j = 0; j < nJ; ++j ) for( int i = 0; i < nI; ++i ){ From bbd873a4e414e97dae53e7cf8ffaf0746f8ad5c3 Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Thu, 18 Apr 2024 12:26:42 -0300 Subject: [PATCH 12/32] DataFile API: getBoundingBox() is now pure virtual. --- domain/cartesiangrid.cpp | 12 ++++++++ domain/cartesiangrid.h | 1 + domain/datafile.cpp | 7 ----- domain/datafile.h | 5 ++- domain/geogrid.cpp | 49 +++++++++++++++++++++++++----- domain/geogrid.h | 13 ++++---- domain/pointset.cpp | 32 +++++++++++++++++++ domain/pointset.h | 1 + domain/segmentset.cpp | 39 ++++++++++++++++++++++++ domain/segmentset.h | 1 + domain/verticalproportioncurve.cpp | 6 ++++ domain/verticalproportioncurve.h | 1 + 12 files changed, 143 insertions(+), 24 deletions(-) diff --git a/domain/cartesiangrid.cpp b/domain/cartesiangrid.cpp index bb1fb0b5..bba2e30d 100644 --- a/domain/cartesiangrid.cpp +++ b/domain/cartesiangrid.cpp @@ -13,6 +13,7 @@ #include "geogrid.h" #include "domain/section.h" #include "domain/pointset.h" +#include "geometry/boundingbox.h" #include "spectral/spectral.h" //eigen third party library @@ -940,3 +941,14 @@ void CartesianGrid::probe(double pickedX, double pickedY, double pickedZ, Attrib else Application::instance()->logWarn("CartesianGrid::probe(): picked attribute not passed (check probe() caller code) or not displayed." ); } + +BoundingBox CartesianGrid::getBoundingBox() const +{ + double minX = _x0 - _dx / 2; + double minY = _y0 - _dy / 2; + double minZ = _y0 - _dy / 2; + double maxX = minX + _dx * m_nI; + double maxY = minY + _dy * m_nJ; + double maxZ = minZ + _dz * m_nK; + return BoundingBox(minX,minY,minZ,maxX,maxY,maxZ); +} diff --git a/domain/cartesiangrid.h b/domain/cartesiangrid.h index 0f29b46a..ec5c6a5d 100644 --- a/domain/cartesiangrid.h +++ b/domain/cartesiangrid.h @@ -137,6 +137,7 @@ class CartesianGrid : public GridFile, public IJAbstractCartesianGrid virtual void getDataSpatialLocation( uint line, double& x, double& y, double& z ); virtual bool isTridimensional(); virtual void probe( double pickedX, double pickedY, double pickedZ, Attribute* targetAttribute ); + virtual BoundingBox getBoundingBox( ) const; // File interface public: diff --git a/domain/datafile.cpp b/domain/datafile.cpp index d850cdd4..69de090c 100644 --- a/domain/datafile.cpp +++ b/domain/datafile.cpp @@ -738,13 +738,6 @@ void DataFile::probe(double pickedX, double pickedY, double pickedZ, Attribute * + getTypeName() + " must implement one according to their particular characteristics. Probe information is limited." ); } -BoundingBox DataFile::getBoundingBox() const -{ - Application::instance()->logError( "DataFile::getBoundingBox(): Default implementation called. Objects of type " - + getTypeName() + " must implement one according to their particular geometry.", true ); - return BoundingBox(); -} - void DataFile::replacePhysicalFile(const QString from_file_path) { // copies the source file over the current physical file in project. diff --git a/domain/datafile.h b/domain/datafile.h index 3a5545ab..8a4cd4b8 100644 --- a/domain/datafile.h +++ b/domain/datafile.h @@ -447,9 +447,8 @@ class DataFile : public File, public ICalcPropertyCollection */ virtual bool isGridded() const = 0; - /** Returns the spatial extent of the object represented by this data file. - */ - virtual BoundingBox getBoundingBox( ) const; + /** Returns the spatial extent of the object represented by this data file. */ + virtual BoundingBox getBoundingBox( ) const = 0; //File interface virtual void deleteFromFS(); diff --git a/domain/geogrid.cpp b/domain/geogrid.cpp index abceac7d..870cdfac 100644 --- a/domain/geogrid.cpp +++ b/domain/geogrid.cpp @@ -12,6 +12,7 @@ #include "domain/project.h" #include "geometry/vector3d.h" #include "geometry/face3d.h" +#include "geometry/boundingbox.h" #include "exceptions/invalidmethodexception.h" #include @@ -228,13 +229,13 @@ GeoGrid::GeoGrid(QString path, std::vector zones) : } -void GeoGrid::getBoundingBox(uint cellIndex, - double & minX, double & minY, double & minZ, - double & maxX, double & maxY, double & maxZ ) +void GeoGrid::getCellBoundingBox(uint cellIndex, + double & minX, double & minY, double & minZ, + double & maxX, double & maxY, double & maxZ ) const { //initialize the results to ensure the returned extrema are those of the cell. - minX = minY = minZ = std::numeric_limits::max(); - maxX = maxY = maxZ = std::numeric_limits::min(); + minX = minY = minZ = std::numeric_limits::max(); + maxX = maxY = maxZ = -std::numeric_limits::max(); //Get the cell CellDefRecordPtr cellDef = m_cellDefsPart.at( cellIndex ); //for each of the eight vertexes of the cell @@ -442,7 +443,7 @@ uint GeoGrid::getMeshNumberOfVertexes() return m_vertexesPart.size(); } -void GeoGrid::getMeshVertexLocation(uint index, double & x, double & y, double & z) +void GeoGrid::getMeshVertexLocation(uint index, double & x, double & y, double & z) const { x = m_vertexesPart[index]->X; y = m_vertexesPart[index]->Y; @@ -455,7 +456,7 @@ uint GeoGrid::getMeshNumberOfCells() return m_cellDefsPart.size(); } -void GeoGrid::getMeshCellDefinition(uint index, uint (&vIds)[8]) +void GeoGrid::getMeshCellDefinition(uint index, uint (&vIds)[8]) const { vIds[0] = m_cellDefsPart[index]->vId[0]; vIds[1] = m_cellDefsPart[index]->vId[1]; @@ -862,7 +863,7 @@ CartesianGrid *GeoGrid::getUnderlyingCartesianGrid() return nullptr; } -Hexahedron GeoGrid::makeHexahedron( uint cellIndex ) +Hexahedron GeoGrid::makeHexahedron( uint cellIndex ) const { Hexahedron hexa; uint vertexIndexes[8]; @@ -1233,6 +1234,38 @@ void GeoGrid::freeLoadedData() DataFile::freeLoadedData(); } +BoundingBox GeoGrid::getBoundingBox() const +{ + if( m_vertexesPart.empty() || m_cellDefsPart.empty() ){ + Application::instance()->logError("GeoGrid::getBoundingBox(): mesh data not loaded." + " Maybe a prior call to loadMesh() is missing. "); + return BoundingBox(); + } else { + double minX = std::numeric_limits::max(); + double minY = std::numeric_limits::max(); + double minZ = std::numeric_limits::max(); + double maxX = -std::numeric_limits::max(); + double maxY = -std::numeric_limits::max(); + double maxZ = -std::numeric_limits::max(); + //loop to update the limits of the bounding box + for( int iDataLine = 0; iDataLine < getDataLineCount(); ++iDataLine ){ + + double cellMinX, cellMinY, cellMinZ; + double cellMaxX, cellMaxY, cellMaxZ; + + getCellBoundingBox( iDataLine, cellMinX, cellMinY, cellMinZ, cellMaxX, cellMaxY, cellMaxZ ); + + if( cellMaxX > maxX ) maxX = cellMaxX; + if( cellMaxY > maxY ) maxY = cellMaxY; + if( cellMaxZ > maxZ ) maxZ = cellMaxZ; + if( cellMinX < minX ) minX = cellMinX; + if( cellMinY < minY ) minY = cellMinY; + if( cellMinZ < minZ ) minZ = cellMinZ; + } + return BoundingBox( minX, minY, minZ, maxX, maxY, maxZ ); + } +} + bool GeoGrid::canHaveMetaData() { return true; diff --git a/domain/geogrid.h b/domain/geogrid.h index 5326d985..ae02053f 100644 --- a/domain/geogrid.h +++ b/domain/geogrid.h @@ -98,9 +98,9 @@ class GeoGrid : public GridFile /** * Returns (via output parameters) the bounding box of a cell given its cell index. */ - void getBoundingBox(uint cellIndex, - double& minX, double& minY, double& minZ, - double& maxX, double& maxY, double& maxZ ); + void getCellBoundingBox(uint cellIndex, + double& minX, double& minY, double& minZ, + double& maxX, double& maxY, double& maxZ ) const; /** Returns the path to the file that stores the geometry data, that is, * the contents of the m_vertexesPart and m_cellDefsPart members. @@ -132,13 +132,13 @@ class GeoGrid : public GridFile uint getMeshNumberOfVertexes(); /** Returns, via output parameters, the coordinates of a mesh vertex given its id (index). */ - void getMeshVertexLocation( uint index, double& x, double& y, double& z ); + void getMeshVertexLocation( uint index, double& x, double& y, double& z ) const; /** Returns the number of cells in the GeoGrid's mesh. */ uint getMeshNumberOfCells(); /** Returns, via output parameter, the indexes of mesh vertexes of a cell given its id (index). */ - void getMeshCellDefinition( uint index, uint (&vIds)[8] ); + void getMeshCellDefinition( uint index, uint (&vIds)[8] ) const; /** Returns a new point set by transforming the input point set from XYZ space to UVW space. * Returns null pointer if unfold fails for any reason. @@ -192,7 +192,7 @@ class GeoGrid : public GridFile /** * Creates a Hexahedron object from a cell's geometry data given the cell's index. */ - Hexahedron makeHexahedron( uint cellIndex ); + Hexahedron makeHexahedron( uint cellIndex ) const; /** * Exports this GeoGrid as ASCII Eclipse Grid (.grdecl format). @@ -227,6 +227,7 @@ class GeoGrid : public GridFile /** NOTE: override the default counting-only behavior of DataFile::getProportion(). */ virtual double getProportion(int variableIndex, double value0, double value1 ); virtual void freeLoadedData(); + virtual BoundingBox getBoundingBox( ) const; // File interface public: diff --git a/domain/pointset.cpp b/domain/pointset.cpp index 5143755e..b3e96a11 100644 --- a/domain/pointset.cpp +++ b/domain/pointset.cpp @@ -12,6 +12,7 @@ #include #include "viewer3d/view3dviewdata.h" #include "viewer3d/view3dbuilders.h" +#include "geometry/boundingbox.h" PointSet::PointSet( QString path ) : DataFile( path ) @@ -207,6 +208,37 @@ bool PointSet::getCenter(double &x, double &y, double &z) const } } +BoundingBox PointSet::getBoundingBox() const +{ + if( getDataLineCount() == 0){ + Application::instance()->logError("PointSet::getBoundingBox(): data not loaded." + " Maybe a prior call to readFromFS() is missing. "); + return BoundingBox(); + } else { + double minX = std::numeric_limits::max(); + double minY = std::numeric_limits::max(); + double minZ = std::numeric_limits::max(); + double maxX = -std::numeric_limits::max(); + double maxY = -std::numeric_limits::max(); + double maxZ = -std::numeric_limits::max(); + //loop to update the limits of the bounding box + for( int iDataLine = 0; iDataLine < getDataLineCount(); ++iDataLine ){ + double xCoord = dataConst( iDataLine, _x_field_index - 1 ) ; + double yCoord = dataConst( iDataLine, _y_field_index - 1 ) ; + double zCoord = 0.0; + if (is3D()) + zCoord = dataConst( iDataLine, _z_field_index - 1 ) ; + if( xCoord > maxX ) maxX = xCoord; + if( yCoord > maxY ) maxY = yCoord; + if( zCoord > maxZ ) maxZ = zCoord; + if( xCoord < minX ) minX = xCoord; + if( yCoord < minY ) minY = yCoord; + if( zCoord < minZ ) minZ = zCoord; + } + return BoundingBox( minX, minY, minZ, maxX, maxY, maxZ ); + } +} + void PointSet::setInfoFromMetadataFile() { QString md_file_path( this->_path ); diff --git a/domain/pointset.h b/domain/pointset.h index 842a2c93..66b683e7 100644 --- a/domain/pointset.h +++ b/domain/pointset.h @@ -98,6 +98,7 @@ class PointSet : public DataFile virtual bool isTridimensional(); virtual bool getCenter( double& x, double& y, double& z ) const; virtual bool isGridded() const override { return false; } + virtual BoundingBox getBoundingBox( ) const override; // File interface public: diff --git a/domain/segmentset.cpp b/domain/segmentset.cpp index ea17f049..9e8cd08c 100644 --- a/domain/segmentset.cpp +++ b/domain/segmentset.cpp @@ -4,6 +4,7 @@ #include "domain/attribute.h" #include "domain/application.h" #include "domain/project.h" +#include "geometry/boundingbox.h" #include "util.h" #include #include @@ -581,6 +582,44 @@ bool SegmentSet::getCenter(double &x, double &y, double &z) const } } +BoundingBox SegmentSet::getBoundingBox() const +{ + if( getDataLineCount() == 0){ + Application::instance()->logError("SegmentSet::getBoundingBox(): data not loaded." + " Maybe a prior call to readFromFS() is missing. "); + return BoundingBox(); + } else { + double minX = std::numeric_limits::max(); + double minY = std::numeric_limits::max(); + double minZ = std::numeric_limits::max(); + double maxX = -std::numeric_limits::max(); + double maxY = -std::numeric_limits::max(); + double maxZ = -std::numeric_limits::max(); + //loop to update the limits of the bounding box + for( int iDataLine = 0; iDataLine < getDataLineCount(); ++iDataLine ){ + double xCoord = dataConst( iDataLine, _x_field_index - 1 ) ; + double yCoord = dataConst( iDataLine, _y_field_index - 1 ) ; + double zCoord = dataConst( iDataLine, _z_field_index - 1 ) ; + if( xCoord > maxX ) maxX = xCoord; + if( yCoord > maxY ) maxY = yCoord; + if( zCoord > maxZ ) maxZ = zCoord; + if( xCoord < minX ) minX = xCoord; + if( yCoord < minY ) minY = yCoord; + if( zCoord < minZ ) minZ = zCoord; + double xCoord2 = dataConst( iDataLine, _x_final_field_index - 1 ) ; + double yCoord2 = dataConst( iDataLine, _y_final_field_index - 1 ) ; + double zCoord2 = dataConst( iDataLine, _z_final_field_index - 1 ) ; + if( xCoord2 > maxX ) maxX = xCoord2; + if( yCoord2 > maxY ) maxY = yCoord2; + if( zCoord2 > maxZ ) maxZ = zCoord2; + if( xCoord2 < minX ) minX = xCoord2; + if( yCoord2 < minY ) minY = yCoord2; + if( zCoord2 < minZ ) minZ = zCoord2; + } + return BoundingBox( minX, minY, minZ, maxX, maxY, maxZ ); + } +} + void SegmentSet::setInfoFromOtherPointSet(PointSet *otherPS) { Q_UNUSED( otherPS ); diff --git a/domain/segmentset.h b/domain/segmentset.h index 5e3ff027..52177cd0 100644 --- a/domain/segmentset.h +++ b/domain/segmentset.h @@ -149,6 +149,7 @@ class SegmentSet : public PointSet /** NOTE: override the default counting-only behavior of DataFile::getProportion(). */ virtual double getProportion(int variableIndex, double value0, double value1 ); virtual bool getCenter( double& x, double& y, double& z ) const; + virtual BoundingBox getBoundingBox( ) const; // PointSet interface public: diff --git a/domain/verticalproportioncurve.cpp b/domain/verticalproportioncurve.cpp index 15605840..c2728131 100644 --- a/domain/verticalproportioncurve.cpp +++ b/domain/verticalproportioncurve.cpp @@ -8,6 +8,7 @@ #include "domain/project.h" #include "domain/objectgroup.h" #include "domain/attribute.h" +#include "geometry/boundingbox.h" VerticalProportionCurve::VerticalProportionCurve(QString path, QString associatedCategoryDefinitionName) : DataFile( path ), @@ -457,6 +458,11 @@ void VerticalProportionCurve::readFromFS() _data.clear(); } +BoundingBox VerticalProportionCurve::getBoundingBox() const +{ + assert( false && "VerticalProportionCurve::getBoundingBox(): a VerticalProportionCurve is not a spatial object." ); +} + void VerticalProportionCurve::getSpatialAndTopologicalCoordinates(int iRecord, double &x, double &y, double &z, int &i, int &j, int &k) { assert( false && "VerticalProportionCurve::getSpatialAndTopologicalCoordinates(): a VerticalProportionCurve is not a spatial object." ); diff --git a/domain/verticalproportioncurve.h b/domain/verticalproportioncurve.h index f85d8962..9bd70b2f 100644 --- a/domain/verticalproportioncurve.h +++ b/domain/verticalproportioncurve.h @@ -151,6 +151,7 @@ class VerticalProportionCurve : public DataFile virtual void writeToFS(); virtual void readFromFS(); virtual bool isGridded() const override { return false; } + virtual BoundingBox getBoundingBox( ) const override; // ICalcPropertyCollection interface public: From fc82e4b87673baecd93f7da3a4099a960e572556 Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Thu, 18 Apr 2024 12:29:14 -0300 Subject: [PATCH 13/32] ContactAnalysis: GeoGrid::getBoundingBox() was renamed to GeoGrid::getCellBoundingBox() to not confuse with new DataFile's getBoundingBox(). --- geostats/contactanalysis.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geostats/contactanalysis.cpp b/geostats/contactanalysis.cpp index d3406bd5..897d8393 100644 --- a/geostats/contactanalysis.cpp +++ b/geostats/contactanalysis.cpp @@ -374,7 +374,7 @@ bool ContactAnalysis::run() double maxBBdY = -std::numeric_limits::max(); uint maxIndex = gg->getDataLineCount(); for( uint i = 0; i < maxIndex; i++ ){ - gg->getBoundingBox( i, bbMinX, bbMinY, bbMinZ, bbMaxX, bbMaxY, bbMaxZ ); + gg->getCellBoundingBox( i, bbMinX, bbMinY, bbMinZ, bbMaxX, bbMaxY, bbMaxZ ); double bbDx = bbMaxX - bbMinX; double bbDy = bbMaxY - bbMinY; if( bbDx > maxBBdX ) maxBBdX = bbDx; From af43567797eca4bd0a078c176979f2dfc372c553 Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Thu, 18 Apr 2024 12:29:56 -0300 Subject: [PATCH 14/32] ContactAnalysis: GeoGrid::getBoundingBox() was renamed to GeoGrid::getCellBoundingBox() to not confuse with new DataFile's getBoundingBox(). --- spatialindex/spatialindex.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spatialindex/spatialindex.cpp b/spatialindex/spatialindex.cpp index 324cdb63..b55fd8f8 100644 --- a/spatialindex/spatialindex.cpp +++ b/spatialindex/spatialindex.cpp @@ -119,7 +119,7 @@ void SpatialIndex::fillWithBBoxes(GeoGrid *gg) for( uint iLine = 0; iLine < totlines; ++iLine){ //get the cell's bounding box (each line corresponds to a cell) double minX, minY, minZ, maxX, maxY, maxZ; - gg->getBoundingBox( iLine, minX, minY, minZ, maxX, maxY, maxZ ); + gg->getCellBoundingBox( iLine, minX, minY, minZ, maxX, maxY, maxZ ); //make the bounding box object Box box( Point3D(minX, minY, minZ), From 64c3164d836a6b4e8b4dced310f20bdeba54ae5d Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Thu, 18 Apr 2024 14:26:36 -0300 Subject: [PATCH 15/32] LineChartWidget: swapping X and Y axes result in line not being displayed, removing the functionality (client code has to swap axes when setting chart data). --- widgets/linechartwidget.cpp | 15 ++++----------- widgets/linechartwidget.h | 5 +---- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/widgets/linechartwidget.cpp b/widgets/linechartwidget.cpp index 3d9c8fc3..1671aecc 100644 --- a/widgets/linechartwidget.cpp +++ b/widgets/linechartwidget.cpp @@ -7,11 +7,10 @@ #include -LineChartWidget::LineChartWidget(QWidget *parent, bool swapXY) : +LineChartWidget::LineChartWidget(QWidget *parent) : QWidget(parent), ui(new Ui::LineChartWidget), - m_sharedYaxis(false), - m_swapXY(swapXY) + m_sharedYaxis(false) { ui->setupUi(this); @@ -26,10 +25,7 @@ LineChartWidget::LineChartWidget(QWidget *parent, bool swapXY) : //add the horizontal axis m_axisX = new QtCharts::QValueAxis(); - if( ! m_swapXY ) - m_chart->addAxis(m_axisX, Qt::AlignBottom); - else - m_chart->addAxis(m_axisX, Qt::AlignLeft); + m_chart->addAxis(m_axisX, Qt::AlignBottom); m_series->attachAxis(m_axisX); m_axisX->setTickCount(11); @@ -115,10 +111,7 @@ void LineChartWidget::setData(const std::vector > &data, if( ! m_sharedYaxis || ! axisY ){ axisY = new QtCharts::QValueAxis(); axisY->setTickCount(11); - if( ! m_swapXY ) - m_chart->addAxis(axisY, Qt::AlignLeft); - else - m_chart->addAxis(axisY, Qt::AlignBottom); + m_chart->addAxis(axisY, Qt::AlignLeft); } axisY->setRange( minY, maxY ); series->attachAxis( axisY ); diff --git a/widgets/linechartwidget.h b/widgets/linechartwidget.h index 2349238e..b2c8e7a1 100644 --- a/widgets/linechartwidget.h +++ b/widgets/linechartwidget.h @@ -23,10 +23,9 @@ class LineChartWidget : public QWidget /** * Displays a multivariate line chart with a shared X-axis. * The Y-axis can be shared or one per Y variable - * @param swapXY Sets whether to display X values to the left and Y values to the bottom. * @see setSharedYaxis() */ - explicit LineChartWidget( QWidget *parent = nullptr, bool swapXY = false ); + explicit LineChartWidget( QWidget *parent = nullptr ); ~LineChartWidget(); /** @@ -84,8 +83,6 @@ class LineChartWidget : public QWidget QtCharts::QValueAxis *m_axisX; bool m_sharedYaxis; - bool m_swapXY; - }; #endif // LINECHARTWIDGET_H From bc56473ea5ab25e8e22d9904e6c9e4f06e340f55 Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Thu, 18 Apr 2024 14:27:13 -0300 Subject: [PATCH 16/32] CartesianGrid: fixed getBoundingBox() code. --- domain/cartesiangrid.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/domain/cartesiangrid.cpp b/domain/cartesiangrid.cpp index bba2e30d..abccd5b7 100644 --- a/domain/cartesiangrid.cpp +++ b/domain/cartesiangrid.cpp @@ -946,7 +946,7 @@ BoundingBox CartesianGrid::getBoundingBox() const { double minX = _x0 - _dx / 2; double minY = _y0 - _dy / 2; - double minZ = _y0 - _dy / 2; + double minZ = _z0 - _dz / 2; double maxX = minX + _dx * m_nI; double maxY = minY + _dy * m_nJ; double maxZ = minZ + _dz * m_nK; From 4eb172c2b6f2245c9ba7dcdb55d32f613f1d45b3 Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Thu, 18 Apr 2024 14:32:30 -0300 Subject: [PATCH 17/32] Drift Analysis: first working version. --- dialogs/driftanalysisdialog.cpp | 16 ++-- geostats/driftanalysis.cpp | 134 +++++++++++++++++++++++++++----- 2 files changed, 124 insertions(+), 26 deletions(-) diff --git a/dialogs/driftanalysisdialog.cpp b/dialogs/driftanalysisdialog.cpp index 97444d2b..ebe9fae0 100644 --- a/dialogs/driftanalysisdialog.cpp +++ b/dialogs/driftanalysisdialog.cpp @@ -26,7 +26,7 @@ DriftAnalysisDialog::DriftAnalysisDialog(DataFile *dataFile, Attribute *attribut m_chartWestEast ->setLegendVisible( false ); m_chartSouthNorth = new LineChartWidget(); m_chartSouthNorth->setLegendVisible( false ); - m_chartVertical = new LineChartWidget(nullptr, true); + m_chartVertical = new LineChartWidget( /*nullptr, true*/ ); m_chartVertical ->setLegendVisible( false ); ui->grpWEdrift->layout()->addWidget( m_chartWestEast ); @@ -77,12 +77,12 @@ void DriftAnalysisDialog::onRun() std::vector< std::vector > chartDataVertical; //traverse the results to fill the three chart data vectors - for( const std::pair< DriftAnalysis::coordX, DriftAnalysis::Mean >& result : resultsWestEast ) - chartDataWestEast.push_back( { result.first, result.second } ); + for( const std::pair< DriftAnalysis::coordX, DriftAnalysis::Mean >& result : resultsWestEast ) + chartDataWestEast .push_back( { result.first, result.second } ); for( const std::pair< DriftAnalysis::coordY, DriftAnalysis::Mean >& result : resultsSouthNorth ) - chartDataWestEast.push_back( { result.first, result.second } ); - for( const std::pair< DriftAnalysis::coordZ, DriftAnalysis::Mean >& result : resultsVertical ) - chartDataWestEast.push_back( { result.first, result.second } ); + chartDataSouthNorth.push_back( { result.first, result.second } ); + for( const std::pair< DriftAnalysis::coordZ, DriftAnalysis::Mean >& result : resultsVertical ) + chartDataVertical .push_back( { result.second, result.first } ); //get some properties of the domain categories relevant to make //the chart informative @@ -103,9 +103,9 @@ void DriftAnalysisDialog::onRun() m_chartSouthNorth->setXaxisCaption( "Northing" ); m_chartVertical->setData( chartDataVertical, 0, {{}}, - {{1, "mean " + m_attribute->getName() }}, + {{1, "Z" }}, {{1, colorVertical}} ); - m_chartVertical->setXaxisCaption( "Z" ); + m_chartVertical->setXaxisCaption( "mean " + m_attribute->getName() ); } } diff --git a/geostats/driftanalysis.cpp b/geostats/driftanalysis.cpp index a11451f5..d03986ef 100644 --- a/geostats/driftanalysis.cpp +++ b/geostats/driftanalysis.cpp @@ -44,14 +44,14 @@ bool DriftAnalysis::run() return false; //make sure the results vectors are empty - m_resultsVertical.clear(); m_resultsWestEast.clear(); m_resultsSouthNorth.clear(); + m_resultsVertical.clear(); //load the input data file m_inputDataFile->loadData(); - //get the data file column index corresponding to the categorcial attribute with the domains + //get the data file column index corresponding to the attribute whose drift is to be analysed uint indexOfVariable = m_inputDataFile->getFieldGEOEASIndex( m_attribute->getName() ) - 1; if( indexOfVariable > m_inputDataFile->getDataColumnCount() ){ m_lastError = "Error getting the data file column index of the categorical attribute with the domains."; @@ -125,29 +125,127 @@ bool DriftAnalysis::run() //get the spatial extent of the data file BoundingBox bbox = m_inputDataFile->getBoundingBox(); - //get the spatial sizes of the data along the three axes - double sizeWE = bbox.getXsize(); - double sizeSN = bbox.getYsize(); - double sizeVertical = bbox.getZsize(); + //get the sizes of the slices the three axes + double sliceSizeWE = bbox.getXsize() / m_NumberOfSteps; + double sliceSizeSN = bbox.getYsize() / m_NumberOfSteps; + double sliceSizeVertical = bbox.getZsize() / m_NumberOfSteps; + + //get the input data file's NDV as floating point number + double dummyValue = m_inputDataFile->getNoDataValueAsDouble(); //compute drift along West->East diretcion (x axis). for( int iSlice = 0; iSlice < m_NumberOfSteps; iSlice++, total_done_so_far++ ){ - double sliceMin = bbox.m_minX + iSlice * sizeWE; - double sliceMax = sliceMin + sizeWE; - - //build a search strategy for current slice - SearchStrategyPtr searchStrategy; - { - SearchNeighborhoodPtr searchNeighborhood( - new SearchBox( { sliceMin, sliceMax, - -std::numeric_limits::max(), std::numeric_limits::max(), - -std::numeric_limits::max(), std::numeric_limits::max() } ) ); - searchStrategy.reset( new SearchStrategy( searchNeighborhood, std::numeric_limits::max(), 0.0, 1 ) ); + + //define the X interval of the current X slice + double sliceMin = bbox.m_minX + iSlice * sliceSizeWE; + double sliceMax = sliceMin + sliceSizeWE; + + //build a bounding box representing the current X slice + BoundingBox bbox( sliceMin, -std::numeric_limits::max(), -std::numeric_limits::max(), + sliceMax, std::numeric_limits::max(), std::numeric_limits::max() ); + + //do a spatial search, fetching the indexes of the samples lying within the current X slice + QList samplesIndexes = spatialIndex.getWithinBoundingBox( bbox ); + + //for each sample found inside the current X slice + double sum = 0.0; + uint64_t count = 0; + for( uint sampleIndex : samplesIndexes ){ + double sampleValue = m_inputDataFile->dataConst( sampleIndex, indexOfVariable ); + if( ! Util::almostEqual2sComplement( sampleValue, dummyValue, 1 ) ){ + sum += sampleValue; + count++; + } } + //compute the mean of the attribute within the current X slice + double mean = std::numeric_limits::quiet_NaN(); + if( count > 0 ) + mean = sum / count; + + //store the result for the current X slice + m_resultsWestEast.push_back( { bbox.getCenterX(), mean } ); + progressDialog.setValue( total_done_so_far ); //update the progress bar QApplication::processEvents(); //let Qt repaint its widgets - } + } // for each X slice + + //compute drift along South->North diretcion (y axis). + for( int iSlice = 0; iSlice < m_NumberOfSteps; iSlice++, total_done_so_far++ ){ + + //define the Y interval of the current Y slice + double sliceMin = bbox.m_minY + iSlice * sliceSizeSN; + double sliceMax = sliceMin + sliceSizeSN; + + //build a bounding box representing the current Y slice + BoundingBox bbox( -std::numeric_limits::max(), sliceMin, -std::numeric_limits::max(), + std::numeric_limits::max(), sliceMax, std::numeric_limits::max() ); + + //do a spatial search, fetching the indexes of the samples lying within the current Y slice + QList samplesIndexes = spatialIndex.getWithinBoundingBox( bbox ); + + //for each sample found inside the current Y slice + double sum = 0.0; + uint64_t count = 0; + for( uint sampleIndex : samplesIndexes ){ + double sampleValue = m_inputDataFile->dataConst( sampleIndex, indexOfVariable ); + if( ! Util::almostEqual2sComplement( sampleValue, dummyValue, 1 ) ){ + sum += sampleValue; + count++; + } + } + + //compute the mean of the attribute within the current Y slice + double mean = std::numeric_limits::quiet_NaN(); + if( count > 0 ) + mean = sum / count; + + //store the result for the current Y slice + m_resultsSouthNorth.push_back( { bbox.getCenterY(), mean } ); + + progressDialog.setValue( total_done_so_far ); //update the progress bar + QApplication::processEvents(); //let Qt repaint its widgets + } // for each Y slice + + //compute drift along vertical diretcion (z axis). + if( m_inputDataFile->isTridimensional() ) { + for( int iSlice = 0; iSlice < m_NumberOfSteps; iSlice++, total_done_so_far++ ){ + + //define the Z interval of the current Z slice + double sliceMin = bbox.m_minZ + iSlice * sliceSizeVertical; + double sliceMax = sliceMin + sliceSizeVertical; + + //build a bounding box representing the current Z slice + BoundingBox bbox( -std::numeric_limits::max(), -std::numeric_limits::max(), sliceMin, + std::numeric_limits::max(), std::numeric_limits::max(), sliceMax ); + + //do a spatial search, fetching the indexes of the samples lying within the current Z slice + QList samplesIndexes = spatialIndex.getWithinBoundingBox( bbox ); + + //for each sample found inside the current Z slice + double sum = 0.0; + uint64_t count = 0; + for( uint sampleIndex : samplesIndexes ){ + double sampleValue = m_inputDataFile->dataConst( sampleIndex, indexOfVariable ); + if( ! Util::almostEqual2sComplement( sampleValue, dummyValue, 1 ) ){ + sum += sampleValue; + count++; + } + } + + //compute the mean of the attribute within the current Z slice + double mean = std::numeric_limits::quiet_NaN(); + if( count > 0 ) + mean = sum / count; + + //store the result for the current Z slice + m_resultsVertical.push_back( { bbox.getCenterZ(), mean } ); + + progressDialog.setValue( total_done_so_far ); //update the progress bar + QApplication::processEvents(); //let Qt repaint its widgets + } // for each Z slice + } // if data file is 3D + return true; } From 652ec2b8ee4af8d5b3acfe0ef38254fb1576701e Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Fri, 19 Apr 2024 15:48:09 -0300 Subject: [PATCH 18/32] DataFile: added constness to the methods getDataSpatialLocation() (both overloads) and isTridimensional(). --- domain/cartesiangrid.cpp | 6 +++--- domain/cartesiangrid.h | 6 +++--- domain/datafile.h | 6 +++--- domain/geogrid.cpp | 4 ++-- domain/geogrid.h | 6 +++--- domain/pointset.cpp | 18 +++++++++--------- domain/pointset.h | 6 +++--- domain/segmentset.cpp | 16 ++++++++-------- domain/segmentset.h | 4 ++-- domain/verticalproportioncurve.cpp | 6 +++--- domain/verticalproportioncurve.h | 6 +++--- 11 files changed, 42 insertions(+), 42 deletions(-) diff --git a/domain/cartesiangrid.cpp b/domain/cartesiangrid.cpp index abccd5b7..05fd97e3 100644 --- a/domain/cartesiangrid.cpp +++ b/domain/cartesiangrid.cpp @@ -903,7 +903,7 @@ void CartesianGrid::reposition(uint llb_I, uint llb_J, uint llb_K, updateMetaDataFile(); } -double CartesianGrid::getDataSpatialLocation(uint line, CartesianCoord whichCoord) +double CartesianGrid::getDataSpatialLocation(uint line, CartesianCoord whichCoord) const { uint i, j, k; double x, y, z; @@ -917,14 +917,14 @@ double CartesianGrid::getDataSpatialLocation(uint line, CartesianCoord whichCoor } } -void CartesianGrid::getDataSpatialLocation(uint line, double &x, double &y, double &z) +void CartesianGrid::getDataSpatialLocation(uint line, double &x, double &y, double &z) const { uint i, j, k; indexToIJK( line, i, j, k ); IJKtoXYZ( i, j, k, x, y, z); } -bool CartesianGrid::isTridimensional() +bool CartesianGrid::isTridimensional() const { return m_nK > 1; } diff --git a/domain/cartesiangrid.h b/domain/cartesiangrid.h index ec5c6a5d..9030614f 100644 --- a/domain/cartesiangrid.h +++ b/domain/cartesiangrid.h @@ -133,9 +133,9 @@ class CartesianGrid : public GridFile, public IJAbstractCartesianGrid /** Cartesian grids never have declustering weights. At least they are not supposed to be. */ virtual Attribute* getVariableOfWeight( Attribute* /*at*/ ) { return nullptr; } virtual bool isRegular() { return true; } - virtual double getDataSpatialLocation( uint line, CartesianCoord whichCoord ); - virtual void getDataSpatialLocation( uint line, double& x, double& y, double& z ); - virtual bool isTridimensional(); + virtual double getDataSpatialLocation( uint line, CartesianCoord whichCoord ) const; + virtual void getDataSpatialLocation( uint line, double& x, double& y, double& z ) const; + virtual bool isTridimensional() const; virtual void probe( double pickedX, double pickedY, double pickedZ, Attribute* targetAttribute ); virtual BoundingBox getBoundingBox( ) const; diff --git a/domain/datafile.h b/domain/datafile.h index 8a4cd4b8..e1a1d810 100644 --- a/domain/datafile.h +++ b/domain/datafile.h @@ -335,15 +335,15 @@ class DataFile : public File, public ICalcPropertyCollection /** * Returns one of the spatial coordinates (x, y or z) of the data value given its line number. */ - virtual double getDataSpatialLocation( uint line, CartesianCoord whichCoord ) = 0; + virtual double getDataSpatialLocation( uint line, CartesianCoord whichCoord ) const = 0; /** * Returns all the spatial coordinates (x, y and z as output parameters) of the data value given its line number. */ - virtual void getDataSpatialLocation( uint line, double& x, double& y, double& z ) = 0; + virtual void getDataSpatialLocation( uint line, double& x, double& y, double& z ) const = 0; /** Returns whether this data set is tridimensional. */ - virtual bool isTridimensional() = 0; + virtual bool isTridimensional() const = 0; /** Removes one data line from the internal data array. * It is necessary to call writeToFS() to commit the change to filesystem. diff --git a/domain/geogrid.cpp b/domain/geogrid.cpp index 870cdfac..de2aa5d6 100644 --- a/domain/geogrid.cpp +++ b/domain/geogrid.cpp @@ -1187,7 +1187,7 @@ bool GeoGrid::XYZtoIJK( double x, double y, double z, uint& i, uint& j, uint& k return false; } -double GeoGrid::getDataSpatialLocation(uint line, CartesianCoord whichCoord) +double GeoGrid::getDataSpatialLocation(uint line, CartesianCoord whichCoord) const { uint i, j, k; double x, y, z; @@ -1201,7 +1201,7 @@ double GeoGrid::getDataSpatialLocation(uint line, CartesianCoord whichCoord) } } -void GeoGrid::getDataSpatialLocation(uint line, double &x, double &y, double &z) +void GeoGrid::getDataSpatialLocation(uint line, double &x, double &y, double &z) const { uint i, j, k; indexToIJK( line, i, j, k ); diff --git a/domain/geogrid.h b/domain/geogrid.h index ae02053f..96f2eaff 100644 --- a/domain/geogrid.h +++ b/domain/geogrid.h @@ -220,10 +220,10 @@ class GeoGrid : public GridFile /** GeoGrids never have declustering weights. At least they are not supposed to have. */ virtual Attribute* getVariableOfWeight( Attribute* /*at*/ ) { return nullptr; } virtual bool isRegular() { return false; } - virtual double getDataSpatialLocation( uint line, CartesianCoord whichCoord ); - virtual void getDataSpatialLocation( uint line, double& x, double& y, double& z ); + virtual double getDataSpatialLocation( uint line, CartesianCoord whichCoord ) const; + virtual void getDataSpatialLocation( uint line, double& x, double& y, double& z ) const; /** GeoGrids are assumed to be always 3D. */ - virtual bool isTridimensional(){ return true; } + virtual bool isTridimensional() const { return true; } /** NOTE: override the default counting-only behavior of DataFile::getProportion(). */ virtual double getProportion(int variableIndex, double value0, double value1 ); virtual void freeLoadedData(); diff --git a/domain/pointset.cpp b/domain/pointset.cpp index b3e96a11..fd9874a2 100644 --- a/domain/pointset.cpp +++ b/domain/pointset.cpp @@ -157,30 +157,30 @@ void PointSet::deleteVariable(uint columnToDelete) DataFile::deleteVariable( columnToDelete ); } -double PointSet::getDataSpatialLocation(uint line, CartesianCoord whichCoord) +double PointSet::getDataSpatialLocation(uint line, CartesianCoord whichCoord) const { switch ( whichCoord ) { - case CartesianCoord::X: return data( line, _x_field_index - 1 ); //x,y,z is in data file directly - case CartesianCoord::Y: return data( line, _y_field_index - 1 ); //x,y,z is in data file directly + case CartesianCoord::X: return dataConst( line, _x_field_index - 1 ); //x,y,z is in data file directly + case CartesianCoord::Y: return dataConst( line, _y_field_index - 1 ); //x,y,z is in data file directly case CartesianCoord::Z: if( isTridimensional() ) - return data( line, _z_field_index - 1 ); //x,y,z is in data file directly + return dataConst( line, _z_field_index - 1 ); //x,y,z is in data file directly else return 0.0; //returns z=0.0 for datasets in 2D. } } -void PointSet::getDataSpatialLocation(uint line, double &x, double &y, double &z) +void PointSet::getDataSpatialLocation(uint line, double &x, double &y, double &z) const { - x = data( line, _x_field_index - 1 ); //x,y,z is in data file directly - y = data( line, _y_field_index - 1 ); //x,y,z is in data file directly + x = dataConst( line, _x_field_index - 1 ); //x,y,z is in data file directly + y = dataConst( line, _y_field_index - 1 ); //x,y,z is in data file directly if( isTridimensional() ) - z = data( line, _z_field_index - 1 ); //x,y,z is in data file directly + z = dataConst( line, _z_field_index - 1 ); //x,y,z is in data file directly else z = 0.0; //returns z=0.0 for datasets in 2D. } -bool PointSet::isTridimensional() +bool PointSet::isTridimensional() const { return is3D(); } diff --git a/domain/pointset.h b/domain/pointset.h index 66b683e7..d56182d5 100644 --- a/domain/pointset.h +++ b/domain/pointset.h @@ -93,9 +93,9 @@ class PointSet : public DataFile Attribute* getVariableOfWeight( Attribute* weight ); virtual void deleteVariable( uint columnToDelete ); virtual bool isRegular() { return false; } - virtual double getDataSpatialLocation( uint line, CartesianCoord whichCoord ); - virtual void getDataSpatialLocation( uint line, double& x, double& y, double& z ); - virtual bool isTridimensional(); + virtual double getDataSpatialLocation( uint line, CartesianCoord whichCoord ) const; + virtual void getDataSpatialLocation( uint line, double& x, double& y, double& z ) const; + virtual bool isTridimensional() const; virtual bool getCenter( double& x, double& y, double& z ) const; virtual bool isGridded() const override { return false; } virtual BoundingBox getBoundingBox( ) const override; diff --git a/domain/segmentset.cpp b/domain/segmentset.cpp index 9e8cd08c..7455f4f9 100644 --- a/domain/segmentset.cpp +++ b/domain/segmentset.cpp @@ -513,25 +513,25 @@ File *SegmentSet::duplicatePhysicalFiles(const QString new_file_name) return newSS; } -double SegmentSet::getDataSpatialLocation(uint line, CartesianCoord whichCoord) +double SegmentSet::getDataSpatialLocation(uint line, CartesianCoord whichCoord) const { switch ( whichCoord ) { - case CartesianCoord::X: return ( data( line, _x_field_index - 1 ) + data( line, _x_final_field_index - 1 ) ) / 2.0; //x,y,z is in data file directly - case CartesianCoord::Y: return ( data( line, _y_field_index - 1 ) + data( line, _y_final_field_index - 1 ) ) / 2.0; //x,y,z is in data file directly + case CartesianCoord::X: return ( dataConst( line, _x_field_index - 1 ) + dataConst( line, _x_final_field_index - 1 ) ) / 2.0; //x,y,z is in data file directly + case CartesianCoord::Y: return ( dataConst( line, _y_field_index - 1 ) + dataConst( line, _y_final_field_index - 1 ) ) / 2.0; //x,y,z is in data file directly case CartesianCoord::Z: if( isTridimensional() ) - return ( data( line, _z_field_index - 1 ) + data( line, _z_final_field_index - 1 ) ) / 2.0; //x,y,z is in data file directly + return ( dataConst( line, _z_field_index - 1 ) + dataConst( line, _z_final_field_index - 1 ) ) / 2.0; //x,y,z is in data file directly else return 0.0; //returns z=0.0 for datasets in 2D. } } -void SegmentSet::getDataSpatialLocation(uint line, double &x, double &y, double &z) +void SegmentSet::getDataSpatialLocation(uint line, double &x, double &y, double &z) const { - x = ( data( line, _x_field_index - 1 ) + data( line, _x_final_field_index - 1 ) ) / 2.0; //x,y,z is in data file directly - y = ( data( line, _y_field_index - 1 ) + data( line, _y_final_field_index - 1 ) ) / 2.0; //x,y,z is in data file directly + x = ( dataConst( line, _x_field_index - 1 ) + dataConst( line, _x_final_field_index - 1 ) ) / 2.0; //x,y,z is in data file directly + y = ( dataConst( line, _y_field_index - 1 ) + dataConst( line, _y_final_field_index - 1 ) ) / 2.0; //x,y,z is in data file directly if( isTridimensional() ) - z = ( data( line, _z_field_index - 1 ) + data( line, _z_final_field_index - 1 ) ) / 2.0; //x,y,z is in data file directly + z = ( dataConst( line, _z_field_index - 1 ) + dataConst( line, _z_final_field_index - 1 ) ) / 2.0; //x,y,z is in data file directly else z = 0.0; //returns z=0.0 for datasets in 2D. } diff --git a/domain/segmentset.h b/domain/segmentset.h index 52177cd0..367ae7ab 100644 --- a/domain/segmentset.h +++ b/domain/segmentset.h @@ -144,8 +144,8 @@ class SegmentSet : public PointSet // DataFile interface public: /** NOTE: this returns the middle point of the segment. */ - virtual double getDataSpatialLocation( uint line, CartesianCoord whichCoord ); - virtual void getDataSpatialLocation( uint line, double& x, double& y, double& z ); + virtual double getDataSpatialLocation( uint line, CartesianCoord whichCoord ) const; + virtual void getDataSpatialLocation( uint line, double& x, double& y, double& z ) const; /** NOTE: override the default counting-only behavior of DataFile::getProportion(). */ virtual double getProportion(int variableIndex, double value0, double value1 ); virtual bool getCenter( double& x, double& y, double& z ) const; diff --git a/domain/verticalproportioncurve.cpp b/domain/verticalproportioncurve.cpp index c2728131..8e8f0af9 100644 --- a/domain/verticalproportioncurve.cpp +++ b/domain/verticalproportioncurve.cpp @@ -386,14 +386,14 @@ bool VerticalProportionCurve::isRegular() { " a spatial object." ); } -double VerticalProportionCurve::getDataSpatialLocation(uint line, CartesianCoord whichCoord) +double VerticalProportionCurve::getDataSpatialLocation(uint line, CartesianCoord whichCoord) const { Q_UNUSED( line ) Q_UNUSED( whichCoord ) assert( false && "VerticalProportionCurve::getDataSpatialLocation(): a VerticalProportionCurve is not a spatial object." ); } -void VerticalProportionCurve::getDataSpatialLocation(uint line, double &x, double &y, double &z) +void VerticalProportionCurve::getDataSpatialLocation(uint line, double &x, double &y, double &z) const { Q_UNUSED( line ) Q_UNUSED( x ) @@ -402,7 +402,7 @@ void VerticalProportionCurve::getDataSpatialLocation(uint line, double &x, doubl assert( false && "VerticalProportionCurve::getDataSpatialLocation(): a VerticalProportionCurve is not a spatial object." ); } -bool VerticalProportionCurve::isTridimensional() +bool VerticalProportionCurve::isTridimensional() const { assert( false && "VerticalProportionCurve::isTridimensional(): a VerticalProportionCurve is not a spatial object." ); } diff --git a/domain/verticalproportioncurve.h b/domain/verticalproportioncurve.h index 9bd70b2f..8c9b25ab 100644 --- a/domain/verticalproportioncurve.h +++ b/domain/verticalproportioncurve.h @@ -145,9 +145,9 @@ class VerticalProportionCurve : public DataFile Attribute* getVariableOfWeight( Attribute* weight ); virtual void deleteVariable( uint columnToDelete ); virtual bool isRegular(); - virtual double getDataSpatialLocation( uint line, CartesianCoord whichCoord ); - virtual void getDataSpatialLocation( uint line, double& x, double& y, double& z ); - virtual bool isTridimensional(); + virtual double getDataSpatialLocation( uint line, CartesianCoord whichCoord ) const; + virtual void getDataSpatialLocation( uint line, double& x, double& y, double& z ) const; + virtual bool isTridimensional() const; virtual void writeToFS(); virtual void readFromFS(); virtual bool isGridded() const override { return false; } From 677450cd12c223cb3260c5a012fd6438de55e5fa Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Sat, 20 Apr 2024 19:09:20 -0300 Subject: [PATCH 19/32] Introducing the Quadratic3DTrendModelFitting class to perform the fitting to data of a quadratic model in the form f(x,y,z) = axx + bxy + cxz + dyy + eyz + fzz + gx + hy + iz (the same used in kt3d's kriging with a trend model). --- GammaRay.pro | 2 + geostats/quadratic3dtrendmodelfitting.cpp | 360 ++++++++++++++++++++++ geostats/quadratic3dtrendmodelfitting.h | 121 ++++++++ 3 files changed, 483 insertions(+) create mode 100644 geostats/quadratic3dtrendmodelfitting.cpp create mode 100644 geostats/quadratic3dtrendmodelfitting.h diff --git a/GammaRay.pro b/GammaRay.pro index 46b1db51..86c312e6 100644 --- a/GammaRay.pro +++ b/GammaRay.pro @@ -55,6 +55,7 @@ SOURCES += main.cpp\ geostats/contactanalysis.cpp \ geostats/driftanalysis.cpp \ geostats/mcmcdataimputation.cpp \ + geostats/quadratic3dtrendmodelfitting.cpp \ geostats/searchannulus.cpp \ geostats/searchannulusstratigraphic.cpp \ geostats/searchbox.cpp \ @@ -344,6 +345,7 @@ HEADERS += mainwindow.h \ geostats/contactanalysis.h \ geostats/driftanalysis.h \ geostats/mcmcdataimputation.h \ + geostats/quadratic3dtrendmodelfitting.h \ geostats/searchannulus.h \ geostats/searchannulusstratigraphic.h \ geostats/searchbox.h \ diff --git a/geostats/quadratic3dtrendmodelfitting.cpp b/geostats/quadratic3dtrendmodelfitting.cpp new file mode 100644 index 00000000..c8534363 --- /dev/null +++ b/geostats/quadratic3dtrendmodelfitting.cpp @@ -0,0 +1,360 @@ +#include "quadratic3dtrendmodelfitting.h" + +#include "util.h" +#include "mainwindow.h" +#include "domain/application.h" +#include "domain/attribute.h" +#include "domain/datafile.h" + +#include +#include +#include +#include + +std::vector< double > Quadratic3DTrendModelFitting::s_objectiveFunctionValues; + +////////////////////////////////////////CLASS FOR THE GENETIC ALGORITHM////////////////////////////////////////// + +class Individual{ +public: + //constructors + Individual() : + m_parameters(), + m_fValue( std::numeric_limits::max() ) + {} + Individual( const Quadratic3DTrendModelFitting::Parameters& pparameters ) : + m_parameters( pparameters ), + m_fValue( std::numeric_limits::max() ) + {} + Individual( const Individual& otherIndividual ) : + m_parameters( otherIndividual.m_parameters ), + m_fValue( otherIndividual.m_fValue ) + {} + + //genetic operators + std::pair crossOver( const Individual& otherIndividual, + int pointOfCrossOver ) const { + Individual child1, child2; + for( int iParameter = 0; iParameter < Quadratic3DTrendModelFitting::N_PARAMS; ++iParameter ){ + if( iParameter < pointOfCrossOver ){ + child1.m_parameters[iParameter] = m_parameters[iParameter]; + child2.m_parameters[iParameter] = otherIndividual.m_parameters[iParameter]; + } else { + child1.m_parameters[iParameter] = otherIndividual.m_parameters[iParameter]; + child2.m_parameters[iParameter] = m_parameters[iParameter]; + } + } + return { child1, child2 }; + } + void mutate( double mutationRate, + const Quadratic3DTrendModelFitting::Parameters& lowBoundaries, + const Quadratic3DTrendModelFitting::Parameters& highBoundaries ){ + //compute the mutation probability for a single gene (parameter) + double probOfMutation = 1.0 / Quadratic3DTrendModelFitting::N_PARAMS * mutationRate; + //traverse all genes (parameters) + for( int iPar = 0; iPar < Quadratic3DTrendModelFitting::N_PARAMS; ++iPar ){ + //draw a value between 0.0 and 1.0 from an uniform distribution + double p = std::rand() / (double)RAND_MAX; + //if a mutation is due... + if( p < probOfMutation ) { + //perform mutation by randomly sorting a value within the domain. + double LO = lowBoundaries[iPar]; + double HI = highBoundaries[iPar]; + m_parameters[iPar] = LO + std::rand() / (RAND_MAX/(HI-LO)); + } + } + } + + //attribution operator + Individual& operator=( const Individual& otherIndividual ){ + m_parameters = otherIndividual.m_parameters; + m_fValue = otherIndividual.m_fValue; + return *this; + } + + //comparison operator + bool operator<( const Individual& otherIndividual ) const { + return m_fValue < otherIndividual.m_fValue; + } + + //member variables + Quadratic3DTrendModelFitting::Parameters m_parameters; //the genes (model parameters) of this individual + double m_fValue; //objective function value corresponding to this individual +}; +typedef Individual Solution; //make a synonym just for code readbility +///////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * The code for multithreaded evaluation of the objective function for a range of individuals (a set of variogam parameters) + * in the Genetic Algorithm. + * @param quad3DTrendModelFitRef Reference to the Quadratic3DTrendModelFitting object so its objective function can be called. + * @param iIndividual_initial First individual index to process. + * @param iIndividual_final Last individual index to process. If final_i==initial_i, this thread processes only one individual. + * OUTPUT PARAMETER: + * @param population The set of individuals to receive the evaluation of the objective function. + */ +void taskEvaluateObjetiveInRangeOfIndividualsForGenetic( + const Quadratic3DTrendModelFitting& quad3DTrendModelFitRef, + int iIndividual_initial, + int iIndividual_final, + std::vector< Individual >& population //-->output parameter + ) { + for( int iInd = iIndividual_initial; iInd <= iIndividual_final; ++iInd ){ + Individual& ind = population[iInd]; + ind.m_fValue = quad3DTrendModelFitRef.objectiveFunction( ind.m_parameters ); + } +} + + +Quadratic3DTrendModelFitting::Quadratic3DTrendModelFitting( DataFile* dataFile, Attribute* attribute ) : + m_attribute(attribute), m_dataFile(dataFile) +{} + +double Quadratic3DTrendModelFitting::objectiveFunction( const Quadratic3DTrendModelFitting::Parameters& parameters ) const +{ + double sum = 0.0; + //get the no-data value in numeric form to improve performance + double NDV = m_dataFile->getNoDataValueAsDouble(); + + uint16_t indexOfDependentVariable = m_attribute->getAttributeGEOEASgivenIndex()-1; + + //for each observation + for( int iRow = 0; iRow < m_dataFile->getDataLineCount(); iRow++ ){ + //get the observed value + double observedValue = m_dataFile->dataConst( iRow, indexOfDependentVariable ); + //if observed value is valid (not no-data-value) + if( ! Util::almostEqual2sComplement( observedValue, NDV, 1 ) ){ + // get the xyz location of the current sample. + double x, y, z; + m_dataFile->getDataSpatialLocation( iRow, x, y, z ); + // use the current trend model (defined by its parameters) + // to predict the value at the data location + double predictedValue = + parameters.a * x * x + + parameters.b * x * y + + parameters.c * x * z + + parameters.d * y * y + + parameters.e * y * z + + parameters.f * z * z + + parameters.g * x + + parameters.h * y + + parameters.i * z ; + //accumulate the squares of the observed - predicted differences (prediction errors) + double error = observedValue - predictedValue; + sum += error*error; + } + } + return sum; +} + +void Quadratic3DTrendModelFitting::initDomainAndParameters( Quadratic3DTrendModelFitting::ParametersDomain& domain, + Quadratic3DTrendModelFitting::Parameters& parameters ) const +{ + for( int i = 0; i < Quadratic3DTrendModelFitting::N_PARAMS; ++i){ + //define the domain boundaries + domain.min[i] = -1000.0; + domain.max[i] = 1000.0; + //and init the parameters near the center of the domain + parameters[i] = ( domain.max[i] + domain.min[i] ) / 2; + } +} + +Quadratic3DTrendModelFitting::Parameters Quadratic3DTrendModelFitting::processWithGenetic( + uint16_t nThreads, uint32_t seed, uint16_t maxNumberOfGenerations, + uint16_t nPopulationSize, uint16_t nSelectionSize, double probabilityOfCrossOver, + uint8_t pointOfCrossover, double mutationRate) const +{ + //clear the collected objective function values. + s_objectiveFunctionValues.clear(); + + //Intialize the random number generator with the same seed + std::srand (seed); + + //sanity checks + if( nSelectionSize >= nPopulationSize ){ + QMessageBox::critical( Application::instance()->getMainWindow(), + "Error", + "Quadratic3DTrendModelFitting::processWithGenetic(): Selection pool size must be less than population size."); + return Quadratic3DTrendModelFitting::Parameters(); + } + if( nPopulationSize % 2 + nSelectionSize % 2 ){ + QMessageBox::critical( Application::instance()->getMainWindow(), + "Error", + "Quadratic3DTrendModelFitting::processWithGenetic(): Sizes must be even numbers."); + return Quadratic3DTrendModelFitting::Parameters(); + } + if( pointOfCrossover >= N_PARAMS ){ + QMessageBox::critical( Application::instance()->getMainWindow(), + "Error", + "Quadratic3DTrendModelFitting::processWithGenetic(): Point of crossover must be less than the number of parameters."); + return Quadratic3DTrendModelFitting::Parameters(); + } + + // Fetch data from the data source. + m_dataFile->loadData(); + + //Initialize the optimization domain (boundary conditions) and + //the sets of variogram paramaters (both linear and structured) + ParametersDomain domain; + Parameters parameters; + initDomainAndParameters( domain, + parameters ); + + //=========================================THE GENETIC ALGORITHM================================================== + + //distribute as evenly as possible (load balance) the starting + //points (by their indexes) amongst the threads. + std::vector< std::pair< int, int > > individualsIndexesRanges = + Util::generateSubRanges( 0, nPopulationSize-1, nThreads ); + + //sanity check + assert( individualsIndexesRanges.size() == nThreads && "Quadratic3DTrendModelFitting::processWithGenetic(): " + "number of threads different from individual index ranges. " + " This is likely a bug in Util::generateSubRanges() function." ); + + QProgressDialog progressDialog; + progressDialog.setRange(0, maxNumberOfGenerations); + progressDialog.setValue( 0 ); + progressDialog.show(); + progressDialog.setLabelText("Genetic Algorithm in progress..."); + + //the main algorithm loop + std::vector< Individual > population; + for( int iGen = 0; iGen < maxNumberOfGenerations; ++iGen ){ + + //Init or refill the population with randomly generated individuals. + while( population.size() < nPopulationSize ){ + //create a set of genes (parameters) + Parameters pw; + //randomize the individual's position in the domain. + for( int i = 0; i < N_PARAMS; ++i ){ + double LO = domain.min[i]; + double HI = domain.max[i]; + pw[i] = LO + std::rand() / (RAND_MAX/(HI-LO)); + } + //create and individual with the random genes + Individual ind( pw ); + //add the new individual to the population + population.push_back( ind ); + } + + //create and start the threads. Each thread evaluates the objective function for a series of individuals. + std::thread threads[nThreads]; + unsigned int iThread = 0; + for( const std::pair< int, int >& individualsIndexesRange : individualsIndexesRanges ) { + threads[iThread] = std::thread( taskEvaluateObjetiveInRangeOfIndividualsForGenetic, + std::cref(*this), + individualsIndexesRange.first, + individualsIndexesRange.second, + std::ref( population ) //--> OUTPUT PARAMETER + ); + ++iThread; + } //for each thread (ranges of starting points) + + //wait for the threads to finish. + for( unsigned int iThread = 0; iThread < nThreads; ++iThread) + threads[iThread].join(); + + //sort the population in ascending order (lower value == better fitness) + std::sort( population.begin(), population.end() ); + + //collect the iteration's best objective function value + s_objectiveFunctionValues.push_back( population[0].m_fValue ); + + //clip the population (the excessive worst fit individuals die) + while( population.size() > nPopulationSize ) + population.pop_back(); + + //perform selection by binary tournament + std::vector< Individual > selection; + for( uint iSel = 0; iSel < nSelectionSize; ++iSel ){ + //perform binary tournament + std::vector< Individual > tournament; + { + //draw two different individuals at random from the population for the tournament. + int tournCandidate1 = std::rand() / (double)RAND_MAX * ( population.size() - 1 ); + int tournCandidate2 = tournCandidate1; + while( tournCandidate2 == tournCandidate1 ) + tournCandidate2 = std::rand() / (double)RAND_MAX * ( population.size() - 1 ); + //add the participants in the tournament + tournament.push_back( population[tournCandidate1] ); + tournament.push_back( population[tournCandidate2] ); + //sort the binary tournament + std::sort( tournament.begin(), tournament.end()); + } + //add the best of tournament to the selection pool + selection.push_back( tournament.front() ); + } + + //perform crossover and mutation on the selected individuals + std::vector< Individual > nextGen; + while( ! selection.empty() ){ + //draw two different selected individuals at random for crossover. + int parentIndex1 = std::rand() / (double)RAND_MAX * ( selection.size() - 1 ); + int parentIndex2 = parentIndex1; + while( parentIndex2 == parentIndex1 ) + parentIndex2 = std::rand() / (double)RAND_MAX * ( selection.size() - 1 ); + Individual parent1 = selection[ parentIndex1 ]; + Individual parent2 = selection[ parentIndex2 ]; + selection.erase( selection.begin() + parentIndex1 ); + selection.erase( selection.begin() + parentIndex2 ); + //draw a value between 0.0 and 1.0 from an uniform distribution + double p = std::rand() / (double)RAND_MAX; + //if crossover is due... + if( p < probabilityOfCrossOver ){ + //crossover + std::pair< Individual, Individual> offspring = parent1.crossOver( parent2, pointOfCrossover ); + Individual child1 = offspring.first; + Individual child2 = offspring.second; + //mutate all + child1.mutate( mutationRate, domain.min, domain.max ); + child2.mutate( mutationRate, domain.min, domain.max ); + parent1.mutate( mutationRate, domain.min, domain.max ); + parent2.mutate( mutationRate, domain.min, domain.max ); + //add them to the next generation pool + nextGen.push_back( child1 ); + nextGen.push_back( child2 ); + nextGen.push_back( parent1 ); + nextGen.push_back( parent2 ); + } else { //no crossover took place + //simply mutate and insert the parents into the next generation pool + parent1.mutate( mutationRate, domain.min, domain.max ); + parent2.mutate( mutationRate, domain.min, domain.max ); + nextGen.push_back( parent1 ); + nextGen.push_back( parent2 ); + } + } + + //make the next generation + population = nextGen; + + //update progress bar + progressDialog.setValue( iGen ); + QApplication::processEvents(); // let Qt update the UI + + } //main algorithm loop + + //=====================================GET RESULTS======================================== + progressDialog.hide(); + + //evaluate the individuals of final population + for( uint iInd = 0; iInd < population.size(); ++iInd ){ + Individual& ind = population[iInd]; + ind.m_fValue = objectiveFunction( ind.m_parameters ); + } + + //sort the population in ascending order (lower value == better fitness) + std::sort( population.begin(), population.end() ); + + //get the parameters of the best individual (set of parameters) + Parameters gbest_pw = population[0].m_parameters; + + // Display the results in a window. +// if( openResultsDialog ){ +// displayResults( variogramStructures, inputFFTimagPhase, inputVarmap, false ); +// showObjectiveFunctionEvolution(); +// } + + //return the fitted model + return gbest_pw; +} diff --git a/geostats/quadratic3dtrendmodelfitting.h b/geostats/quadratic3dtrendmodelfitting.h new file mode 100644 index 00000000..c5e3f83e --- /dev/null +++ b/geostats/quadratic3dtrendmodelfitting.h @@ -0,0 +1,121 @@ +#ifndef QUADRATIC3DTRENDMODELFITTING_H +#define QUADRATIC3DTRENDMODELFITTING_H + +#include +#include +#include +#include + +class DataFile; +class Attribute; + +/** + * The Quadratic3DTrendModelFitting class comprises the functionalities to fit a 3D quadratic trend model + * to a data set. The trend model has nine terms in the form: + * f(x,y,z) = a*x*x + b*x*y + c*x*z + d*y*y + e*y*z + f*z*z + g*x + h*y + i*z + * where: a...i are the model parameters. + * This form follows the one expected in the configuration of the kt3d GSLib program for kriging with + * a trend model. The model predicts the value of a continuous variable given a location in space. + * The fitting process searchs for a set of a...i parameters such that the differences between f(x,y,z) + * and the observed values at data locations are minimized. + */ +class Quadratic3DTrendModelFitting +{ +public: + + /** The number of model parameters. */ + constexpr static int N_PARAMS = 9; + + /** A shortcut to a standard NaN value. */ + constexpr static double NaN = std::numeric_limits::quiet_NaN(); + + /** Constructor. */ + Quadratic3DTrendModelFitting(DataFile* dataFile, Attribute* attribute); + + /** Data structure: the nine model parameters to find. */ + struct Parameters { + Parameters():a(NaN),b(NaN),c(NaN),d(NaN),e(NaN),f(NaN),g(NaN),h(NaN),i(NaN){} //all-NaN intialization + double a, b, c, d, e, f, g, h, i; //the individual parameters + double& operator [](int index){ //this allows the set to be used as an array (l-value). + switch(index){ + case 0: return a; case 1: return b; case 2: return c; + case 3: return d; case 4: return e; case 5: return f; + case 6: return g; case 7: return h; case 8: return i; + default: assert( false && "Quadratic3DTrendModelFitting::Parameters: index out of bounds (must be between 0 and 8)."); + } + } + double operator [](int index) const { //this allows the set to be used as an array (r-value). + switch(index){ + case 0: return a; case 1: return b; case 2: return c; + case 3: return d; case 4: return e; case 5: return f; + case 6: return g; case 7: return h; case 8: return i; + default: assert( false && "Quadratic3DTrendModelFitting::Parameters: index out of bounds (must be between 0 and 8)."); + } + } + }; + + /** Data structure: the parameters domain for the optimization methods (boundary conditions). */ + struct ParametersDomain { + Parameters min; + Parameters max; + }; + + + /** The objective function for an optimization process to find a minimum (ideally the global one). + * @param parameters The parameters of the model to test. + * @return The sum of the squares of the differences between all the observed and predicted values. + */ + double objectiveFunction (const Parameters& parameters) const; + + + /** Method called by a method of optimization to initialize the + * parameter domain (boundary conditions) and the set of parameters. + * All non-const method parameters are output parameters. + * @param domain The domain boundaries to initialize as two sets of + * parameters: with the minima and with the maxima. + * @param parameters The set of parameters to initialize. + */ + void initDomainAndParameters( ParametersDomain& domain, + Parameters& parameters ) const; + + /** Performs the trend model fitting using a Genetic Algorithm as optimization method. + *...................................Global Parameters.................................... + * @param nThreads Number of parallel execution threads. + * @param seed Seed for the the random number generator. + *...................................GA Parameters................................. + * @param maxNumberOfGenerations number of generations (iterations). + * @param nPopulationSize Number of individuals (solutions). Mas be an even number. + * @param nSelectionSize The size of the selection pool (must be < nPopulationSize and be an even number). + * @param probabilityOfCrossOver The probability of crossover (between 0.0 and 1.0); + * @param pointOfCrossover The parameter index from which crossover takes place (must be less than the total + * number of parameters per individual). + * @param mutationRate Mutation rate means how many paramaters are expected to change per mutation + * the probability of any parameter parameter (gene) to be changed is 1/nParameters * mutationRate + * thus, 1.0 means that one gene will surely be mutated per mutation on average. Fractionary + * values are possible. 0.0 means no mutation will take place. + * @returns The set of parameters of the fit trend model. An all-NaN set of parameters is returned if something goes + * wrong during processing (error messages will be displayed). + */ + Parameters processWithGenetic( + uint16_t nThreads, + uint32_t seed, + uint16_t maxNumberOfGenerations, + uint16_t nPopulationSize, + uint16_t nSelectionSize, + double probabilityOfCrossOver, + uint8_t pointOfCrossover, + double mutationRate + ) const; + +private: + Attribute* m_attribute; + DataFile* m_dataFile; + + /** The objective function values collected during the last execution + * of an optimization method. + */ + static std::vector< double > s_objectiveFunctionValues; + +}; + +#endif // QUADRATIC3DTRENDMODELFITTING_H From 0e8c8a12e41eb0ce44e38887a8683c37bf66509f Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Mon, 22 Apr 2024 10:43:12 -0300 Subject: [PATCH 20/32] LineChartWidget: setData(): fixed not removing previously added Y axes. --- widgets/linechartwidget.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/widgets/linechartwidget.cpp b/widgets/linechartwidget.cpp index 1671aecc..e9d8865f 100644 --- a/widgets/linechartwidget.cpp +++ b/widgets/linechartwidget.cpp @@ -5,6 +5,7 @@ #include #include +#include #include LineChartWidget::LineChartWidget(QWidget *parent) : @@ -109,6 +110,9 @@ void LineChartWidget::setData(const std::vector > &data, //create the single Y axis or a new Y axis per dependent variable. if( ! m_sharedYaxis || ! axisY ){ + //remove any previously added Y axes + for( QtCharts::QAbstractAxis* axis : m_chart->axes( Qt::Vertical ) ) + m_chart->removeAxis( axis ); axisY = new QtCharts::QValueAxis(); axisY->setTickCount(11); m_chart->addAxis(axisY, Qt::AlignLeft); From d6c0ca9ad3a5bc5f9cc739aac790573d5c7b533e Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Wed, 24 Apr 2024 16:47:28 -0300 Subject: [PATCH 21/32] WIP: Drift Analysis: fit a trend model. --- dialogs/driftanalysisdialog.cpp | 51 ++- dialogs/driftanalysisdialog.h | 8 + dialogs/driftanalysisdialog.ui | 392 +++++++++++++++++++- geostats/quadratic3dtrendmodelfitting.cpp | 413 +++++++++++++--------- geostats/quadratic3dtrendmodelfitting.h | 85 +++-- 5 files changed, 747 insertions(+), 202 deletions(-) diff --git a/dialogs/driftanalysisdialog.cpp b/dialogs/driftanalysisdialog.cpp index ebe9fae0..a2d4dcbf 100644 --- a/dialogs/driftanalysisdialog.cpp +++ b/dialogs/driftanalysisdialog.cpp @@ -5,9 +5,11 @@ #include "domain/application.h" #include "domain/datafile.h" #include "geostats/driftanalysis.h" +#include "geostats/quadratic3dtrendmodelfitting.h" #include "widgets/linechartwidget.h" #include +#include DriftAnalysisDialog::DriftAnalysisDialog(DataFile *dataFile, Attribute *attribute, QWidget *parent) : QDialog(parent), @@ -36,6 +38,11 @@ DriftAnalysisDialog::DriftAnalysisDialog(DataFile *dataFile, Attribute *attribut //if data set is not 3D, hide the vertical drift chart if( ! m_dataFile->isTridimensional() ) ui->grpVerticalDrift->hide(); + + ui->grpGeneticAlgorithmParams->hide(); + + //defult is the number of logical processing cores made visible by the OS + ui->spinNumberOfThreads->setValue( std::thread::hardware_concurrency() ); } DriftAnalysisDialog::~DriftAnalysisDialog() @@ -84,7 +91,7 @@ void DriftAnalysisDialog::onRun() for( const std::pair< DriftAnalysis::coordZ, DriftAnalysis::Mean >& result : resultsVertical ) chartDataVertical .push_back( { result.second, result.first } ); - //get some properties of the domain categories relevant to make + //set some properties of the domain categories relevant to make //the chart informative QColor colorWestEast = QColorConstants::Red; QColor colorSouthNorth = QColorConstants::DarkGreen; @@ -108,4 +115,46 @@ void DriftAnalysisDialog::onRun() m_chartVertical->setXaxisCaption( "mean " + m_attribute->getName() ); } + +} + +void DriftAnalysisDialog::onFitTrendModel() +{ + ui->grpGeneticAlgorithmParams->setVisible( ! ui->grpGeneticAlgorithmParams->isVisible() ); +} + +void DriftAnalysisDialog::onRunFitTrendModel() +{ + //fit a trend model to the data + Quadratic3DTrendModelFitting q3dtmf( m_dataFile, m_attribute ); + Quad3DTrendModelFittingAuxDefs::Parameters modelParameters = + q3dtmf.processWithGenetic( + ui->spinNumberOfThreads->value(), + ui->spinSeed->value(), + ui->spinNumberOfGenerations->value(), + ui->spinPopulationSize->value(), + ui->spinSelectionSize->value(), + ui->dblSpinProbabilityOfCrossover->value(), + ui->spinPointOfCrossover->value(), + ui->dblSpinMutationRate->value(), + ui->dblCoeffSearchWindowSize->value(), + ui->dblSearchWindowShiftThreshold->value() ); + + ui->lblTrendModel->setText("

Trend model: " + + QString::number(modelParameters.a) + "x2 + " + + QString::number(modelParameters.b) + "xy + " + + QString::number(modelParameters.c) + "xz + " + + QString::number(modelParameters.d) + "y2 + " + + QString::number(modelParameters.e) + "yz + " + + QString::number(modelParameters.f) + "z2 + " + + QString::number(modelParameters.g) + "x + " + + QString::number(modelParameters.h) + "y + " + + QString::number(modelParameters.i) + "z

"); + + m_lastFitDriftModelParameters.reset( new Quad3DTrendModelFittingAuxDefs::Parameters( modelParameters ) ); +} + +void DriftAnalysisDialog::onSaveNewVariableWithDriftModel() +{ + } diff --git a/dialogs/driftanalysisdialog.h b/dialogs/driftanalysisdialog.h index ec9964da..b30892f6 100644 --- a/dialogs/driftanalysisdialog.h +++ b/dialogs/driftanalysisdialog.h @@ -7,6 +7,10 @@ class DataFile; class Attribute; class LineChartWidget; +namespace Quad3DTrendModelFittingAuxDefs{ + class Parameters; +} + namespace Ui { class DriftAnalysisDialog; } @@ -26,9 +30,13 @@ class DriftAnalysisDialog : public QDialog LineChartWidget* m_chartWestEast; LineChartWidget* m_chartSouthNorth; LineChartWidget* m_chartVertical; + std::unique_ptr m_lastFitDriftModelParameters; private Q_SLOTS: void onRun(); + void onFitTrendModel(); + void onRunFitTrendModel(); + void onSaveNewVariableWithDriftModel(); }; #endif // DRIFTANALYSISDIALOG_H diff --git a/dialogs/driftanalysisdialog.ui b/dialogs/driftanalysisdialog.ui index f619320d..00bd3506 100644 --- a/dialogs/driftanalysisdialog.ui +++ b/dialogs/driftanalysisdialog.ui @@ -6,8 +6,8 @@ 0 0 - 685 - 459 + 657 + 512 @@ -202,6 +202,13 @@ + + + + Fit trend model + + + @@ -224,9 +231,327 @@ + + + + + 0 + 0 + + + + Fit a trend model for kriging with a trend (kt3d) + + + + 6 + + + 1 + + + + + <html><head/><body><p><span style=" font-family:'Verdana,Arial,Tahoma,Calibri,Geneva,sans-serif';">Population size:</span></p></body></html> + + + + + + + <html><head/><body><p><span style=" font-family:'Verdana,Arial,Tahoma,Calibri,Geneva,sans-serif';">Number of generations:</span></p></body></html> + + + + + + + true + + + <html><head/><body><p><span style=" font-family:'Verdana,Arial,Tahoma,Calibri,Geneva,sans-serif';">Maximum number of threads:</span></p></body></html> + + + + + + + <html><head/><body><p><span style=" font-family:'Verdana,Arial,Tahoma,Calibri,Geneva,sans-serif';">Seed for the random number generator:</span></p></body></html> + + + + + + + <html><head/><body><p><span style=" font-family:'Verdana,Arial,Tahoma,Calibri,Geneva,sans-serif';">Search window shift threshold:</span></p></body></html> + + + + + + + 1 + + + 10000000 + + + 10 + + + 500 + + + + + + + <html><head/><body><p><span style=" font-family:'Verdana,Arial,Tahoma,Calibri,Geneva,sans-serif';">Probability of crossover:</span></p></body></html> + + + + + + + 999999999 + + + 13 + + + 131313 + + + + + + + Execution control parameters: + + + + + + + <html><head/><body><p><span style=" font-family:'Verdana,Arial,Tahoma,Calibri,Geneva,sans-serif';">Mutation rate:</span></p></body></html> + + + + + + + <html><head/><body><p><span style=" font-family:'Verdana,Arial,Tahoma,Calibri,Geneva,sans-serif';">Natural selection size (must be &lt; pop. size):</span></p></body></html> + + + + + + + 1 + + + 10000000 + + + 10 + + + 200 + + + + + + + 1 + + + 10000000 + + + 10 + + + 250 + + + + + + + 1000 + + + 20 + + + + + + + Qt::Horizontal + + + + + + + 1.000000000000000 + + + 0.050000000000000 + + + 0.700000000000000 + + + + + + + 0 + + + 8 + + + 1 + + + 4 + + + + + + + fit a trend model + + + + + + + :/icons32/play32:/icons32/play32 + + + + + + + 3 + + + 0.010000000000000 + + + 99999999999.000000000000000 + + + QAbstractSpinBox::AdaptiveDecimalStepType + + + 10.000000000000000 + + + + + + + <html><head/><body><p><span style=" font-family:'Verdana,Arial,Tahoma,Calibri,Geneva,sans-serif';">Point of crossover (must be 0 &lt;= and &lt; 9):</span></p></body></html> + + + + + + + <html><head/><body><p><span style=" font-family:'Verdana,Arial,Tahoma,Calibri,Geneva,sans-serif';">coefficient search window size:</span></p></body></html> + + + + + + + 6 + + + 0.000001000000000 + + + 10.000000000000000 + + + 0.001000000000000 + + + QAbstractSpinBox::AdaptiveDecimalStepType + + + 0.100000000000000 + + + + + + + 1.000000000000000 + + + 0.050000000000000 + + + 0.200000000000000 + + + + + + + Genetic algorithm parameters (hiperparameters): + + + + + + + Qt::Horizontal + + + + + + + + 10 + + + + <html><head/><body><p>Trend model:x<sup>2</sup></p></body></html> + + + + + + + Save new variable with evaluation of drift model. + + + + + + + :/icons32/save32:/icons32/save32 + + + + + + - + + + btnDismiss @@ -235,8 +560,8 @@ reject() - 674 - 448 + 646 + 272 391 @@ -251,17 +576,68 @@ onRun() - 72 - 442 + 82 + 263 115 - 438 + 399 + + + + + btnFitTrendModel + clicked() + DriftAnalysisDialog + onFitTrendModel() + + + 170 + 263 + + + 190 + 399 + + + + + btnRunFitTrendModel + clicked() + DriftAnalysisDialog + onRunFitTrendModel() + + + 221 + 467 + + + 467 + 397 + + + + + btnSaveDrift + clicked() + DriftAnalysisDialog + onSaveNewVariableWithDriftModel() + + + 589 + 480 + + + 549 + 509 onRun() + onFitTrendModel() + onRunFitTrendModel() + onSaveNewVariableWithDriftModel() diff --git a/geostats/quadratic3dtrendmodelfitting.cpp b/geostats/quadratic3dtrendmodelfitting.cpp index c8534363..08d9ed04 100644 --- a/geostats/quadratic3dtrendmodelfitting.cpp +++ b/geostats/quadratic3dtrendmodelfitting.cpp @@ -2,13 +2,19 @@ #include "util.h" #include "mainwindow.h" +#include "dialogs/emptydialog.h" #include "domain/application.h" #include "domain/attribute.h" #include "domain/datafile.h" +#include "geometry/boundingbox.h" #include +#include +#include +#include #include #include +#include #include std::vector< double > Quadratic3DTrendModelFitting::s_objectiveFunctionValues; @@ -22,7 +28,7 @@ class Individual{ m_parameters(), m_fValue( std::numeric_limits::max() ) {} - Individual( const Quadratic3DTrendModelFitting::Parameters& pparameters ) : + Individual( const Quad3DTrendModelFittingAuxDefs::Parameters& pparameters ) : m_parameters( pparameters ), m_fValue( std::numeric_limits::max() ) {} @@ -35,7 +41,7 @@ class Individual{ std::pair crossOver( const Individual& otherIndividual, int pointOfCrossOver ) const { Individual child1, child2; - for( int iParameter = 0; iParameter < Quadratic3DTrendModelFitting::N_PARAMS; ++iParameter ){ + for( int iParameter = 0; iParameter < Quad3DTrendModelFittingAuxDefs::N_PARAMS; ++iParameter ){ if( iParameter < pointOfCrossOver ){ child1.m_parameters[iParameter] = m_parameters[iParameter]; child2.m_parameters[iParameter] = otherIndividual.m_parameters[iParameter]; @@ -47,12 +53,12 @@ class Individual{ return { child1, child2 }; } void mutate( double mutationRate, - const Quadratic3DTrendModelFitting::Parameters& lowBoundaries, - const Quadratic3DTrendModelFitting::Parameters& highBoundaries ){ + const Quad3DTrendModelFittingAuxDefs::Parameters& lowBoundaries, + const Quad3DTrendModelFittingAuxDefs::Parameters& highBoundaries ){ //compute the mutation probability for a single gene (parameter) - double probOfMutation = 1.0 / Quadratic3DTrendModelFitting::N_PARAMS * mutationRate; + double probOfMutation = 1.0 / Quad3DTrendModelFittingAuxDefs::N_PARAMS * mutationRate; //traverse all genes (parameters) - for( int iPar = 0; iPar < Quadratic3DTrendModelFitting::N_PARAMS; ++iPar ){ + for( int iPar = 0; iPar < Quad3DTrendModelFittingAuxDefs::N_PARAMS; ++iPar ){ //draw a value between 0.0 and 1.0 from an uniform distribution double p = std::rand() / (double)RAND_MAX; //if a mutation is due... @@ -78,7 +84,7 @@ class Individual{ } //member variables - Quadratic3DTrendModelFitting::Parameters m_parameters; //the genes (model parameters) of this individual + Quad3DTrendModelFittingAuxDefs::Parameters m_parameters; //the genes (model parameters) of this individual double m_fValue; //objective function value corresponding to this individual }; typedef Individual Solution; //make a synonym just for code readbility @@ -110,15 +116,24 @@ Quadratic3DTrendModelFitting::Quadratic3DTrendModelFitting( DataFile* dataFile, m_attribute(attribute), m_dataFile(dataFile) {} -double Quadratic3DTrendModelFitting::objectiveFunction( const Quadratic3DTrendModelFitting::Parameters& parameters ) const +double Quadratic3DTrendModelFitting::objectiveFunction( const Quad3DTrendModelFittingAuxDefs::Parameters& parameters ) const { + //the sum to compute the error mean to be returned double sum = 0.0; + + //get the origin x,y,z so we can use a local coordinate system to fit a trend model to +// BoundingBox bbox = m_dataFile->getBoundingBox(); +// double x0 = bbox.m_minX; +// double y0 = bbox.m_minY; +// double z0 = bbox.m_minZ; + //get the no-data value in numeric form to improve performance double NDV = m_dataFile->getNoDataValueAsDouble(); uint16_t indexOfDependentVariable = m_attribute->getAttributeGEOEASgivenIndex()-1; //for each observation + uint64_t count = 0; for( int iRow = 0; iRow < m_dataFile->getDataLineCount(); iRow++ ){ //get the observed value double observedValue = m_dataFile->dataConst( iRow, indexOfDependentVariable ); @@ -127,6 +142,7 @@ double Quadratic3DTrendModelFitting::objectiveFunction( const Quadratic3DTrendMo // get the xyz location of the current sample. double x, y, z; m_dataFile->getDataSpatialLocation( iRow, x, y, z ); +// x -= x0; y -= y0; z -= z0; //make the sample location relative to the local coordinate system // use the current trend model (defined by its parameters) // to predict the value at the data location double predictedValue = @@ -139,31 +155,31 @@ double Quadratic3DTrendModelFitting::objectiveFunction( const Quadratic3DTrendMo parameters.g * x + parameters.h * y + parameters.i * z ; - //accumulate the squares of the observed - predicted differences (prediction errors) + //accumulate the observed - predicted differences (prediction errors) double error = observedValue - predictedValue; - sum += error*error; + sum += std::abs(error); + count++; } } - return sum; + return sum / count; } -void Quadratic3DTrendModelFitting::initDomainAndParameters( Quadratic3DTrendModelFitting::ParametersDomain& domain, - Quadratic3DTrendModelFitting::Parameters& parameters ) const +void Quadratic3DTrendModelFitting::initDomain( Quad3DTrendModelFittingAuxDefs::ParametersDomain& domain, + double searchWindowSize ) const { - for( int i = 0; i < Quadratic3DTrendModelFitting::N_PARAMS; ++i){ + for( int i = 0; i < Quad3DTrendModelFittingAuxDefs::N_PARAMS; ++i){ //define the domain boundaries - domain.min[i] = -1000.0; - domain.max[i] = 1000.0; - //and init the parameters near the center of the domain - parameters[i] = ( domain.max[i] + domain.min[i] ) / 2; + domain.min[i] = -searchWindowSize; + domain.max[i] = searchWindowSize; } } -Quadratic3DTrendModelFitting::Parameters Quadratic3DTrendModelFitting::processWithGenetic( +Quad3DTrendModelFittingAuxDefs::Parameters Quadratic3DTrendModelFitting::processWithGenetic( uint16_t nThreads, uint32_t seed, uint16_t maxNumberOfGenerations, uint16_t nPopulationSize, uint16_t nSelectionSize, double probabilityOfCrossOver, - uint8_t pointOfCrossover, double mutationRate) const + uint8_t pointOfCrossover, double mutationRate, double searchWindowSize, double windowWindowShiftThreshold) const { + //clear the collected objective function values. s_objectiveFunctionValues.clear(); @@ -175,186 +191,243 @@ Quadratic3DTrendModelFitting::Parameters Quadratic3DTrendModelFitting::processWi QMessageBox::critical( Application::instance()->getMainWindow(), "Error", "Quadratic3DTrendModelFitting::processWithGenetic(): Selection pool size must be less than population size."); - return Quadratic3DTrendModelFitting::Parameters(); + return Quad3DTrendModelFittingAuxDefs::Parameters(); } if( nPopulationSize % 2 + nSelectionSize % 2 ){ QMessageBox::critical( Application::instance()->getMainWindow(), "Error", "Quadratic3DTrendModelFitting::processWithGenetic(): Sizes must be even numbers."); - return Quadratic3DTrendModelFitting::Parameters(); + return Quad3DTrendModelFittingAuxDefs::Parameters(); } - if( pointOfCrossover >= N_PARAMS ){ + if( pointOfCrossover >= Quad3DTrendModelFittingAuxDefs::N_PARAMS ){ QMessageBox::critical( Application::instance()->getMainWindow(), "Error", "Quadratic3DTrendModelFitting::processWithGenetic(): Point of crossover must be less than the number of parameters."); - return Quadratic3DTrendModelFitting::Parameters(); + return Quad3DTrendModelFittingAuxDefs::Parameters(); } // Fetch data from the data source. m_dataFile->loadData(); - //Initialize the optimization domain (boundary conditions) and - //the sets of variogram paramaters (both linear and structured) - ParametersDomain domain; - Parameters parameters; - initDomainAndParameters( domain, - parameters ); - - //=========================================THE GENETIC ALGORITHM================================================== - - //distribute as evenly as possible (load balance) the starting - //points (by their indexes) amongst the threads. - std::vector< std::pair< int, int > > individualsIndexesRanges = - Util::generateSubRanges( 0, nPopulationSize-1, nThreads ); - - //sanity check - assert( individualsIndexesRanges.size() == nThreads && "Quadratic3DTrendModelFitting::processWithGenetic(): " - "number of threads different from individual index ranges. " - " This is likely a bug in Util::generateSubRanges() function." ); - - QProgressDialog progressDialog; - progressDialog.setRange(0, maxNumberOfGenerations); - progressDialog.setValue( 0 ); - progressDialog.show(); - progressDialog.setLabelText("Genetic Algorithm in progress..."); - - //the main algorithm loop - std::vector< Individual > population; - for( int iGen = 0; iGen < maxNumberOfGenerations; ++iGen ){ - - //Init or refill the population with randomly generated individuals. - while( population.size() < nPopulationSize ){ - //create a set of genes (parameters) - Parameters pw; - //randomize the individual's position in the domain. - for( int i = 0; i < N_PARAMS; ++i ){ - double LO = domain.min[i]; - double HI = domain.max[i]; - pw[i] = LO + std::rand() / (RAND_MAX/(HI-LO)); - } - //create and individual with the random genes - Individual ind( pw ); - //add the new individual to the population - population.push_back( ind ); - } + //Initialize the optimization domain (boundary conditions) + Quad3DTrendModelFittingAuxDefs::ParametersDomain domain; + Quad3DTrendModelFittingAuxDefs::Parameters domainCenter = {0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0}; //init domain center at origin of the 9-D space + initDomain( domain, searchWindowSize ); - //create and start the threads. Each thread evaluates the objective function for a series of individuals. - std::thread threads[nThreads]; - unsigned int iThread = 0; - for( const std::pair< int, int >& individualsIndexesRange : individualsIndexesRanges ) { - threads[iThread] = std::thread( taskEvaluateObjetiveInRangeOfIndividualsForGenetic, - std::cref(*this), - individualsIndexesRange.first, - individualsIndexesRange.second, - std::ref( population ) //--> OUTPUT PARAMETER - ); - ++iThread; - } //for each thread (ranges of starting points) - - //wait for the threads to finish. - for( unsigned int iThread = 0; iThread < nThreads; ++iThread) - threads[iThread].join(); + //initialize the best fit paramaters in the domain center + Quad3DTrendModelFittingAuxDefs::Parameters gbest_pw = domainCenter; - //sort the population in ascending order (lower value == better fitness) - std::sort( population.begin(), population.end() ); + //loop for the domain window shift if a solution is near the current domain boundaries + //executes at least once + while(true){ + + //=========================================THE GENETIC ALGORITHM================================================== + + //distribute as evenly as possible (load balance) the starting + //points (by their indexes) amongst the threads. + std::vector< std::pair< int, int > > individualsIndexesRanges = + Util::generateSubRanges( 0, nPopulationSize-1, nThreads ); + + //sanity check + assert( individualsIndexesRanges.size() == nThreads && "Quadratic3DTrendModelFitting::processWithGenetic(): " + "number of threads different from individual index ranges. " + " This is likely a bug in Util::generateSubRanges() function." ); - //collect the iteration's best objective function value - s_objectiveFunctionValues.push_back( population[0].m_fValue ); - - //clip the population (the excessive worst fit individuals die) - while( population.size() > nPopulationSize ) - population.pop_back(); - - //perform selection by binary tournament - std::vector< Individual > selection; - for( uint iSel = 0; iSel < nSelectionSize; ++iSel ){ - //perform binary tournament - std::vector< Individual > tournament; - { - //draw two different individuals at random from the population for the tournament. - int tournCandidate1 = std::rand() / (double)RAND_MAX * ( population.size() - 1 ); - int tournCandidate2 = tournCandidate1; - while( tournCandidate2 == tournCandidate1 ) - tournCandidate2 = std::rand() / (double)RAND_MAX * ( population.size() - 1 ); - //add the participants in the tournament - tournament.push_back( population[tournCandidate1] ); - tournament.push_back( population[tournCandidate2] ); - //sort the binary tournament - std::sort( tournament.begin(), tournament.end()); + QProgressDialog progressDialog; + progressDialog.setRange(0, maxNumberOfGenerations); + progressDialog.setValue( 0 ); + progressDialog.show(); + progressDialog.setLabelText("Genetic Algorithm in progress..."); + + //the main genetic algorithm algorithm loop + std::vector< Individual > population; + for( int iGen = 0; iGen < maxNumberOfGenerations; ++iGen ){ + + //the current best solution found so far is kept as part of the population + if( ! gbest_pw.isTrivial() ) { + Individual currentBest( gbest_pw ); + population.push_back( currentBest ); } - //add the best of tournament to the selection pool - selection.push_back( tournament.front() ); - } - //perform crossover and mutation on the selected individuals - std::vector< Individual > nextGen; - while( ! selection.empty() ){ - //draw two different selected individuals at random for crossover. - int parentIndex1 = std::rand() / (double)RAND_MAX * ( selection.size() - 1 ); - int parentIndex2 = parentIndex1; - while( parentIndex2 == parentIndex1 ) - parentIndex2 = std::rand() / (double)RAND_MAX * ( selection.size() - 1 ); - Individual parent1 = selection[ parentIndex1 ]; - Individual parent2 = selection[ parentIndex2 ]; - selection.erase( selection.begin() + parentIndex1 ); - selection.erase( selection.begin() + parentIndex2 ); - //draw a value between 0.0 and 1.0 from an uniform distribution - double p = std::rand() / (double)RAND_MAX; - //if crossover is due... - if( p < probabilityOfCrossOver ){ - //crossover - std::pair< Individual, Individual> offspring = parent1.crossOver( parent2, pointOfCrossover ); - Individual child1 = offspring.first; - Individual child2 = offspring.second; - //mutate all - child1.mutate( mutationRate, domain.min, domain.max ); - child2.mutate( mutationRate, domain.min, domain.max ); - parent1.mutate( mutationRate, domain.min, domain.max ); - parent2.mutate( mutationRate, domain.min, domain.max ); - //add them to the next generation pool - nextGen.push_back( child1 ); - nextGen.push_back( child2 ); - nextGen.push_back( parent1 ); - nextGen.push_back( parent2 ); - } else { //no crossover took place - //simply mutate and insert the parents into the next generation pool - parent1.mutate( mutationRate, domain.min, domain.max ); - parent2.mutate( mutationRate, domain.min, domain.max ); - nextGen.push_back( parent1 ); - nextGen.push_back( parent2 ); + //complete the population with randomly generated individuals. + while( population.size() < nPopulationSize ){ + //create a set of genes (parameters) + Quad3DTrendModelFittingAuxDefs::Parameters pw; + //randomize the individual's position in the domain. + for( int i = 0; i < Quad3DTrendModelFittingAuxDefs::N_PARAMS; ++i ){ + double LO = domain.min[i]; + double HI = domain.max[i]; + pw[i] = LO + std::rand() / (RAND_MAX/(HI-LO)); + } + //create and individual with the random genes + Individual ind( pw ); + //add the new individual to the population + population.push_back( ind ); } - } - //make the next generation - population = nextGen; + //create and start the threads. Each thread evaluates the objective function for a series of individuals. + std::thread threads[nThreads]; + unsigned int iThread = 0; + for( const std::pair< int, int >& individualsIndexesRange : individualsIndexesRanges ) { + threads[iThread] = std::thread( taskEvaluateObjetiveInRangeOfIndividualsForGenetic, + std::cref(*this), + individualsIndexesRange.first, + individualsIndexesRange.second, + std::ref( population ) //--> OUTPUT PARAMETER + ); + ++iThread; + } //for each thread (ranges of starting points) + + //wait for the threads to finish. + for( unsigned int iThread = 0; iThread < nThreads; ++iThread) + threads[iThread].join(); + + //sort the population in ascending order (lower value == better fitness) + std::sort( population.begin(), population.end() ); + + //collect the iteration's best objective function value + s_objectiveFunctionValues.push_back( population[0].m_fValue ); + + //clip the population (the excessive worst fit individuals die) + while( population.size() > nPopulationSize ) + population.pop_back(); + + //perform selection by binary tournament + std::vector< Individual > selection; + for( uint iSel = 0; iSel < nSelectionSize; ++iSel ){ + //perform binary tournament + std::vector< Individual > tournament; + { + //draw two different individuals at random from the population for the tournament. + int tournCandidate1 = std::rand() / (double)RAND_MAX * ( population.size() - 1 ); + int tournCandidate2 = tournCandidate1; + while( tournCandidate2 == tournCandidate1 ) + tournCandidate2 = std::rand() / (double)RAND_MAX * ( population.size() - 1 ); + //add the participants in the tournament + tournament.push_back( population[tournCandidate1] ); + tournament.push_back( population[tournCandidate2] ); + //sort the binary tournament + std::sort( tournament.begin(), tournament.end()); + } + //add the best of tournament to the selection pool + selection.push_back( tournament.front() ); + } - //update progress bar - progressDialog.setValue( iGen ); - QApplication::processEvents(); // let Qt update the UI + //perform crossover and mutation on the selected individuals + std::vector< Individual > nextGen; + while( ! selection.empty() ){ + //draw two different selected individuals at random for crossover. + int parentIndex1 = std::rand() / (double)RAND_MAX * ( selection.size() - 1 ); + int parentIndex2 = parentIndex1; + while( parentIndex2 == parentIndex1 ) + parentIndex2 = std::rand() / (double)RAND_MAX * ( selection.size() - 1 ); + Individual parent1 = selection[ parentIndex1 ]; + Individual parent2 = selection[ parentIndex2 ]; + selection.erase( selection.begin() + parentIndex1 ); + selection.erase( selection.begin() + parentIndex2 ); + //draw a value between 0.0 and 1.0 from an uniform distribution + double p = std::rand() / (double)RAND_MAX; + //if crossover is due... + if( p < probabilityOfCrossOver ){ + //crossover + std::pair< Individual, Individual> offspring = parent1.crossOver( parent2, pointOfCrossover ); + Individual child1 = offspring.first; + Individual child2 = offspring.second; + //mutate all + child1.mutate( mutationRate, domain.min, domain.max ); + child2.mutate( mutationRate, domain.min, domain.max ); + parent1.mutate( mutationRate, domain.min, domain.max ); + parent2.mutate( mutationRate, domain.min, domain.max ); + //add them to the next generation pool + nextGen.push_back( child1 ); + nextGen.push_back( child2 ); + nextGen.push_back( parent1 ); + nextGen.push_back( parent2 ); + } else { //no crossover took place + //simply mutate and insert the parents into the next generation pool + parent1.mutate( mutationRate, domain.min, domain.max ); + parent2.mutate( mutationRate, domain.min, domain.max ); + nextGen.push_back( parent1 ); + nextGen.push_back( parent2 ); + } + } - } //main algorithm loop + //make the next generation + population = nextGen; - //=====================================GET RESULTS======================================== - progressDialog.hide(); + //update progress bar + progressDialog.setValue( iGen ); + QApplication::processEvents(); // let Qt update the UI - //evaluate the individuals of final population - for( uint iInd = 0; iInd < population.size(); ++iInd ){ - Individual& ind = population[iInd]; - ind.m_fValue = objectiveFunction( ind.m_parameters ); - } + } //main algorithm loop + + //=====================================GET RESULTS======================================== + progressDialog.hide(); - //sort the population in ascending order (lower value == better fitness) - std::sort( population.begin(), population.end() ); + //evaluate the individuals of final population + for( uint iInd = 0; iInd < population.size(); ++iInd ){ + Individual& ind = population[iInd]; + ind.m_fValue = objectiveFunction( ind.m_parameters ); + } - //get the parameters of the best individual (set of parameters) - Parameters gbest_pw = population[0].m_parameters; + //sort the population in ascending order (lower value == better fitness) + std::sort( population.begin(), population.end() ); + + //get the parameters of the best individual (set of parameters) + gbest_pw = population[0].m_parameters; + + //if the solution is too close to the current domain boundaries, then + //it is possible that the actual solution lies outside, then the program + //shifts the domain so the current solution lies in its center and rerun + //the genetic algorithm within the new search domain + if( domain.isNearBoundary( gbest_pw, windowWindowShiftThreshold ) ) + domain.centerAt( gbest_pw, searchWindowSize ); + else + break; //terminates the search if the solution is not near the domain boundaries + + } //loop for domain window shift if a solution is near the current domain boundaries // Display the results in a window. -// if( openResultsDialog ){ -// displayResults( variogramStructures, inputFFTimagPhase, inputVarmap, false ); -// showObjectiveFunctionEvolution(); -// } + //displayResults( variogramStructures, inputFFTimagPhase, inputVarmap, false ); + showObjectiveFunctionEvolution(); //return the fitted model return gbest_pw; } + +void Quadratic3DTrendModelFitting::showObjectiveFunctionEvolution() const +{ + //load the x,y data for the chart + QtCharts::QLineSeries *chartSeries = new QtCharts::QLineSeries(); + double max = std::numeric_limits::lowest(); + for(uint i = 0; i < s_objectiveFunctionValues.size(); ++i){ + chartSeries->append( i+1, s_objectiveFunctionValues[i] ); + if( s_objectiveFunctionValues[i] > max ) + max = s_objectiveFunctionValues[i]; + } + + //create a new chart object + QtCharts::QChart *objFuncValuesChart = new QtCharts::QChart(); + { + objFuncValuesChart->addSeries( chartSeries ); + objFuncValuesChart->axisX( chartSeries ); + + QtCharts::QValueAxis* axisX = new QtCharts::QValueAxis(); + axisX->setLabelFormat("%i"); + objFuncValuesChart->setAxisX(axisX, chartSeries); + + QtCharts::QValueAxis *axisY = new QtCharts::QValueAxis(); + axisY->setLabelFormat("%3.2f"); + axisY->setRange( 0.0, max ); + objFuncValuesChart->setAxisY(axisY, chartSeries); + + objFuncValuesChart->legend()->hide(); + } + + //create the chart dialog + EmptyDialog* ed = new EmptyDialog( Application::instance()->getMainWindow() ); + QtCharts::QChartView* chartView = new QtCharts::QChartView( objFuncValuesChart ); + ed->addWidget( chartView ); + ed->setWindowTitle( "Objective function with iterations." ); + ed->show(); +} diff --git a/geostats/quadratic3dtrendmodelfitting.h b/geostats/quadratic3dtrendmodelfitting.h index c5e3f83e..4e2483b2 100644 --- a/geostats/quadratic3dtrendmodelfitting.h +++ b/geostats/quadratic3dtrendmodelfitting.h @@ -9,19 +9,7 @@ class DataFile; class Attribute; -/** - * The Quadratic3DTrendModelFitting class comprises the functionalities to fit a 3D quadratic trend model - * to a data set. The trend model has nine terms in the form: - * f(x,y,z) = a*x*x + b*x*y + c*x*z + d*y*y + e*y*z + f*z*z + g*x + h*y + i*z - * where: a...i are the model parameters. - * This form follows the one expected in the configuration of the kt3d GSLib program for kriging with - * a trend model. The model predicts the value of a continuous variable given a location in space. - * The fitting process searchs for a set of a...i parameters such that the differences between f(x,y,z) - * and the observed values at data locations are minimized. - */ -class Quadratic3DTrendModelFitting -{ -public: +namespace Quad3DTrendModelFittingAuxDefs { /** The number of model parameters. */ constexpr static int N_PARAMS = 9; @@ -29,12 +17,11 @@ class Quadratic3DTrendModelFitting /** A shortcut to a standard NaN value. */ constexpr static double NaN = std::numeric_limits::quiet_NaN(); - /** Constructor. */ - Quadratic3DTrendModelFitting(DataFile* dataFile, Attribute* attribute); - /** Data structure: the nine model parameters to find. */ struct Parameters { Parameters():a(NaN),b(NaN),c(NaN),d(NaN),e(NaN),f(NaN),g(NaN),h(NaN),i(NaN){} //all-NaN intialization + Parameters(double a, double b, double c, double d, double e, double f, double g, double h, double i): + a(a),b(b),c(c),d(d),e(e),f(f),g(g),h(h),i(i){} //valid values intialization double a, b, c, d, e, f, g, h, i; //the individual parameters double& operator [](int index){ //this allows the set to be used as an array (l-value). switch(index){ @@ -52,20 +39,58 @@ class Quadratic3DTrendModelFitting default: assert( false && "Quadratic3DTrendModelFitting::Parameters: index out of bounds (must be between 0 and 8)."); } } + bool isTrivial() const { + return a==0.0 && b==0.0 && c==0.0 && d==0.0 && e==0.0 && f==0.0 && g==0.0 && h==0.0 && i==0.0; + } }; /** Data structure: the parameters domain for the optimization methods (boundary conditions). */ struct ParametersDomain { Parameters min; Parameters max; + bool isNearBoundary( const Parameters& parametersToTest, double threshold ) const { + for( int i = 0; i < N_PARAMS; i++ ){ + if( std::abs(parametersToTest[i] - min[i]) <= threshold ) + return true; + else if( std::abs(parametersToTest[i] - max[i]) <= threshold ) + return true; + } + return false; + } + void centerAt( const Parameters& targetParameters, double domainSize ){ + double halfSize = domainSize/2; + for( int i = 0; i < N_PARAMS; i++ ){ + min[i] = targetParameters[i] - halfSize; + max[i] = targetParameters[i] + halfSize; + } + } }; +} + +/** + * The Quadratic3DTrendModelFitting class comprises the functionalities to fit a 3D quadratic trend model + * to a data set. The trend model has nine terms in the form: + * f(x,y,z) = a*x*x + b*x*y + c*x*z + d*y*y + e*y*z + f*z*z + g*x + h*y + i*z + * where: a...i are the model parameters. + * This form follows the one expected in the configuration of the kt3d GSLib program for kriging with + * a trend model. The model predicts the value of a continuous variable given a location in space. + * The fitting process searchs for a set of a...i parameters such that the differences between f(x,y,z) + * and the observed values at data locations are minimized. + */ +class Quadratic3DTrendModelFitting +{ +public: + + /** Constructor. */ + Quadratic3DTrendModelFitting(DataFile* dataFile, Attribute* attribute); + /** The objective function for an optimization process to find a minimum (ideally the global one). * @param parameters The parameters of the model to test. - * @return The sum of the squares of the differences between all the observed and predicted values. + * @return The sum of the differences between all the observed and predicted values. */ - double objectiveFunction (const Parameters& parameters) const; + double objectiveFunction (const Quad3DTrendModelFittingAuxDefs::Parameters& parameters) const; /** Method called by a method of optimization to initialize the @@ -73,10 +98,11 @@ class Quadratic3DTrendModelFitting * All non-const method parameters are output parameters. * @param domain The domain boundaries to initialize as two sets of * parameters: with the minima and with the maxima. - * @param parameters The set of parameters to initialize. + * @param searchWindowSize Defines the size of the parameter domain. E.g. if set to 10.00, then each of the nine coefficients + * will be restricted to an initial interval between -10.00 and 10.00. */ - void initDomainAndParameters( ParametersDomain& domain, - Parameters& parameters ) const; + void initDomain( Quad3DTrendModelFittingAuxDefs::ParametersDomain& domain, + double searchWindowSize) const; /** Performs the trend model fitting using a Genetic Algorithm as optimization method. *...................................Global Parameters.................................... @@ -93,10 +119,15 @@ class Quadratic3DTrendModelFitting * the probability of any parameter parameter (gene) to be changed is 1/nParameters * mutationRate * thus, 1.0 means that one gene will surely be mutated per mutation on average. Fractionary * values are possible. 0.0 means no mutation will take place. + * @param searchWindowSize Defines the size of the parameter domain. E.g. if set to 10.00, then each of the nine coefficients + * will be restricted to an initial interval between -10.00 and 10.00. + * @param windowWindowShiftThreshold If any of the coefficients of the optimal model lies close to the boundaries of the domain + * then the algorithm defines a new parameter domain centered on it and resumes search. This + * value controls how close a parameter must be to a domain boundary to enable a new search. * @returns The set of parameters of the fit trend model. An all-NaN set of parameters is returned if something goes * wrong during processing (error messages will be displayed). */ - Parameters processWithGenetic( + Quad3DTrendModelFittingAuxDefs::Parameters processWithGenetic( uint16_t nThreads, uint32_t seed, uint16_t maxNumberOfGenerations, @@ -104,7 +135,9 @@ class Quadratic3DTrendModelFitting uint16_t nSelectionSize, double probabilityOfCrossOver, uint8_t pointOfCrossover, - double mutationRate + double mutationRate, + double searchWindowSize, + double windowWindowShiftThreshold ) const; private: @@ -116,6 +149,12 @@ class Quadratic3DTrendModelFitting */ static std::vector< double > s_objectiveFunctionValues; + /** + * Displays a dialog with a chart showing the evolution of the objective function + * value versus iterations of the optimization method. + */ + void showObjectiveFunctionEvolution( ) const; + }; #endif // QUADRATIC3DTRENDMODELFITTING_H From 55d59d95afb22fdb8fcb3f1d3213a86ef7f05b3d Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Fri, 26 Apr 2024 12:07:25 -0300 Subject: [PATCH 22/32] WIP: Drift Analysis: fitting a trend model. --- dialogs/driftanalysisdialog.cpp | 158 ++++++++++++++++++++-- dialogs/driftanalysisdialog.ui | 114 ++++++++++------ geostats/driftanalysis.cpp | 3 +- geostats/quadratic3dtrendmodelfitting.cpp | 49 +++++-- geostats/quadratic3dtrendmodelfitting.h | 2 + 5 files changed, 260 insertions(+), 66 deletions(-) diff --git a/dialogs/driftanalysisdialog.cpp b/dialogs/driftanalysisdialog.cpp index a2d4dcbf..c5c1c958 100644 --- a/dialogs/driftanalysisdialog.cpp +++ b/dialogs/driftanalysisdialog.cpp @@ -7,8 +7,11 @@ #include "geostats/driftanalysis.h" #include "geostats/quadratic3dtrendmodelfitting.h" #include "widgets/linechartwidget.h" +#include "viewer3d/view3dcolortables.h" +#include #include +#include #include DriftAnalysisDialog::DriftAnalysisDialog(DataFile *dataFile, Attribute *attribute, QWidget *parent) : @@ -120,6 +123,64 @@ void DriftAnalysisDialog::onRun() void DriftAnalysisDialog::onFitTrendModel() { + m_dataFile->loadData(); + + //determine whether the dataset is 3D + bool is3D = m_dataFile->isTridimensional(); + + //get the data column index of the input attribute in the data file + uint indexOfVariable = m_attribute->getAttributeGEOEASgivenIndex() - 1; + + //get no-data value info + double NDV = m_dataFile->getNoDataValueAsDouble(); + bool hasNDV = m_dataFile->hasNoDataValue(); + + //compute the orders of magnitude of a possible trend model and that of the data values + //this is useful to present the user with initial parameter search domain in the proper scale + double magnitude_of_trend_model = 0.0; + double magnitude_of_data_values = 0.0; + { + QProgressDialog progressDialog; + progressDialog.setRange(0, m_dataFile->getDataLineCount()); + progressDialog.setValue( 0 ); + progressDialog.show(); + progressDialog.setLabelText("Computing orders of magnitude of data values and of trend model parameters..."); + + double x, y, z; + for(uint iRow=0; iRow < m_dataFile->getDataLineCount(); iRow++ ){ + + m_dataFile->getDataSpatialLocation( iRow, x, y, z ); + magnitude_of_trend_model = x * x; + magnitude_of_trend_model += x * y; + magnitude_of_trend_model += is3D ? std::abs( x * z ) : 0.0; + magnitude_of_trend_model += y * y; + magnitude_of_trend_model += is3D ? std::abs( y * z ) : 0.0; + magnitude_of_trend_model += is3D ? std::abs( z * z ) : 0.0; + magnitude_of_trend_model += x; + magnitude_of_trend_model += y; + magnitude_of_trend_model += is3D ? std::abs( z ) : 0.0; + + double data_value = m_dataFile->data( iRow, indexOfVariable ); + if( ! hasNDV || ! Util::almostEqual2sComplement( data_value, NDV, 1 ) ) + magnitude_of_data_values += std::abs( data_value ); + + //update progress bar from time to time + if( ! iRow % ( m_dataFile->getDataLineCount() / 100 ) ){ + progressDialog.setValue( iRow ); + QApplication::processEvents(); // let Qt update the UI + } + } + } + + //compute the approx. powers of 10 (orders of magnitude (approx. power of 1000) for each case + int exp_trend_model = static_cast( std::log10(magnitude_of_trend_model).real() ); + int exp_data_values = static_cast( std::log10(magnitude_of_data_values).real() ); + + //initialize the value of the magnitude of the parameter search domain with an adequate value + ui->spinCoeffSearchWindowSizeMagnitude->setValue ( exp_data_values - exp_trend_model ); + ui->spinSearchWindowShiftThresholdMagnitude->setValue( exp_data_values - exp_trend_model - 2 ); + + //show the frame with the trend model fitting controls ui->grpGeneticAlgorithmParams->setVisible( ! ui->grpGeneticAlgorithmParams->isVisible() ); } @@ -137,19 +198,50 @@ void DriftAnalysisDialog::onRunFitTrendModel() ui->dblSpinProbabilityOfCrossover->value(), ui->spinPointOfCrossover->value(), ui->dblSpinMutationRate->value(), - ui->dblCoeffSearchWindowSize->value(), - ui->dblSearchWindowShiftThreshold->value() ); - - ui->lblTrendModel->setText("

Trend model: " + - QString::number(modelParameters.a) + "x2 + " + - QString::number(modelParameters.b) + "xy + " + - QString::number(modelParameters.c) + "xz + " + - QString::number(modelParameters.d) + "y2 + " + - QString::number(modelParameters.e) + "yz + " + - QString::number(modelParameters.f) + "z2 + " + - QString::number(modelParameters.g) + "x + " + - QString::number(modelParameters.h) + "y + " + - QString::number(modelParameters.i) + "z

"); + ui->dblCoeffSearchWindowSize->value() * std::pow( 10, ui->spinCoeffSearchWindowSizeMagnitude->value() ), + ui->dblSearchWindowShiftThreshold->value() * std::pow( 10, ui->spinSearchWindowShiftThresholdMagnitude->value()) ); + + + //find the highest and lowest parameters values for color table + double absmax = -std::numeric_limits::max(); + for( int i = 0; i < Quad3DTrendModelFittingAuxDefs::N_PARAMS; i++) + if( std::abs(modelParameters[i]) > absmax ) absmax = std::abs(modelParameters[i]); + + //a lambda to automatize the generation of HTML to display a background color proportional to the parameter value + auto lambdaMakeBGColor = [absmax](double value){ + return " bgcolor='" + Util::getHTMLColorFromValue( value, ColorTable::SEISMIC, -absmax, absmax ) + "'"; + }; + + //a lambda to automatize the generation of HTML to render text in a contrasting color with respect to the background color + auto lambdaMakeFontColor = [absmax](double value){ + return Util::fontColorTag( QString::number(value), Util::getColorFromValue( value, ColorTable::SEISMIC, -absmax, absmax ) ); + }; + + const QString btdSansColor = ""; + const QString btdAvecColor = "" + lambdaMakeFontColor(modelParameters.a) + etd + + btdSansColor + "x2 + " + etd; + output += btdAvecColor + lambdaMakeBGColor( modelParameters.b ) + ">" + lambdaMakeFontColor(modelParameters.b) + etd + + btdSansColor + "xy + " + etd; + output += btdAvecColor + lambdaMakeBGColor( modelParameters.c ) + ">" + lambdaMakeFontColor(modelParameters.c) + etd + + btdSansColor + "xz + " + etd; + output += btdAvecColor + lambdaMakeBGColor( modelParameters.d ) + ">" + lambdaMakeFontColor(modelParameters.d) + etd + + btdSansColor + "y2 + " + etd; + output += btdAvecColor + lambdaMakeBGColor( modelParameters.e ) + ">" + lambdaMakeFontColor(modelParameters.e) + etd + + btdSansColor + "yz + " + etd; + output += btdAvecColor + lambdaMakeBGColor( modelParameters.f ) + ">" + lambdaMakeFontColor(modelParameters.f) + etd + + btdSansColor + "z2 + " + etd; + output += btdAvecColor + lambdaMakeBGColor( modelParameters.g ) + ">" + lambdaMakeFontColor(modelParameters.g) + etd + + btdSansColor + "x + " + etd; + output += btdAvecColor + lambdaMakeBGColor( modelParameters.h ) + ">" + lambdaMakeFontColor(modelParameters.h) + etd + + btdSansColor + "y + " + etd; + output += btdAvecColor + lambdaMakeBGColor( modelParameters.i ) + ">" + lambdaMakeFontColor(modelParameters.i) + etd + + btdSansColor + "z" + etd; + output += ""; + + ui->lblTrendModel->setText( output ); m_lastFitDriftModelParameters.reset( new Quad3DTrendModelFittingAuxDefs::Parameters( modelParameters ) ); } @@ -157,4 +249,44 @@ void DriftAnalysisDialog::onRunFitTrendModel() void DriftAnalysisDialog::onSaveNewVariableWithDriftModel() { + //present a variable naming dialog to the user + QString new_variable_name = "drift_model"; + { + bool ok; + QString ps_file_name = QInputDialog::getText(this, "Name the new variable", + "New variable with the trend model evaluated in data locations: ", + QLineEdit::Normal, new_variable_name, &ok); + if( ! ok ) + return; + } + + //allocate container for the drift values + std::vector drift_values( m_dataFile->getDataLineCount() ); + + //for each data sample + for( uint64_t iRow = 0; iRow < m_dataFile->getDataLineCount(); iRow++){ + + //get the spatial location of the current sample + double x, y, z; + m_dataFile->getDataSpatialLocation( iRow, x, y, z ); + + //evaluate the trend model at the current sample location + double drift_value = + m_lastFitDriftModelParameters->a * x * x + + m_lastFitDriftModelParameters->b * x * y + + m_lastFitDriftModelParameters->c * x * z + + m_lastFitDriftModelParameters->d * y * y + + m_lastFitDriftModelParameters->e * y * z + + m_lastFitDriftModelParameters->f * z * z + + m_lastFitDriftModelParameters->g * x + + m_lastFitDriftModelParameters->h * y + + m_lastFitDriftModelParameters->i * z ; + + //store the trend model value at the current sample location + drift_values[iRow] = drift_value; + } + + //adds the drift values as a new attribute to the data set file + m_dataFile->addNewDataColumn( new_variable_name, drift_values ); + } diff --git a/dialogs/driftanalysisdialog.ui b/dialogs/driftanalysisdialog.ui index 00bd3506..8a05ba5d 100644 --- a/dialogs/driftanalysisdialog.ui +++ b/dialogs/driftanalysisdialog.ui @@ -436,25 +436,6 @@ - - - - 3 - - - 0.010000000000000 - - - 99999999999.000000000000000 - - - QAbstractSpinBox::AdaptiveDecimalStepType - - - 10.000000000000000 - - - @@ -469,28 +450,6 @@ - - - - 6 - - - 0.000001000000000 - - - 10.000000000000000 - - - 0.001000000000000 - - - QAbstractSpinBox::AdaptiveDecimalStepType - - - 0.100000000000000 - - - @@ -544,6 +503,79 @@ + + + + x + + + 2 + + + 0.010000000000000 + + + 9.990000000000000 + + + QAbstractSpinBox::AdaptiveDecimalStepType + + + 1.000000000000000 + + + + + + + + + + 10^ + + + -99 + + + + + + + x + + + 2 + + + 0.010000000000000 + + + 9.990000000000000 + + + 0.010000000000000 + + + QAbstractSpinBox::AdaptiveDecimalStepType + + + 1.000000000000000 + + + + + + + 10^ + + + -99 + + + -2 + + + diff --git a/geostats/driftanalysis.cpp b/geostats/driftanalysis.cpp index d03986ef..093d134b 100644 --- a/geostats/driftanalysis.cpp +++ b/geostats/driftanalysis.cpp @@ -132,6 +132,7 @@ bool DriftAnalysis::run() //get the input data file's NDV as floating point number double dummyValue = m_inputDataFile->getNoDataValueAsDouble(); + bool hasNDV = m_inputDataFile->hasNoDataValue(); //compute drift along West->East diretcion (x axis). for( int iSlice = 0; iSlice < m_NumberOfSteps; iSlice++, total_done_so_far++ ){ @@ -152,7 +153,7 @@ bool DriftAnalysis::run() uint64_t count = 0; for( uint sampleIndex : samplesIndexes ){ double sampleValue = m_inputDataFile->dataConst( sampleIndex, indexOfVariable ); - if( ! Util::almostEqual2sComplement( sampleValue, dummyValue, 1 ) ){ + if( ! hasNDV || ! Util::almostEqual2sComplement( sampleValue, dummyValue, 1 ) ){ sum += sampleValue; count++; } diff --git a/geostats/quadratic3dtrendmodelfitting.cpp b/geostats/quadratic3dtrendmodelfitting.cpp index 08d9ed04..287134f4 100644 --- a/geostats/quadratic3dtrendmodelfitting.cpp +++ b/geostats/quadratic3dtrendmodelfitting.cpp @@ -121,14 +121,14 @@ double Quadratic3DTrendModelFitting::objectiveFunction( const Quad3DTrendModelFi //the sum to compute the error mean to be returned double sum = 0.0; - //get the origin x,y,z so we can use a local coordinate system to fit a trend model to -// BoundingBox bbox = m_dataFile->getBoundingBox(); -// double x0 = bbox.m_minX; -// double y0 = bbox.m_minY; -// double z0 = bbox.m_minZ; - //get the no-data value in numeric form to improve performance double NDV = m_dataFile->getNoDataValueAsDouble(); + bool hasNDV = m_dataFile->hasNoDataValue(); + + //if data is 2D, then the z-bearing terms are invariant. + constexpr int IS_3D = 1; + constexpr int IS_2D = 0; + int is3D = m_dataFile->isTridimensional() ? IS_3D : IS_2D; uint16_t indexOfDependentVariable = m_attribute->getAttributeGEOEASgivenIndex()-1; @@ -138,15 +138,16 @@ double Quadratic3DTrendModelFitting::objectiveFunction( const Quad3DTrendModelFi //get the observed value double observedValue = m_dataFile->dataConst( iRow, indexOfDependentVariable ); //if observed value is valid (not no-data-value) - if( ! Util::almostEqual2sComplement( observedValue, NDV, 1 ) ){ + if( ! hasNDV || ! Util::almostEqual2sComplement( observedValue, NDV, 1 ) ){ // get the xyz location of the current sample. double x, y, z; m_dataFile->getDataSpatialLocation( iRow, x, y, z ); -// x -= x0; y -= y0; z -= z0; //make the sample location relative to the local coordinate system // use the current trend model (defined by its parameters) // to predict the value at the data location - double predictedValue = - parameters.a * x * x + + double predictedValue; + switch (is3D) { //if is slower than a switch + case IS_3D: + predictedValue = parameters.a * x * x + parameters.b * x * y + parameters.c * x * z + parameters.d * y * y + @@ -155,6 +156,14 @@ double Quadratic3DTrendModelFitting::objectiveFunction( const Quad3DTrendModelFi parameters.g * x + parameters.h * y + parameters.i * z ; + break; + case IS_2D: //z-bearing terms are invariant in 2D datasets + predictedValue = parameters.a * x * x + + parameters.b * x * y + + parameters.d * y * y + + parameters.g * x + + parameters.h * y; + } //accumulate the observed - predicted differences (prediction errors) double error = observedValue - predictedValue; sum += std::abs(error); @@ -217,6 +226,11 @@ Quad3DTrendModelFittingAuxDefs::Parameters Quadratic3DTrendModelFitting::process //initialize the best fit paramaters in the domain center Quad3DTrendModelFittingAuxDefs::Parameters gbest_pw = domainCenter; + //if data is 2D, then the z-bearing terms are invariant. + constexpr int IS_3D = 1; + constexpr int IS_2D = 0; + int dimensionality = m_dataFile->isTridimensional() ? IS_3D : IS_2D; + //loop for the domain window shift if a solution is near the current domain boundaries //executes at least once while(true){ @@ -259,7 +273,10 @@ Quad3DTrendModelFittingAuxDefs::Parameters Quadratic3DTrendModelFitting::process double HI = domain.max[i]; pw[i] = LO + std::rand() / (RAND_MAX/(HI-LO)); } - //create and individual with the random genes + //zero-out z-bearing parameters if data set is 2D + if( dimensionality == IS_2D ) + pw.zeroOutZBearingTerms(); + //create an individual with the random genes Individual ind( pw ); //add the new individual to the population population.push_back( ind ); @@ -338,6 +355,12 @@ Quad3DTrendModelFittingAuxDefs::Parameters Quadratic3DTrendModelFitting::process child2.mutate( mutationRate, domain.min, domain.max ); parent1.mutate( mutationRate, domain.min, domain.max ); parent2.mutate( mutationRate, domain.min, domain.max ); + if( dimensionality == IS_2D ){ //zero-out z-bearing parameters (genes) + child1.m_parameters.zeroOutZBearingTerms(); + child2.m_parameters.zeroOutZBearingTerms(); + parent1.m_parameters.zeroOutZBearingTerms(); + parent2.m_parameters.zeroOutZBearingTerms(); + } //add them to the next generation pool nextGen.push_back( child1 ); nextGen.push_back( child2 ); @@ -347,6 +370,10 @@ Quad3DTrendModelFittingAuxDefs::Parameters Quadratic3DTrendModelFitting::process //simply mutate and insert the parents into the next generation pool parent1.mutate( mutationRate, domain.min, domain.max ); parent2.mutate( mutationRate, domain.min, domain.max ); + if( dimensionality == IS_2D ){ //zero-out z-bearing parameters (genes) + parent1.m_parameters.zeroOutZBearingTerms(); + parent2.m_parameters.zeroOutZBearingTerms(); + } nextGen.push_back( parent1 ); nextGen.push_back( parent2 ); } diff --git a/geostats/quadratic3dtrendmodelfitting.h b/geostats/quadratic3dtrendmodelfitting.h index 4e2483b2..fb91e0c4 100644 --- a/geostats/quadratic3dtrendmodelfitting.h +++ b/geostats/quadratic3dtrendmodelfitting.h @@ -23,6 +23,7 @@ namespace Quad3DTrendModelFittingAuxDefs { Parameters(double a, double b, double c, double d, double e, double f, double g, double h, double i): a(a),b(b),c(c),d(d),e(e),f(f),g(g),h(h),i(i){} //valid values intialization double a, b, c, d, e, f, g, h, i; //the individual parameters + //xx,xy,xz,yy,yz,zz, x, y, z //the model terms corresponding to the parameters double& operator [](int index){ //this allows the set to be used as an array (l-value). switch(index){ case 0: return a; case 1: return b; case 2: return c; @@ -42,6 +43,7 @@ namespace Quad3DTrendModelFittingAuxDefs { bool isTrivial() const { return a==0.0 && b==0.0 && c==0.0 && d==0.0 && e==0.0 && f==0.0 && g==0.0 && h==0.0 && i==0.0; } + void zeroOutZBearingTerms(){ c = e = f = i = 0.0; } //this is mostly used with 2D datasets (z-less data) }; /** Data structure: the parameters domain for the optimization methods (boundary conditions). */ From f162be93881b01054c7e0aae50b9115261fb2f4c Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Tue, 30 Apr 2024 17:24:10 -0300 Subject: [PATCH 23/32] WIP: Drift Analysis: fitting a trend model. --- dialogs/driftanalysisdialog.cpp | 10 + geostats/quadratic3dtrendmodelfitting.cpp | 277 ++++++++++++++++++++++ geostats/quadratic3dtrendmodelfitting.h | 3 + 3 files changed, 290 insertions(+) diff --git a/dialogs/driftanalysisdialog.cpp b/dialogs/driftanalysisdialog.cpp index c5c1c958..10457d54 100644 --- a/dialogs/driftanalysisdialog.cpp +++ b/dialogs/driftanalysisdialog.cpp @@ -184,6 +184,15 @@ void DriftAnalysisDialog::onFitTrendModel() ui->grpGeneticAlgorithmParams->setVisible( ! ui->grpGeneticAlgorithmParams->isVisible() ); } +void DriftAnalysisDialog::onRunFitTrendModel() +{ + //fit a trend model to the data + Quadratic3DTrendModelFitting q3dtmf( m_dataFile, m_attribute ); + Quad3DTrendModelFittingAuxDefs::Parameters modelParameters = + q3dtmf.processWithNonLinearLeastSquares(); +} + +/* void DriftAnalysisDialog::onRunFitTrendModel() { //fit a trend model to the data @@ -245,6 +254,7 @@ void DriftAnalysisDialog::onRunFitTrendModel() m_lastFitDriftModelParameters.reset( new Quad3DTrendModelFittingAuxDefs::Parameters( modelParameters ) ); } +*/ void DriftAnalysisDialog::onSaveNewVariableWithDriftModel() { diff --git a/geostats/quadratic3dtrendmodelfitting.cpp b/geostats/quadratic3dtrendmodelfitting.cpp index 287134f4..be3a8965 100644 --- a/geostats/quadratic3dtrendmodelfitting.cpp +++ b/geostats/quadratic3dtrendmodelfitting.cpp @@ -15,10 +15,25 @@ #include #include #include + #include +#include +#include +#include +#include +#include +#include + std::vector< double > Quadratic3DTrendModelFitting::s_objectiveFunctionValues; +/* data structure for GSL functions */ +struct model_params +{ + double alpha; + gsl_spmatrix *J; +}; + ////////////////////////////////////////CLASS FOR THE GENETIC ALGORITHM////////////////////////////////////////// class Individual{ @@ -422,6 +437,268 @@ Quad3DTrendModelFittingAuxDefs::Parameters Quadratic3DTrendModelFitting::process return gbest_pw; } +/** + * local C-style Penalty/Cost function for non-linear least squares with GSL. + * This is not defined in header file. + * + * This function should store the n (number of samples) components of the vector f(x) (model being fit) + * in the f vector for each passed argument x (model parameters) and arbitrary algorithm hyperparameters params, + * returning an appropriate error code if the function cannot be computed (e.g. division by zero). + */ +int penalty_f (const gsl_vector* x, void* params, gsl_vector* f) { + struct model_params* hyperparameters = (struct model_params*) params; + const double sqrt_alpha = sqrt(hyperparameters->alpha); + const size_t p = x->size; + double sum = 0.0; + + for (size_t i = 0; i < p; ++i){ + double xi = gsl_vector_get(x, i); + gsl_vector_set(f, i, sqrt_alpha*(xi - 1.0)); + sum += xi * xi; + } + + gsl_vector_set(f, p, sum - 0.25); + + return GSL_SUCCESS; +} + +/** + * local C-style 1st-order derivative of the cost function for non-linear least squares with GSL. + * This works by updating the J member (Jacobian matrix) in the params data structure. + * This is not defined in header file. + */ +int penalty_df (CBLAS_TRANSPOSE_t TransJ, const gsl_vector* x, + const gsl_vector* u, void* params, gsl_vector* v, + gsl_matrix* JTJ) +{ + struct model_params* par = (struct model_params*) params; + const size_t p = x->size; + size_t j; + + /* store 2*x in last row of J */ + for (j = 0; j < p; ++j) { + double xj = gsl_vector_get(x, j); + gsl_spmatrix_set(par->J, p, j, 2.0 * xj); + } + + /* compute v = op(J) u */ + if (v) + gsl_spblas_dgemv(TransJ, 1.0, par->J, u, 0.0, v); + + /* compute normal equation if a J-transpose * J matrix is provided. */ + if (JTJ) { + gsl_vector_view diag = gsl_matrix_diagonal(JTJ); + + /* compute J^T J = [ alpha*I_p + 4 x x^T ] */ + gsl_matrix_set_zero(JTJ); + + /* store 4 x x^T in lower half of JTJ */ + gsl_blas_dsyr(CblasLower, 4.0, x, JTJ); + + /* add alpha to diag(JTJ) */ + gsl_vector_add_constant(&diag.vector, par->alpha); + } + + return GSL_SUCCESS; +} + +/** + * local C-style 2nd-order derivative to enable the geodesic acceleration method + * with the non-linear least squares with GSL. + * This is not defined in header file. + */ +int penalty_fvv (const gsl_vector* x, const gsl_vector* v, + void* params, gsl_vector* fvv) { + + const size_t p = x->size; + double normv = gsl_blas_dnrm2(v); + + gsl_vector_set_zero(fvv); + gsl_vector_set(fvv, p, 2.0 * normv * normv); + + (void)params; /* avoid unused parameter warning */ + + return GSL_SUCCESS; +} + +Quad3DTrendModelFittingAuxDefs::Parameters Quadratic3DTrendModelFitting::processWithNonLinearLeastSquares() const +{ + //load dataset + m_dataFile->loadData(); + + //determine the number of valid samples (no NDV) + size_t number_of_valid_samples = 0; + { + if( ! m_dataFile->hasNoDataValue() ){ + number_of_valid_samples = m_dataFile->getDataLineCount(); + } else { + double NDV = m_dataFile->getNoDataValueAsDouble(); + int iColumn = m_attribute->getAttributeGEOEASgivenIndex() - 1; + for( int iRow = 0; iRow < m_dataFile->getDataLineCount(); iRow++){ + double sample_value = m_dataFile->data( iRow, iColumn ); + if( ! Util::almostEqual2sComplement( NDV, sample_value, 1 )) + number_of_valid_samples++; + } + } + } + + //define solver hyperparameters + gsl_multilarge_nlinear_parameters fdf_params = gsl_multilarge_nlinear_default_parameters(); + size_t number_of_samples = number_of_valid_samples; + size_t number_of_parameters = Quad3DTrendModelFittingAuxDefs::N_PARAMS; + + //alocate arrays for ???? + gsl_vector* samples_f = gsl_vector_alloc( number_of_samples ); //this is not being used... + gsl_vector* parameters_x = gsl_vector_alloc( number_of_parameters ); + + // allocate sparse Jacobian matrix with 2*nb_par non-zero elements in triplet format + gsl_spmatrix *J = gsl_spmatrix_alloc_nzmax( + number_of_samples, + number_of_parameters, + 2 * number_of_parameters, + GSL_SPMATRIX_TRIPLET); + + // some solver hiperparameters + struct model_params params; + params.alpha = 1.0e-5; //"learning rate" (greater: faster, less accurate convergence; smaller: slower, more accurate convergence). + params.J = J; //Jacobian matrix (a form of gradient or 1st derivative in the form of matrix of 1st partial derivatives) + + // define the function to be minimized + gsl_multilarge_nlinear_fdf fdf; + fdf.f = penalty_f; //the cost function itself + fdf.df = penalty_df; //its 1st derivative + fdf.fvv = penalty_fvv; //its 2nd derivative (optional, necessary for geodesic acceleration) + fdf.n = number_of_samples; + fdf.p = number_of_parameters; + fdf.params = ¶ms; //Jacobian matrix and "learning rate" alpha. + + // do some initializations + for (size_t i = 0; i < number_of_parameters; ++i) { + + /* init the model parameters somewhere in the 9-D parameter space */ + gsl_vector_set( parameters_x, i, i + 1.0); + + /* init the main diagonal of the Jacobian's upper p x p part with sqrt(alpha). + * alpha is the "learning rate" + */ + gsl_spmatrix_set(J, i, i, sqrt(params.alpha)); + + } + + // controls the model parameters scaling matrix D + // options: + // gsl_multilarge_nlinear_scale_more -> indicated for when parameters wildly vary in scale (e.g. micrometers vs tonnes) + // gsl_multilarge_nlinear_scale_levenberg -> unlike gsl_multilarge_nlinear_scale_more, this is not scale-ivariant but works + // better for problems susceptiple to "parameter evaporation" (some parameters tend to + // go to infinity). + // gsl_multilarge_nlinear_scale_marquardt -> scale-invariant, but considered inferior to the above two. Use if the previous one + // does not work well for the problem. + fdf_params.scale = gsl_multilarge_nlinear_scale_levenberg; + + + // controls the method used to solve the Trust Region Subproblem ( a certain 9-D volume around + // a given 9-D parameter space point can be approximately valued by the same model parameters ). + // TRS may not work well if the sought trend model varies rapidly in parameter space. + // options: + // gsl_multilarge_nlinear_trs_lm -> The Levenberg-Marquardt algorithm provides an exact solution of + // the trust region subproblem, but typically has a higher computational cost + // per iteration than the approximate methods below. + // gsl_multilarge_nlinear_trs_lmaccel -> The Levenberg-Marquardt algorithm with geodesic acceleration (requires + // definition of the 2nd derivative of the cost function). + // gsl_multilarge_nlinear_trs_dogleg -> The classic Powell’s dogleg method; + // gsl_multilarge_nlinear_trs_ddogleg -> Double dogleg (improved dogleg method). + // gsl_multilarge_nlinear_trs_subspace2D -> The dogleg methods restricts minimum search to lines. This improves over + // such methods by using a 2D space, potentially speeding up convergence on some problems. + // gsl_multilarge_nlinear_trs_cgst -> slower than dogleg methods, but avoids numeric problems (e.g. if the Jacobian + // matrix becomes singular) making this option more robust for some of the larger problems. + fdf_params.trs = gsl_multilarge_nlinear_trs_lm; + + // Block of code directly involved with solution search. + //solve_system(x0, &fdf, &fdf_params) + { + // selects the type of the non-linear least squared method. + // so far, GSL only supports Trust Region Subproblem methods, + // the other being linear search methods. + const gsl_multilarge_nlinear_type* type_of_method = gsl_multilarge_nlinear_trust; + + // the maximum number of tries (how many times the main optimization loop will execute) + const size_t max_iter = 200; + + // sets the epsilon (two values closer than epsilon are considered equal) for model parameters + const double xtol = 1.0e-8; + + // sets the epsilon for gradient values + const double gtol = 1.0e-8; + + // sets the epsilon for model values (y-values) + const double ftol = 1.0e-8; + + // number of observation data + const size_t n = fdf.n; + + // number of model parameters + const size_t p = fdf.p; + + // allocate and configure the non-linear solver + gsl_multilarge_nlinear_workspace* solver_workspace = + gsl_multilarge_nlinear_alloc( type_of_method, &fdf_params, n, p ); + + //allocate array for the solver to store the current residual vector f(x). + gsl_vector* f = gsl_multilarge_nlinear_residual( solver_workspace ); + + //allocate array for the solver to store the current best-fit model parameters. + gsl_vector* x = gsl_multilarge_nlinear_position( solver_workspace ); + + // initialize solver + gsl_multilarge_nlinear_init( parameters_x, &fdf, solver_workspace ); + + //declare some output variables to get execution information after completion + int info; + double chisq0, chisq, rcond, xsq; + + // get initial cost + gsl_blas_ddot(f, f, &chisq0); + + // iterate until convergence + gsl_multilarge_nlinear_driver(max_iter, xtol, gtol, ftol, + NULL, NULL, &info, solver_workspace); + +// std::cout << f->size << ' ' << x->size << std::endl; +// return Quad3DTrendModelFittingAuxDefs::Parameters(); + + // get final cost + gsl_blas_ddot(f, f, &chisq); + + // get final ||x||^2 (parameter vector norm squared) + gsl_blas_ddot(x, x, &xsq); + + // get reciprocal condition number of final J (Jacobian matrix). + // closer to 0.0 means ill-conditioned. Closer to 1.0 means well-conditioned. + gsl_multilarge_nlinear_rcond(&rcond, solver_workspace); + + // print execution summary + printf("%-25s %-5zu %-4zu %-5zu %-6zu %-4zu %-10.4e %-10.4e %-7.2f %-11.4e \n", + gsl_multilarge_nlinear_trs_name(solver_workspace), + gsl_multilarge_nlinear_niter(solver_workspace), + fdf.nevalf, + fdf.nevaldfu, + fdf.nevaldf2, + fdf.nevalfvv, + chisq0, + chisq, + 1.0 / rcond, + xsq ); + + // deallocate the non-linear solver + gsl_multilarge_nlinear_free( solver_workspace ); + } + + //deallocate data structures + gsl_vector_free(samples_f); + gsl_vector_free(parameters_x); + gsl_spmatrix_free(J); +} + void Quadratic3DTrendModelFitting::showObjectiveFunctionEvolution() const { //load the x,y data for the chart diff --git a/geostats/quadratic3dtrendmodelfitting.h b/geostats/quadratic3dtrendmodelfitting.h index fb91e0c4..31d9223c 100644 --- a/geostats/quadratic3dtrendmodelfitting.h +++ b/geostats/quadratic3dtrendmodelfitting.h @@ -142,6 +142,9 @@ class Quadratic3DTrendModelFitting double windowWindowShiftThreshold ) const; + Quad3DTrendModelFittingAuxDefs::Parameters processWithNonLinearLeastSquares() const; + + private: Attribute* m_attribute; DataFile* m_dataFile; From b2eee15d61bed68a6d54b1171e519f8205dbd58a Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Fri, 3 May 2024 14:39:53 -0300 Subject: [PATCH 24/32] WIP: Drift Analysis: testing GSL's non-linear least squares fitting of a trend model. --- dialogs/driftanalysisdialog.cpp | 46 +++ geostats/quadratic3dtrendmodelfitting.cpp | 476 +++++++++++----------- 2 files changed, 294 insertions(+), 228 deletions(-) diff --git a/dialogs/driftanalysisdialog.cpp b/dialogs/driftanalysisdialog.cpp index 10457d54..7d6ea796 100644 --- a/dialogs/driftanalysisdialog.cpp +++ b/dialogs/driftanalysisdialog.cpp @@ -190,6 +190,49 @@ void DriftAnalysisDialog::onRunFitTrendModel() Quadratic3DTrendModelFitting q3dtmf( m_dataFile, m_attribute ); Quad3DTrendModelFittingAuxDefs::Parameters modelParameters = q3dtmf.processWithNonLinearLeastSquares(); + + //find the highest and lowest parameters values for color table + double absmax = -std::numeric_limits::max(); + for( int i = 0; i < Quad3DTrendModelFittingAuxDefs::N_PARAMS; i++) + if( std::abs(modelParameters[i]) > absmax ) absmax = std::abs(modelParameters[i]); + + //a lambda to automatize the generation of HTML to display a background color proportional to the parameter value + auto lambdaMakeBGColor = [absmax](double value){ + return " bgcolor='" + Util::getHTMLColorFromValue( value, ColorTable::SEISMIC, -absmax, absmax ) + "'"; + }; + + //a lambda to automatize the generation of HTML to render text in a contrasting color with respect to the background color + auto lambdaMakeFontColor = [absmax](double value){ + return Util::fontColorTag( QString::number(value), Util::getColorFromValue( value, ColorTable::SEISMIC, -absmax, absmax ) ); + }; + + const QString btdSansColor = ""; + const QString btdAvecColor = "" + lambdaMakeFontColor(modelParameters.a) + etd + + btdSansColor + "x2 + " + etd; + output += btdAvecColor + lambdaMakeBGColor( modelParameters.b ) + ">" + lambdaMakeFontColor(modelParameters.b) + etd + + btdSansColor + "xy + " + etd; + output += btdAvecColor + lambdaMakeBGColor( modelParameters.c ) + ">" + lambdaMakeFontColor(modelParameters.c) + etd + + btdSansColor + "xz + " + etd; + output += btdAvecColor + lambdaMakeBGColor( modelParameters.d ) + ">" + lambdaMakeFontColor(modelParameters.d) + etd + + btdSansColor + "y2 + " + etd; + output += btdAvecColor + lambdaMakeBGColor( modelParameters.e ) + ">" + lambdaMakeFontColor(modelParameters.e) + etd + + btdSansColor + "yz + " + etd; + output += btdAvecColor + lambdaMakeBGColor( modelParameters.f ) + ">" + lambdaMakeFontColor(modelParameters.f) + etd + + btdSansColor + "z2 + " + etd; + output += btdAvecColor + lambdaMakeBGColor( modelParameters.g ) + ">" + lambdaMakeFontColor(modelParameters.g) + etd + + btdSansColor + "x + " + etd; + output += btdAvecColor + lambdaMakeBGColor( modelParameters.h ) + ">" + lambdaMakeFontColor(modelParameters.h) + etd + + btdSansColor + "y + " + etd; + output += btdAvecColor + lambdaMakeBGColor( modelParameters.i ) + ">" + lambdaMakeFontColor(modelParameters.i) + etd + + btdSansColor + "z" + etd; + output += ""; + + ui->lblTrendModel->setText( output ); + + m_lastFitDriftModelParameters.reset( new Quad3DTrendModelFittingAuxDefs::Parameters( modelParameters ) ); } /* @@ -259,6 +302,9 @@ void DriftAnalysisDialog::onRunFitTrendModel() void DriftAnalysisDialog::onSaveNewVariableWithDriftModel() { + // make sure the data is loaded from filesystem + m_dataFile->loadData(); + //present a variable naming dialog to the user QString new_variable_name = "drift_model"; { diff --git a/geostats/quadratic3dtrendmodelfitting.cpp b/geostats/quadratic3dtrendmodelfitting.cpp index be3a8965..cd687479 100644 --- a/geostats/quadratic3dtrendmodelfitting.cpp +++ b/geostats/quadratic3dtrendmodelfitting.cpp @@ -18,22 +18,15 @@ #include -#include +#include +#include #include +#include #include -#include -#include -#include +#include std::vector< double > Quadratic3DTrendModelFitting::s_objectiveFunctionValues; -/* data structure for GSL functions */ -struct model_params -{ - double alpha; - gsl_spmatrix *J; -}; - ////////////////////////////////////////CLASS FOR THE GENETIC ALGORITHM////////////////////////////////////////// class Individual{ @@ -437,96 +430,130 @@ Quad3DTrendModelFittingAuxDefs::Parameters Quadratic3DTrendModelFitting::process return gbest_pw; } -/** - * local C-style Penalty/Cost function for non-linear least squares with GSL. - * This is not defined in header file. - * - * This function should store the n (number of samples) components of the vector f(x) (model being fit) - * in the f vector for each passed argument x (model parameters) and arbitrary algorithm hyperparameters params, - * returning an appropriate error code if the function cannot be computed (e.g. division by zero). - */ -int penalty_f (const gsl_vector* x, void* params, gsl_vector* f) { - struct model_params* hyperparameters = (struct model_params*) params; - const double sqrt_alpha = sqrt(hyperparameters->alpha); - const size_t p = x->size; - double sum = 0.0; +//locally defined data structure to store observation data in a form compatible with GSL's +//non-linear least squares solver. +struct data { + size_t count; + double* x; + double* y; + double* z; + double* value; +}; - for (size_t i = 0; i < p; ++i){ - double xi = gsl_vector_get(x, i); - gsl_vector_set(f, i, sqrt_alpha*(xi - 1.0)); - sum += xi * xi; - } +//locally defined C-style function for use with GSL's non-linear least squares solver. +//this function returns the resuiduals (predicted - observed) in residuals_at_data_locations. +int cost_f (const gsl_vector* model_parameters_x, + void* data, + gsl_vector* residuals_at_data_locations) { + + // get data information + size_t data_count = static_cast(data)->count; + double *x = static_cast(data)->x; + double *y = static_cast(data)->y; + double *z = static_cast(data)->z; + double *data_value = static_cast(data)->value; + + // get trend model parameters + double p0 = gsl_vector_get (model_parameters_x, 0); + double p1 = gsl_vector_get (model_parameters_x, 1); + double p2 = gsl_vector_get (model_parameters_x, 2); + double p3 = gsl_vector_get (model_parameters_x, 3); + double p4 = gsl_vector_get (model_parameters_x, 4); + double p5 = gsl_vector_get (model_parameters_x, 5); + double p6 = gsl_vector_get (model_parameters_x, 6); + double p7 = gsl_vector_get (model_parameters_x, 7); + double p8 = gsl_vector_get (model_parameters_x, 8); + + // for each observation + for (size_t i = 0; i < data_count; i++) + { - gsl_vector_set(f, p, sum - 0.25); + // evaluate the trend model at the data location + double predicted_value_i = + p0 * x[i]*x[i] + + p1 * x[i]*y[i] + + p2 * x[i]*z[i] + + p3 * y[i]*y[i] + + p4 * y[i]*z[i] + + p5 * z[i]*z[i] + + p6 * x[i] + + p7 * y[i] + + p8 * z[i]; + + // compute and return the error between measurement and predicted. + gsl_vector_set (residuals_at_data_locations, i, predicted_value_i - data_value[i]); + } - return GSL_SUCCESS; + return GSL_SUCCESS; } -/** - * local C-style 1st-order derivative of the cost function for non-linear least squares with GSL. - * This works by updating the J member (Jacobian matrix) in the params data structure. - * This is not defined in header file. - */ -int penalty_df (CBLAS_TRANSPOSE_t TransJ, const gsl_vector* x, - const gsl_vector* u, void* params, gsl_vector* v, - gsl_matrix* JTJ) -{ - struct model_params* par = (struct model_params*) params; - const size_t p = x->size; - size_t j; - - /* store 2*x in last row of J */ - for (j = 0; j < p; ++j) { - double xj = gsl_vector_get(x, j); - gsl_spmatrix_set(par->J, p, j, 2.0 * xj); - } - - /* compute v = op(J) u */ - if (v) - gsl_spblas_dgemv(TransJ, 1.0, par->J, u, 0.0, v); - - /* compute normal equation if a J-transpose * J matrix is provided. */ - if (JTJ) { - gsl_vector_view diag = gsl_matrix_diagonal(JTJ); - - /* compute J^T J = [ alpha*I_p + 4 x x^T ] */ - gsl_matrix_set_zero(JTJ); - /* store 4 x x^T in lower half of JTJ */ - gsl_blas_dsyr(CblasLower, 4.0, x, JTJ); - - /* add alpha to diag(JTJ) */ - gsl_vector_add_constant(&diag.vector, par->alpha); - } +//locally defined C-style function to compute the 1st derivative of +//the cost function in the form of a Jacobian matrix compatible with GSL's +//non-linear least-squares solver +int cost_df ( const gsl_vector * model_parameters_x, + void *data, + gsl_matrix * J ) { + + // get data information + size_t data_count = static_cast(data)->count; + double *x = static_cast(data)->x; + double *y = static_cast(data)->y; + double *z = static_cast(data)->z; + + for (size_t i = 0; i < data_count; i++) { + // An element of the Jacobian matrix: J(i,j) = ∂fi / ∂xj, + // where fi = (Yi - yi)/sigma[i], + // Yi = predicted value at x,y,z , + // yi = data value at x,y,z, + // xj = the nine trend model parameters p0...p8 + // f(x,y,z) = p0*x² + p1*x*y + p2*x*z + p3*y² + p4*y*z + p5*z² + p6*x + p7*y + p8*z + gsl_matrix_set (J, i, 0, x[i]*x[i]); // ∂f/∂p0 + gsl_matrix_set (J, i, 1, x[i]*y[i]); // ∂f/∂p1 + gsl_matrix_set (J, i, 2, x[i]*z[i]); // ∂f/∂p2 + gsl_matrix_set (J, i, 3, y[i]*y[i]); // ∂f/∂p3 + gsl_matrix_set (J, i, 4, y[i]*z[i]); // ∂f/∂p4 + gsl_matrix_set (J, i, 5, z[i]*z[i]); // ∂f/∂p5 + gsl_matrix_set (J, i, 6, x[i]); // ∂f/∂p6 + gsl_matrix_set (J, i, 7, y[i]); // ∂f/∂p7 + gsl_matrix_set (J, i, 8, z[i]); // ∂f/∂p8 + } - return GSL_SUCCESS; + return GSL_SUCCESS; } -/** - * local C-style 2nd-order derivative to enable the geodesic acceleration method - * with the non-linear least squares with GSL. - * This is not defined in header file. - */ -int penalty_fvv (const gsl_vector* x, const gsl_vector* v, - void* params, gsl_vector* fvv) { - - const size_t p = x->size; - double normv = gsl_blas_dnrm2(v); - - gsl_vector_set_zero(fvv); - gsl_vector_set(fvv, p, 2.0 * normv * normv); - - (void)params; /* avoid unused parameter warning */ - - return GSL_SUCCESS; +// locally defined C-style function that is called for each step of the non-linear +// least squares algorithm of GSL. +// this is usally useful to keep track of progress or to record an execution log +void iteration_callback( const size_t iter, + void *params, + const gsl_multifit_nlinear_workspace *w ) +{ +// gsl_vector *f = gsl_multifit_nlinear_residual(w); +// gsl_vector *x = gsl_multifit_nlinear_position(w); +// double rcond; + +// /* compute reciprocal condition number of J(x) */ +// gsl_multifit_nlinear_rcond(&rcond, w); + +// fprintf(stderr, "iter %2zu: A = %.4f, lambda = %.4f, b = %.4f, cond(J) = %8.4f, |f(x)| = %.4f\n", +// iter, +// gsl_vector_get(x, 0), +// gsl_vector_get(x, 1), +// gsl_vector_get(x, 2), +// 1.0 / rcond, +// gsl_blas_dnrm2(f)); } Quad3DTrendModelFittingAuxDefs::Parameters Quadratic3DTrendModelFitting::processWithNonLinearLeastSquares() const { - //load dataset + // load dataset m_dataFile->loadData(); - //determine the number of valid samples (no NDV) + // set whether the data is 2D or 3D in Cartesian space + bool is3D = m_dataFile->isTridimensional(); + + // determine the number of valid samples (no NDV) size_t number_of_valid_samples = 0; { if( ! m_dataFile->hasNoDataValue() ){ @@ -542,161 +569,154 @@ Quad3DTrendModelFittingAuxDefs::Parameters Quadratic3DTrendModelFitting::process } } - //define solver hyperparameters - gsl_multilarge_nlinear_parameters fdf_params = gsl_multilarge_nlinear_default_parameters(); - size_t number_of_samples = number_of_valid_samples; - size_t number_of_parameters = Quad3DTrendModelFittingAuxDefs::N_PARAMS; + // select non-linear least squares method (so far GSL only supports TRS). + // TRS = Trust Region Subproblem. This means that in a small 9-D cube around a given + // x,y,z location, the trend model is assumed near-constant value. + const gsl_multifit_nlinear_type* T = gsl_multifit_nlinear_trust; - //alocate arrays for ???? - gsl_vector* samples_f = gsl_vector_alloc( number_of_samples ); //this is not being used... - gsl_vector* parameters_x = gsl_vector_alloc( number_of_parameters ); + // set the sizes of the problem + const size_t number_of_samples = number_of_valid_samples; + constexpr size_t number_of_parameters = Quad3DTrendModelFittingAuxDefs::N_PARAMS; - // allocate sparse Jacobian matrix with 2*nb_par non-zero elements in triplet format - gsl_spmatrix *J = gsl_spmatrix_alloc_nzmax( - number_of_samples, - number_of_parameters, - 2 * number_of_parameters, - GSL_SPMATRIX_TRIPLET); + // allocate data structures for algorithm operation + double* x = new double[number_of_samples]; + double* y = new double[number_of_samples]; + double* z = new double[number_of_samples]; + double* data_values = new double[number_of_samples]; + double* weights = new double[number_of_samples]; + struct data dataSet = { number_of_samples, x, y, z, data_values }; - // some solver hiperparameters - struct model_params params; - params.alpha = 1.0e-5; //"learning rate" (greater: faster, less accurate convergence; smaller: slower, more accurate convergence). - params.J = J; //Jacobian matrix (a form of gradient or 1st derivative in the form of matrix of 1st partial derivatives) + gsl_rng_env_setup(); + gsl_rng* trusted_region = gsl_rng_alloc( gsl_rng_default ); //apparently not being used // define the function to be minimized - gsl_multilarge_nlinear_fdf fdf; - fdf.f = penalty_f; //the cost function itself - fdf.df = penalty_df; //its 1st derivative - fdf.fvv = penalty_fvv; //its 2nd derivative (optional, necessary for geodesic acceleration) + gsl_multifit_nlinear_fdf fdf; + fdf.f = cost_f; + fdf.df = cost_df; // set to NULL for finite-difference Jacobian + fdf.fvv = NULL; // not using geodesic acceleration fdf.n = number_of_samples; fdf.p = number_of_parameters; - fdf.params = ¶ms; //Jacobian matrix and "learning rate" alpha. - - // do some initializations - for (size_t i = 0; i < number_of_parameters; ++i) { - - /* init the model parameters somewhere in the 9-D parameter space */ - gsl_vector_set( parameters_x, i, i + 1.0); - - /* init the main diagonal of the Jacobian's upper p x p part with sqrt(alpha). - * alpha is the "learning rate" - */ - gsl_spmatrix_set(J, i, i, sqrt(params.alpha)); + fdf.params = &dataSet; + // read the data to be fitted into the arrays + { + bool hasNDV = m_dataFile->hasNoDataValue(); + double NDV = m_dataFile->getNoDataValueAsDouble(); + int iColumn = m_attribute->getAttributeGEOEASgivenIndex() - 1; + size_t iDataArray = 0; + for( int iDataFileRow = 0; iDataFileRow < m_dataFile->getDataLineCount(); iDataFileRow++){ + double sample_value = m_dataFile->data( iDataFileRow, iColumn ); + if( ! hasNDV || ! Util::almostEqual2sComplement( NDV, sample_value, 1 )) { + data_values[iDataArray] = sample_value; + m_dataFile->getDataSpatialLocation( iDataFileRow, x[iDataArray], y[iDataArray], z[iDataArray] ); + weights[iDataArray] = 1.0; + iDataArray++; + } + } } - // controls the model parameters scaling matrix D - // options: - // gsl_multilarge_nlinear_scale_more -> indicated for when parameters wildly vary in scale (e.g. micrometers vs tonnes) - // gsl_multilarge_nlinear_scale_levenberg -> unlike gsl_multilarge_nlinear_scale_more, this is not scale-ivariant but works - // better for problems susceptiple to "parameter evaporation" (some parameters tend to - // go to infinity). - // gsl_multilarge_nlinear_scale_marquardt -> scale-invariant, but considered inferior to the above two. Use if the previous one - // does not work well for the problem. - fdf_params.scale = gsl_multilarge_nlinear_scale_levenberg; - - - // controls the method used to solve the Trust Region Subproblem ( a certain 9-D volume around - // a given 9-D parameter space point can be approximately valued by the same model parameters ). - // TRS may not work well if the sought trend model varies rapidly in parameter space. - // options: - // gsl_multilarge_nlinear_trs_lm -> The Levenberg-Marquardt algorithm provides an exact solution of - // the trust region subproblem, but typically has a higher computational cost - // per iteration than the approximate methods below. - // gsl_multilarge_nlinear_trs_lmaccel -> The Levenberg-Marquardt algorithm with geodesic acceleration (requires - // definition of the 2nd derivative of the cost function). - // gsl_multilarge_nlinear_trs_dogleg -> The classic Powell’s dogleg method; - // gsl_multilarge_nlinear_trs_ddogleg -> Double dogleg (improved dogleg method). - // gsl_multilarge_nlinear_trs_subspace2D -> The dogleg methods restricts minimum search to lines. This improves over - // such methods by using a 2D space, potentially speeding up convergence on some problems. - // gsl_multilarge_nlinear_trs_cgst -> slower than dogleg methods, but avoids numeric problems (e.g. if the Jacobian - // matrix becomes singular) making this option more robust for some of the larger problems. - fdf_params.trs = gsl_multilarge_nlinear_trs_lm; - - // Block of code directly involved with solution search. - //solve_system(x0, &fdf, &fdf_params) + // from this point on, the data file's contents are no longer needed, so deallocate them + // to free up memory space + m_dataFile->freeLoadedData(); + + // allocate workspace with default parameters + gsl_multifit_nlinear_parameters fdf_params = gsl_multifit_nlinear_default_parameters(); + gsl_multifit_nlinear_workspace* workspace = gsl_multifit_nlinear_alloc (T, &fdf_params, number_of_samples, number_of_parameters); + + // initialize solver with starting point and weights + // 0 1 2 3 4 5 6 7 8 + // x² + xy + xz + y²+ yz + z² + x + y + z + double params_init[9] = { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 }; /* starting parameter values */ + if( ! is3D ) //zero-out z-bearing terms + params_init[2] = params_init[4] = params_init[5] = params_init[8] = 0.0; + gsl_vector_view parameters = gsl_vector_view_array (params_init, number_of_parameters); + gsl_vector_view wts = gsl_vector_view_array (weights, number_of_samples); + gsl_multifit_nlinear_winit (¶meters.vector, &wts.vector, &fdf, workspace); + + // compute initial cost function + gsl_vector* f = gsl_multifit_nlinear_residual(workspace); + double chisq0; + gsl_blas_ddot(f, f, &chisq0); + + // perform the non-linear least squares of 100 iterations + int info; + constexpr int max_iterations = 100; + constexpr double xtol = 1e-8; //parameter epsilon (e.g. 1.0 + epsilon == 1.0) + constexpr double gtol = 1e-8; //1st derivative epsilon + constexpr double ftol = 0.0; //2nd derivative epsilon (not using geodesic acceleration) + int status = gsl_multifit_nlinear_driver(max_iterations, xtol, gtol, ftol, iteration_callback, NULL, &info, workspace); + + // get the final Jacobian matrix + gsl_matrix* J = gsl_multifit_nlinear_jac(workspace); + + // compute the final covariance matrix of best fit parameters to get fit errors + gsl_matrix* covar = gsl_matrix_alloc (number_of_parameters, number_of_parameters); + gsl_multifit_nlinear_covar (J, 0.0, covar); + + // compute final cost value + double chisq; + gsl_blas_ddot(f, f, &chisq); + + // output execution summary + fprintf(stderr, "summary from method '%s/%s'\n", + gsl_multifit_nlinear_name(workspace), + gsl_multifit_nlinear_trs_name(workspace)); + fprintf(stderr, "number of iterations: %zu\n", + gsl_multifit_nlinear_niter(workspace)); + fprintf(stderr, "function evaluations: %zu\n", fdf.nevalf); + fprintf(stderr, "Jacobian evaluations: %zu\n", fdf.nevaldf); + fprintf(stderr, "reason for stopping: %s\n", + (info == 1) ? "small step size" : "small gradient"); + fprintf(stderr, "initial |f(x)| = %f\n", sqrt(chisq0)); + fprintf(stderr, "final |f(x)| = %f\n", sqrt(chisq)); + + // output the best fit trend model parameters with their fit errors { - // selects the type of the non-linear least squared method. - // so far, GSL only supports Trust Region Subproblem methods, - // the other being linear search methods. - const gsl_multilarge_nlinear_type* type_of_method = gsl_multilarge_nlinear_trust; - - // the maximum number of tries (how many times the main optimization loop will execute) - const size_t max_iter = 200; - - // sets the epsilon (two values closer than epsilon are considered equal) for model parameters - const double xtol = 1.0e-8; - - // sets the epsilon for gradient values - const double gtol = 1.0e-8; - - // sets the epsilon for model values (y-values) - const double ftol = 1.0e-8; - - // number of observation data - const size_t n = fdf.n; - - // number of model parameters - const size_t p = fdf.p; - - // allocate and configure the non-linear solver - gsl_multilarge_nlinear_workspace* solver_workspace = - gsl_multilarge_nlinear_alloc( type_of_method, &fdf_params, n, p ); - - //allocate array for the solver to store the current residual vector f(x). - gsl_vector* f = gsl_multilarge_nlinear_residual( solver_workspace ); - - //allocate array for the solver to store the current best-fit model parameters. - gsl_vector* x = gsl_multilarge_nlinear_position( solver_workspace ); - - // initialize solver - gsl_multilarge_nlinear_init( parameters_x, &fdf, solver_workspace ); - - //declare some output variables to get execution information after completion - int info; - double chisq0, chisq, rcond, xsq; - - // get initial cost - gsl_blas_ddot(f, f, &chisq0); - - // iterate until convergence - gsl_multilarge_nlinear_driver(max_iter, xtol, gtol, ftol, - NULL, NULL, &info, solver_workspace); - -// std::cout << f->size << ' ' << x->size << std::endl; -// return Quad3DTrendModelFittingAuxDefs::Parameters(); - - // get final cost - gsl_blas_ddot(f, f, &chisq); - - // get final ||x||^2 (parameter vector norm squared) - gsl_blas_ddot(x, x, &xsq); - - // get reciprocal condition number of final J (Jacobian matrix). - // closer to 0.0 means ill-conditioned. Closer to 1.0 means well-conditioned. - gsl_multilarge_nlinear_rcond(&rcond, solver_workspace); - - // print execution summary - printf("%-25s %-5zu %-4zu %-5zu %-6zu %-4zu %-10.4e %-10.4e %-7.2f %-11.4e \n", - gsl_multilarge_nlinear_trs_name(solver_workspace), - gsl_multilarge_nlinear_niter(solver_workspace), - fdf.nevalf, - fdf.nevaldfu, - fdf.nevaldf2, - fdf.nevalfvv, - chisq0, - chisq, - 1.0 / rcond, - xsq ); - - // deallocate the non-linear solver - gsl_multilarge_nlinear_free( solver_workspace ); + double dof = number_of_samples - number_of_parameters; + double c = GSL_MAX_DBL(1, sqrt(chisq / dof)); + + fprintf(stderr, "chisq/dof = %g\n", chisq / dof); + + // some lambda functions to serve as "macros" + auto FIT = [workspace](size_t i){ return gsl_vector_get(workspace->x, i); }; + auto ERR = [covar](size_t i){ return std::sqrt(gsl_matrix_get(covar,i,i)); }; + + printf ("p0 = %.5f +/- %.5f\n", FIT(0), c*ERR(0)); + printf ("p1 = %.5f +/- %.5f\n", FIT(1), c*ERR(1)); + printf ("p2 = %.5f +/- %.5f\n", FIT(2), c*ERR(2)); + printf ("p3 = %.5f +/- %.5f\n", FIT(3), c*ERR(3)); + printf ("p4 = %.5f +/- %.5f\n", FIT(4), c*ERR(4)); + printf ("p5 = %.5f +/- %.5f\n", FIT(5), c*ERR(5)); + printf ("p6 = %.5f +/- %.5f\n", FIT(6), c*ERR(6)); + printf ("p7 = %.5f +/- %.5f\n", FIT(7), c*ERR(7)); + printf ("p8 = %.5f +/- %.5f\n", FIT(8), c*ERR(8)); } - //deallocate data structures - gsl_vector_free(samples_f); - gsl_vector_free(parameters_x); - gsl_spmatrix_free(J); + // output final execution status (e.g. whether it completed by convergence or + // maximum number of iterations has been reached) + fprintf (stderr, "status = %s\n", gsl_strerror (status)); + + // free up memeory + gsl_multifit_nlinear_free (workspace); + gsl_matrix_free (covar); + gsl_rng_free (trusted_region); + delete[] x; + delete[] y; + delete[] z; + delete[] data_values; + delete[] weights; + + // return best-fit trend model + auto get_par = [workspace](size_t i){ return gsl_vector_get(workspace->x, i); }; + return Quad3DTrendModelFittingAuxDefs::Parameters( get_par(0), + get_par(1), + get_par(2), + get_par(3), + get_par(4), + get_par(5), + get_par(6), + get_par(7), + get_par(8) ); } void Quadratic3DTrendModelFitting::showObjectiveFunctionEvolution() const From 4a1eaa3f04e6a4b505451c887c33cf3b96a55481 Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Fri, 3 May 2024 18:56:39 -0300 Subject: [PATCH 25/32] Added calculator icon to resources.qrc. --- art/iconsHD/calc32.png | Bin 0 -> 1324 bytes resources.qrc | 1 + 2 files changed, 1 insertion(+) create mode 100644 art/iconsHD/calc32.png diff --git a/art/iconsHD/calc32.png b/art/iconsHD/calc32.png new file mode 100644 index 0000000000000000000000000000000000000000..a3f557b771477e06606499b906fb4db536d61f2a GIT binary patch literal 1324 zcmV+{1=IS8P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1i?u}K~z{r#g|D) z9Ze9&%Y6rN%hikEdWZ<#Lfp{kK_VzBiWj{o2!dA;1To+t;Kh>%MHB>2ZiJYq1i_OY z0&(9JR9xb|+h6_bO}}s6yis2+$q$OI?&&vGue!Rr$4fEv4{-$ET+!LnHF>@salN@ljfhmzS4_)^!^g7)TKj5mZr8L0MT@GLDz4$;nAr z_^a~m+c%h25`psaa_aBzr_Rn!djI}CKPU3`_I7#?c$%R(K!o1Cdnfwz^fdYU`a0+6 z7QZ)-LB4alnbHqNAflpo7-dR+(F0UoZWKhX<9Ln=4~OLqjq)KR+*h z*aQ**b7or!3JM~Be}A_K*n#X$OiZMXjt**QXrR*4Qu^}c3l$U;IP=8~c)^J$UTth_ zpsP6SDm67#rKF@N-a3ktNhKsCsJCz5sVOB(QuOfzut^_X9@5kBO^n+T3ua5 zS2#aESHFM%R>{f9%FoYFqH}h3W<0fz02eWpmzO8+LYtPBCVFjct>Q$NIg5*nG6tK# zWeLmC78@fD>>T*?>66UGwgyK>M=B{PNybJ-Mr3ShY01R_U+%m}O-&8)-lc$m z0Au8N3JVKm9tsUW*+t>$?d>IwhK$)RfsO!*gr{)*cSZoZr>w89yF|bx2~mhpI6M&) z7XG~mbnElysOKpxUI_{ zg6->x=!m(12SV6gm zE!!m2ym|A6;^X6q&jAT1LWn-X851Sl&jqsGQYw{3`jg?|Bo z?kOl>Ku189AUr%=I>W=m#P@a4HP#OlZ4|`^p@xn`<6D!|dp(!`oQVEx)BPVmen=k& zpTL8PFAWlwzbWJ6<1p>`G~)r{0qXAVmX8Zy3=7cpX=VnWW5AkpW^}|Lh$b$nRaI4# ilau3kt{wO{5d8;%Tm3r*zk|L20000L0 literal 0 HcmV?d00001 diff --git a/resources.qrc b/resources.qrc index 339ccb94..c4747b42 100644 --- a/resources.qrc +++ b/resources.qrc @@ -139,5 +139,6 @@ art/iconsHD/v3Druler.png art/iconsHD/v3DprojPar32.png art/iconsHD/v3DprojPer32.png + art/iconsHD/calc32.png From 857d81308bb8d5c151380259c4b4f8476b2b3efa Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Sat, 4 May 2024 16:41:31 -0300 Subject: [PATCH 26/32] LineChartWidget: added new parameters to setData() method for improved functionality. --- dialogs/contactanalysisdialog.cpp | 2 +- widgets/linechartwidget.cpp | 12 ++++++++++-- widgets/linechartwidget.h | 9 ++++++++- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/dialogs/contactanalysisdialog.cpp b/dialogs/contactanalysisdialog.cpp index 24e894ad..779c321d 100644 --- a/dialogs/contactanalysisdialog.cpp +++ b/dialogs/contactanalysisdialog.cpp @@ -153,7 +153,7 @@ void ContactAnalysisDialog::onProceed() LineChartWidget* lcw = new LineChartWidget(this); lcw->setSharedYaxis( true ); lcw->setChartTitle( "Contact analysis of " + m_dataFile->getName() ); - lcw->setData( chartData, 0, + lcw->setData( chartData, 0, true, {{1, nameDomain1 + " (Domain 1)"}, {2, nameDomain2 + " (Domain 2)"}}, {{2, "mean " + m_attributeGrade->getName() }}, // shared y-axis is enabled, set only the last one {{1, colorDomain1} , {2, colorDomain2}} ); diff --git a/widgets/linechartwidget.cpp b/widgets/linechartwidget.cpp index e9d8865f..0c1c4598 100644 --- a/widgets/linechartwidget.cpp +++ b/widgets/linechartwidget.cpp @@ -43,9 +43,11 @@ LineChartWidget::~LineChartWidget() void LineChartWidget::setData(const std::vector > &data, int indexForXAxis, + bool clearCurrentCurves, const std::map& yVariablesCaptions, const std::map& yVariablesYaxisTitles, - const std::map& yVariablesColors) + const std::map& yVariablesColors, + const std::map& yVariablesStyles ) { // Does nothing if the input data table is empty. if( data.empty() ) @@ -56,7 +58,8 @@ void LineChartWidget::setData(const std::vector > &data, double maxX = -std::numeric_limits::max(); // Clears all current data series. - m_chart->removeAllSeries(); + if( clearCurrentCurves ) + m_chart->removeAllSeries(); // Initialize the limits for the Y axes (one per dependent variable or a global Y axis). double minY = std::numeric_limits::max(); @@ -84,6 +87,11 @@ void LineChartWidget::setData(const std::vector > &data, series->setName( yVariablesCaptions.at( iSeries ) ); } catch (...){} + // tries to set a line style for the current series (user may not have set one) + try { + series->setPen( yVariablesStyles.at( iSeries ) ); + } catch (...){} + // tries to set a color for the current series (user may not have set one) try { series->setColor( yVariablesColors.at( iSeries ) ); diff --git a/widgets/linechartwidget.h b/widgets/linechartwidget.h index b2c8e7a1..823c5192 100644 --- a/widgets/linechartwidget.h +++ b/widgets/linechartwidget.h @@ -35,6 +35,7 @@ class LineChartWidget : public QWidget * @param indexForXAxis The index of element in the inner vectors corresponding to the * independent variable, that is, the values in the X-axis. The other * values will be considered Y variables. + * @param clearCurrentCurves If true, the chart's current curves are cleared. * @param yVariablesCaptions Sets the captions for each curve legend. If a caption is not set for a given curve, * the legend will be displayed with a blank caption. The uint8_t value is the index of * the Y value in the inner vectors in data vector. @@ -46,12 +47,18 @@ class LineChartWidget : public QWidget * @param yVariablesColors Sets the colors for each curve. If a color is not set for a given curve, * it'll will be displayed with a default color. The uint8_t value is the index of * the Y value in the inner vectors in data vector. + * @param yVariablesStyles Sets the line styles for each curve. If a line style is not set for a given curve, + * it'll will be displayed with a default style. The uint8_t value is the index of + * the Y value in the inner vectors in data vector. Note, the color in yVariablesColors, + * if set, overrides the style's color. */ void setData( const std::vector< std::vector< double > >& data, int indexForXAxis, + bool clearCurrentCurves = true, const std::map& yVariablesCaptions = {}, const std::map& yVariablesYaxisTitles = {}, - const std::map& yVariablesColors = {} ); + const std::map& yVariablesColors = {}, + const std::map& yVariablesStyles = {} ); /** * Enables/disables whether all Y series share the same vertical axis in the chart. From c2629583e559d457c3862c6a9fc4bf0e2b31a1bd Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Sun, 5 May 2024 10:52:33 -0300 Subject: [PATCH 27/32] Introducing the Kt3dTrendModelParameters class, derived from the GSLibParameterFile class, which enables quick parameter-entering dialogs. --- GammaRay.pro | 2 + .../kt3dtrendmodelparameters.cpp | 116 ++++++++++++++++++ .../kt3dtrendmodelparameters.h | 36 ++++++ 3 files changed, 154 insertions(+) create mode 100644 gslib/gslibparameterfiles/kt3dtrendmodelparameters.cpp create mode 100644 gslib/gslibparameterfiles/kt3dtrendmodelparameters.h diff --git a/GammaRay.pro b/GammaRay.pro index 86c312e6..3873e061 100644 --- a/GammaRay.pro +++ b/GammaRay.pro @@ -62,6 +62,7 @@ SOURCES += main.cpp\ geostats/searchsphericalshell.cpp \ geostats/searchverticaldumbbell.cpp \ geostats/searchwasher.cpp \ + gslib/gslibparameterfiles/kt3dtrendmodelparameters.cpp \ gslib/gslibparams/gslibpardir.cpp \ gslib/gslibparams/widgets/widgetgslibpardir.cpp \ mainwindow.cpp \ @@ -352,6 +353,7 @@ HEADERS += mainwindow.h \ geostats/searchsphericalshell.h \ geostats/searchverticaldumbbell.h \ geostats/searchwasher.h \ + gslib/gslibparameterfiles/kt3dtrendmodelparameters.h \ gslib/gslibparams/gslibpardir.h \ gslib/gslibparams/widgets/widgetgslibpardir.h \ util.h \ diff --git a/gslib/gslibparameterfiles/kt3dtrendmodelparameters.cpp b/gslib/gslibparameterfiles/kt3dtrendmodelparameters.cpp new file mode 100644 index 00000000..ef750eca --- /dev/null +++ b/gslib/gslibparameterfiles/kt3dtrendmodelparameters.cpp @@ -0,0 +1,116 @@ +#include "kt3dtrendmodelparameters.h" +#include "gslib/gslibparameterfiles/gslibparamtypes.h" + +Kt3dTrendModelParameters::Kt3dTrendModelParameters() : + GSLibParameterFile({ + " -x²", // 0 + " -xy", // 1 + " -xz", // 2 + " -y²", // 3 + " -yz", // 4 + " -z²", // 5 + " -x", // 6 + " -y", // 7 + " -z", // 8 + }) +{ + getParameter(0)->_value = 0.0; + getParameter(1)->_value = 0.0; + getParameter(2)->_value = 0.0; + getParameter(3)->_value = 0.0; + getParameter(4)->_value = 0.0; + getParameter(5)->_value = 0.0; + getParameter(6)->_value = 0.0; + getParameter(7)->_value = 0.0; + getParameter(8)->_value = 0.0; +} + +double Kt3dTrendModelParameters::getA() +{ + return getParameter(0)->_value; +} + +double Kt3dTrendModelParameters::getB() +{ + return getParameter(1)->_value; +} + +double Kt3dTrendModelParameters::getC() +{ + return getParameter(2)->_value; +} + +double Kt3dTrendModelParameters::getD() +{ + return getParameter(3)->_value; +} + +double Kt3dTrendModelParameters::getE() +{ + return getParameter(4)->_value; +} + +double Kt3dTrendModelParameters::getF() +{ + return getParameter(5)->_value; +} + +double Kt3dTrendModelParameters::getG() +{ + return getParameter(6)->_value; +} + +double Kt3dTrendModelParameters::getH() +{ + return getParameter(7)->_value; +} + +double Kt3dTrendModelParameters::getI() +{ + return getParameter(8)->_value; +} + +void Kt3dTrendModelParameters::setA(double value) +{ + getParameter(0)->_value = value; +} + +void Kt3dTrendModelParameters::setB(double value) +{ + getParameter(1)->_value = value; +} + +void Kt3dTrendModelParameters::setC(double value) +{ + getParameter(2)->_value = value; +} + +void Kt3dTrendModelParameters::setD(double value) +{ + getParameter(3)->_value = value; +} + +void Kt3dTrendModelParameters::setE(double value) +{ + getParameter(4)->_value = value; +} + +void Kt3dTrendModelParameters::setF(double value) +{ + getParameter(5)->_value = value; +} + +void Kt3dTrendModelParameters::setG(double value) +{ + getParameter(6)->_value = value; +} + +void Kt3dTrendModelParameters::setH(double value) +{ + getParameter(7)->_value = value; +} + +void Kt3dTrendModelParameters::setI(double value) +{ + getParameter(8)->_value = value; +} diff --git a/gslib/gslibparameterfiles/kt3dtrendmodelparameters.h b/gslib/gslibparameterfiles/kt3dtrendmodelparameters.h new file mode 100644 index 00000000..5d829494 --- /dev/null +++ b/gslib/gslibparameterfiles/kt3dtrendmodelparameters.h @@ -0,0 +1,36 @@ +#ifndef KT3DTRENDMODELPARAMETERS_H +#define KT3DTRENDMODELPARAMETERS_H + +#include "gslib/gslibparameterfiles/gslibparameterfile.h" + +/** Specialization of GSLibParameterFile used to store kt3d's trend model's nine parameters: + * Ax² + Bxy + Cxz + Dy² + Eyz + Fz² + Gx + Hy + Iz + */ +class Kt3dTrendModelParameters : public GSLibParameterFile +{ +public: + + Kt3dTrendModelParameters(); + + double getA(); + double getB(); + double getC(); + double getD(); + double getE(); + double getF(); + double getG(); + double getH(); + double getI(); + + void setA( double value ); + void setB( double value ); + void setC( double value ); + void setD( double value ); + void setE( double value ); + void setF( double value ); + void setG( double value ); + void setH( double value ); + void setI( double value ); +}; + +#endif // KT3DTRENDMODELPARAMETERS_H From e9b4c964f223b1fecbede538a68970fc97f8d18a Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Sun, 5 May 2024 11:25:13 -0300 Subject: [PATCH 28/32] Drift Analysis: fitting a kt3d's trend model to data with the non-linear least squares method. --- dialogs/driftanalysisdialog.cpp | 320 +++++++++--------- dialogs/driftanalysisdialog.h | 18 +- dialogs/driftanalysisdialog.ui | 374 +++++----------------- geostats/quadratic3dtrendmodelfitting.cpp | 72 +++-- geostats/quadratic3dtrendmodelfitting.h | 8 +- 5 files changed, 313 insertions(+), 479 deletions(-) diff --git a/dialogs/driftanalysisdialog.cpp b/dialogs/driftanalysisdialog.cpp index 7d6ea796..043c3d93 100644 --- a/dialogs/driftanalysisdialog.cpp +++ b/dialogs/driftanalysisdialog.cpp @@ -8,7 +8,10 @@ #include "geostats/quadratic3dtrendmodelfitting.h" #include "widgets/linechartwidget.h" #include "viewer3d/view3dcolortables.h" +#include "gslib/gslibparametersdialog.h" +#include "gslib/gslibparameterfiles/kt3dtrendmodelparameters.h" +#include #include #include #include @@ -18,7 +21,8 @@ DriftAnalysisDialog::DriftAnalysisDialog(DataFile *dataFile, Attribute *attribut QDialog(parent), ui(new Ui::DriftAnalysisDialog), m_dataFile(dataFile), - m_attribute(attribute) + m_attribute(attribute), + m_lastNameForDriftVariable("drift_model") { ui->setupUi(this); @@ -42,10 +46,7 @@ DriftAnalysisDialog::DriftAnalysisDialog(DataFile *dataFile, Attribute *attribut if( ! m_dataFile->isTridimensional() ) ui->grpVerticalDrift->hide(); - ui->grpGeneticAlgorithmParams->hide(); - - //defult is the number of logical processing cores made visible by the OS - ui->spinNumberOfThreads->setValue( std::thread::hardware_concurrency() ); + ui->grpFitTrendModel->hide(); } DriftAnalysisDialog::~DriftAnalysisDialog() @@ -53,16 +54,11 @@ DriftAnalysisDialog::~DriftAnalysisDialog() delete ui; } -void DriftAnalysisDialog::onRun() +void DriftAnalysisDialog::performDriftAnalysis( DriftAnalysis& driftAnalysis, bool clear_curves ) { - DriftAnalysis driftAnalysis; - driftAnalysis.setAttribute( m_attribute ); - driftAnalysis.setInputDataFile( m_dataFile ); - driftAnalysis.setNumberOfSteps( ui->spinNumberOfSteps->value() ); - if( ! driftAnalysis.run() ) { - Application::instance()->logError("DriftAnalysisDialog::onRun(): failed execution:"); + Application::instance()->logError("DriftAnalysisDialog::performDriftAnalysis(): failed execution:"); Application::instance()->logError(" " + driftAnalysis.getLastError()); QMessageBox::critical( this, "Error", "Drift analysis failed. Further details in the message panel." ); @@ -100,101 +96,40 @@ void DriftAnalysisDialog::onRun() QColor colorSouthNorth = QColorConstants::DarkGreen; QColor colorVertical = QColorConstants::DarkBlue; - //display the results - m_chartWestEast->setData( chartDataWestEast, 0, + QPen style; + if( ! clear_curves ) //user wants to display drift model along observed drift + style.setStyle( Qt::DashLine ); + + //display the results index 0: X values; 1: Y values + m_chartWestEast->setData( chartDataWestEast, 0, clear_curves, {{}}, {{1, "mean " + m_attribute->getName() }}, - {{1, colorWestEast}} ); + {{1, colorWestEast}}, + {{1, style}} ); m_chartWestEast->setXaxisCaption( "Easting" ); - m_chartSouthNorth->setData( chartDataSouthNorth, 0, + m_chartSouthNorth->setData( chartDataSouthNorth, 0, clear_curves, {{}}, {{1, "mean " + m_attribute->getName() }}, - {{1, colorSouthNorth}} ); + {{1, colorSouthNorth}}, + {{1, style}} ); m_chartSouthNorth->setXaxisCaption( "Northing" ); - m_chartVertical->setData( chartDataVertical, 0, + m_chartVertical->setData( chartDataVertical, 0, clear_curves, {{}}, {{1, "Z" }}, - {{1, colorVertical}} ); + {{1, colorVertical}}, + {{1, style}} ); m_chartVertical->setXaxisCaption( "mean " + m_attribute->getName() ); } } -void DriftAnalysisDialog::onFitTrendModel() +void DriftAnalysisDialog::displayParamaters(const Quad3DTrendModelFittingAuxDefs::Parameters &model_parameters) { - m_dataFile->loadData(); - - //determine whether the dataset is 3D - bool is3D = m_dataFile->isTridimensional(); - - //get the data column index of the input attribute in the data file - uint indexOfVariable = m_attribute->getAttributeGEOEASgivenIndex() - 1; - - //get no-data value info - double NDV = m_dataFile->getNoDataValueAsDouble(); - bool hasNDV = m_dataFile->hasNoDataValue(); - - //compute the orders of magnitude of a possible trend model and that of the data values - //this is useful to present the user with initial parameter search domain in the proper scale - double magnitude_of_trend_model = 0.0; - double magnitude_of_data_values = 0.0; - { - QProgressDialog progressDialog; - progressDialog.setRange(0, m_dataFile->getDataLineCount()); - progressDialog.setValue( 0 ); - progressDialog.show(); - progressDialog.setLabelText("Computing orders of magnitude of data values and of trend model parameters..."); - - double x, y, z; - for(uint iRow=0; iRow < m_dataFile->getDataLineCount(); iRow++ ){ - - m_dataFile->getDataSpatialLocation( iRow, x, y, z ); - magnitude_of_trend_model = x * x; - magnitude_of_trend_model += x * y; - magnitude_of_trend_model += is3D ? std::abs( x * z ) : 0.0; - magnitude_of_trend_model += y * y; - magnitude_of_trend_model += is3D ? std::abs( y * z ) : 0.0; - magnitude_of_trend_model += is3D ? std::abs( z * z ) : 0.0; - magnitude_of_trend_model += x; - magnitude_of_trend_model += y; - magnitude_of_trend_model += is3D ? std::abs( z ) : 0.0; - - double data_value = m_dataFile->data( iRow, indexOfVariable ); - if( ! hasNDV || ! Util::almostEqual2sComplement( data_value, NDV, 1 ) ) - magnitude_of_data_values += std::abs( data_value ); - - //update progress bar from time to time - if( ! iRow % ( m_dataFile->getDataLineCount() / 100 ) ){ - progressDialog.setValue( iRow ); - QApplication::processEvents(); // let Qt update the UI - } - } - } - - //compute the approx. powers of 10 (orders of magnitude (approx. power of 1000) for each case - int exp_trend_model = static_cast( std::log10(magnitude_of_trend_model).real() ); - int exp_data_values = static_cast( std::log10(magnitude_of_data_values).real() ); - - //initialize the value of the magnitude of the parameter search domain with an adequate value - ui->spinCoeffSearchWindowSizeMagnitude->setValue ( exp_data_values - exp_trend_model ); - ui->spinSearchWindowShiftThresholdMagnitude->setValue( exp_data_values - exp_trend_model - 2 ); - - //show the frame with the trend model fitting controls - ui->grpGeneticAlgorithmParams->setVisible( ! ui->grpGeneticAlgorithmParams->isVisible() ); -} - -void DriftAnalysisDialog::onRunFitTrendModel() -{ - //fit a trend model to the data - Quadratic3DTrendModelFitting q3dtmf( m_dataFile, m_attribute ); - Quad3DTrendModelFittingAuxDefs::Parameters modelParameters = - q3dtmf.processWithNonLinearLeastSquares(); - //find the highest and lowest parameters values for color table double absmax = -std::numeric_limits::max(); for( int i = 0; i < Quad3DTrendModelFittingAuxDefs::N_PARAMS; i++) - if( std::abs(modelParameters[i]) > absmax ) absmax = std::abs(modelParameters[i]); + if( std::abs(model_parameters[i]) > absmax ) absmax = std::abs(model_parameters[i]); //a lambda to automatize the generation of HTML to display a background color proportional to the parameter value auto lambdaMakeBGColor = [absmax](double value){ @@ -210,110 +145,80 @@ void DriftAnalysisDialog::onRunFitTrendModel() const QString btdAvecColor = "" + lambdaMakeFontColor(modelParameters.a) + etd + output += btdAvecColor + lambdaMakeBGColor( model_parameters.a ) + ">" + lambdaMakeFontColor(model_parameters.a) + etd + btdSansColor + "x2 + " + etd; - output += btdAvecColor + lambdaMakeBGColor( modelParameters.b ) + ">" + lambdaMakeFontColor(modelParameters.b) + etd + output += btdAvecColor + lambdaMakeBGColor( model_parameters.b ) + ">" + lambdaMakeFontColor(model_parameters.b) + etd + btdSansColor + "xy + " + etd; - output += btdAvecColor + lambdaMakeBGColor( modelParameters.c ) + ">" + lambdaMakeFontColor(modelParameters.c) + etd + output += btdAvecColor + lambdaMakeBGColor( model_parameters.c ) + ">" + lambdaMakeFontColor(model_parameters.c) + etd + btdSansColor + "xz + " + etd; - output += btdAvecColor + lambdaMakeBGColor( modelParameters.d ) + ">" + lambdaMakeFontColor(modelParameters.d) + etd + output += btdAvecColor + lambdaMakeBGColor( model_parameters.d ) + ">" + lambdaMakeFontColor(model_parameters.d) + etd + btdSansColor + "y2 + " + etd; - output += btdAvecColor + lambdaMakeBGColor( modelParameters.e ) + ">" + lambdaMakeFontColor(modelParameters.e) + etd + output += btdAvecColor + lambdaMakeBGColor( model_parameters.e ) + ">" + lambdaMakeFontColor(model_parameters.e) + etd + btdSansColor + "yz + " + etd; - output += btdAvecColor + lambdaMakeBGColor( modelParameters.f ) + ">" + lambdaMakeFontColor(modelParameters.f) + etd + output += btdAvecColor + lambdaMakeBGColor( model_parameters.f ) + ">" + lambdaMakeFontColor(model_parameters.f) + etd + btdSansColor + "z2 + " + etd; - output += btdAvecColor + lambdaMakeBGColor( modelParameters.g ) + ">" + lambdaMakeFontColor(modelParameters.g) + etd + output += btdAvecColor + lambdaMakeBGColor( model_parameters.g ) + ">" + lambdaMakeFontColor(model_parameters.g) + etd + btdSansColor + "x + " + etd; - output += btdAvecColor + lambdaMakeBGColor( modelParameters.h ) + ">" + lambdaMakeFontColor(modelParameters.h) + etd + output += btdAvecColor + lambdaMakeBGColor( model_parameters.h ) + ">" + lambdaMakeFontColor(model_parameters.h) + etd + btdSansColor + "y + " + etd; - output += btdAvecColor + lambdaMakeBGColor( modelParameters.i ) + ">" + lambdaMakeFontColor(modelParameters.i) + etd + output += btdAvecColor + lambdaMakeBGColor( model_parameters.i ) + ">" + lambdaMakeFontColor(model_parameters.i) + etd + btdSansColor + "z" + etd; output += ""; ui->lblTrendModel->setText( output ); - m_lastFitDriftModelParameters.reset( new Quad3DTrendModelFittingAuxDefs::Parameters( modelParameters ) ); } -/* +void DriftAnalysisDialog::onRun() +{ + DriftAnalysis driftAnalysis; + driftAnalysis.setAttribute( m_attribute ); + driftAnalysis.setInputDataFile( m_dataFile ); + driftAnalysis.setNumberOfSteps( ui->spinNumberOfSteps->value() ); + + performDriftAnalysis( driftAnalysis ); +} + +void DriftAnalysisDialog::onFitTrendModel() +{ + //toggle the frame with the trend model fitting controls + ui->grpFitTrendModel->setVisible( ! ui->grpFitTrendModel->isVisible() ); +} + void DriftAnalysisDialog::onRunFitTrendModel() { //fit a trend model to the data Quadratic3DTrendModelFitting q3dtmf( m_dataFile, m_attribute ); Quad3DTrendModelFittingAuxDefs::Parameters modelParameters = - q3dtmf.processWithGenetic( - ui->spinNumberOfThreads->value(), - ui->spinSeed->value(), - ui->spinNumberOfGenerations->value(), - ui->spinPopulationSize->value(), - ui->spinSelectionSize->value(), - ui->dblSpinProbabilityOfCrossover->value(), - ui->spinPointOfCrossover->value(), - ui->dblSpinMutationRate->value(), - ui->dblCoeffSearchWindowSize->value() * std::pow( 10, ui->spinCoeffSearchWindowSizeMagnitude->value() ), - ui->dblSearchWindowShiftThreshold->value() * std::pow( 10, ui->spinSearchWindowShiftThresholdMagnitude->value()) ); - - - //find the highest and lowest parameters values for color table - double absmax = -std::numeric_limits::max(); - for( int i = 0; i < Quad3DTrendModelFittingAuxDefs::N_PARAMS; i++) - if( std::abs(modelParameters[i]) > absmax ) absmax = std::abs(modelParameters[i]); - - //a lambda to automatize the generation of HTML to display a background color proportional to the parameter value - auto lambdaMakeBGColor = [absmax](double value){ - return " bgcolor='" + Util::getHTMLColorFromValue( value, ColorTable::SEISMIC, -absmax, absmax ) + "'"; - }; - - //a lambda to automatize the generation of HTML to render text in a contrasting color with respect to the background color - auto lambdaMakeFontColor = [absmax](double value){ - return Util::fontColorTag( QString::number(value), Util::getColorFromValue( value, ColorTable::SEISMIC, -absmax, absmax ) ); - }; - - const QString btdSansColor = ""; - const QString btdAvecColor = "" + lambdaMakeFontColor(modelParameters.a) + etd - + btdSansColor + "x2 + " + etd; - output += btdAvecColor + lambdaMakeBGColor( modelParameters.b ) + ">" + lambdaMakeFontColor(modelParameters.b) + etd - + btdSansColor + "xy + " + etd; - output += btdAvecColor + lambdaMakeBGColor( modelParameters.c ) + ">" + lambdaMakeFontColor(modelParameters.c) + etd - + btdSansColor + "xz + " + etd; - output += btdAvecColor + lambdaMakeBGColor( modelParameters.d ) + ">" + lambdaMakeFontColor(modelParameters.d) + etd - + btdSansColor + "y2 + " + etd; - output += btdAvecColor + lambdaMakeBGColor( modelParameters.e ) + ">" + lambdaMakeFontColor(modelParameters.e) + etd - + btdSansColor + "yz + " + etd; - output += btdAvecColor + lambdaMakeBGColor( modelParameters.f ) + ">" + lambdaMakeFontColor(modelParameters.f) + etd - + btdSansColor + "z2 + " + etd; - output += btdAvecColor + lambdaMakeBGColor( modelParameters.g ) + ">" + lambdaMakeFontColor(modelParameters.g) + etd - + btdSansColor + "x + " + etd; - output += btdAvecColor + lambdaMakeBGColor( modelParameters.h ) + ">" + lambdaMakeFontColor(modelParameters.h) + etd - + btdSansColor + "y + " + etd; - output += btdAvecColor + lambdaMakeBGColor( modelParameters.i ) + ">" + lambdaMakeFontColor(modelParameters.i) + etd - + btdSansColor + "z" + etd; - output += ""; + q3dtmf.processWithNonLinearLeastSquares(); - ui->lblTrendModel->setText( output ); + //update the trend model disaply in this dialog + displayParamaters( modelParameters ); + //keeps the last trend model fit for further use while another one is not fit m_lastFitDriftModelParameters.reset( new Quad3DTrendModelFittingAuxDefs::Parameters( modelParameters ) ); } -*/ void DriftAnalysisDialog::onSaveNewVariableWithDriftModel() { + if( ! m_lastFitDriftModelParameters ) { + Application::instance()->logError("DriftAnalysisDialog::onSaveNewVariableWithDriftModel(): null drift model. Run model fitting at least once.", true); + return; + } // make sure the data is loaded from filesystem m_dataFile->loadData(); //present a variable naming dialog to the user - QString new_variable_name = "drift_model"; { bool ok; - QString ps_file_name = QInputDialog::getText(this, "Name the new variable", + QString var_name = QInputDialog::getText(this, "Name the new variable", "New variable with the trend model evaluated in data locations: ", - QLineEdit::Normal, new_variable_name, &ok); + QLineEdit::Normal, m_lastNameForDriftVariable, &ok); if( ! ok ) return; + else + m_lastNameForDriftVariable = var_name; } //allocate container for the drift values @@ -342,7 +247,106 @@ void DriftAnalysisDialog::onSaveNewVariableWithDriftModel() drift_values[iRow] = drift_value; } - //adds the drift values as a new attribute to the data set file - m_dataFile->addNewDataColumn( new_variable_name, drift_values ); + //add or update the trend model values in the data files + uint driftVatGEOEASindex = m_dataFile->getFieldGEOEASIndex( m_lastNameForDriftVariable ); + uint drift_col_index = 9999; + if( driftVatGEOEASindex == 0 ) { //the variable does not exist + //adds the drift values as a new attribute to the data set file + drift_col_index = m_dataFile->addNewDataColumn( m_lastNameForDriftVariable, drift_values ); + } else { //drift variable already exists in the file + drift_col_index = driftVatGEOEASindex - 1; + //update the data file with the recomputed drift model values + for( uint iRow = 0; iRow < m_dataFile->getDataLineCount(); iRow++ ) + m_dataFile->setData( iRow, drift_col_index, drift_values[iRow] ); + m_dataFile->writeToFS(); + } + + //gets the new Attribute object associated with the newly added variable with the trend model values + Attribute* driftVariable = m_dataFile->getAttributeFromGEOEASIndex( drift_col_index + 1 ); + + //sanity check + if( ! driftVariable ){ + Application::instance()->logError( "DriftAnalysisDialog::onSaveNewVariableWithDriftModel(): failed to retrieve the Attribute object" + " associated with the newly computed trend model values." ); + return; + } + + //run drift analysis on the drift itself so the use can assess the quality of the fit + Attribute* tmp = m_attribute; + { + m_attribute = driftVariable; + DriftAnalysis driftAnalysis; + driftAnalysis.setAttribute( driftVariable ); + driftAnalysis.setInputDataFile( m_dataFile ); + driftAnalysis.setNumberOfSteps( ui->spinNumberOfSteps->value() ); + performDriftAnalysis( driftAnalysis, false ); + } + m_attribute = tmp; +} + +void DriftAnalysisDialog::onCopyTrendModelAsCalcScript(){ + + if( ! m_lastFitDriftModelParameters ) { + Application::instance()->logError("DriftAnalysisDialog::onCopyTrendModelAsCalcScript(): null drift model. Run model fitting at least once.", true); + return; + } + + // assemble calculator script + QString script; + script += " [output variable] := (" + QString::number(m_lastFitDriftModelParameters->a) + ") * X_ * X_ + \n"; + script += " (" + QString::number(m_lastFitDriftModelParameters->b) + ") * X_ * Y_ + \n"; + script += " (" + QString::number(m_lastFitDriftModelParameters->c) + ") * X_ * Z_ + \n"; + script += " (" + QString::number(m_lastFitDriftModelParameters->d) + ") * Y_ * Y_ + \n"; + script += " (" + QString::number(m_lastFitDriftModelParameters->e) + ") * Y_ * Z_ + \n"; + script += " (" + QString::number(m_lastFitDriftModelParameters->f) + ") * Z_ * Z_ + \n"; + script += " (" + QString::number(m_lastFitDriftModelParameters->g) + ") * X_ + \n"; + script += " (" + QString::number(m_lastFitDriftModelParameters->h) + ") * Y_ + \n"; + script += " (" + QString::number(m_lastFitDriftModelParameters->i) + ") * Z_ ; \n"; + + // copy script to clipboard (CTRL+C) + QClipboard *clipboard = QGuiApplication::clipboard(); + QString originalText = clipboard->text(); + clipboard->setText(script); + QMessageBox::information(this, "Information", "Calculator script copied to the clipboard."); +} + +void DriftAnalysisDialog::onEditTrendModelParameters() +{ + if( ! m_lastFitDriftModelParameters ) { + Application::instance()->logError("DriftAnalysisDialog::onEditTrendModelParameters(): null drift model. Run model fitting at least once.", true); + return; + } + // open a parameter editor dialog + Kt3dTrendModelParameters kt3dTrendModelParameters; + kt3dTrendModelParameters.setA( m_lastFitDriftModelParameters->a ); + kt3dTrendModelParameters.setB( m_lastFitDriftModelParameters->b ); + kt3dTrendModelParameters.setC( m_lastFitDriftModelParameters->c ); + kt3dTrendModelParameters.setD( m_lastFitDriftModelParameters->d ); + kt3dTrendModelParameters.setE( m_lastFitDriftModelParameters->e ); + kt3dTrendModelParameters.setF( m_lastFitDriftModelParameters->f ); + kt3dTrendModelParameters.setG( m_lastFitDriftModelParameters->g ); + kt3dTrendModelParameters.setH( m_lastFitDriftModelParameters->h ); + kt3dTrendModelParameters.setI( m_lastFitDriftModelParameters->i ); + GSLibParametersDialog gpd( &kt3dTrendModelParameters, this ); + gpd.setWindowTitle( "Edit kt3d's trend model parameters" ); + + //show the dialog modally an treat the user response + int ret = gpd.exec(); + if( ret != QDialog::Accepted ) + return; + + //if user didn't dismiss the dialog, assign the entered values to the model + m_lastFitDriftModelParameters->a = kt3dTrendModelParameters.getA(); + m_lastFitDriftModelParameters->b = kt3dTrendModelParameters.getB(); + m_lastFitDriftModelParameters->c = kt3dTrendModelParameters.getC(); + m_lastFitDriftModelParameters->d = kt3dTrendModelParameters.getD(); + m_lastFitDriftModelParameters->e = kt3dTrendModelParameters.getE(); + m_lastFitDriftModelParameters->f = kt3dTrendModelParameters.getF(); + m_lastFitDriftModelParameters->g = kt3dTrendModelParameters.getG(); + m_lastFitDriftModelParameters->h = kt3dTrendModelParameters.getH(); + m_lastFitDriftModelParameters->i = kt3dTrendModelParameters.getI(); + + //update the model display in this dialog + displayParamaters( *m_lastFitDriftModelParameters ); } diff --git a/dialogs/driftanalysisdialog.h b/dialogs/driftanalysisdialog.h index b30892f6..67b9ca67 100644 --- a/dialogs/driftanalysisdialog.h +++ b/dialogs/driftanalysisdialog.h @@ -7,12 +7,14 @@ class DataFile; class Attribute; class LineChartWidget; +class DriftAnalysis; + namespace Quad3DTrendModelFittingAuxDefs{ class Parameters; } namespace Ui { -class DriftAnalysisDialog; + class DriftAnalysisDialog; } class DriftAnalysisDialog : public QDialog @@ -31,12 +33,26 @@ class DriftAnalysisDialog : public QDialog LineChartWidget* m_chartSouthNorth; LineChartWidget* m_chartVertical; std::unique_ptr m_lastFitDriftModelParameters; + QString m_lastNameForDriftVariable; + + /** + * Runs the drift analysis algorithm passed as parameter and displays its results in the dialog's charts. + * @param clear_curves If true, clears all current curves, otherwise the resulting curves pile up. + */ + void performDriftAnalysis( DriftAnalysis& driftAnalysis, bool clear_curves = true ); + + /** + * Updates the label showing the trend model formula with the passed model parameters. + */ + void displayParamaters(const Quad3DTrendModelFittingAuxDefs::Parameters& model_parameters); private Q_SLOTS: void onRun(); void onFitTrendModel(); void onRunFitTrendModel(); void onSaveNewVariableWithDriftModel(); + void onCopyTrendModelAsCalcScript(); + void onEditTrendModelParameters(); }; #endif // DRIFTANALYSISDIALOG_H diff --git a/dialogs/driftanalysisdialog.ui b/dialogs/driftanalysisdialog.ui index 8a05ba5d..2acad471 100644 --- a/dialogs/driftanalysisdialog.ui +++ b/dialogs/driftanalysisdialog.ui @@ -6,8 +6,8 @@ 0 0 - 657 - 512 + 663 + 453 @@ -232,7 +232,7 @@ - + 0 @@ -249,180 +249,35 @@ 1 - - - - <html><head/><body><p><span style=" font-family:'Verdana,Arial,Tahoma,Calibri,Geneva,sans-serif';">Population size:</span></p></body></html> - - - - - - - <html><head/><body><p><span style=" font-family:'Verdana,Arial,Tahoma,Calibri,Geneva,sans-serif';">Number of generations:</span></p></body></html> - - - - - - - true - - - <html><head/><body><p><span style=" font-family:'Verdana,Arial,Tahoma,Calibri,Geneva,sans-serif';">Maximum number of threads:</span></p></body></html> - - - - - - - <html><head/><body><p><span style=" font-family:'Verdana,Arial,Tahoma,Calibri,Geneva,sans-serif';">Seed for the random number generator:</span></p></body></html> - - - - - - - <html><head/><body><p><span style=" font-family:'Verdana,Arial,Tahoma,Calibri,Geneva,sans-serif';">Search window shift threshold:</span></p></body></html> - - - - - - - 1 - - - 10000000 - - - 10 - - - 500 + + + + Save new variable with evaluation of drift model. - - - - - <html><head/><body><p><span style=" font-family:'Verdana,Arial,Tahoma,Calibri,Geneva,sans-serif';">Probability of crossover:</span></p></body></html> - - - - - - - 999999999 - - - 13 - - - 131313 + - - - - - - Execution control parameters: + + + :/icons32/save32:/icons32/save32 - - - - <html><head/><body><p><span style=" font-family:'Verdana,Arial,Tahoma,Calibri,Geneva,sans-serif';">Mutation rate:</span></p></body></html> + + + + Copy trend model as calculator script. - - - - - <html><head/><body><p><span style=" font-family:'Verdana,Arial,Tahoma,Calibri,Geneva,sans-serif';">Natural selection size (must be &lt; pop. size):</span></p></body></html> - - - - - - - 1 - - - 10000000 - - - 10 - - - 200 - - - - - - - 1 - - - 10000000 - - - 10 - - - 250 - - - - - - - 1000 - - - 20 - - - - - - - Qt::Horizontal - - - - - - - 1.000000000000000 - - - 0.050000000000000 - - - 0.700000000000000 - - - - - - - 0 - - - 8 - - - 1 + - - 4 + + + :/icons32/calc32:/icons32/calc32 - + fit a trend model @@ -436,48 +291,7 @@ - - - - <html><head/><body><p><span style=" font-family:'Verdana,Arial,Tahoma,Calibri,Geneva,sans-serif';">Point of crossover (must be 0 &lt;= and &lt; 9):</span></p></body></html> - - - - - - - <html><head/><body><p><span style=" font-family:'Verdana,Arial,Tahoma,Calibri,Geneva,sans-serif';">coefficient search window size:</span></p></body></html> - - - - - - - 1.000000000000000 - - - 0.050000000000000 - - - 0.200000000000000 - - - - - - - Genetic algorithm parameters (hiperparameters): - - - - - - - Qt::Horizontal - - - - + @@ -489,90 +303,30 @@ - - + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + - Save new variable with evaluation of drift model. + Edit trend model parameters - :/icons32/save32:/icons32/save32 - - - - - - - x - - - 2 - - - 0.010000000000000 - - - 9.990000000000000 - - - QAbstractSpinBox::AdaptiveDecimalStepType - - - 1.000000000000000 - - - - - - - - - - 10^ - - - -99 - - - - - - - x - - - 2 - - - 0.010000000000000 - - - 9.990000000000000 - - - 0.010000000000000 - - - QAbstractSpinBox::AdaptiveDecimalStepType - - - 1.000000000000000 - - - - - - - 10^ - - - -99 - - - -2 + :/icons32/setting32:/icons32/setting32 @@ -592,8 +346,8 @@ reject() - 646 - 272 + 652 + 362 391 @@ -608,8 +362,8 @@ onRun() - 82 - 263 + 84 + 362 115 @@ -625,7 +379,7 @@ 170 - 263 + 362 190 @@ -640,8 +394,8 @@ onRunFitTrendModel() - 221 - 467 + 46 + 416 467 @@ -656,8 +410,8 @@ onSaveNewVariableWithDriftModel() - 589 - 480 + 80 + 416 549 @@ -665,11 +419,45 @@ + + btnCopyModelAsCalcScript + clicked() + DriftAnalysisDialog + onCopyTrendModelAsCalcScript() + + + 148 + 416 + + + 131 + 449 + + + + + btnEditTrendModel + clicked() + DriftAnalysisDialog + onEditTrendModelParameters() + + + 102 + 411 + + + 171 + 450 + + + onRun() onFitTrendModel() onRunFitTrendModel() onSaveNewVariableWithDriftModel() + onCopyTrendModelAsCalcScript() + onEditTrendModelParameters() diff --git a/geostats/quadratic3dtrendmodelfitting.cpp b/geostats/quadratic3dtrendmodelfitting.cpp index cd687479..594a9a39 100644 --- a/geostats/quadratic3dtrendmodelfitting.cpp +++ b/geostats/quadratic3dtrendmodelfitting.cpp @@ -522,7 +522,8 @@ int cost_df ( const gsl_vector * model_parameters_x, return GSL_SUCCESS; } -// locally defined C-style function that is called for each step of the non-linear + +// locally defined C-style function that is called for each outer loop iteration of the non-linear // least squares algorithm of GSL. // this is usally useful to keep track of progress or to record an execution log void iteration_callback( const size_t iter, @@ -543,6 +544,12 @@ void iteration_callback( const size_t iter, // gsl_vector_get(x, 2), // 1.0 / rcond, // gsl_blas_dnrm2(f)); + + //update the progress bar (if set). + if( s_progressDiag_for_iteration_callback ) { + s_progressDiag_for_iteration_callback->setValue( iter ); + QApplication::processEvents(); //let Qt repaint widgets + } } Quad3DTrendModelFittingAuxDefs::Parameters Quadratic3DTrendModelFitting::processWithNonLinearLeastSquares() const @@ -586,8 +593,9 @@ Quad3DTrendModelFittingAuxDefs::Parameters Quadratic3DTrendModelFitting::process double* weights = new double[number_of_samples]; struct data dataSet = { number_of_samples, x, y, z, data_values }; + // GSL documentation is not very clear as to whatever this actually does but it is necessary. gsl_rng_env_setup(); - gsl_rng* trusted_region = gsl_rng_alloc( gsl_rng_default ); //apparently not being used + gsl_rng* trusted_region = gsl_rng_alloc( gsl_rng_default ); //the returned pointer is not being used by this client code // define the function to be minimized gsl_multifit_nlinear_fdf fdf; @@ -644,7 +652,17 @@ Quad3DTrendModelFittingAuxDefs::Parameters Quadratic3DTrendModelFitting::process constexpr double xtol = 1e-8; //parameter epsilon (e.g. 1.0 + epsilon == 1.0) constexpr double gtol = 1e-8; //1st derivative epsilon constexpr double ftol = 0.0; //2nd derivative epsilon (not using geodesic acceleration) - int status = gsl_multifit_nlinear_driver(max_iterations, xtol, gtol, ftol, iteration_callback, NULL, &info, workspace); + int status; + { + QProgressDialog progressDialog; + progressDialog.setRange(0, max_iterations); + progressDialog.setValue( 0 ); + progressDialog.show(); + progressDialog.setLabelText("Non-linear least squares in progress (max. " + QString::number(max_iterations) + " iterations) ..."); + s_progressDiag_for_iteration_callback = &progressDialog; + status = gsl_multifit_nlinear_driver(max_iterations, xtol, gtol, ftol, iteration_callback, NULL, &info, workspace); + s_progressDiag_for_iteration_callback = nullptr; //avoid dangling pointer after progressDialog goes out of scope + } // get the final Jacobian matrix gsl_matrix* J = gsl_multifit_nlinear_jac(workspace); @@ -658,45 +676,47 @@ Quad3DTrendModelFittingAuxDefs::Parameters Quadratic3DTrendModelFitting::process gsl_blas_ddot(f, f, &chisq); // output execution summary - fprintf(stderr, "summary from method '%s/%s'\n", - gsl_multifit_nlinear_name(workspace), - gsl_multifit_nlinear_trs_name(workspace)); - fprintf(stderr, "number of iterations: %zu\n", - gsl_multifit_nlinear_niter(workspace)); - fprintf(stderr, "function evaluations: %zu\n", fdf.nevalf); - fprintf(stderr, "Jacobian evaluations: %zu\n", fdf.nevaldf); - fprintf(stderr, "reason for stopping: %s\n", - (info == 1) ? "small step size" : "small gradient"); - fprintf(stderr, "initial |f(x)| = %f\n", sqrt(chisq0)); - fprintf(stderr, "final |f(x)| = %f\n", sqrt(chisq)); + Application::instance()->logInfo( "summary from method '" + + QString(gsl_multifit_nlinear_name(workspace)) + "/" + + QString(gsl_multifit_nlinear_trs_name(workspace)) + "'" ); + Application::instance()->logInfo( "number of iterations: " + + QString::number(gsl_multifit_nlinear_niter(workspace)) ); + Application::instance()->logInfo( "function evaluations: " + + QString::number(fdf.nevalf) ); + Application::instance()->logInfo( "Jacobian evaluations: " + + QString::number(fdf.nevaldf) ); + Application::instance()->logInfo( "reason for stopping:: " + + (info == 1 ? QString("small step size") : QString("small gradient")) ); + Application::instance()->logInfo( "initial |f(x)| = " + + QString::number(sqrt(chisq0)) ); + Application::instance()->logInfo( "final |f(x)| = " + + QString::number(sqrt(chisq)) ); // output the best fit trend model parameters with their fit errors { double dof = number_of_samples - number_of_parameters; double c = GSL_MAX_DBL(1, sqrt(chisq / dof)); - fprintf(stderr, "chisq/dof = %g\n", chisq / dof); + Application::instance()->logInfo( "chisq/dof = " + + QString::number(chisq / dof) ); // some lambda functions to serve as "macros" auto FIT = [workspace](size_t i){ return gsl_vector_get(workspace->x, i); }; auto ERR = [covar](size_t i){ return std::sqrt(gsl_matrix_get(covar,i,i)); }; - printf ("p0 = %.5f +/- %.5f\n", FIT(0), c*ERR(0)); - printf ("p1 = %.5f +/- %.5f\n", FIT(1), c*ERR(1)); - printf ("p2 = %.5f +/- %.5f\n", FIT(2), c*ERR(2)); - printf ("p3 = %.5f +/- %.5f\n", FIT(3), c*ERR(3)); - printf ("p4 = %.5f +/- %.5f\n", FIT(4), c*ERR(4)); - printf ("p5 = %.5f +/- %.5f\n", FIT(5), c*ERR(5)); - printf ("p6 = %.5f +/- %.5f\n", FIT(6), c*ERR(6)); - printf ("p7 = %.5f +/- %.5f\n", FIT(7), c*ERR(7)); - printf ("p8 = %.5f +/- %.5f\n", FIT(8), c*ERR(8)); + //output the parameter values of the best fit trend model. + for(size_t i = 0; i < Quad3DTrendModelFittingAuxDefs::N_PARAMS; i++ ) + Application::instance()->logInfo( "p" + QString::number(i) + " = " + + QString::number(FIT(i)) + " +/- " + + QString::number(c*ERR(i)) ); } // output final execution status (e.g. whether it completed by convergence or // maximum number of iterations has been reached) - fprintf (stderr, "status = %s\n", gsl_strerror (status)); + Application::instance()->logInfo( "status = " + + QString( gsl_strerror(status) ) ); - // free up memeory + // free up memory gsl_multifit_nlinear_free (workspace); gsl_matrix_free (covar); gsl_rng_free (trusted_region); diff --git a/geostats/quadratic3dtrendmodelfitting.h b/geostats/quadratic3dtrendmodelfitting.h index 31d9223c..643793b1 100644 --- a/geostats/quadratic3dtrendmodelfitting.h +++ b/geostats/quadratic3dtrendmodelfitting.h @@ -8,6 +8,13 @@ class DataFile; class Attribute; +class QProgressDialog; + +/** + * A pointer to a progress dialog so a GSL's C-style callback function can access it + * to display algorithm progress. + */ +static QProgressDialog* s_progressDiag_for_iteration_callback = nullptr; namespace Quad3DTrendModelFittingAuxDefs { @@ -159,7 +166,6 @@ class Quadratic3DTrendModelFitting * value versus iterations of the optimization method. */ void showObjectiveFunctionEvolution( ) const; - }; #endif // QUADRATIC3DTRENDMODELFITTING_H From ed7fc0140df29ffcb1154515909c2069aa8b3204 Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Mon, 6 May 2024 16:50:38 -0300 Subject: [PATCH 29/32] LineChartWidget: added zoom functionality. --- widgets/linechartwidget.cpp | 46 ++++++++++++++++++++++++++++++++++--- widgets/linechartwidget.h | 9 +++++++- 2 files changed, 51 insertions(+), 4 deletions(-) diff --git a/widgets/linechartwidget.cpp b/widgets/linechartwidget.cpp index 0c1c4598..3369b7f5 100644 --- a/widgets/linechartwidget.cpp +++ b/widgets/linechartwidget.cpp @@ -8,10 +8,46 @@ #include #include -LineChartWidget::LineChartWidget(QWidget *parent) : + +/** Deriving QChartView to support a custom mouse wheel zoom mechanics. + * changed from the original from https://stackoverflow.com/users/6622587/eyllanesc (https://stackoverflow.com/a/48626725/2153955) + */ +class MyChartView : public QtCharts::QChartView { + +public: + MyChartView( QtCharts::QChart* chart, + LineChartWidget::ZoomDirection zoomDirection = LineChartWidget::ZoomDirection::VERTICAL ) + : QtCharts::QChartView( chart ), + mZoomDirection( zoomDirection ) { } + +private: + qreal mFactor=1.0; + LineChartWidget::ZoomDirection mZoomDirection; + +protected: + void wheelEvent(QWheelEvent *event) Q_DECL_OVERRIDE { + chart()->zoomReset(); + + mFactor *= event->angleDelta().y() > 0 ? 0.5 : 2; + + QRectF rect = chart()->plotArea(); + QPointF c = chart()->plotArea().center(); + if( mZoomDirection == LineChartWidget::ZoomDirection::VERTICAL ) + rect.setHeight(mFactor*rect.height()); + else + rect.setWidth(mFactor*rect.width()); + rect.moveCenter(c); + chart()->zoomIn(rect); + + QChartView::wheelEvent(event); + } +}; + +LineChartWidget::LineChartWidget(QWidget *parent, ZoomDirection zoomDirection) : QWidget(parent), ui(new Ui::LineChartWidget), - m_sharedYaxis(false) + m_sharedYaxis(false), + m_ZoomDirection( zoomDirection ) { ui->setupUi(this); @@ -31,7 +67,7 @@ LineChartWidget::LineChartWidget(QWidget *parent) : m_axisX->setTickCount(11); //create and adds the chart view widget - m_chartView = new QtCharts::QChartView( m_chart ); + m_chartView = new MyChartView( m_chart, zoomDirection ); m_chartView->setRenderHint(QPainter::Antialiasing); this->layout()->addWidget( m_chartView ); } @@ -128,6 +164,10 @@ void LineChartWidget::setData(const std::vector > &data, axisY->setRange( minY, maxY ); series->attachAxis( axisY ); + //make sure the curves get rescaled accordingly + for( QtCharts::QAbstractSeries* a_series : m_chart->series() ) + a_series->attachAxis( axisY ); + // tries to set a Y-axis title for the current series (user may not have set one) try { axisY->setTitleText( yVariablesYaxisTitles.at( iSeries ) ); diff --git a/widgets/linechartwidget.h b/widgets/linechartwidget.h index 823c5192..48afc099 100644 --- a/widgets/linechartwidget.h +++ b/widgets/linechartwidget.h @@ -20,12 +20,17 @@ class LineChartWidget : public QWidget public: + enum class ZoomDirection : unsigned int{ + VERTICAL, + HORIZONTAL + }; + /** * Displays a multivariate line chart with a shared X-axis. * The Y-axis can be shared or one per Y variable * @see setSharedYaxis() */ - explicit LineChartWidget( QWidget *parent = nullptr ); + explicit LineChartWidget( QWidget *parent = nullptr, ZoomDirection zoomDirection = ZoomDirection::VERTICAL ); ~LineChartWidget(); /** @@ -90,6 +95,8 @@ class LineChartWidget : public QWidget QtCharts::QValueAxis *m_axisX; bool m_sharedYaxis; + + ZoomDirection m_ZoomDirection; }; #endif // LINECHARTWIDGET_H From 32b85eea1a2c0eafca0fb76d8aed84905a0e630b Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Mon, 6 May 2024 17:04:39 -0300 Subject: [PATCH 30/32] Drift Analysis: charts can be zoomed with the mouse wheel. --- dialogs/driftanalysisdialog.cpp | 77 +++++++++++++++++++++++++-------- 1 file changed, 60 insertions(+), 17 deletions(-) diff --git a/dialogs/driftanalysisdialog.cpp b/dialogs/driftanalysisdialog.cpp index 043c3d93..e9a1b499 100644 --- a/dialogs/driftanalysisdialog.cpp +++ b/dialogs/driftanalysisdialog.cpp @@ -10,6 +10,7 @@ #include "viewer3d/view3dcolortables.h" #include "gslib/gslibparametersdialog.h" #include "gslib/gslibparameterfiles/kt3dtrendmodelparameters.h" +#include "geometry/boundingbox.h" #include #include @@ -35,7 +36,7 @@ DriftAnalysisDialog::DriftAnalysisDialog(DataFile *dataFile, Attribute *attribut m_chartWestEast ->setLegendVisible( false ); m_chartSouthNorth = new LineChartWidget(); m_chartSouthNorth->setLegendVisible( false ); - m_chartVertical = new LineChartWidget( /*nullptr, true*/ ); + m_chartVertical = new LineChartWidget( nullptr, LineChartWidget::ZoomDirection::HORIZONTAL ); m_chartVertical ->setLegendVisible( false ); ui->grpWEdrift->layout()->addWidget( m_chartWestEast ); @@ -126,42 +127,84 @@ void DriftAnalysisDialog::performDriftAnalysis( DriftAnalysis& driftAnalysis, bo void DriftAnalysisDialog::displayParamaters(const Quad3DTrendModelFittingAuxDefs::Parameters &model_parameters) { - //find the highest and lowest parameters values for color table + //a lambda to compute the decimal logarithm of the number that returns 0.0 if value is 0.0 and inverts the sign + //of negative numbers, that is, does not return a NaN nor throws an exception. + auto lambdaQuietLog10 = [](double value){ + if( Util::almostEqual2sComplement( value, 0.0, 1 ) ) + return 0.0; + else + return std::log10( std::abs( value ) ); + }; + + //find the magnitudes of x, y and z of the dataset + BoundingBox bbox = m_dataFile->getBoundingBox(); + double magX = lambdaQuietLog10( std::max( std::abs( bbox.m_minX), std::abs( bbox.m_maxX ) ) ); + double magY = lambdaQuietLog10( std::max( std::abs( bbox.m_minY), std::abs( bbox.m_maxY ) ) ); + double magZ = lambdaQuietLog10( std::max( std::abs( bbox.m_minZ), std::abs( bbox.m_maxZ ) ) ); + + //find the magnitudes of each of the nine terms of the trend model + std::vector mag_term(9); + mag_term[0] = magX * 2 + lambdaQuietLog10( model_parameters[0] ); + mag_term[1] = magX + magY + lambdaQuietLog10( model_parameters[1] ); + mag_term[2] = magX + magZ + lambdaQuietLog10( model_parameters[2] ); + mag_term[3] = magY * 2 + lambdaQuietLog10( model_parameters[3] ); + mag_term[4] = magY + magZ + lambdaQuietLog10( model_parameters[4] ); + mag_term[5] = magZ * 2 + lambdaQuietLog10( model_parameters[5] ); + mag_term[6] = magX + lambdaQuietLog10( model_parameters[6] ); + mag_term[7] = magY + lambdaQuietLog10( model_parameters[7] ); + mag_term[8] = magZ + lambdaQuietLog10( model_parameters[8] ); + + //zero-out magnitudes whose parameters are zero so they are rendered + //with neutral color to convey its low impact on the trend model + for( uint i = 0; i < Quad3DTrendModelFittingAuxDefs::N_PARAMS; i++ ) + if( Util::almostEqual2sComplement( model_parameters[i], 0.0, 1) ) + mag_term[i] = 0.0; + + //find the highest and lowest magnitude values for color table double absmax = -std::numeric_limits::max(); for( int i = 0; i < Quad3DTrendModelFittingAuxDefs::N_PARAMS; i++) - if( std::abs(model_parameters[i]) > absmax ) absmax = std::abs(model_parameters[i]); + if( std::abs(mag_term[i]) > absmax ) absmax = std::abs(mag_term[i]); - //a lambda to automatize the generation of HTML to display a background color proportional to the parameter value - auto lambdaMakeBGColor = [absmax](double value){ - return " bgcolor='" + Util::getHTMLColorFromValue( value, ColorTable::SEISMIC, -absmax, absmax ) + "'"; + //a lambda to automatize the generation of HTML to display a background color proportional to the magnitude of each model term + //if sign_value is negative, then value is converted to -value before retrieving the color form the color table. + auto lambdaMakeBGColor = [absmax](double value, double sign_value){ + if( sign_value >= 0 ) + return " bgcolor='" + Util::getHTMLColorFromValue( std::abs(value), ColorTable::SEISMIC, -absmax, absmax ) + "'"; + else + return " bgcolor='" + Util::getHTMLColorFromValue( -std::abs(value), ColorTable::SEISMIC, -absmax, absmax ) + "'"; }; //a lambda to automatize the generation of HTML to render text in a contrasting color with respect to the background color - auto lambdaMakeFontColor = [absmax](double value){ - return Util::fontColorTag( QString::number(value), Util::getColorFromValue( value, ColorTable::SEISMIC, -absmax, absmax ) ); + // scale_value: value to be used do determine color with respect to the color scale + // face_vale: value to be printed to screen + auto lambdaMakeFontColor = [absmax](double scale_value, double face_value){ + if( face_value >= 0 ) + return Util::fontColorTag( QString::number(face_value), Util::getColorFromValue( std::abs(scale_value), ColorTable::SEISMIC, -absmax, absmax ) ); + else + return Util::fontColorTag( QString::number(face_value), Util::getColorFromValue( -std::abs(scale_value), ColorTable::SEISMIC, -absmax, absmax ) ); }; const QString btdSansColor = ""; const QString btdAvecColor = "" + lambdaMakeFontColor(model_parameters.a) + etd + output += btdAvecColor + lambdaMakeBGColor( mag_term[0], model_parameters.a) + ">" + lambdaMakeFontColor(mag_term[0], model_parameters.a) + etd + btdSansColor + "x2 + " + etd; - output += btdAvecColor + lambdaMakeBGColor( model_parameters.b ) + ">" + lambdaMakeFontColor(model_parameters.b) + etd + output += btdAvecColor + lambdaMakeBGColor( mag_term[1], model_parameters.b) + ">" + lambdaMakeFontColor(mag_term[1], model_parameters.b) + etd + btdSansColor + "xy + " + etd; - output += btdAvecColor + lambdaMakeBGColor( model_parameters.c ) + ">" + lambdaMakeFontColor(model_parameters.c) + etd + output += btdAvecColor + lambdaMakeBGColor( mag_term[2], model_parameters.c) + ">" + lambdaMakeFontColor(mag_term[2], model_parameters.c) + etd + btdSansColor + "xz + " + etd; - output += btdAvecColor + lambdaMakeBGColor( model_parameters.d ) + ">" + lambdaMakeFontColor(model_parameters.d) + etd + output += btdAvecColor + lambdaMakeBGColor( mag_term[3], model_parameters.d) + ">" + lambdaMakeFontColor(mag_term[3], model_parameters.d) + etd + btdSansColor + "y2 + " + etd; - output += btdAvecColor + lambdaMakeBGColor( model_parameters.e ) + ">" + lambdaMakeFontColor(model_parameters.e) + etd + output += btdAvecColor + lambdaMakeBGColor( mag_term[4], model_parameters.e) + ">" + lambdaMakeFontColor(mag_term[4], model_parameters.e) + etd + btdSansColor + "yz + " + etd; - output += btdAvecColor + lambdaMakeBGColor( model_parameters.f ) + ">" + lambdaMakeFontColor(model_parameters.f) + etd + output += btdAvecColor + lambdaMakeBGColor( mag_term[5], model_parameters.f) + ">" + lambdaMakeFontColor(mag_term[5], model_parameters.f) + etd + btdSansColor + "z2 + " + etd; - output += btdAvecColor + lambdaMakeBGColor( model_parameters.g ) + ">" + lambdaMakeFontColor(model_parameters.g) + etd + output += btdAvecColor + lambdaMakeBGColor( mag_term[6], model_parameters.g) + ">" + lambdaMakeFontColor(mag_term[6], model_parameters.g) + etd + btdSansColor + "x + " + etd; - output += btdAvecColor + lambdaMakeBGColor( model_parameters.h ) + ">" + lambdaMakeFontColor(model_parameters.h) + etd + output += btdAvecColor + lambdaMakeBGColor( mag_term[7], model_parameters.h) + ">" + lambdaMakeFontColor(mag_term[7], model_parameters.h) + etd + btdSansColor + "y + " + etd; - output += btdAvecColor + lambdaMakeBGColor( model_parameters.i ) + ">" + lambdaMakeFontColor(model_parameters.i) + etd + output += btdAvecColor + lambdaMakeBGColor( mag_term[8], model_parameters.i) + ">" + lambdaMakeFontColor(mag_term[8], model_parameters.i) + etd + btdSansColor + "z" + etd; output += ""; From 2a25ca1c88e9b4029086d6b0f7704c866a549abb Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Mon, 6 May 2024 17:05:32 -0300 Subject: [PATCH 31/32] Manual updates: drift analysis and fitting a drift model to data. --- docs/GammaRayManual.docx | Bin 18333062 -> 18446129 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/GammaRayManual.docx b/docs/GammaRayManual.docx index e488f616fd28be7de02d9e8d907784b55a7c12d9..55eecb078d1bd63c9cbffb1e6f7e1d2042b8438b 100755 GIT binary patch delta 573714 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
nOZ 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

tsajyT~^^;e2a@+CSBSCk+mg6>M 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%0D?DOl4bQ|H|1$->#BScmT9tFSsLf@mjp(*~ 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

qO9m1+5((D21Oi^|}HD({od%-$35D!8{ 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

-Ee2GLKIG&(qdnw6=g58p_e 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

xwSflm6R(K9zp!y{7c?o6YvQ$O6l+`WxzZ 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

u_-3(RR5Vl8 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�t%6U@VioBR!%^6>Qr+EMoP{4amy#?R`)x=-;l|IE4rLf? z`C>XI>zHgLgTIkzR_zh86VUBK$3hhsHwOVAp{%mwhFW)qfK$A2`I0HwY|>4pA=Jje zV}wd6`g*1*-qGXAYp4R?vrdrt5>wmcHDT=h16%wz7koMlO1I=1Hgjw%@o=_@6+#?5RsBoxA>ATg*Ru=o~gr0Kw&%h=l{2E_e%64YZYSXeb%YKd5Hv zw$e=Y=jS$7@tlcL+DT;KAI48p6MA4os<6b$p z1!%#ifQ|N{2p-A$26ZUG`k63doKWFvcuvYJn-S_c>r;PHA|m|9wCXg zR~{g}qYO^oI*k3HP@RMn=_g!pP{90?)nKDFaP}>3EIl9H|}C5JwrLtx#YpIxcxn0@B}T!ty|*B=Q|s?c0Y{Gdj0zR|+$ zQCpDP(>c)}m_+dE6vReR6e_6_HUJ}Pw1dGn*|9xf~G2Ambg0>4$!gvXen;l|Lg@gg(bjZM=oyxA9gm z@MBw!jvfP)*-IBFpmJPkC|)wOHpZwZB9Wuu;tNiulS|64LsH$6N~RnQ{B+lc{|%h= zQ1w^`dvheUqJV@1u97&{l1{zE$Kel1cTul>Q@2yzS$dXi6)}jtg?f-||Bfkt*eYAA zOy4h(?3JwH1mp7`_Qn@(_ZgUk>$HiR8#aY>{{ZW;3V*i zCv*Z}WFPg7!m|iaxd>hKTk2`2%*`C<6`!X_)tOBxPYN_g9(KIeBX)8MVkO1e!rDx4 z{N?nJ4}V_6{Vh{b^CV%1J>Oz{kDGX#+CF^_F2zr>Q`u}^s`P_y+__^@Gil~PILc63 zcP44E*9pt1p>1g`zd>0UvQJJd@MoU%0MiiQZTW>7B8^0OD(haNAiz?mNG;nsCwT;y zr+GEyjJR)jRff=F-JZZd10cM|=#$e|rWk9fMb%1Z$z;!PMzFukQl7V}P~ZZD-~U@e zn5I^>=Wx+ZyOX&1=(i3mGR4tw6y$4=rBw(hqWc2T_{2 zXpGO{*{5X>*+i0iUuER3Fz|5+-QDsaH7+GpA~(!VHtmz|*SV4EHpU&hbB%bzjciqB^=<8WP)FM;h-kUax|7qKS7-H;2}ISd0D^{8lnq?o^r zT*l^9z{&6|vM*bz?S&6F9r=fy4gw!mAvz^>hshLMF*T_LyKim#!@SR?_cz(n54iU; z`tg6>gZXkJ=y*Tv4tDu5y*mQN33|thM)P~^DxDiV&YC2pbTEh@-AF8K1#r)YWnzmP zL)ijtdJO4^SGuB0knyt33@c*FzO~jiW>G!VZO%Gf2irxsz2uaicQ&i0Hv$F}p>RLa zA|8!caxmoHvbP|5%pwxPJWEr00uOV@AruU~ZHKfKA#9Yu)yfQWfr|vQC_(QmQTxh? z#xjWv0VR_-hGgzZh`!tSOE&R2lisX^FSHk0x;H)j3ZvCzL@FFlI$ZX(w(J}gd7M{@ zTyae}c-?KPsP${sneccs1!y`OTqDXTXnlZ0f3o7Pw-cc~R&lCGuXr?vvAGjq=bGZA z4uk7Da&zp2&x`T?JaD%u(gd#RhU^i781byvX{ET)0fu z(s`=Xn5LZ8iP6SG=`u3Pbt=U=kGAMCl^Gf!NQRCPjZwEL*01`j zesIPb-NiVSDmr=uFkhtoyU6Fx>7!UZ<1!je>Uh$ob9Cc2s~!M>4%Vd-z8LM*%?=&; z_zOCn-=nzfyJwoZWwO+ahbI6gTdza~>&t=Nd7M!!)pI+Q#9Mamf`1d8)f}PlW>%n2 zMn&KdvIM6=sRT(!JX$wHy{hI}pj5?Xj(>WE7ALaU6xuotz$)=-pR`G6*Mus_B8rH& za;%Sn76_W6$g1vYk$uScoh%H=R?0~Jx~`Rs*Cpk=`ISyl6#(sv>sc3oE1Y-WH?`w` za$6RzO&ssoi_#zRX@5J4_0x7)GECqCeZ*re2)Y)l=;|pios>Mw=x$_|cHkp7qHlGX zX+nSFSwyi8@DW04NZG|KSbW(ft1Y(i>Qq7f2XS{~AZD455+^=$LEF^(qht3{JdHkM zVJ~$JBI` zkyNmbQj!RP;o2t`bNT%->6YaCw#D{S+hi=`%cVD^G@mHmnK($RdD20bR1mWAJ@F%@ znscuWa>P=WVLyq7N_HP;c-{}+eZy;+?VpG8tniajD_75JG7x!O#!~qd>NQ5|*PY>-)43QP!#g!1UF7h4hS8H|e1ka^-{*^^l5Tu-H!C}4#XWQu>U9P0wdOFU) zuM)V7bSshz7DXIG zNenB@wl%5H^**EjkvxvuA=Jfo33M|REDEMNe|tdq9{%8cR9qmmH2@R>N?u@bwj-=;2<5ow9Z^Su~Cd5F}XDQ2U zwL0YY=jbBj$gsIiGxgvSn{GwuvY>zUm;QX1K_tW7U&Zo;7Y0}CO3;H9k}2SNkXsn=He(tKG*dm*?0rclT}$Qg6&`5$p|pxsU1 zR@3Nr$PP%>uQ9X;^hPZMK|h&ehemmMw(}+rld}sN3;*bM@L)?lhr>*C?zDO|jsiq` zL>6sh$zyCLGHN)slhNN!c)FOS&qbG#xm-bG$4UbMotLO*LS3gWFdGZ*nLua-wrL#5 zJH#Ra$|l{s&l{5}$lVVP^+@4)eS}s8p9X|nRa&Ba#O8jdCjw-j%{_KaW?zKf_5CV} z>DZ;DkVKRQUg1VBe6aM`*7fmL2SCjWQ3h@_r-7)s8?QA$fmZgh5F~nVnk&8X^X(~v z5jjm8nIb2VIc)IcM`9do@u>1!s7O0Q@e*jsiTO9n%UmLo*#W%tNXIFV1uvVmU>dQQx!a6WPs-!CRAL&p=h&3QrdW77 zzq8IiEiE{{`NZ)=<66s(x_sIiC^Pu3$#LA{&71BHweJyWBRk zsJj~4JL#fxZu7cM=yZD&=dNaS-#&d54pIG_bJu;=IE0tFUku>4jf(!@qtp;!zPpn; zF&jxYSP43_5xRYMWfru3FGSELWA4?on8As-+9jJX6Lk!qTx+%o>0Bq;J0~2N`rPMd z23OzdoJX-9LNusO-UY1Ww#ZGy``NFp+24!|xvX2-FCT|Dfe@0~X8qY=edW(j`^dT8 zS~nbwsox>fPMcSME{wm`!j$DPZe7GK``ZU`y{~0@3RgJ2X7(oO)4T9a<4^C0&e*_{ zP{`%dSaYELm0)L8rz06!Wb@h>L|!ZSyqWWcZv{8Fx-(=7Ne`|sN67L- zJ1Bn^N{<#uc9sD>hy!Q}{0)>!>a&b6cg3d!t{dH+H1jcAc>U;JmD5|$KhHm`<+*Aq zg2m$|xW*{)y+D#ax$EUgkde4X!>=(Cx06UQr8<+97^=?GZS@zrQH9Z>#Csx^QjRT2 z_v=mg>-N8n+LOumgBI;aOYgKS64b)&_<0r!>c$35&p`j|jxp&*P;D1G!UVfk`ZVIc z|D!fTzp*eNy5sLz26F&W@C-a*$m% zCS*+Rgi5!(t3GQSWN94wez6*fsD#Ce&QW2sAh>apEK)x+sikVwJNe!o@lpW#W+Xoe zVV9~937`y^qbJJ2WT!3)Ww-Uqpt?e+YByaa8GO`@U_6#HcK{c6$%F4CKI0Wv1fUhh z_Mb3EEcLI@dxtrc$!1uR&IVfX(Ig5r7EFd_+}$DhM|#pzaN18#+iyjySAq|c%+jkZ zV&UJzNSfP8D7af4_9AI|V(+i|G7C$>3P+54fxjeJ$iuF-9Oj{Xc3-zuC!&u%KM~rK z%k?vr!%FM+1*h&nv$LH&b<*c-J9V_1E2KI?+EDcPrj0+v5z6JAU5OMUgugwoXQ=K^ z*nyQCsS+`URZQqM)MdL}bNIviZ_~$|2y`yX&QI!ymyym9!Njf$I%ZQPebYF&#G~tL zK(zBU)b-~DZ2Y9t5P`5&SL5Mh?PjU)UvLWe!4#t9VRt%O<7l*J^tZ_XQgI1+wal!1#-uL{N8fc|0`mO%o<=xz9ZYw}hUn{Sv#P`{Fim&uGpcz%Ur{lCS9#wBw!@XPLe-IOZT8UCj7iK#0P|6?7r)DFq-MA#8S3$&u)x&Vf{0=E(V~MHQ|F;q z{&@gFwa$5dzb*zertxo)qPv$RMMHi`l4VNYWk{s})Ff&X7>*B~3V<)U)Mvl2hBBa1_RFqUTAH>$&}~iP%mX_F06EYcQlJEtSgb5U|T6 z!-M^@5tAf!Dq!@3CTIXPmNV`!80TyK5Az$=w|W2FXXlZx=a51SVx(fcO!E~A+8q*T zon4~s4$)^4q4kc9Ol1ZdF=4P^lt6YTwOu-NDjoaVE*mhRu%MI%ca9^G1Ii)dz_ou%Fd<&rRzbSvaDPY_V0A)fW9D8vYv^<6S+3^QN8r)~ocjgLFTw6Ve zFQ}_NKYG*4XhjOvBadD62;TUG>8&uJ8{+{fiGO4#8U3vX)c6MYb0Y=mojG+W-=Tl= zKR$;Q(SEN9RM$9UcEu+*{sYzr=EqzgL3_s-ND4kkyVQ{f<8vW2|K*RVP0X(@#a>;T z4ev!#D1NAJ#~q64LMoOI%(pq;ZL8+#yBn-$MX>D}_(A*MU1;EX<{*ZFXjoA5gM@e9 zsZfR|Qm|e?b!zu>?~F_B$@#cy`R4y#gTHe;SNAv1Qy-g^*GTrs8DK8)T4? zxht%13?M-l-%@&S!1P8o^r8CUeRi8Q{~rLWKvcgL5o8!l34^+6%?+6ar5Oa%g5Z~7 zmqi5`_)-F&GLvtQNYe&y}gfj#L>GQ-tD}wL)b$ya*i1+EmH5G7Li?kXSFT}$!5mHrLG)O2cfC!CM(9lAec4;arAeb@)Z--rmK!(6{5NOJSo1XZ>ykv&JR1o-TEp&~6kAW{W z@L`8!WyluGmSH$d1&1S9o5_Zv&CxiP{PIJzv1VYrbTA^LP&PD{gu!r_E)F|}EKd+u zKp`6QQJFJDUMwO*=J2M+4M{Ivw&E^-#j&{jn_PcnJ^QL%X1ODFaVB!)e+WI&8?>1g zVGv9cg13^jQgusJ9vBiC64OK?3+gZwo|P%|YZgJDJR2f|zG=wP6MirdpDZnmA@maT zUt>)w<88b2E_D%$ed_~#niAk znW}$mLuS}Z2Ya$<;RG>uTZJJoO$6S^8rqMiO+%Tn903N!G@;lXu*%j9f~i7q1DnAITm8wi7s9wfYAVXnF zC}hV#41MXL59&p&bc5APc{^?vnzgQGT9QiA``P-sX>dU(kO` zv&-t_Gx((gzm>#-F>fW0mEM!`1>v! zGiAyg#WhDqR=dOBw?5wWKi#*4)<^NaFZRUS@%!;))a~E= zQYsc38Dw%e62;r$q&w(4j282?N(LDncmE+eEb^rWUoP?);j%4uguC8^a67*5_6f&Z z;AWA}4A1AS@NLWM4tA@xQn6mIW`o)Lc6Tf^d*Xd-a69bw#L@j%Vbn)#I^BPK`q^Mp z>=Q1(eaiq}4$axItp`J~f7834tM|Qbb0my@vlp9hk}_jm>nmBCt7VRX@Df3|{y|WP zIDOL)1j2`-!LMk##*=&T+e94o1yV6810E6P>~1XH-;A@z({S=}Bns`USQ(!u_n&Wt zPa*=L*t(m5t?|Bt%&DO;`S^cJ>wV#Cl`kyKR}=my+WZ;)eNeQ*A4};;&dV?ITW9~v zC-m2@4}?p`ehD<1tsa@`+HI)l4@I|E$% z`8{CH?PuOT^WT=ymO1+V+h;lw$8VfnWVnjo5U=;mZXY@Pn04D=wVD5JJzZDx<$Uq_ zVXdgM`~@qyfKILU4xsO$wzT85@KL{liCko-TdS2BYi6yC*evM z-)7}hH;}(hZy-!E$>I2;FcRDMy>9=LI6{01H=7*gOtBeBD`$1#4*PLTxRr(t81yF_ zl8AGa`wGiR_7C((S~t>Mi9F8?*2?Bf^M=h-?Yq zACUTVJR1Il!!`6R_?r=7L_;0hltJs>{cZAktF#0V+X7RnyZ;uAu z_I>lN+sj0QCx@|Ui#Q7m!wh1?-VWM#J<&7T0TbR)-%_L@UjMS(|CNB#tiOsv4`<^I#%G8>(FWr6WPO`<;x5-Ed zy)c;x7CVDc6Yc5k!PkCou)U^{3EpmcXaeuyc82GQhSwt9w7V@Jv(%Ia&=bchEM#dW z8zvl6zF2?xMJ9ytEdgn~ymfInG-u~BBc5DCU$5@FOKHwJ*faE{gFduLGUPGjrGUJw zcadelyHMbbaEb)mavA>8!5^Ytn+d9}v7SZ@fN215^2C70fR_UBz9{lDYhlE&mj?E} z$`1^A7a#BJ-t-3}@&2aQ9(BKnqxpSBta1t2yg&U7jI02-(i1E#M!^+!TcnfSp`r82$CQ{>Oz%f+}$DwpfW4# z%WHpS{c9JPaeldb6&Ryl=`Z@mpL(iJzp{Hb<%eSZ0=by?e`NsBchDErH)9_w$t?IltM+ABlV4s>Gy zv_EUMkecgyt?@Jbk`TvQhwZ||U9>)*UtE7B%dT~C@r09SJ4zll#lL8swrZCxW~c0w zVz~VD`TFG3=hN0F(C0Ng%i$WEq$HAiY5#L z*r6TV*&it7O!cEr)jCb4_G%E=R*ww*p6woz4CT8M<{0^*^H7Mow-(t*$u@Q-)|7wx z$<_7A&a@^@=sIpRuD_mKp43lHPp)=q2Le)eTDv%I(bC{uqYNmyY+STjXS+t&)Vc!_EWRH69-I;$gHZ#<*HdQ-H+@#^lj?(w}Y*#e`_FC9c(y(#B zu90@tOwJzM8Ir!9G+XDmS@8PX$yxLK+pfh-c51@DZD8Z${qF31{B}|MeErkO+12F& zZhQ-@(a7;`s#m`6hSh=Nz4=ouCba*L+Si@Z`IIP@?cD{k-q@Jk#l1n<>|B2}UPUL0 zgrss)1AmV2qY=3mmBW!0SSP(7KWMTcwCk$zfqohRTH>c_!)%+PBH_p=l}KYv6BW5O z`G^so`LJpCt+5-;Uim!r5gi2^-|yXI@Et!IFp?%Sw16@sCgyX|TkhxO%C3CkcwuC@ zE`gbcf0IvO)=6Zq>kmhcYxjT1y%P<{C&xSfrYZZS(`L<<)H1Y`tXxKquAPkh(jNz1 zyW#ij#=r_PBpku$hn81p2=j7Vr3R4CL-O&G(DQaa-fPOo2SdAtzwV;jd8-D8A=dP^ zmKw%-^H<4ENZwo099aF;M`!0(twSamfBpGyDk=9?Nc;{RMUO;2=~{o|&?Y0_e-5ex z(uQer?0{SamKXN@U`X~Z?QZ1wUJ-^AA3)#jp&XFOzpki=b?h6*OTJnDEw}`OE5M&Q z0(Q}Alj{q+uNa1E>Y5~z-vaX6fRZ}7cQb?8D%(OEp*OPUa!ythrBz=^HjT>MGNVln z-DY^QA+bK%CnGyRxwU`1u3bqHP|ep>lAzU8y`I)pnkhF$(J)iGs$q(<-pW%;=_^z% z#UIfZvcZi~cz6|!U0+^DIdy#hc4!5+R2jhc9T=~qDfo8J8UjnNul%kmtA-+(rpn%s ze~+5JM-pUNRdj99Efn;gZV_cg)Fr`Obc>$3MG;L^l1*vRJ!pSAOy8r)x-6Pz!AnoTF}WE;QBj=*n}))>mZ6o;bFDvM7I?`xT(VMt3W?Bcf)^b==Y<0E3hkrD03`kb&9C1 z@qeFyE+kg(4%K0gI79GCQ3zmYAz0SLa&P~m! zLQr-XNu&!VJbfxot?P6G3k=2(>{O3*@WL1-b^spmj7yUaM=`A2rh`2y=m_; z!{FjR<9dJNJ8FEgZnMqGi+YJ0MHSb%wW+tX7ubF9R=`gx;-#$o{uswkDYJ3cl!_(guo8cS(^(U>Js(2W=j3qJ1v;MgDE3@9q2 z{{ySS35g3hPeH@AAK(&z2t{oxitJ#cTmu_#(er;+w;AWG1*(a<;~)S-0u|Zsulu7AH| z`szZX!D6E2*xei3GzbNfa|24=@nVhtNYFW3XhN>zCZwKM%{9+O6P_%a%?~N_T#tVy zGrWJ;JkRmhU)nrh8b-cztT=`Yv+&LFdj5TQ2-6WpbWK}#mg8C-kX{rNc+RbbGuC+o z7zoGI)+-xho&|+xjxm=Sz#Iwx>(Bpt8NMuMoSBgJGPabKt0W--x&hNeHZ$=(0;md# zgUiV*!xllESrcn!Dt@sF!E-|+o8aap`44|L`r$<<6g9=Q-@lGA>E&kj=s#{|Sh0bn z1o{!M*mHfWN23}EVAIeCU~ybGLa)JX6BlmcI~P%VvY^&$rXr`+o~AXmT3x_c)sr-e znoz4h1*)dhUiu2lo*I%UGA;cqVQLz)nF%@5aNL|*bQ&YbhMYxl(JhoAvmxi0j{JXn zXkL0YJfY|`{cc8#RJ zK4*=THw~9V@G6W>e32EgwX{qV8$5qY|1l&zn;f5gA(veT_jvc6E;)_;gsfYZ7X_rt zbzT%O2L6UDOY*ezZ6@S*e}7-O@y0almjwE%H=$eY`Q0i8{HkDS+Ybd|f2EnZkD4UT zUXp=xGjJaXOjy^kT;~ta7d~90@z|$WEvlG%>kgx}BuX;&Xv?kPHXuH6w_$(FZo`^P z0D*k=rOiEr6-9!Z+EXKWep4IqYeiFgistpqrg=fiuP_J-)PT{p6#$UKKctG9q;bZf z-AfOpnrr50W~-qX3P!4?3n}H6VKkJqnWMKQrH1aoj75{a!h&7wBl^PF9+|cJ;{uH$ ztiaK;ujSj;^zF0uc&5A}eNTU;pheLYQ8i?7Q9+BIDQHm)9X=DXHfH*sOhpUcW9X)u zDIQ4QlPzh9eT4-D2bpS@=}U=swSwFooq%#iHH~L4qLRi1(6dKad+dP?mJQ72S=Sk7 zX!;VRBVQuLx>^_2Rz@PlhG5FAW;*$AznH`or!mh1QwkI~5e8Y^dTwM9jo> zXsQ|A5gEQ${ zG72j$ja*dbXk_$Nq8AtGI3uI4R6&wdn4pE6&gd(}lwooVec^w5@})pp6hmY6vNKYk zEE*dNUS*}g6c){nnJ)!QZ_T?WPYPr~h=XeR_vA`}v1m%oTq#&+wV2aVaAEgN)6hjj zUig-58E$NV#7vt;@Xf==T-eVVB{XgQOGMO)D3HA|EjTNq@3un9(LaZ)7d35tP}%a3 zJS#1;LZ&ax4Rj5L13n9$_o*SEUMo50UF z4aB;!Fr-25Sp0x7-R~p+(a0@V^vN7BsU^zIwTqr!BUpdt^AZc

j+3w}ZeBLK4`n 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

#lKYU6tbLJi^1G`Seg0 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 D?ZXF& From ad1ba0f1a45217ea9ae6c17b8a4a27135b0059de Mon Sep 17 00:00:00 2001 From: Paulo Roberto Moura de Carvalho Date: Mon, 6 May 2024 17:15:17 -0300 Subject: [PATCH 32/32] Closing version 6.22. --- GammaRay.pro | 2 +- README.md | 1 + util.cpp | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/GammaRay.pro b/GammaRay.pro index 3873e061..ec80f659 100644 --- a/GammaRay.pro +++ b/GammaRay.pro @@ -881,7 +881,7 @@ win32 { # The application version # Don't forget to update the Util::importSettingsFromPreviousVersion() method to # enable the import of registry/user settings of previous versions. -VERSION = 6.20 +VERSION = 6.22 # Define a preprocessor macro so we can get the application version in application code. DEFINES += APP_VERSION=\\\"$$VERSION\\\" diff --git a/README.md b/README.md index b8a27bc8..9ef681ff 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ If you enjoyed this project, you might also enjoy GeostatsPy: https://github.com Python script to convert Eclipse grids to Paraview-compatible VTU format: https://github.com/BinWang0213/PyGRDECL VERSION HISTORY:
+   Version 6.22 - Drift analysis and drift model fitting to data.
   Version 6.20 - Contact Analysis.
   Version 6.18 - MCRFSim execution in batch/unattended mode; dependencies upgrades (VTK, ITK, Boost, C++14, ...).
   Version 6.17 - Transiography and MCRFSim for Bayesian approach; some fixes and improvements.
diff --git a/util.cpp b/util.cpp index 13228e13..f2a8b450 100644 --- a/util.cpp +++ b/util.cpp @@ -1089,8 +1089,8 @@ void Util::importSettingsFromPreviousVersion() QSettings currentSettings; //The list of previous versions (order from latest to oldest version is advised) QStringList previousVersions; - previousVersions << "6.18" << "6.17" << "6.16" << "6.14" << "6.12" << "6.9" << "6.7" << "6.6" << "6.5" << "6.3" << "6.2" - << "6.1" << "6.0" << "5.7.1" + previousVersions << "6.20" << "6.18" << "6.17" << "6.16" << "6.14" << "6.12" << "6.9" << "6.7" << "6.6" + << "6.5" << "6.3" << "6.2" << "6.1" << "6.0" << "5.7.1" << "5.7" << "5.5" << "5.3" << "5.1" << "5.0" << "4.9" << "4.7" << "4.5.1" << "4.5" << "4.3.3" << "4.3" << "4.0" << "3.8" << "3.6.1" << "3.6" << "3.5" << "3.2" << "3.0" << "2.7.2" << "2.7.1" << "2.7" << "2.5.1" << "2.5" << "2.4" << "2.3" << "2.2" << "2.1"