MaximumDistance is left in vtkImageEuclideanDistance when ConsiderAnisotropy is On
This issue was created automatically from an original Mantis Issue. Further discussion may take place here.
The following script should show a concentric distance map, but a very high value is shown spuriously on it.
vtkSphere sphere vtkSampleFunction sample sample SetImplicitFunction sphere vtkImageThreshold thresh thresh SetInput [sample GetOutput] thresh ThresholdByUpper 0 thresh SetInValue 1 thresh SetOutValue 0 vtkImageEuclideanDistance distan distan SetInput [thresh GetOutput] vtkImageViewer viewer viewer SetInput [distan GetOutput] viewer SetColorWindow 2 viewer SetColorLevel 1 viewer Render
In vtkImageEuclideanDistance, the default MaximumDistance is VTK_INT_MAX. The spurious parts keep the value unprocessed. Though I couldn't understand the algorithm, I found suspect lines in vtkImageEuclideanDistance.cxx : b=(int)(floor)((((buff[idx0]-buffer)/spacing)-1)/2);
The variables buff[idx0] and buffer seem to be set squared distances. It's strange to divide only once by spacing. Moreover, if one of these variables was VTK_INT_MAX and spacing<<1, the result would overflow.