X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=common%2FclitkDicomRT_ROI_ConvertToImageFilter.cxx;h=e3b34723fdc264865ee925ddac9cd549b836bd67;hb=2db65b693062a7d5bb04df546be45f9b9513997f;hp=6c2fd39b035cc7c8337b9415579a6cea63489cff;hpb=75e2e05324d6eef978c5324160dd46eaaac66ea6;p=clitk.git diff --git a/common/clitkDicomRT_ROI_ConvertToImageFilter.cxx b/common/clitkDicomRT_ROI_ConvertToImageFilter.cxx index 6c2fd39..e3b3472 100644 --- a/common/clitkDicomRT_ROI_ConvertToImageFilter.cxx +++ b/common/clitkDicomRT_ROI_ConvertToImageFilter.cxx @@ -4,7 +4,7 @@ Authors belongs to: - University of LYON http://www.universite-lyon.fr/ - - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr + - Léon Bérard cancer center http://www.centreleonberard.fr - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr This software is distributed WITHOUT ANY WARRANTY; without even @@ -19,12 +19,18 @@ #include #include + +// clitk #include "clitkDicomRT_ROI_ConvertToImageFilter.h" +#include "clitkImageCommon.h" + +// vtk #include #include #include #include -#include "clitkImageCommon.h" +#include + //-------------------------------------------------------------------- clitk::DicomRT_ROI_ConvertToImageFilter::DicomRT_ROI_ConvertToImageFilter() @@ -121,11 +127,9 @@ void clitk::DicomRT_ROI_ConvertToImageFilter::Update() std::cerr << "Error. Please provide image info (spacing/origin) with SetImageFilename" << std::endl; exit(0); } - // DD("Update"); // Get Mesh vtkPolyData * mesh = mROI->GetMesh(); - DD(mesh->GetNumberOfCells()); // Get bounds double *bounds=mesh->GetBounds(); @@ -156,7 +160,7 @@ void clitk::DicomRT_ROI_ConvertToImageFilter::Update() } // Create new output image - mBinaryImage = vtkImageData::New(); + mBinaryImage = vtkSmartPointer::New(); mBinaryImage->SetScalarTypeToUnsignedChar(); mBinaryImage->SetOrigin(&origin[0]); mBinaryImage->SetSpacing(&mSpacing[0]); @@ -176,7 +180,8 @@ void clitk::DicomRT_ROI_ConvertToImageFilter::Update() // Extrude vtkSmartPointer extrude=vtkSmartPointer::New(); extrude->SetInput(mesh); - extrude->SetVector(0, 0, mROI->GetContourSpacing()); + ///We extrude in the -slice_spacing direction to respect the FOCAL convention (NEEDED !) + extrude->SetVector(0, 0, -mSpacing[2]); // Binarization vtkSmartPointer sts=vtkSmartPointer::New(); @@ -192,6 +197,14 @@ void clitk::DicomRT_ROI_ConvertToImageFilter::Update() stencil->SetInput(mBinaryImage); stencil->ReverseStencilOn(); stencil->Update(); + + /* + vtkSmartPointer w = vtkSmartPointer::New(); + w->SetInput(stencil->GetOutput()); + w->SetFileName("binary2.mhd"); + w->Write(); + */ + mBinaryImage->ShallowCopy(stencil->GetOutput()); if (mWriteOutput) {