VTK
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
dox
Filters
Modeling
vtkDijkstraImageGeodesicPath.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Visualization Toolkit
4
Module: vtkDijkstraImageGeodesicPath.h
5
6
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7
All rights reserved.
8
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10
This software is distributed WITHOUT ANY WARRANTY; without even
11
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12
PURPOSE. See the above copyright notice for more information.
13
14
=========================================================================*/
52
#ifndef __vtkDijkstraImageGeodesicPath_h
53
#define __vtkDijkstraImageGeodesicPath_h
54
55
#include "vtkFiltersModelingModule.h"
// For export macro
56
#include "
vtkDijkstraGraphGeodesicPath.h
"
57
58
class
vtkImageData
;
59
60
class
VTKFILTERSMODELING_EXPORT
vtkDijkstraImageGeodesicPath
:
61
public
vtkDijkstraGraphGeodesicPath
62
{
63
public
:
64
66
static
vtkDijkstraImageGeodesicPath
*
New
();
67
69
70
vtkTypeMacro(
vtkDijkstraImageGeodesicPath
,
vtkDijkstraGraphGeodesicPath
);
71
void
PrintSelf
( ostream& os,
vtkIndent
indent );
73
75
76
void
SetInputData
(
vtkDataObject
* );
77
vtkImageData
* GetInputAsImageData();
79
81
82
void
SetImageWeight(
double
);
83
vtkGetMacro( ImageWeight,
double
);
85
87
88
void
SetEdgeLengthWeight(
double
);
89
vtkGetMacro( EdgeLengthWeight,
double
);
91
93
94
vtkSetClampMacro( CurvatureWeight,
double
, 0.0, 1.0 );
95
vtkGetMacro( CurvatureWeight,
double
);
97
98
protected
:
99
vtkDijkstraImageGeodesicPath
();
100
~
vtkDijkstraImageGeodesicPath
();
101
102
virtual
int
FillInputPortInformation
(
int
port
,
vtkInformation
*
info
);
103
virtual
int
RequestData
(
vtkInformation
*,
vtkInformationVector
**,
104
vtkInformationVector
*);
105
106
// Build a graph description of the image
107
virtual
void
BuildAdjacency
(
vtkDataSet
*inData );
108
109
// Update static costs without rebuilding adjacencyh when static weights change
110
void
UpdateStaticCosts(
vtkImageData
*
image
);
111
112
// Override parent class methods.
113
virtual
double
CalculateStaticEdgeCost
(
vtkDataSet
*inData ,
vtkIdType
u,
vtkIdType
v);
114
virtual
double
CalculateDynamicEdgeCost
(
vtkDataSet
*inData ,
vtkIdType
u,
vtkIdType
v);
115
116
double
PixelSize
;
117
double
ImageWeight
;
118
double
EdgeLengthWeight
;
119
double
CurvatureWeight
;
120
bool
RebuildStaticCosts
;
121
122
private
:
123
vtkDijkstraImageGeodesicPath
(
const
vtkDijkstraImageGeodesicPath
&);
// Not implemented.
124
void
operator=(
const
vtkDijkstraImageGeodesicPath
&);
// Not implemented.
125
126
};
127
128
#endif
129
Generated on Thu May 24 2012 22:22:22 for VTK by
1.8.1