CppNCorr
C++ ncorr Digital Image Correlation engine
Loading...
Searching...
No Matches
ncorr::details Namespace Reference

Classes

class  all_range
 
class  base_interp
 
class  base_iterator
 
class  base_linsolver
 
class  base_region
 
class  bool_iterator
 
class  bool_region
 
class  CHOL_linsolver
 
class  cubic_interp
 
class  cubic_interp_precompute
 
class  disp_nloptimizer
 
class  interface_interp
 
class  interface_iterator
 
class  interface_linsolver
 
class  interface_region
 
class  last_index
 
class  linear_interp
 
class  LU_linsolver
 
class  nearest_interp
 
class  nlinfo_incrementor
 
class  nloptimizer_base
 
class  QR_linsolver
 
class  quintic_interp
 
class  quintic_interp_precompute
 
class  ROI2D_contig_subregion_generator
 
class  ROI2D_incrementor
 
class  simple_iterator
 
class  simple_region
 
struct  sparse_tree_element
 
class  sub_iterator
 
class  sub_region
 
class  subregion_nloptimizer
 

Functions

template<typename T_storage >
void quintic_bspline_recursive_1d (T_storage *s, std::ptrdiff_t N, std::ptrdiff_t stride=1)
 
void add_to_sparse_tree (std::set< sparse_tree_element > &sparse_tree, const sparse_tree_element &ste)
 
Array2D< double > & inpaint_nlinfo (Array2D< double > &A, const ROI2D::region_nlinfo &nlinfo)
 
Array2D< double > update_boundary_skip_all (const Array2D< double > &boundary, const Disp2D::nlinfo_interpolator &disp_interp, const ROI2D::difference_type roi_scalefactor)
 
Array2D< double > update_boundary_skip_invalid (const Array2D< double > &boundary, const Disp2D::nlinfo_interpolator &disp_interp, const ROI2D::difference_type roi_scalefactor, const ROI2D::difference_type roi_height, const ROI2D::difference_type roi_width, const ROI2D::difference_type margin=0)
 
Array2D< double > matlab_update_boundary (const Array2D< double > &boundary, const Disp2D::nlinfo_interpolator &disp_interp, const ROI2D::difference_type roi_scalefactor, const ROI2D::difference_type size_mask_height, const ROI2D::difference_type size_mask_width, const ROI2D::difference_type radius)
 
Array2D< ROI2D::difference_type > & get_nlinfo_SDA (Array2D< ROI2D::difference_type > &SDA, const ROI2D::region_nlinfo &nlinfo, Array2D< bool > &mask_buf, Array2D< bool > &mask_buf_new)
 
Array2D< ROI2D::difference_typeget_ROI_SDA (const ROI2D &roi)
 
Array2D< double > get_seed_params (const Data2D &data, const ROI2D::region_nlinfo &nlinfo, const disp_nloptimizer &d_nloptimizer, const Array2D< ROI2D::difference_type > &SDA, Array2D< double > &params_buf)
 
bool analyze_point (const Array2D< double > &queue_params, ROI2D::difference_type p1_new_delta, ROI2D::difference_type p2_new_delta, const ROI2D::region_nlinfo &nlinfo, ROI2D::difference_type roi_scalefactor, const disp_nloptimizer &d_nloptimizer, const Array2D< ROI2D::difference_type > &SDA, std::priority_queue< Array2D< double >, std::vector< Array2D< double > >, std::function< bool(const Array2D< double > &, const Array2D< double > &)> > &queue, Array2D< bool > &A_new_ap, Array2D< double > &params_buf)
 
Array2D< double > get_centroid (const ROI2D::region_nlinfo &nlinfo)
 
std::pair< std::vector< ROI2D::region_nlinfo >, std::vector< ROI2D::region_nlinfo > > nlinfo_line_split (const Array2D< double > &direc, const Array2D< double > &origin, ROI2D::difference_type partition_offset, const ROI2D::region_nlinfo &nlinfo, Array2D< ROI2D::difference_type > &partition_diagram, Array2D< bool > &mask_buf)
 
