Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
mitkImageVtkMapper2DLevelWindowTest.cpp
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 // MITK
15 #include "mitkTestingMacros.h"
16 #include <mitkLevelWindowPreset.h>
18 
19 // VTK
20 #include <vtkRegressionTestImage.h>
21 
22 int mitkImageVtkMapper2DLevelWindowTest(int argc, char *argv[])
23 {
24  try
25  {
26  mitk::RenderingTestHelper openGlTest(640, 480);
27  }
28  catch (const mitk::TestNotRunException &e)
29  {
30  MITK_WARN << "Test not run: " << e.GetDescription();
31  return 77;
32  }
33  // load all arguments into a datastorage, take last argument as reference rendering
34  // setup a renderwindow of fixed size X*Y
35  // render the datastorage
36  // compare rendering to reference image
37  MITK_TEST_BEGIN("mitkImageVtkMapper2DTest")
38 
39  mitk::RenderingTestHelper renderingHelper(640, 480, argc, argv);
40  // chose a level window: here we randomly chosen the blood preset.
42  bool loadedPreset = levelWindowPreset->LoadPreset();
43  MITK_TEST_CONDITION_REQUIRED(loadedPreset == true, "Testing if level window preset could be loaded");
44  double level = levelWindowPreset->getLevel("Blood");
45  double window = levelWindowPreset->getWindow("Blood");
46  levelWindowPreset->Delete();
47  // apply level window to all images
48  renderingHelper.SetImageProperty("levelwindow", mitk::LevelWindowProperty::New(mitk::LevelWindow(level, window)));
49  // for now this test renders Sagittal
51 
52  //### Usage of CompareRenderWindowAgainstReference: See docu of mitkRrenderingTestHelper
53  MITK_TEST_CONDITION(renderingHelper.CompareRenderWindowAgainstReference(argc, argv) == true,
54  "CompareRenderWindowAgainstReference test result positive?");
55 
56  // use this to generate a reference screenshot or save the file:
57  if (false)
58  {
59  renderingHelper.SaveReferenceScreenShot("/media/hdd/thomasHdd/Pictures/tmp/output1.png");
60  }
61 
62  MITK_TEST_END();
63 }
void SetViewDirection(mitk::SliceNavigationController::ViewDirection viewDirection)
Set the view direction of the renderwindow (e.g. sagittal, coronal, axial)
static Pointer New()
#define MITK_TEST_CONDITION_REQUIRED(COND, MSG)
section GeneralTestsDeprecatedOldTestingStyle Deprecated macros All tests with MITK_TEST_BEGIN()
void SaveReferenceScreenShot(std::string fileName)
SaveReferenceScreenShot Convenience method to save a reference screen shot.
bool CompareRenderWindowAgainstReference(int argc, char *argv[], double threshold=10.0)
CompareRenderWindowAgainstReference Convenience method to compare the image rendered in the internal ...
void SetImageProperty(const char *propertyKey, mitk::BaseProperty *property)
This method set the property of the member datastorage.
The LevelWindow class Class to store level/window values.
#define MITK_WARN
Definition: mitkLogMacros.h:19
#define MITK_TEST_CONDITION(COND, MSG)
Specialized mitk::Exception for skipped tests.
int mitkImageVtkMapper2DLevelWindowTest(int argc, char *argv[])
double getWindow(std::string window)
static LevelWindowPreset * New()
and MITK_TEST_END()
double getLevel(std::string name)