24 #if defined(CUDA_TRACK) || defined(DOXYGEN) 25 #include <cuda_runtime_api.h> 28 if (err != cudaSuccess) {
29 const char* errstr = cudaGetErrorString(err);
107 CDLL_EXPORT uint DLL_CALLCONV qtrk_queue_frame(
QueuedTracker* qtrk,
uchar* image,
int pitch,
int w,
int h,
uint pdt,
ROIPosition* pos,
int numROI,
const LocalizationJob *pJobInfo,
QueueFrameFlags flags,
ErrorCluster* e);
176 #if defined(CUDA_TRACK) || defined(DOXYGEN) CDLL_EXPORT void qtrk_set_zlut_bias_table(QueuedTracker *qtrk, LVArray2D< float > **biastbl, ErrorCluster *e)
CDLL_EXPORT int qtrk_get_queue_len(QueuedTracker *qtrk, int *maxQueueLen, ErrorCluster *e)
CDLL_EXPORT void DLL_CALLCONV qtrk_get_computed_config(QueuedTracker *qtrk, QTrkComputedConfig *cc, ErrorCluster *err)
CDLL_EXPORT int qtrk_get_debug_image(QueuedTracker *qtrk, int id, LVArray2D< float > **data, ErrorCluster *e)
CDLL_EXPORT void DLL_CALLCONV qtrk_get_ZLUT(QueuedTracker *tracker, LVArray3D< float > **pzlut, ErrorCluster *e)
CDLL_EXPORT void DLL_CALLCONV qtrk_destroy(QueuedTracker *qtrk, ErrorCluster *error)
CDLL_EXPORT void DLL_CALLCONV qtrk_set_pixel_calib(QueuedTracker *qtrk, LVArray3D< float > **offset, LVArray3D< float > **gain, ErrorCluster *e)
Set pixel calibration images.
CDLL_EXPORT uint DLL_CALLCONV qtrk_queue_frame(QueuedTracker *qtrk, uchar *image, int pitch, int w, int h, uint pdt, ROIPosition *pos, int numROI, const LocalizationJob *pJobInfo, QueueFrameFlags flags, ErrorCluster *e)
CDLL_EXPORT void qtrkcuda_enable_texture_cache(QueuedTracker *qtrk, int enable, ErrorCluster *e)
CDLL_EXPORT void DLL_CALLCONV qtrk_get_image_lut(QueuedTracker *qtrk, LVArrayND< float, 4 > **imageLUT, ErrorCluster *e)
Struct used to define the top-left corner position of an ROI within a frame. ROI is [ x ...
CDLL_EXPORT void qtrk_set_localization_mode(QueuedTracker *qtrk, uint locType, ErrorCluster *e)
CDLL_EXPORT void DLL_CALLCONV qtrk_queue_u16(QueuedTracker *qtrk, ErrorCluster *error, LVArray2D< ushort > **data, const LocalizationJob *jobInfo)
CDLL_EXPORT void DLL_CALLCONV qtrk_flush(QueuedTracker *qtrk, ErrorCluster *e)
CDLL_EXPORT void DLL_CALLCONV qtrk_dump_memleaks()
CDLL_EXPORT void qtrk_get_profile_report(QueuedTracker *qtrk, LStrHandle str)
Structure for job results.
static bool CheckCUDAErrorLV(cudaError err, ErrorCluster *e)
CDLL_EXPORT int DLL_CALLCONV qtrk_get_results(QueuedTracker *qtrk, LocalizationResult *results, int maxResults, int sortByID, ErrorCluster *e)
CDLL_EXPORT void qtrk_build_lut_plane(QueuedTracker *qtrk, LVArray3D< float > **data, uint flags, int plane, ErrorCluster *err)
void normalize(TPixel *d, uint w, uint h)
CDLL_EXPORT void DLL_CALLCONV qtrk_generate_gaussian_spot(LVArray2D< float > **image, vector2f *pos, float sigma, float I0, float Ibg, int applyNoise)
CDLL_EXPORT void DLL_CALLCONV qtrk_queue_float(QueuedTracker *qtrk, ErrorCluster *error, LVArray2D< float > **data, const LocalizationJob *jobInfo)
CDLL_EXPORT void qtrk_enable_zlut_cmpprof(QueuedTracker *qtrk, bool enable, ErrorCluster *e)
CDLL_EXPORT void qtrk_finalize_lut(QueuedTracker *qtrk, ErrorCluster *e)
Structure for the settings used by the algorithms implemented in QueuedTracker.
CDLL_EXPORT void DLL_CALLCONV qtrk_set_logfile_path(const char *path)
CDLL_EXPORT void qtrkcuda_get_device(int device, CUDADeviceInfo *info, ErrorCluster *e)
CDLL_EXPORT void qtrk_test_array_passing(int n, LVArray< float > **flt1D, LVArray2D< float > **flt2D, LVArray< int > **int1D, LVArray2D< int > **int2D)
CDLL_EXPORT void DLL_CALLCONV qtrk_set_image_lut(QueuedTracker *qtrk, LVArrayND< float, 4 > **imageLUT, LVArray3D< float > **radialZLUT, ErrorCluster *e)
CDLL_EXPORT void DLL_CALLCONV qtrk_queue_pitchedmem(QueuedTracker *qtrk, uchar *data, int pitch, uint pdt, const LocalizationJob *jobInfo)
CDLL_EXPORT void DLL_CALLCONV qtrk_queue_array(QueuedTracker *qtrk, ErrorCluster *error, LVArray2D< uchar > **data, uint pdt, const LocalizationJob *jobInfo)
CDLL_EXPORT void qtrk_find_beads(uint8_t *image, int pitch, int w, int h, int *smpCornerPos, int roi, float imgRelDist, float acceptance, LVArray2D< uint32_t > **output)
CDLL_EXPORT QueuedTracker *DLL_CALLCONV qtrk_create(QTrkSettings *settings, LStrHandle warnings, ErrorCluster *e)
CDLL_EXPORT void DLL_CALLCONV qtrk_set_pixel_calib_factors(QueuedTracker *qtrk, float offsetFactor, float gainFactor, ErrorCluster *e)
Set pixel calibration factors.
CDLL_EXPORT void DLL_CALLCONV qtrk_queue_u8(QueuedTracker *qtrk, ErrorCluster *error, LVArray2D< uchar > **data, const LocalizationJob *jobInfo)
CDLL_EXPORT void DLL_CALLCONV qtrk_free_all()
CDLL_EXPORT int DLL_CALLCONV qtrkcuda_device_count(ErrorCluster *e)
Structure for derived settings computed from base settings in QTrkSettings.
LabVIEW N dimensions array template.
CDLL_EXPORT int DLL_CALLCONV qtrk_idle(QueuedTracker *qtrk, ErrorCluster *e)
LabVIEW 3D Array template.
LabVIEW 2D Array template.
CDLL_EXPORT void qtrk_get_zlut_cmpprof(QueuedTracker *qtrk, LVArray2D< float > **output, ErrorCluster *e)
CDLL_EXPORT void DLL_CALLCONV qtrk_set_ZLUT(QueuedTracker *tracker, LVArray3D< float > **pZlut, LVArray< float > **zcmpWindow, int normalize, ErrorCluster *e)
CDLL_EXPORT void qtrk_simulate_tracking(QueuedTracker *qtrk, int nsmp, int beadIndex, vector3f *centerPos, vector3f *range, vector3f *outBias, vector3f *outScatter, float photonsPerWell, ErrorCluster *e)
CDLL_EXPORT void DLL_CALLCONV qtrk_generate_image_from_lut(LVArray2D< float > **image, LVArray2D< float > **lut, float *LUTradii, vector2f *position, float z, float M, float sigma_noise)
CDLL_EXPORT void DLL_CALLCONV qtrkcuda_set_device_list(LVArray< int > **devices)
Abstract tracker interface, implemented by QueuedCUDATracker and QueuedCPUTracker.
CDLL_EXPORT void DLL_CALLCONV qtrk_clear_results(QueuedTracker *qtrk, ErrorCluster *e)
CDLL_EXPORT void qtrk_compute_fisher(LVArray2D< float > **lut, QTrkSettings *cfg, vector3f *pos, LVArray2D< float > **fisherMatrix, LVArray2D< float > **inverseMatrix, vector3f *xyzVariance, int Nsamples, float maxPixelValue)
Structure for region of interest metadata.
CDLL_EXPORT void qtrk_compute_zlut_bias_table(QueuedTracker *qtrk, int bias_planes, LVArray2D< float > **lvresult, int smpPerPixel, int useSplineInterp, ErrorCluster *e)
CDLL_EXPORT int qtrk_resultcount(QueuedTracker *qtrk, ErrorCluster *e)
std::string SPrintf(const char *fmt,...)
MgErr FillErrorCluster(MgErr err, const char *message, ErrorCluster *error)