12#include <opencv2/opencv.hpp>
36 std::map<std::string, std::vector<std::vector<double>>>
FaceScalars;
37 std::map<std::string, std::vector<std::vector<double>>>
FaceVectors;
71 const std::vector<double>& face_data,
72 const std::vector<int>& faces);
89 const std::string& output_path,
96 const std::string& filepath,
103 const std::string& filepath,
110 const std::string& filepath,
122 const std::string& output_path,
123 const std::string& field_name =
"");
131 const std::string& output_path);
146 ExportFormat parseExportFormat(
const std::string& format_str);
154 std::vector<std::vector<double>> extractScalarField(
156 const std::string& field_name);
162 void applyCorrelationFilter(std::vector<std::vector<double>>& face_data,
163 const std::vector<std::vector<double>>& corr_data);
168 void applyGapFilter(std::vector<std::vector<double>>& face_data,
169 const std::vector<int>& FacePairInds);
176 std::vector<std::vector<double>>& Epc1,
177 std::vector<std::vector<double>>& Epc2);
186 std::vector<std::vector<double>> butterworthFilter(
187 const std::vector<std::vector<double>>& data,
195 cv::Mat renderFrame(
const VisData& vis_data,
int frame_idx,
196 const std::string& field_name,
197 double data_min,
double data_max,
198 int width,
int height);
204 static cv::Vec3b applyJetColormap(
double val);
Visualization manager class Handles loading, filtering, and exporting DIC results.
std::vector< double > applySpatialSmooth(const std::vector< double > &face_data, const std::vector< int > &faces)
Apply spatial smoothing to face measures.
void exportFramePLY(const VisData &vis_data, const std::string &filepath, int frame_idx)
Export single frame to PLY format.
void exportFrameCSV(const VisData &vis_data, const std::string &filepath, int frame_idx)
Export single frame to CSV format.
void generateVideo(const VisData &vis_data, const std::string &output_path, const std::string &field_name="")
Generate video from visualization data Renders each frame as a 2D projection of the colored mesh and ...
void exportData(const VisData &vis_data, const std::string &output_path, int frame_idx=-1)
Export visualization data to file.
VisData prepareVisualizationData(const DIC3DPPresults &results)
Prepare visualization data from DIC results Extracts requested fields (Epc1, Epc2,...
void printTrialInfo(const DIC3DPPresults &results)
Print trial information (equivalent to MATLAB's fprintf info)
void applyTemporalFilter(DIC3DPPresults &results)
Apply temporal filtering to measures Equivalent to MATLAB's filter_measures function.
void generateSummaryStats(const DIC3DPPresults &results, const std::string &output_path)
Generate summary statistics file.
DIC3DPPresults loadFromBinaryCache(const std::string &filepath)
Load DIC results from binary cache file.
void exportFrameVTK(const VisData &vis_data, const std::string &filepath, int frame_idx)
Export single frame to VTK format.
DataSerializer - Abstract base class for format-agnostic DIC data I/O.
ExportFormat
Visualization export formats.
DIC 3D Post-Processing Results Equivalent to MATLAB's DIC3DPPresults.
Visualization data container Holds filtered and processed data ready for export.
std::vector< Point3DFrame > Points3D
std::vector< std::vector< double > > FaceColors
std::map< std::string, std::vector< std::vector< double > > > FaceVectors
std::map< std::string, std::vector< std::vector< double > > > FaceScalars