ITK  5.0.0
Insight Segmentation and Registration Toolkit
itkSegmentationVolumeEstimator.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: itkSegmentationVolumeEstimator.h
5  Language: C++
6  Date: $Date$
7  Version: $Revision$
8 
9  Copyright (c) Insight Software Consortium. All rights reserved.
10  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
11 
12  This software is distributed WITHOUT ANY WARRANTY; without even
13  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14  PURPOSE. See the above copyright notices for more information.
15 
16 =========================================================================*/
17 #ifndef itkSegmentationVolumeEstimator_h
18 #define itkSegmentationVolumeEstimator_h
19 
20 #include "itkImage.h"
21 #include "itkImageSpatialObject.h"
23 
24 namespace itk
25 {
26 
37 template <unsigned int NDimension>
38 class ITK_TEMPLATE_EXPORT SegmentationVolumeEstimator : public ProcessObject
39 {
40 public:
41  ITK_DISALLOW_COPY_AND_ASSIGN(SegmentationVolumeEstimator);
42 
48 
53 
55  static constexpr unsigned int Dimension = NDimension;
56 
62 
66  void SetInput( const SpatialObjectType * inputSpatialObject );
67 
69  using RealType = double;
71 
76  RealType GetVolume() const;
77  const RealObjectType * GetVolumeOutput() const;
79 
80 
81 protected:
83  ~SegmentationVolumeEstimator() override;
84  void PrintSelf(std::ostream& os, Indent indent) const override;
85 
88  void GenerateData() override;
89 };
90 
91 } // end namespace itk
92 
93 #ifndef ITK_MANUAL_INSTANTIATION
94 # include "itkSegmentationVolumeEstimator.hxx"
95 #endif
96 
97 #endif
Class for estimating the volume of a segmentation stored in a SpatialObject.
Light weight base class for most itk classes.
typename SpatialObjectType::ConstPointer SpatialObjectConstPointer
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
class ITK_FORWARD_EXPORT ProcessObject
Definition: itkDataObject.h:40
Decorates any &quot;simple&quot; data type (data types without smart pointers) with a DataObject API...
Class that generates features (typically images) used as input for a segmentation method...
Implementation of the composite pattern.
virtual void SetInput(const DataObjectIdentifierType &key, DataObject *input)
Protected method for setting indexed and named inputs.
typename SpatialObjectType::Pointer SpatialObjectPointer
Control indentation during Print() invocation.
Definition: itkIndent.h:49