Skip to content

Commit 672cd8c

Browse files
committed
Added ImageInverter test
1 parent c01c24f commit 672cd8c

File tree

5 files changed

+21
-16
lines changed

5 files changed

+21
-16
lines changed

source/FAST/Algorithms/ImageInverter/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@ fast_add_sources(
22
ImageInverter.cpp
33
ImageInverter.hpp
44
)
5+
fast_add_test_sources(ImageInverterTests.cpp)
56
fast_add_process_object(ImageInverter ImageInverter.hpp)

source/FAST/Algorithms/ImageInverter/ImageInverter.cpp

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -49,22 +49,14 @@ void ImageInverter::execute() {
4949
cl::NullRange
5050
);
5151
} else {
52-
cl::Program program = getOpenCLProgram(device, "2D");
53-
cl::Kernel kernel(program, "invert2D");
52+
auto kernel = getKernel("invert2D", "2D");
5453

55-
auto access = input->getOpenCLImageAccess(ACCESS_READ, device);
56-
auto access2 = output->getOpenCLImageAccess(ACCESS_READ_WRITE, device);
57-
kernel.setArg(0, *access->get2DImage());
58-
kernel.setArg(1, *access2->get2DImage());
59-
kernel.setArg(2, min);
60-
kernel.setArg(3, max);
54+
kernel.setArg("input", input);
55+
kernel.setArg("output", output);
56+
kernel.setArg("min", min);
57+
kernel.setArg("max", max);
6158

62-
queue.enqueueNDRangeKernel(
63-
kernel,
64-
cl::NullRange,
65-
cl::NDRange(size.x(), size.y()),
66-
cl::NullRange
67-
);
59+
getQueue().add(kernel, size);
6860
}
6961
addOutputData(0, output);
7062
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#include "ImageInverter.hpp"
2+
#include <FAST/Testing.hpp>
3+
#include <FAST/Importers/ImageFileImporter.hpp>
4+
5+
using namespace fast;
6+
7+
TEST_CASE("ImageInverter 2D", "[fast][ImageInverter]") {
8+
auto importer = ImageFileImporter::create(Config::getTestDataPath() + "US/Heart/ApicalFourChamber/US-2D_0.mhd");
9+
10+
auto inverter = ImageInverter::create()->connect(importer);
11+
inverter->run();
12+
}

source/FAST/Python/Tests/opencl_kernel.cl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ __const sampler_t sampler = CLK_NORMALIZED_COORDS_FALSE | CLK_FILTER_NEAREST | C
22
__kernel void invert(
33
__read_only image2d_t input,
44
__write_only image2d_t output,
5-
__private uint max
5+
__private int max
66
) {
77
int2 pos = {get_global_id(0), get_global_id(1)};
88
int value = read_imageui(input, sampler, pos).x;

source/FAST/Python/Tests/test_opencl.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ def __init__(self, useIndex=False, missingArgument=False, loadFromFile=False):
2222
__kernel void invert(
2323
__read_only image2d_t input,
2424
__write_only image2d_t output,
25-
__private uint max
25+
__private int max
2626
) {
2727
int2 pos = {get_global_id(0), get_global_id(1)};
2828
int value = read_imageui(input, sampler, pos).x;

0 commit comments

Comments
 (0)