49 lines
1.1 KiB
C++
49 lines
1.1 KiB
C++
#ifndef CSCANGRIDDER_H
|
|
#define CSCANGRIDDER_H
|
|
|
|
#include "GPRDataModel.h"
|
|
|
|
#include <QVector>
|
|
|
|
struct CScanGridOptions {
|
|
int sampleIndex = 0;
|
|
double cellSizeM = 0.05;
|
|
double searchRadiusM = 0.50;
|
|
double idwPower = 2.0;
|
|
bool smoothingEnabled = true;
|
|
double smoothingSigmaCells = 0.9;
|
|
int maxGridWidth = 2048;
|
|
int maxGridHeight = 2048;
|
|
int maxGridCells = 250000;
|
|
double clipLowPercent = 2.0;
|
|
double clipHighPercent = 98.0;
|
|
};
|
|
|
|
struct CScanGridResult {
|
|
bool valid = false;
|
|
double originX = 0.0;
|
|
double originY = 0.0;
|
|
double dataMinX = 0.0;
|
|
double dataMinY = 0.0;
|
|
double dataMaxX = 0.0;
|
|
double dataMaxY = 0.0;
|
|
double cellSizeM = 0.05;
|
|
int width = 0;
|
|
int height = 0;
|
|
QVector<float> values;
|
|
QVector<unsigned char> validMask;
|
|
QVector<int> nearestLine;
|
|
QVector<int> nearestChannel;
|
|
QVector<int> nearestTrace;
|
|
float displayMin = 0.0f;
|
|
float displayMax = 1.0f;
|
|
};
|
|
|
|
class CScanGridder
|
|
{
|
|
public:
|
|
static CScanGridResult build(const QVector<SurveyLine> &surveyLines, CScanGridOptions options);
|
|
};
|
|
|
|
#endif // CSCANGRIDDER_H
|