ITKSphinxExamples icon indicating copy to clipboard operation
ITKSphinxExamples copied to clipboard

The example BasicRegionGrowing fails to compile

Open yurivict opened this issue 3 years ago • 2 comments

This example fails:

/disk-samsung/freebsd-ports/science/InsightToolkit/BasicRegionGrowing/Code.cxx:48:15: error: no member named 'SetLower' in 'itk::Object'
  regionGrow->SetLower(lower);
  ~~~~~~~~~~~~^
/disk-samsung/freebsd-ports/science/InsightToolkit/BasicRegionGrowing/Code.cxx:49:15: error: no member named 'SetUpper' in 'itk::Object'
  regionGrow->SetUpper(upper);
  ~~~~~~~~~~~~^
/disk-samsung/freebsd-ports/science/InsightToolkit/BasicRegionGrowing/Code.cxx:51:15: error: no member named 'SetReplaceValue' in 'itk::Object'
  regionGrow->SetReplaceValue(255);
  ~~~~~~~~~~~~^
/disk-samsung/freebsd-ports/science/InsightToolkit/BasicRegionGrowing/Code.cxx:57:15: error: no member named 'SetSeed' in 'itk::Object'
  regionGrow->SetSeed(seed1);
  ~~~~~~~~~~~~^
/disk-samsung/freebsd-ports/science/InsightToolkit/BasicRegionGrowing/Code.cxx:58:15: error: no member named 'SetInput' in 'itk::Object'
  regionGrow->SetInput(image);
  ~~~~~~~~~~~~^
/disk-samsung/freebsd-ports/science/InsightToolkit/BasicRegionGrowing/Code.cxx:64:15: error: no member named 'SetSeed' in 'itk::Object'
  regionGrow->SetSeed(seed2);
  ~~~~~~~~~~~~^
/disk-samsung/freebsd-ports/science/InsightToolkit/BasicRegionGrowing/Code.cxx:65:15: error: no member named 'SetReplaceValue' in 'itk::Object'
  regionGrow->SetReplaceValue(150);
  ~~~~~~~~~~~~^
/disk-samsung/freebsd-ports/science/InsightToolkit/BasicRegionGrowing/Code.cxx:67:15: error: no member named 'SetInput' in 'itk::Object'
  regionGrow->SetInput(image);
  ~~~~~~~~~~~~^
/disk-samsung/freebsd-ports/science/InsightToolkit/BasicRegionGrowing/Code.cxx:72:24: error: use of undeclared identifier 'image2'; did you mean 'image'?
  connector2->SetInput(image2);
                       ^~~~~~
                       image
/disk-samsung/freebsd-ports/science/InsightToolkit/BasicRegionGrowing/Code.cxx:41:8: note: 'image' declared here
  auto image = ImageType::New();
       ^
/disk-samsung/freebsd-ports/science/InsightToolkit/BasicRegionGrowing/Code.cxx:75:11: error: no member named 'SetInput' in 'vtkImageActor'
  actor2->SetInput(connector2->GetOutput());
  ~~~~~~~~^
/disk-samsung/freebsd-ports/science/InsightToolkit/BasicRegionGrowing/Code.cxx:79:26: error: use of undeclared identifier 'addFilter'
  addConnector->SetInput(addFilter->GetOutput());
                         ^
/disk-samsung/freebsd-ports/science/InsightToolkit/BasicRegionGrowing/Code.cxx:82:13: error: no member named 'SetInput' in 'vtkImageActor'
  addActor->SetInput(addConnector->GetOutput());
  ~~~~~~~~~~^
/disk-samsung/freebsd-ports/science/InsightToolkit/BasicRegionGrowing/Code.cxx:114:26: error: use of undeclared identifier 'actor1'; did you mean 'actor2'?
  leftRenderer->AddActor(actor1);
                         ^~~~~~
                         actor2
/disk-samsung/freebsd-ports/science/InsightToolkit/BasicRegionGrowing/Code.cxx:74:34: note: 'actor2' declared here
  vtkSmartPointer<vtkImageActor> actor2 = vtkSmartPointer<vtkImageActor>::New();
                                 ^

Version: 5.3rc04 clang-14 FreeBSD 13.1

yurivict avatar Nov 19 '22 04:11 yurivict

TL;DR This example is broken.

This example isn't enabled when I configure the whole repository. The likely reason is that it doesn't build, and from the looks of git history it has been broken ever since it was migrated from the Wiki Examples. The error message on my computer is 3>C:\Dev\ITKExamples\src\Segmentation\KLMRegionGrowing\BasicRegionGrowing\Code.cxx(24,10): fatal error C1083: Cannot open include file: 'vtkImageViewer.h': No such file or directory, but I also see squiggles under SetLower etc. By looking at the code of itk::RegionGrowImageFilter, it is an abstract class.

dzenanz avatar Nov 21 '22 23:11 dzenanz

While looking into this, I uncovered https://github.com/InsightSoftwareConsortium/ITKSphinxExamples/pull/401.

dzenanz avatar Nov 21 '22 23:11 dzenanz