00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date$ 00006 Version: $Revision: 17495 $ 00007 00008 Copyright (c) German Cancer Research Center, Division of Medical and 00009 Biological Informatics. All rights reserved. 00010 See MITKCopyright.txt or https://www.mitk.org/copyright.html for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 00018 #ifndef QmitkRegionGrowingView_h 00019 #define QmitkRegionGrowingView_h 00020 00021 #include <berryISelectionListener.h> 00022 00023 #include <QmitkFunctionality.h> 00024 00025 #include "mitkPointSet.h" 00026 00027 #include <itkImage.h> 00028 00029 #include "ui_QmitkRegionGrowingViewControls.h" 00030 00031 00032 00045 class QmitkRegionGrowingView : public QObject, public QmitkFunctionality 00046 { 00047 // this is needed for all Qt objects that should have a Qt meta-object 00048 // (everything that derives from QObject and wants to have signal/slots) 00049 Q_OBJECT 00050 00051 public: 00052 00053 static const std::string VIEW_ID; 00054 00055 QmitkRegionGrowingView(); 00056 virtual ~QmitkRegionGrowingView(); 00057 00058 virtual void CreateQtPartControl(QWidget *parent); 00059 00060 virtual void StdMultiWidgetAvailable (QmitkStdMultiWidget &stdMultiWidget); 00061 virtual void StdMultiWidgetNotAvailable(); 00062 virtual void Deactivated(); 00063 00064 protected slots: 00065 00067 void DoImageProcessing(); 00068 00069 protected: 00070 00076 template < typename TPixel, unsigned int VImageDimension > 00077 void ItkImageProcessing( itk::Image< TPixel, VImageDimension >* itkImage, mitk::Geometry3D* imageGeometry, mitk::DataNode* parent ); 00078 00080 virtual void OnSelectionChanged( std::vector<mitk::DataNode*> nodes ); 00081 00083 mitk::PointSet::Pointer m_PointSet; 00084 00085 Ui::QmitkRegionGrowingViewControls* m_Controls; 00086 00087 QmitkStdMultiWidget* m_MultiWidget; 00088 }; 00089 00090 00091 00092 #endif // _QMITKREGIONGROWINGVIEW_H_INCLUDED 00093