00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date: 2009-05-28 17:19:30 +0200 (Do, 28 Mai 2009) $ 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 _QMITKVOLUMETRYVIEW_H_INCLUDED 00019 #define _QMITKVOLUMETRYVIEW_H_INCLUDED 00020 00021 #include <QmitkFunctionality.h> 00022 00023 #include <string> 00024 00025 #include "ui_QmitkVolumetryViewControls.h" 00026 00027 00028 00038 class QmitkVolumetryView : public QObject, public QmitkFunctionality 00039 { 00040 00041 // this is needed for all Qt objects that should have a MOC object (everything that derives from QObject) 00042 Q_OBJECT 00043 00044 public: 00045 00046 static const std::string VIEW_ID; 00047 00048 QmitkVolumetryView(); 00049 virtual ~QmitkVolumetryView(); 00050 00051 virtual void CreateQtPartControl(QWidget *parent); 00052 00054 virtual void CreateConnections(); 00055 00057 virtual void Activated(); 00058 00059 virtual void Deactivated(); 00060 00061 virtual void StdMultiWidgetAvailable (QmitkStdMultiWidget &stdMultiWidget); 00062 virtual void StdMultiWidgetNotAvailable(); 00063 00064 protected: 00065 00066 mitk::Image* GetImage(); 00067 00068 mitk::DataNode* GetOverlayNode(); 00069 00070 void CreateOverlayChild(); 00071 00072 void UpdateSliderLabel(); 00073 00074 void UpdateSlider(); 00075 00076 const mitk::DataNode* GetImageNode(); 00077 00078 00079 protected slots: 00080 00081 00082 void OnCalculateVolume(); 00083 00084 void OnTimeSeriesButtonClicked(); 00085 00086 void OnThresholdSliderChanged( int value ); 00087 00088 void OnSaveCsvButtonClicked(); 00089 00090 void OnImageSelected(const mitk::DataNode* item); 00091 00092 00093 00094 protected: 00095 00096 Ui::QmitkVolumetryViewControls* m_Controls; 00097 00098 QmitkStdMultiWidget* m_MultiWidget; 00099 00101 mitk::WeakPointer<mitk::DataNode> m_SelectedDataNode; 00102 00103 00104 mitk::DataNode::Pointer m_OverlayNode; 00105 00106 mitk::DataStorage::Pointer m_DataStorage; 00107 00108 }; 00109 00110 00111 00112 00113 #endif // _QMITKVOLUMETRYVIEW_H_INCLUDED 00114