Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitkNodePredicateGeometry.h
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 #ifndef mitkNodePredicateGeometry_h
14 #define mitkNodePredicateGeometry_h
15 
16 #include <mitkNodePredicateBase.h>
17 #include <mitkBaseGeometry.h>
18 #include <mitkTimeGeometry.h>
19 
20 namespace mitk
21 {
22  class BaseData;
23 
53  {
54  public:
59 
65 
66  itkSetMacro(CheckCoordinatePrecision, mitk::ScalarType);
67  itkGetMacro(CheckCoordinatePrecision, mitk::ScalarType);
68 
69  itkSetMacro(CheckDirectionPrecision, mitk::ScalarType);
70  itkGetMacro(CheckDirectionPrecision, mitk::ScalarType);
71 
74 
80  bool CheckNode(const mitk::DataNode *node) const override;
81 
82  protected:
83 
88  NodePredicateGeometry(const BaseGeometry* refGeometry);
89 
95  NodePredicateGeometry(const BaseGeometry* refGeometry, TimePointType relevantTimePoint);
96 
101  NodePredicateGeometry(const TimeGeometry* refGeometry);
102 
103  BaseGeometry::ConstPointer m_RefGeometry;
104  TimeGeometry::ConstPointer m_RefTimeGeometry;
112  };
113 
122 
131 
132 } // namespace mitk
133 
134 #endif
#define MITKCORE_EXPORT
Abstract base class describing the geometry of a data object.
Central node class of the MITK data tree, associating a data object with properties and mappers.
Definition: mitkDataNode.h:72
Abstract base class for predicates used to filter DataNode objects in DataStorage queries.
Predicate that evaluates if the given DataNode's data object has the same geometry (in terms of spaci...
~NodePredicateGeometry() override
Standard Destructor.
void SetCheckPrecision(mitk::ScalarType precision)
Sets both CheckCoordinatePrecision and CheckDirectionPrecision to the passed value.
bool m_UseTimePoint
Indicates if m_TimePoint should be regarded or always the first timestep should be used.
NodePredicateGeometry(const BaseGeometry *refGeometry)
Constructor that checks the reference geometry against the first data timepoint.
NodePredicateGeometry(const BaseGeometry *refGeometry, TimePointType relevantTimePoint)
Constructor that checks the reference geometry against a specific timepoint.
TimeGeometry::ConstPointer m_RefTimeGeometry
mitkClassMacro(NodePredicateGeometry, NodePredicateBase)
mitkNewMacro1Param(NodePredicateGeometry, const TimeGeometry *)
mitkNewMacro1Param(NodePredicateGeometry, const BaseGeometry *)
BaseGeometry::ConstPointer m_RefGeometry
NodePredicateGeometry(const TimeGeometry *refGeometry)
Constructor that checks against the whole time geometry.
mitk::ScalarType m_CheckCoordinatePrecision
Precision that should be used for the equal coordinate checks.
bool CheckNode(const mitk::DataNode *node) const override
Checks if the node's data geometry matches the reference geometry.
mitkNewMacro2Param(NodePredicateGeometry, const BaseGeometry *, TimePointType)
mitk::ScalarType m_CheckDirectionPrecision
Precision that should be used for the equal direction checks.
Find image slices visible on a given plane.
constexpr double NODE_PREDICATE_GEOMETRY_DEFAULT_CHECK_DIRECTION_PRECISION
The default tolerance for the comparison of direction matrix equality.
constexpr double NODE_PREDICATE_GEOMETRY_DEFAULT_CHECK_COORDINATE_PRECISION
The default tolerance for the comparison of spatial/world coordinate equality.
mitk::ScalarType TimePointType
Type for time point values in milliseconds (ms).
double ScalarType
Scalar type used throughout MITK for geometric computations.