VTK
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
dox
Graphics
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 "
vtkDijkstraGraphGeodesicPath.h
"
56
57
class
vtkImageData
;
58
59
class
VTK_GRAPHICS_EXPORT
vtkDijkstraImageGeodesicPath
:
60
public
vtkDijkstraGraphGeodesicPath
61
{
62
public
:
63
65
static
vtkDijkstraImageGeodesicPath
*
New
();
66
68
69
vtkTypeMacro(
vtkDijkstraImageGeodesicPath
,
vtkDijkstraGraphGeodesicPath
);
70
void
PrintSelf
( ostream& os,
vtkIndent
indent );
72
74
75
void
SetInput
(
vtkDataObject
* );
76
vtkImageData
* GetInputAsImageData();
78
80
81
void
SetImageWeight(
double
);
82
vtkGetMacro( ImageWeight,
double
);
84
86
87
void
SetEdgeLengthWeight(
double
);
88
vtkGetMacro( EdgeLengthWeight,
double
);
90
92
93
vtkSetClampMacro( CurvatureWeight,
double
, 0.0, 1.0 );
94
vtkGetMacro( CurvatureWeight,
double
);
96
97
protected
:
98
vtkDijkstraImageGeodesicPath
();
99
~
vtkDijkstraImageGeodesicPath
();
100
101
virtual
int
FillInputPortInformation
(
int
port
,
vtkInformation
*
info
);
102
virtual
int
RequestData
(
vtkInformation
*,
vtkInformationVector
**,
103
vtkInformationVector
*);
104
105
// Build a graph description of the image
106
virtual
void
BuildAdjacency
(
vtkDataSet
*inData );
107
108
// Update static costs without rebuilding adjacencyh when static weights change
109
void
UpdateStaticCosts(
vtkImageData
*
image
);
110
111
// Override parent class methods.
112
virtual
double
CalculateStaticEdgeCost
(
vtkDataSet
*inData ,
vtkIdType
u,
vtkIdType
v);
113
virtual
double
CalculateDynamicEdgeCost
(
vtkDataSet
*inData ,
vtkIdType
u,
vtkIdType
v);
114
115
double
PixelSize
;
116
double
ImageWeight
;
117
double
EdgeLengthWeight
;
118
double
CurvatureWeight
;
119
bool
RebuildStaticCosts
;
120
121
private
:
122
vtkDijkstraImageGeodesicPath
(
const
vtkDijkstraImageGeodesicPath
&);
// Not implemented.
123
void
operator=(
const
vtkDijkstraImageGeodesicPath
&);
// Not implemented.
124
125
};
126
127
#endif
128
Generated on Wed May 30 2012 13:21:59 for VTK by
1.8.1