geopro/external/gpr3dviewer/CScanGridder.h

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