I am using vtkContourFilter with 3D vtkImageData (unsigned char scalars) as it's input. I am able to get the pipeline to work, but I am wondering if I can define the distance the filter uses to segment surfaces with the same scalar value. It appears the filter is creating a single surface for a given contour value instead of multiple surfaces when they are far apart.
After further research it appears using multiple contours with vtkContourFilter does not function the way I originally thought. I assumed if I set a contour value, lets say 80.0, that it would only render surfaces with that scalar value from the image data. It appears that it renders surfaces for any scalar value equal to or above 80.0. With my scalar range from 0 to 254.0 it means that a surface is created from scalars of between 80.0 to 254.0 inclusive. Is there another filter that will render an isosurface for a discrete scalar value?
I have tried vtkDiscreteMarchingCubes but it doesn't give the results I intended. Here is a screenshot: