Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
mitkImageStatisticsPredicateHelper.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 
14 
15 #include <mitkNodePredicateAnd.h>
16 #include <mitkNodePredicateOr.h>
19 #include <mitkNodePredicateNot.h>
20 
21 namespace mitk
22 {
23 
25  {
26  auto hasHelperObjectProperty = mitk::NodePredicateProperty::New("helper object", nullptr);
27  auto isNoHelperObject = mitk::NodePredicateNot::New(hasHelperObjectProperty);
28  return isNoHelperObject.GetPointer();
29  }
30 
32  {
33  auto isImage = mitk::NodePredicateDataType::New("Image");
34  auto hasBinaryProperty = mitk::NodePredicateProperty::New("binary", mitk::BoolProperty::New(true));
35  auto isNotBinary = mitk::NodePredicateNot::New(hasBinaryProperty);
36  auto isNotBinaryImage = mitk::NodePredicateAnd::New(isImage, isNotBinary);
37  auto isNoHelperObjectPredicate = GetNoHelperObjectPredicate();
38 
39  auto isImageForImageStatistics = mitk::NodePredicateAnd::New(isNotBinaryImage, isNoHelperObjectPredicate);
40  return isImageForImageStatistics.GetPointer();
41  }
42 
44  {
45  auto isImage = mitk::NodePredicateDataType::New("Image");
46  auto isLabelSetImage = mitk::NodePredicateDataType::New("LabelSetImage");
47  auto hasBinaryProperty = mitk::NodePredicateProperty::New("binary", mitk::BoolProperty::New(true));
48  auto isBinaryImage = mitk::NodePredicateAnd::New(isImage, hasBinaryProperty);
49  auto isNoHelperObjectPredicate = GetNoHelperObjectPredicate();
50 
51  auto isLabelSetOrBinaryImage = mitk::NodePredicateOr::New(isLabelSetImage, isBinaryImage);
52  auto isMaskForImageStatistics = mitk::NodePredicateAnd::New(isLabelSetOrBinaryImage, isNoHelperObjectPredicate);
53  return isMaskForImageStatistics.GetPointer();
54  }
55 
57  {
58  auto isPlanarCircle = mitk::NodePredicateDataType::New("PlanarCircle");
59  auto isPlanarRectangle = mitk::NodePredicateDataType::New("PlanarRectangle");
60  auto isPlanarEllipse = mitk::NodePredicateDataType::New("PlanarEllipse");
61  auto isPlanarDoubleEllipse = mitk::NodePredicateDataType::New("PlanarDoubleEllipse");
62  auto isPlanarPolygon = mitk::NodePredicateDataType::New("PlanarPolygon");
63  auto isPlanarSubdivisionPolygon = mitk::NodePredicateDataType::New("PlanarSubdivisionPolygon");
64  auto isPlanarBezierCurve = mitk::NodePredicateDataType::New("PlanarBezierCurve");
65  auto isPlanarLine = mitk::NodePredicateDataType::New("PlanarLine");
66  auto isNoHelperObjectPredicate = GetNoHelperObjectPredicate();
67 
68  auto isPlanarFigureForImageStatistics = mitk::NodePredicateOr::New(isPlanarCircle, isPlanarEllipse);
69  isPlanarFigureForImageStatistics = mitk::NodePredicateOr::New(isPlanarFigureForImageStatistics, isPlanarRectangle);
70  isPlanarFigureForImageStatistics = mitk::NodePredicateOr::New(isPlanarFigureForImageStatistics, isPlanarDoubleEllipse);
71  isPlanarFigureForImageStatistics = mitk::NodePredicateOr::New(isPlanarFigureForImageStatistics, isPlanarPolygon);
72  isPlanarFigureForImageStatistics = mitk::NodePredicateOr::New(isPlanarFigureForImageStatistics, isPlanarSubdivisionPolygon);
73  isPlanarFigureForImageStatistics = mitk::NodePredicateOr::New(isPlanarFigureForImageStatistics, isPlanarBezierCurve);
74  isPlanarFigureForImageStatistics = mitk::NodePredicateOr::New(isPlanarFigureForImageStatistics, isPlanarLine);
75  auto isPlanarFigureAndNoHelperForImageStatistics = mitk::NodePredicateAnd::New(isPlanarFigureForImageStatistics, isNoHelperObjectPredicate);
76 
77  return isPlanarFigureAndNoHelperForImageStatistics.GetPointer();
78  }
79 }
mitk::NodePredicateBase::Pointer GetImageStatisticsPlanarFigurePredicate()
Gets a predicate for the ImageStatistics plugin planar figure.
static Pointer New()
mitk::NodePredicateBase::Pointer GetImageStatisticsImagePredicate()
Gets a predicate for the ImageStatistics plugin input image.
static Pointer New()
DataCollection - Class to facilitate loading/accessing structured data.
mitk::NodePredicateBase::Pointer GetImageStatisticsMaskPredicate()
Gets a predicate for the ImageStatistics plugin input mask.
static Pointer New()
static Pointer New(const mitk::NodePredicateBase *_arg)
static Pointer New(const char *_arg)
static Pointer New(const char *_arg)
mitk::NodePredicateBase::Pointer GetNoHelperObjectPredicate()