QTrk
Functions

Z bias API functions available to LabVIEW. More...

Functions

CDLL_EXPORT void qtrk_compute_zlut_bias_table (QueuedTracker *qtrk, int bias_planes, LVArray2D< float > **lvresult, int smpPerPixel, int useSplineInterp, ErrorCluster *e)
 
CDLL_EXPORT void qtrk_set_zlut_bias_table (QueuedTracker *qtrk, LVArray2D< float > **biastbl, ErrorCluster *e)
 

Detailed Description

Z bias API functions available to LabVIEW.

See also ZLUT Bias Correction.

Function Documentation

§ qtrk_compute_zlut_bias_table()

CDLL_EXPORT void qtrk_compute_zlut_bias_table ( QueuedTracker qtrk,
int  bias_planes,
LVArray2D< float > **  lvresult,
int  smpPerPixel,
int  useSplineInterp,
ErrorCluster e 
)

Definition at line 451 of file lv_queuetrk_api.cpp.

452 {
453  if(ValidateTracker(qtrk, e,"compute_zlut_bias_table")) {
454  CImageData result;
455  qtrk->ComputeZBiasCorrection(bias_planes, &result, smpPerPixel, useSplineInterp!=0);
456 
457  ResizeLVArray2D(lvresult, result.h, result.w);
458  result.copyTo ( (*lvresult)->elem );
459  }
460 }
bool ValidateTracker(QueuedTracker *tracker, ErrorCluster *e, const char *funcname)
Verify the referenced tracker is a valid QueuedTracker instance.
void ResizeLVArray2D(LVArray2D< T > **&d, int rows, int cols)
Definition: labview.h:98
int h
Definition: utils.h:81
void ComputeZBiasCorrection(int bias_planes, CImageData *result, int smpPerPixel, bool useSplineInterp)
void copyTo(float *dst)
Definition: utils.h:93
int w
Definition: utils.h:81

§ qtrk_set_zlut_bias_table()

CDLL_EXPORT void qtrk_set_zlut_bias_table ( QueuedTracker qtrk,
LVArray2D< float > **  biastbl,
ErrorCluster e 
)

Definition at line 462 of file lv_queuetrk_api.cpp.

463 {
464  if (ValidateTracker(qtrk, e,"set zlut bias table")) {
465  int numbeads,planes,radialsteps;
466  qtrk->GetRadialZLUTSize(numbeads, planes, radialsteps);
467 
468  if ((*biastbl)->dimSizes[1] != numbeads) {
469  ArgumentErrorMsg(e, SPrintf( "Bias table should be [numbeads] high and [biasplanes] wide. Expected #beads=%d", numbeads) );
470  }
471  else {
472  qtrk->SetZLUTBiasCorrection( ImageData( (*biastbl)->elem, (*biastbl)->dimSizes[0], (*biastbl)->dimSizes[1] ) );
473  }
474  }
475 }
virtual void GetRadialZLUTSize(int &count, int &planes, int &radialsteps)=0
Get the dimensions of the radial lookup table data.
TImageData< float > ImageData
Definition: QueuedTracker.h:69
bool ValidateTracker(QueuedTracker *tracker, ErrorCluster *e, const char *funcname)
Verify the referenced tracker is a valid QueuedTracker instance.
void SetZLUTBiasCorrection(const CImageData &data)
void ArgumentErrorMsg(ErrorCluster *e, const std::string &msg)
std::string SPrintf(const char *fmt,...)
Definition: utils.cpp:132