#include #include "itkVectorGradientAnisotropicDiffusionImageFilter.h" #include "itkVectorGradientMagnitudeImageFilter.h" #include "itkWatershedImageFilter.h" #include "itkImageFileReader.h" #include "itkImageFileWriter.h" #include "itkVectorCastImageFilter.h" #include "itkUnaryFunctorImageFilter.h" #include "itkScalarToRGBPixelFunctor.h" int main( int argc, char *argv[] ) { typedef itk::RGBPixel RGBPixelType; typedef itk::Image RGBImageType; typedef itk::Vector VectorPixelType; typedef itk::Image VectorImageType; typedef itk::Image LabeledImageType; typedef itk::Image ScalarImageType; typedef itk::ImageFileReader FileReaderType; typedef itk::VectorCastImageFilter CastFilterType; typedef itk::VectorGradientAnisotropicDiffusionImageFilter DiffusionFilterType; typedef itk::VectorGradientMagnitudeImageFilter GradientMagnitudeFilterType; typedef itk::WatershedImageFilter WatershedFilterType; typedef itk::ImageFileWriter FileWriterType; FileReaderType::Pointer reader = FileReaderType::New(); reader->SetFileName("Normal107-T2.mha"); CastFilterType::Pointer caster = CastFilterType::New(); DiffusionFilterType::Pointer diffusion = DiffusionFilterType::New(); diffusion->SetNumberOfIterations(5.0); diffusion->SetConductanceParameter(9.0); diffusion->SetTimeStep(0.0625); GradientMagnitudeFilterType::Pointer gradient = GradientMagnitudeFilterType::New(); gradient->SetUsePrincipleComponents(false); WatershedFilterType::Pointer watershed = WatershedFilterType::New(); watershed->SetLevel(0.2); watershed->SetThreshold(0.01); typedef itk::Functor::ScalarToRGBPixelFunctor ColorMapFunctorType; typedef itk::UnaryFunctorImageFilter ColorMapFilterType; ColorMapFilterType::Pointer colormapper = ColorMapFilterType::New(); caster->SetInput(reader->GetOutput()); diffusion->SetInput(caster->GetOutput()); gradient->SetInput(diffusion->GetOutput()); watershed->SetInput(gradient->GetOutput()); colormapper->SetInput(watershed->GetOutput()); FileWriterType::Pointer writer = FileWriterType::New(); writer->SetFileName("Normal107-T2.mhd"); writer->SetInput(colormapper->GetOutput()); writer->Update(); return 0; }