void nlinfo_contig_expansion (const ROI2D::region_nlinfo &sub_nlinfo, const ROI2D::region_nlinfo &nlinfo, ROI2D::difference_type val, Array2D< ROI2D::difference_type > &A, Array2D< bool > &A_ap)
 
std::pair< std::pair< ROI2D::region_nlinfo, ROI2D::region_nlinfo >, bool > nlinfo_contig_split (ROI2D::difference_type partition_offset, const ROI2D::region_nlinfo &nlinfo, Array2D< ROI2D::difference_type > &partition_diagram, Array2D< bool > &mask_buf)
 
bool recursive_nlinfo_partition_diagram (ROI2D::difference_type part_num1, ROI2D::difference_type part_num2, const ROI2D::region_nlinfo &nlinfo, Array2D< ROI2D::difference_type > &partition_diagram, Array2D< bool > &mask_buf)
 
Array2D< ROI2D::difference_type > & get_nlinfo_partition_diagram (const ROI2D::region_nlinfo &nlinfo, ROI2D::difference_type num_partitions, Array2D< ROI2D::difference_type > &partition_diagram, Array2D< bool > &mask_buf)
 
Array2D< ROI2D::difference_typeget_ROI_partition_diagram (const ROI2D &roi, ROI2D::difference_type num_partitions)
 
Array2D< ROI2D::difference_typeget_nlinfo_partition_diagram_seeds (const Array2D< ROI2D::difference_type > &partition_diagram, const ROI2D::region_nlinfo &nlinfo, ROI2D::difference_type num_partitions, Array2D< ROI2D::difference_type > &SDA, Array2D< bool > &mask_buf1, Array2D< bool > &mask_buf2)
 
std::vector< Array2D< ROI2D::difference_type > > get_ROI_partition_diagram_seeds (const Array2D< ROI2D::difference_type > &partition_diagram, const ROI2D &roi, ROI2D::difference_type num_partitions)
 
Array2D< double > get_seed_params (const Array2D< ROI2D::difference_type > &seeds_pos, const subregion_nloptimizer &sr_nloptimizer, Array2D< double > &params_buf)
 
bool analyze_point (const Array2D< double > &queue_params, ROI2D::difference_type p1_delta, ROI2D::difference_type p2_delta, const ROI2D::region_nlinfo &nlinfo, ROI2D::difference_type scalefactor, const subregion_nloptimizer &sr_nloptimizer, double cutoff_corrcoef, double cutoff_delta_disp, std::priority_queue< Array2D< double >, std::vector< Array2D< double > >, std::function< bool(const Array2D< double > &, const Array2D< double > &)> > &queue, Array2D< bool > &A_ap, Array2D< double > &params_buf)
 
void worker_RGDIC (subregion_nloptimizer sr_nloptimizer, ROI2D roi_reduced, ROI2D::difference_type scalefactor, double cutoff_corrcoef, double cutoff_delta_disp, Array2D< double > &A_v, Array2D< double > &A_u, Array2D< double > &A_cc, Array2D< bool > &A_ap, Array2D< bool > &A_vp)
 
Disp2D update (const Disp2D &disp, INTERP interp_type, ROI_UPDATE_MODE mode=ROI_UPDATE_MODE::SKIP_INVALID)
 
cv::Mat cv_ncorr_data_over_img (const Image2D &img, const Data2D &data, double alpha, double min_data, double max_data, bool enable_colorbar=true, bool enable_axes=true, bool enable_scalebar=true, const std::string &units="pixels", double units_per_pixel=1.0, double num_units=-1.0, double font_size=1.0, ROI2D::difference_type num_tick_marks=11, int colormap=cv::COLORMAP_JET)
 
void add_interacting_nodes (ROI2D::difference_type np_adj_p2, ROI2D::difference_type np_loaded_top, ROI2D::difference_type np_loaded_bottom, Array2D< std::vector< ROI2D::difference_type > > &overall_nodelist, Array2D< std::vector< bool > > &overall_active_nodepairs, std::stack< ROI2D::difference_type > &queue_np_idx)
 
