#include "bbUtilitiesExtractVOI.h" #include "bbUtilitiesPackage.h" namespace bbUtilities { BBTK_ADD_BLACK_BOX_TO_PACKAGE(Utilities,ExtractVOI) //BBTK_USER_BLACK_BOX_IMPLEMENTATION(ExtractVOI,bbtk::AtomicBlackBox); BBTK_BLACK_BOX_IMPLEMENTATION(ExtractVOI,bbtk::AtomicBlackBox); void ExtractVOI::Process() { std::vector< int > center = bbGetInputCenterPoint(); vtkImageData* img = bbGetInputImage(); int radio = bbGetInputRadius(); double* spc = img->GetSpacing(); int cx, cy, cz; cx = center[0]; cy = center[1]; cz = center[2]; vtkExtractVOI* evoi = vtkExtractVOI::New(); evoi->SetInput(img); int extint[6]; /*extint[0]=(cx-radio); extint[1]=(cx+radio); extint[2]=(cy-radio); extint[3]=(cy+radio); extint[4]=(cz-radio); extint[5]=(cz+radio);*/ extint[0]=265; extint[1]=453; extint[2]=300; extint[3]=470; extint[4]=50; extint[5]=122; evoi->SetVOI(extint); evoi->UpdateWholeExtent(); evoi->Update(); vtkImageData *imgVoi = evoi->GetOutput(); bbSetOutputOutVOI(imgVoi); writeImage(imgVoi); } void ExtractVOI::writeImage(vtkImageData* image){ std::string path= "D:/creaNefsev/Data/Images/ar47-ctaVOI.mhd"; vtkMetaImageWriter* writer = vtkMetaImageWriter::New(); writer->SetFileName(path.c_str()); writer->SetInput(image); writer->Write(); writer->Delete(); std::cout<<"Image Saved to: "< center; center.push_back(0); center.push_back(0); center.push_back(0); bbSetInputCenterPoint(center); bbSetInputImage(NULL); bbSetOutputOutVOI(NULL); } void ExtractVOI::bbUserInitializeProcessing() { } void ExtractVOI::bbUserFinalizeProcessing() { } } // EO namespace bbUtilities