00001 #include "mitkOpeningTool.h" 00002 #include "mitkImageCast.h" 00003 #include "mitkRenderingManager.h" 00004 00005 namespace mitk{ 00006 MITK_TOOL_MACRO(MitkExt_EXPORT, OpeningTool, "Opening Tool"); 00007 } 00008 00009 mitk::OpeningTool::OpeningTool() 00010 { 00011 00012 } 00013 00014 mitk::OpeningTool::~OpeningTool() 00015 { 00016 00017 } 00018 00019 const char* mitk::OpeningTool::GetName() const 00020 { 00021 return "Opening Tool"; 00022 } 00023 00024 const char** mitk::OpeningTool::GetXPM() const 00025 { 00026 return mitkOpeningTool_xpm; 00027 } 00028 00029 mitk::Image::Pointer mitk::OpeningTool::ApplyFilter(mitk::Image::Pointer image) 00030 { 00031 SegmentationType::Pointer itkImage = SegmentationType::New(); 00032 mitk::CastToItkImage(image, itkImage); 00033 m_Ball.SetRadius( m_Radius); 00034 m_Ball.CreateStructuringElement(); 00035 m_BallOpeningFilter = BallOpeningFilterType::New(); 00036 m_BallOpeningFilter->SetKernel(m_Ball); 00037 m_BallOpeningFilter->SetInput(itkImage); 00038 //m_BallOpeningFilter->SetRadius(1); 00039 m_BallOpeningFilter->SetForegroundValue(1); 00040 m_BallOpeningFilter->SetBackgroundValue(0); 00041 m_BallOpeningFilter->UpdateLargestPossibleRegion(); 00042 00043 mitk::Image::Pointer new_image = mitk::Image::New(); 00044 mitk::CastToMitkImage(m_BallOpeningFilter->GetOutput(), new_image); 00045 return new_image; 00046 }