how would you make an if statement that for every actor A that is within 100 pix
ID: 3689709 • Letter: H
Question
how would you make an if statement that for every actor A that is within 100 pixels from actor B, add actor c. how would you make an if statement that for every actor A that is within 100 pixels from actor B, add actor c.Explanation / Answer
#include "itkImage.h" #include #include "vtkVersion.h" #include "vtkImageViewer.h" #include "vtkImageMapper3D.h" #include "vtkRenderWindowInteractor.h" #include "vtkSmartPointer.h" #include "vtkImageActor.h" #include "vtkInteractorStyleImage.h" #include "vtkRenderer.h" int main(int, char *[]) { typedef itk::Image ImageType; ImageType::RegionType region; ImageType::IndexType start; start[0] = 0; start[1] = 0; ImageType::SizeType size; size[0] = 200; size[1] = 300; region.SetSize(size); region.SetIndex(start); ImageType::Pointer image = ImageType::New(); image->SetRegions(region); image->Allocate(); // Set pixels in a square to one value for(unsigned int r = 20; r < 80; r++) { for(unsigned int c = 30; c < 100; c++) { ImageType::IndexType pixelIndex; pixelIndex[0] = r; pixelIndex[1] = c; image->SetPixel(pixelIndex, 255); } } // Set pixels in a different square to a different value for(unsigned int r = 100; r < 130; r++) { for(unsigned int c = 115; c < 160; c++) { ImageType::IndexType pixelIndex; pixelIndex[0] = r; pixelIndex[1] = c; image->SetPixel(pixelIndex, 125); } } typedef itk::ImageToVTKImageFilter ConnectorType; ConnectorType::Pointer connector = ConnectorType::New(); connector->SetInput(image); vtkSmartPointer actor = vtkSmartPointer::New(); #if VTK_MAJOR_VERSION SetInput(connector->GetOutput()); #else connector->Update(); actor->GetMapper()->SetInputData(connector->GetOutput()); #endif // Visualize vtkSmartPointer renderWindow = vtkSmartPointer::New(); vtkSmartPointer interactor = vtkSmartPointer::New(); interactor->SetRenderWindow(renderWindow); vtkSmartPointer renderer = vtkSmartPointer::New(); renderWindow->AddRenderer(renderer); renderer->AddActor(actor); renderer->ResetCamera(); renderWindow->Render(); vtkSmartPointer style = vtkSmartPointer::New(); interactor->SetInteractorStyle(style); interactor->Start(); return EXIT_SUCCESS; } project(SetPixels) find_package(ITK REQUIRED) include(${ITK_USE_FILE}) if(actorA_LOADED) find_package(actorB REQUIRED) include(${VTK_USE_FILE}) else() find_package(ItkVtkGlue REQUIRED) include(${actorA+actorB}) set(Glue actorC) endif() add_executable(SetPixels MACOSX_BUNDLE SetPixels.cxx) target_link_libraries(SetPixels);Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.