Array2D< double > calc_boundary (const Array2D< bool > &mask, double init_p1, double init_p2, ROI2D::difference_type init_direc=0)
 
void simple_contig_subregion_add_interacting_nodes (ROI2D::difference_type np_adj_p2, ROI2D::difference_type np_loaded_top, ROI2D::difference_type np_loaded_bottom, const ROI2D::ROI2D::region_nlinfo &nlinfo_roi, const ROI2D::ROI2D::region_nlinfo &nlinfo_simple, Array2D< bool > &active_nodepairs, std::stack< ROI2D::difference_type > &queue_np_idx)
 

Variables

std::mutex fftw_mutex
 

Function Documentation

◆ add_interacting_nodes()

void ncorr::details::add_interacting_nodes ( ROI2D::difference_type  np_adj_p2,
ROI2D::difference_type  np_loaded_top,
ROI2D::difference_type  np_loaded_bottom,
Array2D< std::vector< ROI2D::difference_type > > &  overall_nodelist,
Array2D< std::vector< bool > > &  overall_active_nodepairs,
std::stack< ROI2D::difference_type > &  queue_np_idx 
)

Definition at line 437 of file ROI2D.cpp.

◆ add_to_sparse_tree()

void ncorr::details::add_to_sparse_tree ( std::set< sparse_tree_element > &  sparse_tree,
const sparse_tree_element ste 
)

Definition at line 128 of file Data2D.cpp.

◆ analyze_point() [1/2]

bool ncorr::details::analyze_point ( const Array2D< double > &  queue_params,
ROI2D::difference_type  p1_delta,
ROI2D::difference_type  p2_delta,
const ROI2D::region_nlinfo nlinfo,
ROI2D::difference_type  scalefactor,
const subregion_nloptimizer sr_nloptimizer,
double  cutoff_corrcoef,
double  cutoff_delta_disp,
std::priority_queue< Array2D< double >, std::vector< Array2D< double > >, std::function< bool(const Array2D< double > &, const Array2D< double > &)>  ,
queue,
Array2D< bool > &  A_ap,
Array2D< double > &  params_buf 
)

Definition at line 1821 of file ncorr.cpp.

◆ analyze_point() [2/2]

bool ncorr::details::analyze_point ( const Array2D< double > &  queue_params,
ROI2D::difference_type  p1_new_delta,
ROI2D::difference_type  p2_new_delta,
const ROI2D::region_nlinfo nlinfo,
ROI2D::difference_type  roi_scalefactor,
const disp_nloptimizer d_nloptimizer,
const Array2D< ROI2D::difference_type > &  SDA,
std::priority_queue< Array2D< double >, std::vector< Array2D< double > >, std::function< bool(const Array2D< double > &, const Array2D< double > &)>  ,
queue,
Array2D< bool > &  A_new_ap,
Array2D< double > &  params_buf 
)

Definition at line 979 of file ncorr.cpp.

◆ calc_boundary()

Array2D< double > ncorr::details::calc_boundary ( const Array2D< bool > &  mask,
double  init_p1,
double  init_p2,
ROI2D::difference_type  init_direc = 0 
)

Definition at line 755 of file ROI2D.cpp.

◆ cv_ncorr_data_over_img()

cv::Mat ncorr::details::cv_ncorr_data_over_img ( const Image2D img,
const Data2D data,
double  alpha,
double  min_data,
double  max_data,
bool  enable_colorbar = true,
bool  enable_axes = true,
bool  enable_scalebar = true,
const std::string &  units = "pixels",
double  units_per_pixel = 1.0,
double  num_units = -1.0,
double  font_size = 1.0,
ROI2D::difference_type  num_tick_marks = 11,
int  colormap = cv::COLORMAP_JET 
)

Definition at line 3815 of file ncorr.cpp.

◆ get_centroid()

Array2D< double > ncorr::details::get_centroid ( const ROI2D::region_nlinfo nlinfo)

