Medical Imaging Interaction Toolkit
2023.04.00
Medical Imaging Interaction Toolkit
mitkBooleanOperation.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 mitkBooleanOperation_h
14
#define mitkBooleanOperation_h
15
16
#include <
MitkSegmentationExports.h
>
17
#include <
mitkLabelSetImage.h
>
18
19
namespace
mitk
20
{
26
class
MITKSEGMENTATION_EXPORT
BooleanOperation
27
{
28
public
:
29
enum
Type
30
{
31
None
,
32
Difference
,
33
Intersection
,
34
Union
35
};
36
37
/* \brief Construct a boolean operation.
38
*
39
* Throws an mitk::Exception when segmentations are somehow invalid.
40
*
41
* \param[in] type The type of the boolean operation.
42
* \param[in] segmentationA The first operand of the boolean operation.
43
* \param[in] segmentationB The second operand of the boolean operation.
44
* \param[in] The time point at which the operation will be executed.
45
*/
46
BooleanOperation
(Type type,
Image::Pointer
segmentationA,
Image::Pointer
segmentationB,
TimePointType
time = 0.);
47
~
BooleanOperation
();
48
49
/* \brief Execute boolean operation and return resulting segmentation.
50
*
51
* \return The resulting segmentation.
52
*/
53
LabelSetImage::Pointer
GetResult()
const
;
54
55
private
:
56
BooleanOperation
(
const
BooleanOperation
&);
57
BooleanOperation
&operator=(
const
BooleanOperation
&);
58
59
LabelSetImage::Pointer
GetDifference()
const
;
60
LabelSetImage::Pointer
GetIntersection()
const
;
61
LabelSetImage::Pointer
GetUnion()
const
;
62
63
void
ValidateSegmentation(
Image::Pointer
segmentation)
const
;
64
void
ValidateSegmentations()
const
;
65
66
Type m_Type;
67
Image::Pointer
m_SegmentationA;
68
Image::Pointer
m_SegmentationB;
69
TimePointType
m_TimePoint;
70
};
71
}
72
73
#endif
mitk::BooleanOperation::None
@ None
Definition:
mitkBooleanOperation.h:31
mitk::BooleanOperation
Executes a boolean operation on two different segmentations.
Definition:
mitkBooleanOperation.h:26
mitk::BooleanOperation::Type
Type
Definition:
mitkBooleanOperation.h:29
itk::SmartPointer< Self >
mitk::BooleanOperation::Intersection
@ Intersection
Definition:
mitkBooleanOperation.h:33
mitk
DataCollection - Class to facilitate loading/accessing structured data.
Definition:
RenderingTests.dox:1
MITKSEGMENTATION_EXPORT
#define MITKSEGMENTATION_EXPORT
Definition:
MitkSegmentationExports.h:15
mitk::TimePointType
mitk::ScalarType TimePointType
Definition:
mitkTimeGeometry.h:26
MitkSegmentationExports.h
mitk::BooleanOperation::Difference
@ Difference
Definition:
mitkBooleanOperation.h:32
mitkLabelSetImage.h
src
MITK
Modules
Segmentation
SegmentationUtilities
BooleanOperations
mitkBooleanOperation.h
Generated on Wed May 17 2023 16:26:04 for Medical Imaging Interaction Toolkit by
1.8.17