#pragma once #include "BaseConstVariable.h" #include "BaseTool.h" #include "ImageOperatorBase.h" #include "GeoOperator.h" #include "FileOperator.h" #include "LogInfoCls.h" class SARSimulationImageL1Dataset { public: SARSimulationImageL1Dataset(); ~SARSimulationImageL1Dataset(); private : QString outFolderPath; QString L1DatasetName; QString xmlfileName; QString xmlFilePath; QString ImageRasterName; QString ImageRasterPath; QString GPSPointFilename; QString GPSPointFilePath; public: QString getoutFolderPath(); QString getDatesetName(); QString getxmlfileName(); QString getxmlFilePath(); QString getImageRasterName(); QString getImageRasterPath(); QString getGPSPointFilename(); // GPS点 QString getGPSPointFilePath(); public: ErrorCode OpenOrNew(QString folder, QString filename, long rowCount, long colCount); ErrorCode Open(QString folderPath, QString Name); ErrorCode Open(QString xmlPath); public: void saveToXml(); ErrorCode loadFromXml(); std::shared_ptr getAntPos(); ErrorCode saveAntPos(std::shared_ptr ptr); // 注意这个方法很危险,请写入前检查数据是否正确 std::shared_ptr> getImageRaster(); ErrorCode saveImageRaster(std::shared_ptr> echoPtr, long startPRF, long PRFLen); std::shared_ptr> getImageRaster(long startPRF, long PRFLen); Eigen::MatrixXcd getImageRasterMatrix(); ErrorCode saveImageRaster(Eigen::MatrixXcd& data, long startPRF); private: // xml中参数 long rowCount; long colCount; double Rnear; double Rfar; double Rref; double centerFreq; double Fs; double CenterAngle; QString LookSide; public: long getrowCount(); void setrowCount(long rowCount); long getcolCount(); void setcolCount(long pulsePoints); double getNearRange(); void setNearRange(double nearRange); double getFarRange(); void setFarRange(double farRange); double getRefRange(); void setRefRange(double refRange); double getCenterFreq(); void setCenterFreq(double freq); double getFs(); void setFs(double samplingFreq); double getCenterAngle(); void setCenterAngle(double angle); QString getLookSide(); void setLookSide(QString lookside); };