YaDICs  V04.14.a
Yet another Digital Image Correlation software: platform dedicated to 2/3D Fluid and Solid kinematics field measurements.
 All Classes Files Functions Variables Pages
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123456]
oCCcorrelation< T, Timg >This is the mother class of every correlation classes. m_correl_type refers to the the type of correlation m_correl_name refers to the name of the correlation used within the .nc file
|oCCcorrelation_intercor< T, Timg >This class implement 7 functions:
||oCCcorrelation_intercor_direct< T, Timg >
||\CCcorrelation_intercor_fftw< T, Timg >
|| \CCcorrelation_intercor_fftw_phase< T, Timg >
||  \CCcorrelation_intercor_fft< T, Timg >
||   \CCcorrelation_intercor_fft_phase< T, Timg >
|\CCcorrelation_opticalFlow< T, Timg >This is the mother class of Optical Flow strategies: It implements different steps required for the iterative and parallel resolution of the linear system K.U = F. Notice that the parallelization is done on elements for OFFEM and on pixels for OFI. The function "stiffness" implements the calcul of K, i.e. the global stiffness tensor. It is calculated only one time and since it is based on the gradient of the img[0]. The function "forces" implements the calcul of F, i.e. the global forces vector. It is updated at each loop from img[1]* = img[1](x+U,y+V,z+W). Functions Fassembly and Kassembly are specific to OFFEM or OFI, thus are virtual pure, and implements within deeper class how K anf F assembly are done. The function "gradient" implements the point to point gradient. This function allows specifying how the gradient should be done in different case, i.e. centered, left or right one. The function "actu" implements the field actualization from new U vector as well as the difference between img[0] and img[1]* required for the further calcul of F. The function "regularize" implements a median filter used to enforce the smoothing of the solution vector "U" at each loop. It ensure a better convergency of the iterative calcul and is a first step in the implementation of a penality strategy (to do). The function "solve_cimg" is specific to OFFEM and OFI. Specifically when one use mask. It also allow using different solvers
| \CCcorrelation_opticalFlow_fem< T, Timg >
|  oCCcorrelation_opticalFlow_fem_gradient< T, Timg >
|  oCCcorrelation_opticalFlow_fem_newton< T, Timg >
|  \CCcorrelation_opticalFlow_integrated< T, Timg >
|   \CCcorrelation_opticalFlow_integrated_block< T, Timg >It implements the Optical Flow with Integrated kinematics within independant block such as Block-matching strategy. A linear system computed throug a specific kinematics is solved by block regardless of the neighbouring ones. It allows, for example, identifying heterogeneous strain fields keeping basic kinematics at the block scale, avoiding problems leading by finite differences, and taking profit of low noise impact associated to integrated strategies
|    oCCcorrelation_opticalFlow_integrated_block_A< T, Timg >It implements the Optical Flow with Integrated kinematics within independant block such as Block-matching strategy. A linear system computed throug a specific kinematics is solved by block regardless of the neighbouring ones. It allows, for example, identifying heterogeneous strain fields keeping basic kinematics at the block scale, avoiding problems leading by finite differences, and taking profit of low noise impact associated to integrated strategies
|    \CCcorrelation_opticalFlow_integrated_block_A< T, Timg >It implements the Optical Flow with Integrated kinematics within independant block such as Block-matching strategy. A linear system computed throug a specific kinematics is solved by block regardless of the neighbouring ones. It allows, for example, identifying heterogeneous strain fields keeping basic kinematics at the block scale, avoiding problems leading by finite differences, and taking profit of low noise impact associated to integrated strategies
oCCcorrelation_factory< T, Timg >It returns a pointer toward a specific correlation method according to a parameter.nc file. The parameter file is set by default or could be provide by command line. create function could be called using : int, string = type, CParameterNetCDF, and finally [argv,argc] !!!! The function to get parameters directly from command line doesn't work yet
oCCfield< T, Timg >
|\CCfield_opticalFlow< T, Timg >This class implement the initialization of fields, residue map and deformed image from data coming from previous calculations and from current mesh properties
| \CCfield_opticalFlow_fem< T, Timg >In this class, specific projection field method is implemented. In the case of F.E.M. the node value is equal to the field at node position, so "fromField2Mod" simply implements a parallelized loop over elements and extracts from previous fields the node value at node location
|  oCCfield_intercor< T, Timg >
|  \CCfield_opticalFlow_integrated< T, Timg >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
|   \CCfield_opticalFlow_integrated_block< T, Timg >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
oCCfield_factory< T, Timg >It returns a pointer toward a specific field container according to a parameter.nc file. The parameter file is set by default or could be provide by command line. create function could be called using : int, string = type, CParameterNetCDF, and finally [argv,argc] !!!! The function to get parameters directly from command line doesn't work yet
oCCformat
|oCCformat_char_float
|oCCformat_double_double
|oCCformat_float_double
|\CCformat_float_float
oCCformat_char_double
oCCformat_factoryAllow to choose the code format (input images and output results)
oCCimage< Timg >
|\CCimage_file< Timg >
| \CCimage_grab< Timg >
oCCimage_factory< Timg >It returns a pointer toward a specific Image loader class according to a parameter.nc file. The parameter file is set by default or could be provide by command line. create function could be called using : int, string = type, CParameterNetCDF, and finally [argv,argc] !!!! The function to get parameters directly from command line doesn't work yet
oCCmesh< T, Timg >
|oCCmesh_generate< T, Timg >
||oCCmesh_generate_regularFem< T, Timg >Class is based on Q4 elements, i.e. 4 nodes elements. This class works on 7 main attributes declared within the mother class:
|||\CCmesh_generate_centroid< T, Timg >As Cmesh_Q4 this class is based on regular and rectangular elements. This class works on 7 main attributes declared within the mother class:
||| \CCmesh_generate_centroid_integrated< T, Timg >As Cmesh_Q4 this class is based on regular and rectangular elements. This class works on 7 main attributes declared within the mother class:
||\CCmesh_global< T, Timg >
|\CCmesh_import< T, Timg >
| oCCmesh_import_image< T, Timg >
| \CCmesh_import_T3< T, Timg >
oCCmesh_factory< T, Timg >
oCCNpeak< T >
oCCpeak< T >This class localizes the most important peak within an image, removes it and provide peak statistics. The mother class is abstract. Through its derivated classes, peak detection could be done using different methods (max, fitting, interpolation). The accuracy of each peak is estimated from its deviation from a parabolic or gaussian signal. The peak is removed from the input image for further second, third ... peak detection
|\CCpeak_max< T >
| oCCpeak_subPix< T >
| |oCCpeak_barycenter< T >
| |oCCpeak_interp< T >
| ||\CCpeak_interpP< T >
| || \CCpeak_interpG< T >
| |\CCpeak_interpBiLin< T >
| \CCpeak_subPix< T, Timg >
|  oCCpeak_fit< T, Timg >
|  \CCpeak_fit< T >
|   \CCpeak_fitP< T >
|    \CCpeak_fitG< T >
oCCpeak_factory< T >
oCCsequence< T, Timg >
oCCshapeFunction< T, Timg >This is the mother class of shape function objets (virtual pure)
|oCCshapeFunction_FEM< T, Timg >This is the mother class of FEM shape function objets (virtual pure)
||\CCshapeFunction_FEM_Q4< T, Timg >This class implements Q4P1 shape functions available for 2D cases
|| \CCshapeFunction_FEM_C8< T, Timg >This class implements C8P1 shape functions available for 3D cases
|\CCshapeFunction_global< T, Timg >This is the mother class of global shape function objets (virtual pure). The vector which stores the names set of required modes by user is noted "m_mods":
| \CCshapeFunction_global_rigidBody< T, Timg >This class implements Rigid Body shape functions available for 2D and 3D cases. It implements 3 rigid body translations called "Tx, Ty, Tz" and 3 rigid body rotations called "Rz,Rx,Ry". Notice that every shape function classes use it. RigidBody modes within the entire set of required modes by user is noted "m_modRB" :
|  oCCshapeFunction_global_blade< T, Timg >This class implements Blade flexion and compression shape functions available for 2D case (CL encastred-free). The implemented modes are called "Z" and "C" and a link toward RigidBody modes is provided. Flexion modes within the entire set of required modes by user is noted "m_modFlex":
|  oCCshapeFunction_global_homogeneous< T, Timg >This class implements Homogeneous deformation shape functions available for 2D and 3D cases. It implements the 6 symetrical components of strain tensor called "Exx, Eyy, Ezz, Exy, Exz, Eyz" and provides a link toward Rigid Body modes. Homogeneous Deformation modes within the entire set of required modes by user is noted "m_modHD" :
|  |\CCshapeFunction_global_brasilian< T, Timg >This class implements Brasilian shape functions available for 2D case (isotropic elasticity). The implemented mode is called "B" and a link toward Homogeneous modes is provided. Brasilian mode within the entire set of required modes by user is noted "m_modB" and the identified parameter is 1/E with E the Young modulus:
|  \CCshapeFunction_global_image< T, Timg >
\CCshapeFunction_factory< T, Timg >This factory create a pointer toward the required ShapeFunction class. The pointer creation could only be done through parameter.nc file. It is composed by 4 main functions : (1) create from (argc,argv), the path of parameter.nc file is provided through the command line or a default path is set. (2) create from (CParameterNetCDF), the parameter file already opened and its id is known. (3) create from (std::string), the parameter.nc is opened and the type of Shape function is known. (4) create from (int), the parameter.nc is opened and the shape function type id is known