YaDICs
V04.14.a
Yet another Digital Image Correlation software: platform dedicated to 2/3D Fluid and Solid kinematics field measurements.
|
In this class, specific projection field method is implemented. In the case of O.F.F.E.M. the node value must be identified through a projection, so "fromField2Mod" implements a parallelized loop over image pixel and identifies modes from a least square method strategy. More...
#include <Cfield_opticalFlow_integrated.h>
Public Member Functions | |
Cfield_opticalFlow_integrated () | |
virtual void | init (CParameterNetCDF &fp) |
virtual void | exec (const Cimage< Timg > &oImage, const Cmesh< T, Timg > &oMesh, CImgList< T > &modes_prev, CshapeFunction< T, Timg > &oShape_prev, const std::vector< T > &ref_prev, const CImgList< T > &nodes_prev) |
virtual void | project (const Cmesh< T, Timg > &oMesh, const Cimage< Timg > &oImage, CImgList< T > &modes_prev, CshapeFunction< T, Timg > &oShape_prev, const std::vector< T > &ref_prev, const CImgList< T > &nodes_prev, CImgList< T > &modes_cur) |
virtual void | e_ref (const Cimage< Timg > &oImage, const Cmesh< T, Timg > &oMesh, const int &elem, std::vector< T > &ref) |
virtual void | Field2Mod (const Cimage< Timg > &oImage, const Cmesh< T, Timg > &oMesh, const CImgList< T > &nodes_prev, const CImgList< T > &U, CImgList< T > &Ti) |
Public Member Functions inherited from Cfield_opticalFlow_fem< T, Timg > | |
Cfield_opticalFlow_fem () | |
void | OFIU (const Cmesh< T, Timg > &oMesh, const Cimage< Timg > &oImage, CshapeFunction< T, Timg > &oShape_prev, std::vector< T > ref_prev, const CImgList< T > &nodes_prev, CImgList< T > &modes_prev, CImgList< T > &modes_cur) |
void | OFIBU (const Cmesh< T, Timg > &oMesh, const Cimage< Timg > &oImage, CshapeFunction< T, Timg > &oShape_prev, std::vector< T > ref_prev, const CImgList< T > &nodes_prev, const CImgList< T > &modes_prev, CImgList< T > &U) |
void | Field2Field (const CImgList< T > &U, CImgList< T > &modes_cur) |
Public Member Functions inherited from Cfield< T, Timg > | |
int | num_var () |
int | grid_dims (const int &i) |
Additional Inherited Members | |
Public Attributes inherited from Cfield< T, Timg > | |
std::string | class_name |
std::string | m_type |
std::string | m_name |
int | num_dim |
int | m_threadNB |
int | _3D |
bool | m_verbose |
const char * | m_paramPath |
CImgList< T > | m_field |
CImg< T > | m_res |
CImg< T > | m_def |
CImgList< T > | m_mode |
std::vector< T > | m_meanRes |
CImg< T > | m_correlogram |
to improve, they shouldn't be here// | |
int | m_storeCorrelo |
CshapeFunction< T, Timg > * | m_pShape |
std::vector< T > | m_ref |
In this class, specific projection field method is implemented. In the case of O.F.F.E.M. the node value must be identified through a projection, so "fromField2Mod" implements a parallelized loop over image pixel and identifies modes from a least square method strategy.
[in] | m_ref | : std::vector<int>[3]. It defines the reference location of shape functions. |
|
inline |
constructor
|
inlinevirtual |
assign fields and modes
this->m_mod[nodes_num x dimensions](0) and this->m_mod[dimensions](gridX, gridY, gridZ)
Reimplemented from Cfield_opticalFlow_fem< T, Timg >.
Reimplemented in Cfield_opticalFlow_integrated_block< T, Timg >.
|
inlinevirtual |
transfert fields, coming from a previous image or from a previous method, to modes vector. In the case of OFI, the transfert requires a projection on modes
T[i] is solution of the following system:
with :
i and j the range from 0 to mod number
|
inlinevirtual |
shape functions are required the knowledge of the reference location. In some cases this origin could be automatically set to the image center thus this is a user parameter which must be captured here
require improvement, pb with netcdf load std::vector<T>. When a int vector is declared within parameter file only the first value is captured, thus x, y and z reference position are here separated
Reimplemented from Cfield_opticalFlow< T, Timg >.
Reimplemented in Cfield_opticalFlow_integrated_block< T, Timg >.
|
inlinevirtual |
use the current or the previous "oMesh.num_var()" musn't be problematic since dimensions (i.e. 2D or 3D) remains constant for a set of picture. However the number of modes could change.//
one assumes that if successive OFI methods are used the set of required modes is identical. It allows a faster mode transfert//
Reimplemented from Cfield_opticalFlow_fem< T, Timg >.