MCPcopy Create free account
hub / github.com/Kitware/VTK / CalculateStaticEdgeCost

Method CalculateStaticEdgeCost

Filters/Modeling/vtkDijkstraImageGeodesicPath.cxx:155–182  ·  view source on GitHub ↗

------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

153
154//------------------------------------------------------------------------------
155double vtkDijkstraImageGeodesicPath::CalculateStaticEdgeCost(
156 vtkDataSet* inData, vtkIdType u, vtkIdType v)
157{
158 vtkImageData* image = vtkImageData::SafeDownCast(inData);
159
160 double p1[3];
161 image->GetPoint(u, p1);
162 double p2[3];
163 image->GetPoint(v, p2);
164
165 double pcoords[3];
166 int ijk1[3];
167 int ijk2[3];
168 image->ComputeStructuredCoordinates(p1, ijk1, pcoords);
169 image->ComputeStructuredCoordinates(p2, ijk2, pcoords);
170
171 double cost = this->ImageWeight *
172 (image->GetScalarComponentAsDouble(ijk1[0], ijk1[1], ijk1[2], 0) +
173 image->GetScalarComponentAsDouble(ijk1[0], ijk1[1], ijk1[2], 0));
174
175 if (this->EdgeLengthWeight != 0.0)
176 {
177 cost +=
178 this->EdgeLengthWeight * (sqrt(vtkMath::Distance2BetweenPoints(p1, p2)) / this->PixelSize);
179 }
180
181 return cost;
182}
183
184//------------------------------------------------------------------------------
185double vtkDijkstraImageGeodesicPath::CalculateDynamicEdgeCost(

Callers 2

BuildAdjacencyMethod · 0.95
UpdateStaticCostsMethod · 0.95

Calls 4

sqrtFunction · 0.50
GetPointMethod · 0.45

Tested by

no test coverage detected