MITK-IGT
IGT Extension of MITK
Loading...
Searching...
No Matches
mitkOpenIGTLinkIGTLImageMessageFilterTest.cpp
Go to the documentation of this file.
1/*============================================================================
2
3The Medical Imaging Interaction Toolkit (MITK)
4
5Copyright (c) German Cancer Research Center (DKFZ)
6All rights reserved.
7
8Use of this source code is governed by a 3-clause BSD license that can be
9found in the LICENSE file.
10
11============================================================================*/
12
13#include <mitkTestingMacros.h>
14#include <mitkTestFixture.h>
16#include <mitkImageGenerator.h>
17#include <mitkImageReadAccessor.h>
18
19#include <igtlImageMessage.h>
20
21static unsigned int MIN_DIM = 1u;
22static unsigned int SMALL_DIM = 10u;
23static unsigned int MEDIUM_DIM = 300u;
24static unsigned int BIG_DIM = 3000u;
25
26class mitkOpenIGTLinkIGTLImageMessageFilterTestSuite : public mitk::TestFixture {
28 MITK_TEST(TestMinimumImage);
29 MITK_TEST(TestSmallImage);
30 MITK_TEST(TestMediumImage);
31 MITK_TEST(TestLargeImage);
32 CPPUNIT_TEST_SUITE_END();
33
34public:
35
36 mitk::ImageToIGTLMessageFilter::Pointer m_ImageToIGTLMessageFilter;
37 mitk::Image::Pointer m_TestImage;
38
39 void setUp() override
40 {
41 m_ImageToIGTLMessageFilter = mitk::ImageToIGTLMessageFilter::New();
42 }
43
44 void tearDown() override
45 {
47 m_TestImage = nullptr;
48 }
49
54
59
64
69
75 {
76 m_TestImage = mitk::ImageGenerator::GenerateGradientImage<unsigned char>(dim, dim, 1u);
77
79
80 m_ImageToIGTLMessageFilter->GenerateData();
81
82 mitk::IGTLMessage::Pointer resultMessage = m_ImageToIGTLMessageFilter->GetOutput();
83
84 CPPUNIT_ASSERT_MESSAGE("Output of ImageToIGTLMessageFilter was null", resultMessage != nullptr);
85
86 igtl::MessageBase::Pointer msgBase = resultMessage->GetMessage();
87 igtl::ImageMessage* igtlImageMessage = (igtl::ImageMessage*)(msgBase.GetPointer());
88
89 CPPUNIT_ASSERT_MESSAGE("Output of ImageToIGTLMessageFilter was not of type igtl::ImageMessage", igtlImageMessage != nullptr);
90
91 const void* outputBuffer = igtlImageMessage->GetScalarPointer();
92
93 CPPUNIT_ASSERT_MESSAGE("Output Buffer was null", outputBuffer != nullptr);
94
95 mitk::ImageReadAccessor readAccess(m_TestImage, m_TestImage->GetChannelData(0));
96 const void* inputBuffer = readAccess.GetData();
97
98 CPPUNIT_ASSERT_MESSAGE("Input Buffer was null", inputBuffer != nullptr);
99
100 CPPUNIT_ASSERT_MESSAGE("Images were not identical", memcmp(inputBuffer, outputBuffer, dim*dim) == 0);
101 }
102};
103
104MITK_TEST_SUITE_REGISTRATION(mitkOpenIGTLinkIGTLImageMessageFilter)