Definition at line 1382 of file ncorr.cpp.

◆ get_nlinfo_partition_diagram()

Array2D< ROI2D::difference_type > & ncorr::details::get_nlinfo_partition_diagram ( const ROI2D::region_nlinfo nlinfo,
ROI2D::difference_type  num_partitions,
Array2D< ROI2D::difference_type > &  partition_diagram,
Array2D< bool > &  mask_buf 
)

Definition at line 1693 of file ncorr.cpp.

◆ get_nlinfo_partition_diagram_seeds()

Array2D< ROI2D::difference_type > ncorr::details::get_nlinfo_partition_diagram_seeds ( const Array2D< ROI2D::difference_type > &  partition_diagram,
const ROI2D::region_nlinfo nlinfo,
ROI2D::difference_type  num_partitions,
Array2D< ROI2D::difference_type > &  SDA,
Array2D< bool > &  mask_buf1,
Array2D< bool > &  mask_buf2 
)

Definition at line 1734 of file ncorr.cpp.

◆ get_nlinfo_SDA()

Array2D< ROI2D::difference_type > & ncorr::details::get_nlinfo_SDA ( Array2D< ROI2D::difference_type > &  SDA,
const ROI2D::region_nlinfo nlinfo,
Array2D< bool > &  mask_buf,
Array2D< bool > &  mask_buf_new 
)

Definition at line 866 of file ncorr.cpp.

◆ get_ROI_partition_diagram()

Array2D< ROI2D::difference_type > ncorr::details::get_ROI_partition_diagram ( const ROI2D roi,
ROI2D::difference_type  num_partitions 
)

Definition at line 1713 of file ncorr.cpp.

◆ get_ROI_partition_diagram_seeds()

std::vector< Array2D< ROI2D::difference_type > > ncorr::details::get_ROI_partition_diagram_seeds ( const Array2D< ROI2D::difference_type > &  partition_diagram,
const ROI2D roi,
ROI2D::difference_type  num_partitions 
)

Definition at line 1775 of file ncorr.cpp.

◆ get_ROI_SDA()

Array2D< ROI2D::difference_type > ncorr::details::get_ROI_SDA ( const ROI2D roi)

Definition at line 931 of file ncorr.cpp.

◆ get_seed_params() [1/2]

Array2D< double > ncorr::details::get_seed_params ( const Array2D< ROI2D::difference_type > &  seeds_pos,
const subregion_nloptimizer sr_nloptimizer,
Array2D< double > &  params_buf 
)

Definition at line 1795 of file ncorr.cpp.

◆ get_seed_params() [2/2]

Array2D< double > ncorr::details::get_seed_params ( const Data2D data,
const ROI2D::region_nlinfo nlinfo,
const disp_nloptimizer d_nloptimizer,
const Array2D< ROI2D::difference_type > &  SDA,
Array2D< double > &  params_buf 
)

Definition at line 948 of file ncorr.cpp.

◆ inpaint_nlinfo()

Array2D< double > & ncorr::details::inpaint_nlinfo ( Array2D< double > &  A,
const ROI2D::region_nlinfo nlinfo 
)

Definition at line 139 of file Data2D.cpp.

◆ matlab_update_boundary()

Array2D< double > ncorr::details::matlab_update_boundary ( const Array2D< double > &  boundary,
const Disp2D::nlinfo_interpolator disp_interp,
const ROI2D::difference_type  roi_scalefactor,
const ROI2D::difference_type  size_mask_height,
const ROI2D::difference_type  size_mask_width,
const ROI2D::difference_type  radius 
)

Definition at line 755 of file ncorr.cpp.

◆ nlinfo_contig_expansion()

void ncorr::details::nlinfo_contig_expansion ( const ROI2D::region_nlinfo sub_nlinfo,
const ROI2D::region_nlinfo nlinfo,
ROI2D::difference_type  val,
Array2D< ROI2D::difference_type > &  A,
Array2D< bool > &  A_ap 
)

Definition at line 1466 of file ncorr.cpp.

◆ nlinfo_contig_split()

