CPPxDIC
C++ Digital Image Correlation library for fingertip 3D reconstruction
Loading...
Searching...
No Matches
cppxdic::MatReader Class Reference

MatReader class Provides utilities for reading MAT files. More...

#include <mat_reader.h>

Classes

struct  MatFileDeleter
 
struct  MatVarDeleter
 

Public Types

using MatFilePtr = std::unique_ptr< mat_t, MatFileDeleter >
 
using MatVarPtr = std::unique_ptr< matvar_t, MatVarDeleter >
 

Static Public Member Functions

static MatFilePtr openMat (const std::string &path)
 
static MatVarPtr readVar (mat_t *matfp, const std::string &name)
 
static MatVarPtr readFirstVar (mat_t *matfp)
 
static bool loadDLTCalibration (const std::string &mat_path, DLTCalibrationData &calib)
 
static bool loadProtocol (const std::string &protocol_path, ProtocolFileData &protocol)
 
static std::vector< std::string > readCellStrings (matvar_t *cell_var)
 
static matvar_t * readStructField (mat_t *matfp, const std::string &struct_name, const std::string &field_name)
 Read a specific field from a struct variable.
 
static matvar_t * readNestedField (mat_t *matfp, const std::string &path)
 Read a nested struct field (e.g., "data_dic_save.dispinfo.radius")
 
static std::vector< double > readDoubleArray (matvar_t *var)
 Read double array from matvar.
 
static std::vector< double > readDouble2DArray (matvar_t *var, size_t &rows, size_t &cols)
 Read 2D double array from matvar.
 
static cv::Mat readImage (matvar_t *var)
 Read image from matvar.
 
static double readScalar (matvar_t *var)
 Read scalar from matvar.
 
static std::string readString (matvar_t *var)
 Read string from matvar.
 
static size_t getCellArraySize (matvar_t *var)
 Get cell array size.
 
static matvar_t * getCellElement (matvar_t *var, size_t index)
 Get cell from cell array.
 
static std::map< std::string, double > readDispInfo (mat_t *matfp)
 Read dispinfo parameters from MAT file.
 
static bool variableExists (mat_t *matfp, const std::string &var_name)
 Check if variable exists in MAT file.
 
static cv::Mat readROIMask (const std::string &mat_path, const std::string &var_name="refmask")
 Read ROI mask from MAT file.
 
static bool readDIC3Dcombined (const std::string &mat_path, struct DIC3Dcombined &combined)
 Read DIC3Dcombined structure from MAT file.
 
static bool readDIC2DPairResults (const std::string &mat_path, struct DIC2DPairResults &result)
 Read DIC2DPairResults structure from MAT file Loads myDIC2DpairResults_C_X_C_Y.mat files.
 
static std::vector< int > readIntArray (matvar_t *var)
 Read int array from matvar.
 

Detailed Description

MatReader class Provides utilities for reading MAT files.

Definition at line 52 of file mat_reader.h.

Member Typedef Documentation

◆ MatFilePtr

using cppxdic::MatReader::MatFilePtr = std::unique_ptr<mat_t, MatFileDeleter>

Definition at line 62 of file mat_reader.h.

◆ MatVarPtr

using cppxdic::MatReader::MatVarPtr = std::unique_ptr<matvar_t, MatVarDeleter>

Definition at line 63 of file mat_reader.h.

Member Function Documentation

◆ getCellArraySize()

size_t cppxdic::MatReader::getCellArraySize ( matvar_t *  var)
static

Get cell array size.

Parameters
varMAT variable
Returns
Number of elements

Definition at line 492 of file mat_reader.cpp.

◆ getCellElement()

matvar_t * cppxdic::MatReader::getCellElement ( matvar_t *  var,
size_t  index 
)
static

Get cell from cell array.

Parameters
varMAT variable
indexIndex of cell to get
Returns
Cell variable (do not free - part of parent)

Definition at line 500 of file mat_reader.cpp.

◆ loadDLTCalibration()

bool cppxdic::MatReader::loadDLTCalibration ( const std::string &  mat_path,
DLTCalibrationData &  calib 
)
static

Definition at line 105 of file mat_reader.cpp.

◆ loadProtocol()

bool cppxdic::MatReader::loadProtocol ( const std::string &  protocol_path,
ProtocolFileData &  protocol 
)
static

Definition at line 198 of file mat_reader.cpp.

◆ openMat()

MatReader::MatFilePtr cppxdic::MatReader::openMat ( const std::string &  path)
static

Definition at line 22 of file mat_reader.cpp.

◆ readCellStrings()

std::vector< std::string > cppxdic::MatReader::readCellStrings ( matvar_t *  cell_var)
static

Definition at line 299 of file mat_reader.cpp.

