    subsample_smoothed = vtkImageShrink3D()
    subsample_smoothed.SetInputConnection(smooth.GetOutputPort())
    subsample_smoothed.SetShrinkFactors(4, 4, 1)

    iso_smoothed = vtkImageMarchingCubes()
    iso_smoothed.SetInputConnection(smooth.GetOutputPort())
--
    subsample = vtkImageShrink3D()
    subsample.SetInputConnection(reader.GetOutputPort())
    subsample.SetShrinkFactors(4, 4, 1)

    iso = vtkImageMarchingCubes()
    iso.SetInputConnection(subsample.GetOutputPort())
--
    shrinker = vtkImageShrink3D()
    shrinker.SetInputConnection(last_connection.GetOutputPort())
    shrinker.SetShrinkFactors(sample_rate)
    shrinker.AveragingOn()
    last_connection = shrinker

