Newer
Older
unsigned char* cAddConstant(const unsigned char* imageIn, Vec<size_t> dims, double additive, unsigned char** imageOut/*=NULL*/,
int device/*=0*/)
{
return addConstant(imageIn,dims,additive,imageOut,device);
}
unsigned int* cAddConstant(const unsigned int* imageIn, Vec<size_t> dims, double additive, unsigned int** imageOut/*=NULL*/, int device/*=0*/)
{
return addConstant(imageIn,dims,additive,imageOut,device);
}
int* cAddConstant(const int* imageIn, Vec<size_t> dims, double additive, int** imageOut/*=NULL*/, int device/*=0*/)
{
return addConstant(imageIn,dims,additive,imageOut,device);
}
float* cAddConstant(const float* imageIn, Vec<size_t> dims, double additive, float** imageOut/*=NULL*/, int device/*=0*/)
{
return addConstant(imageIn,dims,additive,imageOut,device);
}
double* cAddConstant(const double* imageIn, Vec<size_t> dims, double additive, double** imageOut/*=NULL*/, int device/*=0*/)
{
return addConstant(imageIn,dims,additive,imageOut,device);
}
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
unsigned char* cApplyPolyTransferFunction(const unsigned char* imageIn, Vec<size_t> dims, double a, double b, double c,
unsigned char minValue/*=std::numeric_limits<PixelType>::lowest()*/,
unsigned char maxValue/*=std::numeric_limits<PixelType>::max()*/,
unsigned char** imageOut/*=NULL*/, int device/*=0*/)
{
return applyPolyTransferFunction(imageIn,dims,a,b,c,minValue,maxValue,imageOut,device);
}
unsigned int* cApplyPolyTransferFunction(const unsigned int* imageIn, Vec<size_t> dims, double a, double b, double c,
unsigned int minValue/*=std::numeric_limits<PixelType>::lowest()*/,
unsigned int maxValue/*=std::numeric_limits<PixelType>::max()*/,
unsigned int** imageOut/*=NULL*/, int device/*=0*/)
{
return applyPolyTransferFunction(imageIn,dims,a,b,c,minValue,maxValue,imageOut,device);
}
int* cApplyPolyTransferFunction(const int* imageIn, Vec<size_t> dims, double a, double b, double c,
int minValue/*=std::numeric_limits<PixelType>::lowest()*/,
int maxValue/*=std::numeric_limits<PixelType>::max()*/, int** imageOut/*=NULL*/, int device/*=0*/)
{
return applyPolyTransferFunction(imageIn,dims,a,b,c,minValue,maxValue,imageOut,device);
}
float* cApplyPolyTransferFunction(const float* imageIn, Vec<size_t> dims, double a, double b, double c,
float minValue/*=std::numeric_limits<PixelType>::lowest()*/,
float maxValue/*=std::numeric_limits<PixelType>::max()*/, float** imageOut/*=NULL*/, int device/*=0*/)
{
return applyPolyTransferFunction(imageIn,dims,a,b,c,minValue,maxValue,imageOut,device);
}
double* cApplyPolyTransferFunction(const double* imageIn, Vec<size_t> dims, double a, double b, double c,
double minValue/*=std::numeric_limits<PixelType>::lowest()*/,
double maxValue/*=std::numeric_limits<PixelType>::max()*/,double** imageOut/*=NULL*/, int device/*=0*/)
{
return applyPolyTransferFunction(imageIn,dims,a,b,c,minValue,maxValue,imageOut,device);
}
unsigned char* cAddImageWith(const unsigned char* imageIn1, const unsigned char* imageIn2, Vec<size_t> dims, double additive,
unsigned char** imageOut/*=NULL*/, int device/*=0*/)
{
return addImageWith(imageIn1,imageIn2,dims,additive,imageOut,device);
}
unsigned int* cAddImageWith(const unsigned int* imageIn1, const unsigned int* imageIn2, Vec<size_t> dims, double additive,
unsigned int** imageOut/*=NULL*/, int device/*=0*/)
{
return addImageWith(imageIn1,imageIn2,dims,additive,imageOut,device);
}
int* cAddImageWith(const int* imageIn1, const int* imageIn2, Vec<size_t> dims, double additive, int** imageOut/*=NULL*/, int device/*=0*/)
{
return addImageWith(imageIn1,imageIn2,dims,additive,imageOut,device);
}
float* cAddImageWith(const float* imageIn1, const float* imageIn2, Vec<size_t> dims, double additive, float** imageOut/*=NULL*/,
int device/*=0*/)
{
return addImageWith(imageIn1,imageIn2,dims,additive,imageOut,device);
}
double* cAddImageWith(const double* imageIn1, const double* imageIn2, Vec<size_t> dims, double additive, double** imageOut/*=NULL*/,
int device/*=0*/)
{
return addImageWith(imageIn1,imageIn2,dims,additive,imageOut,device);
}
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
size_t* cHistogram(const unsigned char* imageIn, Vec<size_t> dims, unsigned int arraySize,
unsigned char minVal/*=std::numeric_limits<unsigned char>::lowest()*/,
unsigned char maxVal/*=std::numeric_limits<unsigned char>::max()*/, int device/*=0*/)
{
return calculateHistogram(imageIn,dims,arraySize,minVal,maxVal,device);
}
size_t* cHistogram(const unsigned int* imageIn, Vec<size_t> dims, unsigned int arraySize,
unsigned int minVal/*=std::numeric_limits<unsigned int>::lowest()*/,
unsigned int maxVal/*=std::numeric_limits<unsigned int>::max()*/, int device/*=0*/)
{
return calculateHistogram(imageIn,dims,arraySize,minVal,maxVal,device);
}
size_t* cHistogram(const int* imageIn, Vec<size_t> dims, unsigned int arraySize, int minVal/*=std::numeric_limits<int>::lowest()*/,
int maxVal/*=std::numeric_limits<int>::max()*/, int device/*=0*/)
{
return calculateHistogram(imageIn,dims,arraySize,minVal,maxVal,device);
}
size_t* cHistogram(const float* imageIn, Vec<size_t> dims, unsigned int arraySize, float minVal/*=std::numeric_limits<float>::lowest()*/,
float maxVal/*=std::numeric_limits<float>::max()*/, int device/*=0*/)
{
return calculateHistogram(imageIn,dims,arraySize,minVal,maxVal,device);
}
size_t* cHistogram(const double* imageIn, Vec<size_t> dims, unsigned int arraySize, double minVal/*=std::numeric_limits<double>::lowest()*/,
double maxVal/*=std::numeric_limits<double>::max()*/, int device/*=0*/)
{
return calculateHistogram(imageIn,dims,arraySize,minVal,maxVal,device);
}
unsigned char* cGaussianFilter(const unsigned char* imageIn, Vec<size_t> dims, Vec<float> sigmas, unsigned char** imageOut/*=NULL*/,
int device/*=0*/)
{
return gaussianFilter(imageIn,dims,sigmas,imageOut,device);
}
unsigned int* cGaussianFilter(const unsigned int* imageIn, Vec<size_t> dims, Vec<float> sigmas, unsigned int** imageOut/*=NULL*/,
int device/*=0*/)
{
return gaussianFilter(imageIn,dims,sigmas,imageOut,device);
}
int* cGaussianFilter(const int* imageIn, Vec<size_t> dims, Vec<float> sigmas, int** imageOut/*=NULL*/, int device/*=0*/)
{
return gaussianFilter(imageIn,dims,sigmas,imageOut,device);
}
float* cGaussianFilter(const float* imageIn, Vec<size_t> dims, Vec<float> sigmas, float** imageOut/*=NULL*/, int device/*=0*/)
{
return gaussianFilter(imageIn,dims,sigmas,imageOut,device);
}
double* cGaussianFilter(const double* imageIn, Vec<size_t> dims, Vec<float> sigmas, double** imageOut/*=NULL*/, int device/*=0*/)
{
return gaussianFilter(imageIn,dims,sigmas,imageOut,device);
}
void cGetMinMax(const unsigned char* imageIn, Vec<size_t> dims, unsigned char& minVal, unsigned char& maxVal, int device/*=0*/)
{
getMinMax(imageIn,dims,minVal,maxVal,device);
}
void cGetMinMax(const unsigned int* imageIn, Vec<size_t> dims, unsigned int& minVal, unsigned int& maxVal, int device/*=0*/)
{
getMinMax(imageIn,dims,minVal,maxVal,device);
}
void cGetMinMax(const int* imageIn, Vec<size_t> dims, int& minVal, int& maxVal, int device/*=0*/)
{
getMinMax(imageIn,dims,minVal,maxVal,device);
}
void cGetMinMax(const float* imageIn, Vec<size_t> dims, float& minVal, float& maxVal, int device/*=0*/)
{
getMinMax(imageIn,dims,minVal,maxVal,device);
}
void cGetMinMax(const double* imageIn, Vec<size_t> dims, double& minVal, double& maxVal, int device/*=0*/)
{
getMinMax(imageIn,dims,minVal,maxVal,device);
}
unsigned char* cImagePow(const unsigned char* imageIn, Vec<size_t> dims, double additive, unsigned char** imageOut/*=NULL*/, int device/*=0*/)
{
return addConstant(imageIn,dims,additive,imageOut,device);
}
unsigned int* cImagePow(const unsigned int* imageIn, Vec<size_t> dims, double power, unsigned int** imageOut/*=NULL*/, int device/*=0*/)
{
return imagePow(imageIn,dims,power,imageOut,device);
}
int* cImagePow(const int* imageIn, Vec<size_t> dims, double power, int** imageOut/*=NULL*/, int device/*=0*/)
{
return imagePow(imageIn,dims,power,imageOut,device);
}
float* cImagePow(const float* imageIn, Vec<size_t> dims, double power, float** imageOut/*=NULL*/, int device/*=0*/)
{
return imagePow(imageIn,dims,power,imageOut,device);
}
double* cImagePow(const double* imageIn, Vec<size_t> dims, double power, double** imageOut/*=NULL*/, int device/*=0*/)
{
return imagePow(imageIn,dims,power,imageOut,device);
}
unsigned char* cMedianFilter(const unsigned char* imageIn, Vec<size_t> dims, Vec<size_t> neighborhood, unsigned char** imageOut/*=NULL*/,
int device/*=0*/)
return medianFilter(imageIn,dims,neighborhood,imageOut,device);
unsigned int* cMedianFilter(const unsigned int* imageIn, Vec<size_t> dims, Vec<size_t> neighborhood, unsigned int** imageOut/*=NULL*/,
int device/*=0*/)
return medianFilter(imageIn,dims,neighborhood,imageOut,device);
unsigned char* cMaxFilter(const unsigned char* imageIn, Vec<size_t> dims, Vec<size_t> kernelDims, float* kernel/*=NULL*/,
unsigned char** imageOut/*=NULL*/, int device/*=0*/)
{
return maxFilter(imageIn,dims,kernelDims,kernel,imageOut,device);
}
unsigned int* cMaxFilter(const unsigned int* imageIn, Vec<size_t> dims, Vec<size_t> kernelDims, float* kernel/*=NULL*/,
unsigned int** imageOut/*=NULL*/, int device/*=0*/)
{
return maxFilter(imageIn,dims,kernelDims,kernel,imageOut,device);
}
int* cMaxFilter(const int* imageIn, Vec<size_t> dims, Vec<size_t> kernelDims, float* kernel/*=NULL*/, int** imageOut/*=NULL*/,
int device/*=0*/)
{
return maxFilter(imageIn,dims,kernelDims,kernel,imageOut,device);
}
float* cMaxFilter(const float* imageIn, Vec<size_t> dims, Vec<size_t> kernelDims, float* kernel/*=NULL*/, float** imageOut/*=NULL*/,
int device/*=0*/)
{
return maxFilter(imageIn,dims,kernelDims,kernel,imageOut,device);
}
double* cMaxFilter(const double* imageIn, Vec<size_t> dims, Vec<size_t> kernelDims, float* kernel/*=NULL*/, double** imageOut/*=NULL*/,
int device/*=0*/)
{
return maxFilter(imageIn,dims,kernelDims,kernel,imageOut,device);
}
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
unsigned char* cMeanFilter(const unsigned char* imageIn, Vec<size_t> dims, Vec<size_t> neighborhood, unsigned char** imageOut/*=NULL*/,
int device/*=0*/)
{
return meanFilter(imageIn,dims,neighborhood,imageOut,device);
}
unsigned int* cMeanFilter(const unsigned int* imageIn, Vec<size_t> dims, Vec<size_t> neighborhood, unsigned int** imageOut/*=NULL*/,
int device/*=0*/)
{
return meanFilter(imageIn,dims,neighborhood,imageOut,device);
}
int* cMeanFilter(const int* imageIn, Vec<size_t> dims, Vec<size_t> neighborhood, int** imageOut/*=NULL*/, int device/*=0*/)
{
return meanFilter(imageIn,dims,neighborhood,imageOut,device);
}
float* cMeanFilter(const float* imageIn, Vec<size_t> dims, Vec<size_t> neighborhood, float** imageOut/*=NULL*/, int device/*=0*/)
{
return meanFilter(imageIn,dims,neighborhood,imageOut,device);
}
double* cMeanFilter(const double* imageIn, Vec<size_t> dims, Vec<size_t> neighborhood, double** imageOut/*=NULL*/, int device/*=0*/)
{
return meanFilter(imageIn,dims,neighborhood,imageOut,device);
}
int* cMedianFilter(const int* imageIn, Vec<size_t> dims, Vec<size_t> neighborhood, int** imageOut/*=NULL*/, int device/*=0*/)
return medianFilter(imageIn,dims,neighborhood,imageOut,device);
float* cMedianFilter(const float* imageIn, Vec<size_t> dims, Vec<size_t> neighborhood, float** imageOut/*=NULL*/, int device/*=0*/)
return medianFilter(imageIn,dims,neighborhood,imageOut,device);
double* cMedianFilter(const double* imageIn, Vec<size_t> dims, Vec<size_t> neighborhood, double** imageOut/*=NULL*/, int device/*=0*/)
return medianFilter(imageIn,dims,neighborhood,imageOut,device);
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
unsigned char* cMinFilter(const unsigned char* imageIn, Vec<size_t> dims, Vec<size_t> kernelDims, float* kernel/*=NULL*/,
unsigned char** imageOut/*=NULL*/, int device/*=0*/)
{
return minFilter(imageIn,dims,kernelDims,kernel,imageOut,device);
}
unsigned int* cMinFilter(const unsigned int* imageIn, Vec<size_t> dims, Vec<size_t> kernelDims, float* kernel/*=NULL*/,
unsigned int** imageOut/*=NULL*/, int device/*=0*/)
{
return minFilter(imageIn,dims,kernelDims,kernel,imageOut,device);
}
int* cMinFilter(const int* imageIn, Vec<size_t> dims, Vec<size_t> kernelDims, float* kernel/*=NULL*/, int** imageOut/*=NULL*/,
int device/*=0*/)
{
return minFilter(imageIn,dims,kernelDims,kernel,imageOut,device);
}
float* cMinFilter(const float* imageIn, Vec<size_t> dims, Vec<size_t> kernelDims, float* kernel/*=NULL*/, float** imageOut/*=NULL*/, int device/*=0*/)
{
return minFilter(imageIn,dims,kernelDims,kernel,imageOut,device);
}
double* cMinFilter(const double* imageIn, Vec<size_t> dims, Vec<size_t> kernelDims, float* kernel/*=NULL*/, double** imageOut/*=NULL*/, int device/*=0*/)
{
return minFilter(imageIn,dims,kernelDims,kernel,imageOut,device);
}
unsigned char* cMultiplyImage(const unsigned char* imageIn, Vec<size_t> dims, double multiplier, unsigned char** imageOut/*=NULL*/, int device/*=0*/)
{
return multiplyImage(imageIn,dims,multiplier,imageOut,device);
}
unsigned int* cMultiplyImage(const unsigned int* imageIn, Vec<size_t> dims, double multiplier, unsigned int** imageOut/*=NULL*/, int device/*=0*/)
{
return multiplyImage(imageIn,dims,multiplier,imageOut,device);
}
int* cMultiplyImage(const int* imageIn, Vec<size_t> dims, double multiplier, int** imageOut/*=NULL*/, int device/*=0*/)
{
return multiplyImage(imageIn,dims,multiplier,imageOut,device);
}
float* cMultiplyImage(const float* imageIn, Vec<size_t> dims, double multiplier, float** imageOut/*=NULL*/, int device/*=0*/)
{
return multiplyImage(imageIn,dims,multiplier,imageOut,device);
}
double* cMultiplyImage(const double* imageIn, Vec<size_t> dims, double multiplier, double** imageOut/*=NULL*/, int device/*=0*/)
{
return multiplyImage(imageIn,dims,multiplier,imageOut,device);
}
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
unsigned char* cMultiplyImageWith(const unsigned char* imageIn1, const unsigned char* imageIn2, Vec<size_t> dims, double factor,
unsigned char** imageOut/*=NULL*/, int device/*=0*/)
{
return multiplyImageWith(imageIn1,imageIn2,dims,factor,imageOut,device);
}
unsigned int* cMultiplyImageWith(const unsigned int* imageIn1, const unsigned int* imageIn2, Vec<size_t> dims, double factor,
unsigned int** imageOut/*=NULL*/, int device/*=0*/)
{
return multiplyImageWith(imageIn1,imageIn2,dims,factor,imageOut,device);
}
int* cMultiplyImageWith(const int* imageIn1, const int* imageIn2, Vec<size_t> dims, double factor, int** imageOut/*=NULL*/, int device/*=0*/)
{
return multiplyImageWith(imageIn1,imageIn2,dims,factor,imageOut,device);
}
float* cMultiplyImageWith(const float* imageIn1, const float* imageIn2, Vec<size_t> dims, double factor, float** imageOut/*=NULL*/,
int device/*=0*/)
{
return multiplyImageWith(imageIn1,imageIn2,dims,factor,imageOut,device);
}
double* cMultiplyImageWith(const double* imageIn1, const double* imageIn2, Vec<size_t> dims, double factor, double** imageOut/*=NULL*/,
int device/*=0*/)
{
return multiplyImageWith(imageIn1,imageIn2,dims,factor,imageOut,device);
}
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
double* cNormalizeHistogram(const unsigned char* imageIn, Vec<size_t> dims, unsigned int arraySize,
unsigned char minVal/*=std::numeric_limits<unsigned char>::lowest()*/,
unsigned char maxVal/*=std::numeric_limits<unsigned char>::max()*/, int device/*=0*/)
{
return normalizeHistogram(imageIn,dims,arraySize,minVal,maxVal,device);
}
double* cNormalizeHistogram(const unsigned int* imageIn, Vec<size_t> dims, unsigned int arraySize,
unsigned int minVal/*=std::numeric_limits<unsigned int>::lowest()*/,
unsigned int maxVal/*=std::numeric_limits<unsigned int>::max()*/, int device/*=0*/)
{
return normalizeHistogram(imageIn,dims,arraySize,minVal,maxVal,device);
}
double* cNormalizeHistogram(const int* imageIn, Vec<size_t> dims, unsigned int arraySize, int minVal/*=std::numeric_limits<int>::lowest()*/,
int maxVal/*=std::numeric_limits<int>::max()*/, int device/*=0*/)
{
return normalizeHistogram(imageIn,dims,arraySize,minVal,maxVal,device);
}
double* cNormalizeHistogram(const float* imageIn, Vec<size_t> dims, unsigned int arraySize,
float minVal/*=std::numeric_limits<float>::lowest()*/, float maxVal/*=std::numeric_limits<float>::max()*/,
int device/*=0*/)
{
return normalizeHistogram(imageIn,dims,arraySize,minVal,maxVal,device);
}
double* cNormalizeHistogram(const double* imageIn, Vec<size_t> dims, unsigned int arraySize,
double minVal/*=std::numeric_limits<double>::lowest()*/, double maxVal/*=std::numeric_limits<double>::max()*/,
int device/*=0*/)
{
return normalizeHistogram(imageIn,dims,arraySize,minVal,maxVal,device);
}
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
unsigned char* cOtsuThresholdFilter(const unsigned char* imageIn, Vec<size_t> dims, double alpha/*=1.0*/, unsigned char** imageOut/*=NULL*/,
int device/*=0*/)
{
return otsuThresholdFilter(imageIn,dims,alpha,imageOut,device);
}
unsigned int* cOtsuThresholdFilter(const unsigned int* imageIn, Vec<size_t> dims, double alpha/*=1.0*/, unsigned int** imageOut/*=NULL*/,
int device/*=0*/)
{
return otsuThresholdFilter(imageIn,dims,alpha,imageOut,device);
}
int* cOtsuThresholdFilter(const int* imageIn, Vec<size_t> dims, double alpha/*=1.0*/, int** imageOut/*=NULL*/, int device/*=0*/)
{
return otsuThresholdFilter(imageIn,dims,alpha,imageOut,device);
}
float* cOtsuThresholdFilter(const float* imageIn, Vec<size_t> dims, double alpha/*=1.0*/, float** imageOut/*=NULL*/, int device/*=0*/)
{
return otsuThresholdFilter(imageIn,dims,alpha,imageOut,device);
}
double* cOtsuThresholdFilter(const double* imageIn, Vec<size_t> dims, double alpha/*=1.0*/, double** imageOut/*=NULL*/, int device/*=0*/)
{
return otsuThresholdFilter(imageIn,dims,alpha,imageOut,device);
}
unsigned char cOtsuThresholdValue(const unsigned char* imageIn, Vec<size_t> dims, int device/*=0*/)
{
return otsuThresholdValue(imageIn,dims,device);
}
unsigned int cOtsuThresholdValue(const unsigned int* imageIn, Vec<size_t> dims, int device/*=0*/)
{
return otsuThresholdValue(imageIn,dims,device);
}
int cOtsuThresholdValue(const int* imageIn, Vec<size_t> dims, int device/*=0*/)
{
return otsuThresholdValue(imageIn,dims,device);
}
float cOtsuThresholdValue(const float* imageIn, Vec<size_t> dims, int device/*=0*/)
{
return otsuThresholdValue(imageIn,dims,device);
}
double cOtsuThresholdValue(const double* imageIn, Vec<size_t> dims, int device/*=0*/)
{
return otsuThresholdValue(imageIn,dims,device);
}
double cSumArray(const unsigned char* imageIn, size_t n, int device/*=0*/)
{
return sumArray(imageIn,n,device);
}
double cSumArray(const unsigned int* imageIn, size_t n, int device/*=0*/)
{
return sumArray(imageIn,n,device);
}
double cSumArray(const int* imageIn, size_t n, int device/*=0*/)
{
return sumArray(imageIn,n,device);
}
double cSumArray(const float* imageIn, size_t n, int device/*=0*/)
{
return sumArray(imageIn,n,device);
}
double cSumArray(const double* imageIn, size_t n, int device/*=0*/)
{
return sumArray(imageIn,n,device);
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
unsigned char* cThresholdFilter(const unsigned char* imageIn, Vec<size_t> dims, unsigned char thresh, unsigned char** imageOut/*=NULL*/,
int device/*=0*/)
{
return thresholdFilter(imageIn,dims,thresh,imageOut,device);
}
unsigned int* cThresholdFilter(const unsigned int* imageIn, Vec<size_t> dims, unsigned int thresh, unsigned int** imageOut/*=NULL*/,
int device/*=0*/)
{
return thresholdFilter(imageIn,dims,thresh,imageOut,device);
}
int* cThresholdFilter(const int* imageIn, Vec<size_t> dims, int thresh, int** imageOut/*=NULL*/, int device/*=0*/)
{
return thresholdFilter(imageIn,dims,thresh,imageOut,device);
}
float* cThresholdFilter(const float* imageIn, Vec<size_t> dims, float thresh, float** imageOut/*=NULL*/, int device/*=0*/)
{
return thresholdFilter(imageIn,dims,thresh,imageOut,device);
}
double* cThresholdFilter(const double* imageIn, Vec<size_t> dims, double thresh, double** imageOut/*=NULL*/, int device/*=0*/)
{
return thresholdFilter(imageIn,dims,thresh,imageOut,device);
}