Skip to content
Snippets Groups Projects
Commit 0b8e2fca authored by Eric Wait's avatar Eric Wait
Browse files

change unit tester

parent edf1e398
No related branches found
No related tags found
No related merge requests found
......@@ -8,9 +8,10 @@ max = 255;
additive = rand(1)*255;
factor = 1.0;
multiplier = 2.5;
alpha = 1.0;
a = 0.0;
b = 0.4;
c = 25.0;
b = 0.5;
c = 0.2;
sigmaX = 30;
sigmaY = 30;
sigmaZ = 10;
......@@ -32,44 +33,30 @@ kernel = ...
1 1 1;...
0 1 0]];
%% run Kernels
showIm(imageIn,'Original');
%% run Kernels
try
tic
kernelName = 'AddConstant';
imageOut = CudaMex(sprintf('%s',kernelName),imageIn,additive,device);
fprintf('%s took %f sec\n',kernelName,toc);
showIm(imageOut,sprintf('%s of %d',kernelName,additive));
catch e
fprintf('************\nError: %sFrom line %d\n************\n',e.message,e.stack.line);
clear mex
end
try
tic
kernelName = 'AddImageWith';
imageIn2 = imageRand;
imageOut = CudaMex(sprintf('%s',kernelName),imageIn1,imageIn2,factor,device);
fprintf('%s took %f sec\n',kernelName,toc);
showIm(imageOut,kernelName);
catch e
fprintf('************\nError: %sFrom line %d\n************\n',e.message,e.stack.line);
clear mex
end
try
tic
kernelName = 'ApplyPolyTransformation';
imageOut = CudaMex(sprintf('%s',kernelName),imageIn,a,b,c,min,max,device);
fprintf('%s took %f sec\n',kernelName,toc);
showIm(imageOut,kernelName);
catch e
fprintf('************\nError: %sFrom line %d\n************\n',e.message,e.stack.line);
clear mex
end
try
MedianNeighborhoodX = NeighborhoodX;
MedianNeighborhoodY = NeighborhoodY;
MedianNeighborhoodZ = NeighborhoodZ;
......@@ -78,23 +65,13 @@ try
imageOut = CudaMex(sprintf('%s',kernelName),imageIn,[sigmaX,sigmaY,sigmaZ],[MedianNeighborhoodX,MedianNeighborhoodY,MedianNeighborhoodZ],device);
fprintf('%s took %f sec\n',kernelName,toc);
showIm(imageOut,kernelName);
catch e
fprintf('************\nError: %sFrom line %d\n************\n',e.message,e.stack.line);
clear mex
end
try
tic
kernelName = 'GaussianFilter';
imageOut = CudaMex(sprintf('%s',kernelName),imageIn,[sigmaX,sigmaY,sigmaZ],device);
fprintf('%s took %f sec\n',kernelName,toc);
showIm(imageOut,kernelName);
catch e
fprintf('************\nError: %sFrom line %d\n************\n',e.message,e.stack.line);
clear mex
end
try
tic
kernelName = 'Histogram';
histogram = CudaMex(sprintf('%s',kernelName),imageIn,device);
......@@ -102,143 +79,78 @@ try
figure
plot(1:255,histogram,'-');
title('Histogram');
catch e
fprintf('************\nError: %sFrom line %d\n************\n',e.message,e.stack.line);
clear mex
end
try
tic
kernelName = 'ImagePow';
imageOut = CudaMex(sprintf('%s',kernelName),imageIn,power,device);
fprintf('%s took %f sec\n',kernelName,toc);
showIm(imageOut,sprintf('%s with power %f',kernelName,double(power)));
catch e
fprintf('************\nError: %sFrom line %d\n************\n',e.message,e.stack.line);
clear mex
end
try
tic
kernelName = 'MaxFilterEllipsoid';
imageOut = CudaMex(sprintf('%s',kernelName),imageIn,[radiusX,radiusY,radiusZ],device);
fprintf('%s took %f sec\n',kernelName,toc);
showIm(imageOut,kernelName);
catch e
fprintf('************\nError: %sFrom line %d\n************\n',e.message,e.stack.line);
clear mex
end
try
tic
kernelName = 'MaxFilterKernel';
imageOut = CudaMex(sprintf('%s',kernelName),imageIn,kernel,device);
fprintf('%s took %f sec\n',kernelName,toc);
showIm(imageOut,kernelName);
catch e
fprintf('************\nError: %sFrom line %d\n************\n',e.message,e.stack.line);
clear mex
end
try
tic
kernelName = 'MaxFilterNeighborhood';
imageOut = CudaMex(sprintf('%s',kernelName),imageIn,[NeighborhoodX,NeighborhoodY,NeighborhoodZ],device);
fprintf('%s took %f sec\n',kernelName,toc);
showIm(imageOut,kernelName);
catch e
fprintf('************\nError: %sFrom line %d\n************\n',e.message,e.stack.line);
clear mex
end
try
tic
kernelName = 'MeanFilter';
imageOut = CudaMex(sprintf('%s',kernelName),imageIn,[NeighborhoodX,NeighborhoodY,NeighborhoodZ],device);
fprintf('%s took %f sec\n',kernelName,toc);
showIm(imageOut,kernelName);
catch e
fprintf('************\nError: %sFrom line %d\n************\n',e.message,e.stack.line);
clear mex
end
try
tic
kernelName = 'MedianFilter';
imageOut = CudaMex(sprintf('%s',kernelName),imageIn,[NeighborhoodX,NeighborhoodY,NeighborhoodZ],device);
fprintf('%s took %f sec\n',kernelName,toc);
showIm(imageOut,kernelName);
catch e
fprintf('************\nError: %sFrom line %d\n************\n',e.message,e.stack.line);
clear mex
end
try
tic
kernelName = 'MaxFilterEllipsoid';
imageOut = CudaMex(sprintf('%s',kernelName),imageIn,[radiusX,radiusY,radiusZ],device);
fprintf('%s took %f sec\n',kernelName,toc);
showIm(imageOut,kernelName);
catch e
fprintf('************\nError: %sFrom line %d\n************\n',e.message,e.stack.line);
clear mex
end
try
tic
kernelName = 'MinFilterKernel';
imageOut = CudaMex(sprintf('%s',kernelName),imageIn,kernel,device);
fprintf('%s took %f sec\n',kernelName,toc);
showIm(imageOut,kernelName);
catch e
fprintf('************\nError: %sFrom line %d\n************\n',e.message,e.stack.line);
clear mex
end
try
tic
kernelName = 'MinFilterNeighborhood';
imageOut = CudaMex(sprintf('%s',kernelName),imageIn,[NeighborhoodX,NeighborhoodY,NeighborhoodZ],device);
fprintf('%s took %f sec\n',kernelName,toc);
showIm(imageOut,kernelName);
catch e
fprintf('************\nError: %sFrom line %d\n************\n',e.message,e.stack.line);
clear mex
end
try
tic
kernelName = 'MultiplyImage';
imageOut = CudaMex(sprintf('%s',kernelName),imageIn,multiplier,device);
fprintf('%s took %f sec\n',kernelName,toc);
showIm(imageOut,sprintf('%s multiplier of %f',kernelName,double(multiplier)));
catch e
fprintf('************\nError: %sFrom line %d\n************\n',e.message,e.stack.line);
clear mex
end
try
tic
kernelName = 'MultiplyTwoImages';
imageOut = CudaMex(sprintf('%s',kernelName),imageIn1,imageIn2,factor,device);
fprintf('%s took %f sec\n',kernelName,toc);
showIm(imageOut,kernelName);
catch e
fprintf('************\nError: %sFrom line %d\n************\n',e.message,e.stack.line);
clear mex
end
try
tic
kernelName = 'NormalizedCovariance';
normalizedCovariance = CudaMex(sprintf('%s',kernelName),imageIn1,imageIn2,device);
fprintf('%s took %f sec and returned %f\n',kernelName,toc,normalizedCovariance);
catch e
fprintf('************\nError: %sFrom line %d\n************\n',e.message,e.stack.line);
clear mex
end
try
tic
kernelName = 'NormalizedHistogram';
histogram = CudaMex(sprintf('%s',kernelName),imageIn,device);
......@@ -246,33 +158,18 @@ try
figure
plot(1:255,histogram,'-');
title('Normalized Histogram');
catch e
fprintf('************\nError: %sFrom line %d\n************\n',e.message,e.stack.line);
clear mex
end
try
tic
kernelName = 'OtsuThesholdValue';
threshold = CudaMex(sprintf('%s',kernelName),imageIn,device);
fprintf('%s took %f sec and return a threshold of %f\n',kernelName,toc,double(threshold));
catch e
fprintf('************\nError: %sFrom line %d\n************\n',e.message,e.stack.line);
clear mex
end
try
tic
kernelName = 'OtsuThresholdFilter';
imageOut = CudaMex(sprintf('%s',kernelName),imageIn,alpha,device);
fprintf('%s took %f sec\n',kernelName,toc);
showIm(imageOut,kernelName);
catch e
fprintf('************\nError: %sFrom line %d\n************\n',e.message,e.stack.line);
clear mex
end
try
reductionFactorX = NeighborhoodX;
reductionFactorY = NeighborhoodY;
reductionFactorZ = NeighborhoodZ;
......@@ -281,22 +178,12 @@ try
imageOut = CudaMex(sprintf('%s',kernelName),imageIn,[reductionFactorX,reductionFactorY,reductionFactorZ],device);
fprintf('%s took %f sec\n',kernelName,toc);
showIm(imageOut,kernelName);
catch e
fprintf('************\nError: %sFrom line %d\n************\n',e.message,e.stack.line);
clear mex
end
try
tic
kernelName = 'SumArray';
sum = CudaMex(sprintf('%s',kernelName),imageIn,device);
fprintf('%s took %f sec and returned %f\n',kernelName,toc,sum);
catch e
fprintf('************\nError: %sFrom line %d\n************\n',e.message,e.stack.line);
clear mex
end
try
threshold = additive;
tic
kernelName = 'ThresholdFilter';
......@@ -306,6 +193,7 @@ try
catch e
fprintf('************\nError: %sFrom line %d\n************\n',e.message,e.stack.line);
clear mex
return
end
clear mex
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment