Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
vtkCalculateOversamplingFactor.h
Go to the documentation of this file.
1/*==============================================================================
2
3 Copyright (c) Laboratory for Percutaneous Surgery (PerkLab)
4 Queen's University, Kingston, ON, Canada. All Rights Reserved.
5
6 See COPYRIGHT.txt
7 or http://www.slicer.org/copyright/copyright.txt for details.
8
9 Unless required by applicable law or agreed to in writing, software
10 distributed under the License is distributed on an "AS IS" BASIS,
11 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 See the License for the specific language governing permissions and
13 limitations under the License.
14
15 This file was originally developed by Csaba Pinter, PerkLab, Queen's University
16 and was supported through the Applied Cancer Research Unit program of Cancer Care
17 Ontario with funds provided by the Ontario Ministry of Health and Long-Term Care
18
19==============================================================================*/
20
21// .NAME vtkCalculateOversamplingFactor - Calculate oversampling factor based on model properties
22// .SECTION Description
23
24#ifndef __vtkCalculateOversamplingFactor_h
25#define __vtkCalculateOversamplingFactor_h
26
27// VTK includes
28#include <vtkObject.h>
29#include <vtkMassProperties.h>
30#include <vtkPolyData.h>
31
32// SegmentationCore includes
34
35#include "vtkSegmentationCoreConfigure.h"
36
37class vtkPiecewiseFunction;
38
40class vtkSegmentationCore_EXPORT vtkCalculateOversamplingFactor : public vtkObject
41{
42public:
44 vtkTypeMacro(vtkCalculateOversamplingFactor, vtkObject);
45 void PrintSelf(ostream& os, vtkIndent indent) override;
46
47public:
51
56 static void ApplyOversamplingOnImageGeometry(vtkOrientedImageData* imageData, double oversamplingFactor);
57
58protected:
62
66
70
76 void ClipMembershipFunction(vtkPiecewiseFunction* membershipFunction, double clipValue);
77
78public:
79 vtkGetObjectMacro(InputPolyData, vtkPolyData);
80 vtkSetObjectMacro(InputPolyData, vtkPolyData);
81
84
85 vtkGetMacro(OutputOversamplingFactor, double);
86
87 vtkGetMacro(OutputRelativeStructureSize, double);
88 vtkGetMacro(OutputComplexityMeasure, double);
89 vtkGetMacro(OutputNormalizedShapeIndex, double);
90
91 vtkGetMacro(LogSpeedMeasurements, bool);
92 vtkSetMacro(LogSpeedMeasurements, bool);
93 vtkBooleanMacro(LogSpeedMeasurements, bool);
94
95protected:
96 vtkGetObjectMacro(MassPropertiesAlgorithm, vtkMassProperties);
97 vtkSetObjectMacro(MassPropertiesAlgorithm, vtkMassProperties);
98
99protected:
101 vtkPolyData* InputPolyData;
102
105
108
115
118
121 vtkMassProperties* MassPropertiesAlgorithm;
122
123protected:
126
127private:
129 void operator=(const vtkCalculateOversamplingFactor&) = delete;
130 //ETX
131};
132
133#endif
static vtkCalculateOversamplingFactor * New()
double OutputOversamplingFactor
Calculated oversampling factor for the segmentation node and its reference volume.
double OutputComplexityMeasure
Calculated complexity measure.
void ClipMembershipFunction(vtkPiecewiseFunction *membershipFunction, double clipValue)
~vtkCalculateOversamplingFactor() override
double OutputNormalizedShapeIndex
Calculated normalized shape index (NSI), for debugging purposes.
static void ApplyOversamplingOnImageGeometry(vtkOrientedImageData *imageData, double oversamplingFactor)
void PrintSelf(ostream &os, vtkIndent indent) override
double OutputRelativeStructureSize
Calculated relative structure size.
bool LogSpeedMeasurements
Flag telling whether the speed measurements are logged on standard output.
vtkPolyData * InputPolyData
Input poly data to rasterize.
vtkOrientedImageData * ReferenceGeometryImageData
Image containing the rasterization reference geometry.
Image data containing orientation information.