std::pair< std::pair< ROI2D::region_nlinfo, ROI2D::region_nlinfo >, bool > ncorr::details::nlinfo_contig_split ( ROI2D::difference_type  partition_offset,
const ROI2D::region_nlinfo nlinfo,
Array2D< ROI2D::difference_type > &  partition_diagram,
Array2D< bool > &  mask_buf 
)

Definition at line 1506 of file ncorr.cpp.

◆ nlinfo_line_split()

std::pair< std::vector< ROI2D::region_nlinfo >, std::vector< ROI2D::region_nlinfo > > ncorr::details::nlinfo_line_split ( const Array2D< double > &  direc,
const Array2D< double > &  origin,
ROI2D::difference_type  partition_offset,
const ROI2D::region_nlinfo nlinfo,
Array2D< ROI2D::difference_type > &  partition_diagram,
Array2D< bool > &  mask_buf 
)

Definition at line 1410 of file ncorr.cpp.

◆ quintic_bspline_recursive_1d()

template<typename T_storage >
void ncorr::details::quintic_bspline_recursive_1d ( T_storage *  s,
std::ptrdiff_t  N,
std::ptrdiff_t  stride = 1 
)
inline

Definition at line 3747 of file Array2D.h.

◆ recursive_nlinfo_partition_diagram()

bool ncorr::details::recursive_nlinfo_partition_diagram ( ROI2D::difference_type  part_num1,
ROI2D::difference_type  part_num2,
const ROI2D::region_nlinfo nlinfo,
Array2D< ROI2D::difference_type > &  partition_diagram,
Array2D< bool > &  mask_buf 
)

Definition at line 1664 of file ncorr.cpp.

◆ simple_contig_subregion_add_interacting_nodes()

void ncorr::details::simple_contig_subregion_add_interacting_nodes ( ROI2D::difference_type  np_adj_p2,
ROI2D::difference_type  np_loaded_top,
ROI2D::difference_type  np_loaded_bottom,
const ROI2D::ROI2D::region_nlinfo &  nlinfo_roi,
const ROI2D::ROI2D::region_nlinfo &  nlinfo_simple,
Array2D< bool > &  active_nodepairs,
std::stack< ROI2D::difference_type > &  queue_np_idx 
)

Definition at line 1139 of file ROI2D.cpp.

◆ update()

Disp2D ncorr::details::update ( const Disp2D disp,
INTERP  interp_type,
ROI_UPDATE_MODE  mode = ROI_UPDATE_MODE::SKIP_INVALID 
)

Definition at line 3356 of file ncorr.cpp.

◆ update_boundary_skip_all()

Array2D< double > ncorr::details::update_boundary_skip_all ( const Array2D< double > &  boundary,
const Disp2D::nlinfo_interpolator disp_interp,
const ROI2D::difference_type  roi_scalefactor 
)

Definition at line 598 of file ncorr.cpp.

◆ update_boundary_skip_invalid()

Array2D< double > ncorr::details::update_boundary_skip_invalid ( const Array2D< double > &  boundary,
const Disp2D::nlinfo_interpolator disp_interp,
const ROI2D::difference_type  roi_scalefactor,
const ROI2D::difference_type  roi_height,
const ROI2D::difference_type  roi_width,
const ROI2D::difference_type  margin = 0 
)

Definition at line 622 of file ncorr.cpp.

◆ worker_RGDIC()

void ncorr::details::worker_RGDIC ( subregion_nloptimizer  sr_nloptimizer,
ROI2D  roi_reduced,
ROI2D::difference_type  scalefactor,
double  cutoff_corrcoef,
double  cutoff_delta_disp,
Array2D< double > &  A_v,
Array2D< double > &  A_u,
Array2D< double > &  A_cc,
Array2D< bool > &  A_ap,
Array2D< bool > &  A_vp 
)

Definition at line 1874 of file ncorr.cpp.

Variable Documentation

◆ fftw_mutex

std::mutex ncorr::details::fftw_mutex

Definition at line 15 of file Array2D.cpp.