◆ readDIC2DPairResults()

bool cppxdic::MatReader::readDIC2DPairResults ( const std::string &  mat_path,
struct DIC2DPairResults &  result 
)
static

Read DIC2DPairResults structure from MAT file Loads myDIC2DpairResults_C_X_C_Y.mat files.

Parameters
mat_pathPath to MAT file containing DIC2DpairResults
resultOutput: DIC2DPairResults structure
Returns
True if successful

Definition at line 1071 of file mat_reader.cpp.

◆ readDIC3Dcombined()

bool cppxdic::MatReader::readDIC3Dcombined ( const std::string &  mat_path,
struct DIC3Dcombined &  combined 
)
static

Read DIC3Dcombined structure from MAT file.

Parameters
mat_pathPath to MAT file
combinedOutput structure
Returns
True if successful

Definition at line 557 of file mat_reader.cpp.

◆ readDispInfo()

std::map< std::string, double > cppxdic::MatReader::readDispInfo ( mat_t *  matfp)
static

Read dispinfo parameters from MAT file.

Parameters
matfpMAT file pointer
Returns
Map of parameter names to values

Definition at line 513 of file mat_reader.cpp.

◆ readDouble2DArray()

std::vector< double > cppxdic::MatReader::readDouble2DArray ( matvar_t *  var,
size_t &  rows,
size_t &  cols 
)
static

Read 2D double array from matvar.

Parameters
varMAT variable
rowsOutput: number of rows
colsOutput: number of columns
Returns
Vector of doubles

Definition at line 385 of file mat_reader.cpp.

◆ readDoubleArray()

std::vector< double > cppxdic::MatReader::readDoubleArray ( matvar_t *  var)
static

Read double array from matvar.

Parameters
varMAT variable
Returns
Vector of doubles

Definition at line 368 of file mat_reader.cpp.

◆ readFirstVar()

MatReader::MatVarPtr cppxdic::MatReader::readFirstVar ( mat_t *  matfp)
static

Definition at line 31 of file mat_reader.cpp.

◆ readImage()

cv::Mat cppxdic::MatReader::readImage ( matvar_t *  var)
static

Read image from matvar.

Parameters
varMAT variable
Returns
OpenCV Mat

Definition at line 413 of file mat_reader.cpp.

◆ readIntArray()

std::vector< int > cppxdic::MatReader::readIntArray ( matvar_t *  var)
static

Read int array from matvar.

Parameters
varMAT variable
Returns
Vector of ints

Definition at line 889 of file mat_reader.cpp.

◆ readNestedField()

matvar_t * cppxdic::MatReader::readNestedField ( mat_t *  matfp,
const std::string &  path 
)
static

Read a nested struct field (e.g., "data_dic_save.dispinfo.radius")

Parameters
matfpMAT file pointer
pathDot-separated path to field
Returns
Field variable pointer (caller must free)

Definition at line 338 of file mat_reader.cpp.

◆ readROIMask()

cv::Mat cppxdic::MatReader::readROIMask ( const std::string &  mat_path,
const std::string &  var_name = "refmask" 
)
static

Read ROI mask from MAT file.

Parameters
mat_pathPath to MAT file
var_nameVariable name (default: "refmask")
Returns
ROI mask as cv::Mat

Definition at line 541 of file mat_reader.cpp.

◆ readScalar()

double cppxdic::MatReader::readScalar ( matvar_t *  var)
static

Read scalar from matvar.

Parameters
varMAT variable
Returns
Scalar value

Definition at line 453 of file mat_reader.cpp.

◆ readString()

std::string cppxdic::MatReader::readString ( matvar_t *  var)
static

Read string from matvar.

Parameters
varMAT variable
Returns
String value

Definition at line 470 of file mat_reader.cpp.

◆ readStructField()

matvar_t * cppxdic::MatReader::readStructField ( mat_t *  matfp,
const std::string &  struct_name,
const std::string &  field_name 
)
static

Read a specific field from a struct variable.

Parameters
matfpMAT file pointer
struct_nameName of the struct variable
field_nameName of the field to read
Returns
Field variable pointer (caller must free with Mat_VarFree)

Definition at line 323 of file mat_reader.cpp.

◆ readVar()

MatReader::MatVarPtr cppxdic::MatReader::readVar ( mat_t *  matfp,
const std::string &  name 
)
static

Definition at line 26 of file mat_reader.cpp.

◆ variableExists()

bool cppxdic::MatReader::variableExists ( mat_t *  matfp,
const std::string &  var_name 
)
static

Check if variable exists in MAT file.

Parameters
matfpMAT file pointer
var_nameVariable name
Returns
True if exists

Definition at line 535 of file mat_reader.cpp.


The documentation for this class was generated from the following files: