CPPxDIC
C++ Digital Image Correlation library for fingertip 3D reconstruction
Loading...
Searching...
No Matches
cuncorr_dic.h File Reference

Adapter: run the cuNCorr DIC engine and package results as ncorr::DIC_analysis_output. More...

#include <string>
#include <vector>
#include "ncorr.h"

Go to the source code of this file.

Classes

struct  cppxdic::CuncorrDicConfig
 Tunables mirrored onto cuncorr::SessionConfig. More...
 
struct  cppxdic::CuncorrDicInfo
 Which backend actually ran. More...
 

Namespaces

namespace  cppxdic
 DataSerializer - Abstract base class for format-agnostic DIC data I/O.
 

Functions

bool cppxdic::cuncorr_cuda_available ()
 True if cuNCorr was built with CUDA and a device is present at runtime.
 
ncorr::DIC_analysis_output cppxdic::run_cuncorr_dic (const std::vector< ncorr::Image2D > &imgs, const ncorr::ROI2D &roi, const CuncorrDicConfig &cfg, CuncorrDicInfo *info=nullptr)
 Run cuNCorr in sequence mode (fixed reference = imgs[0], warm-start each frame) over the stack against the full-resolution roi.
 

Detailed Description

Adapter: run the cuNCorr DIC engine and package results as ncorr::DIC_analysis_output.

This is the integration seam for cppxdic -> cuNCorr. cuNCorr matches CppNCorr's reduced-grid convention exactly (reduced node (r,c) <-> full pixel (r*scalefactor, c*scalefactor), and (dim-1)/sf+1 == ceil(dim/sf)), so its per-frame displacement fields drop straight into ncorr::Disp2D. The returned DIC_analysis_output is raw Lagrangian, pixel-unit, on the reduced grid — structurally identical to ncorr::matlab_DIC_analysis_*, so the .bin/StepE pipeline consumes it unchanged.

cuNCorr internally runs on CUDA when a device is present, else its CPU backend; both share the same math cores and are numerically identical.

Definition in file cuncorr_dic.h.