19 #ifndef IntensityProfileView_h
20 #define IntensityProfileView_h
22 #include <berryISelectionListener.h>
24 #include "ui_IntensityProfileView.h"
26 #include <mitkImageStatisticsCalculator.h>
27 #include <mitkNodePredicateDataType.h>
28 #include <mitkNodePredicateProperty.h>
29 #include <mitkNodePredicateAnd.h>
30 #include <mitkNodePredicateNot.h>
31 #include <mitkNodePredicateDimension.h>
32 #include <mitkNodePredicateData.h>
33 #include <mitkPointSet.h>
34 #include <mitkIRenderWindowPartListener.h>
36 #include <itkFixedArray.h>
81 virtual void NodeAdded(
const mitk::DataNode* node);
82 virtual void NodeRemoved(
const mitk::DataNode* node);
83 virtual void NodeChanged(
const mitk::DataNode* node);
92 void onProfileNodeChanged();
93 void on_storeCrosshairButton_clicked();
94 void on_storeStatisticsButton_clicked();
95 void on_copyStatisticsButton_clicked();
96 void on_clearCacheButton_clicked();
97 void onCrosshairPositionEventDelayed();
98 void calculateCrosshairProfiles(mitk::Point3D crosshairPos);
99 void calculateRoiStatistics(mitk::DataNode* node, mitk::DataNode* roiNode);
100 void plotRoiProfiles(mitk::DataNode* node);
101 void plotRoiProfile(mitk::DataNode* node, mitk::DataNode* roi);
102 void plotStoredProfiles();
105 void onCrosshairVisibilityOn();
106 void onCrosshairVisibilityOff();
108 void onCrosshairPositionEvent();
109 void onVisibilityOn(
const mitk::DataNode* node);
110 void onVisibilityOff(
const mitk::DataNode* node);
111 void selectNode(mitk::DataNode* node);
112 void deselectNode(mitk::DataNode* node);
113 mitk::TimeBounds ComputeTimeBounds();
114 RangeBounds ComputeRangeBounds();
116 bool dimensionsAreEqual(
const mitk::DataNode* node1,
const mitk::DataNode* node2,
bool discardTimeSteps);
117 bool askXValues(mitk::DataNode* node);
118 void getXValues(mitk::DataNode* node, QVector<double>& xValues, QVector<unsigned>& xValueOrder);
120 void setDefaultLevelWindow(mitk::DataNode* node);
122 typedef mitk::ImageStatisticsCalculator::Statistics Statistics;
124 static mitk::NodePredicateDimension::Pointer is4DImage;
125 static mitk::NodePredicateProperty::Pointer isIntensityProfile;
126 static mitk::NodePredicateProperty::Pointer isVisible;
127 static mitk::NodePredicateAnd::Pointer isVisibleIntensityProfile;
128 static mitk::TNodePredicateDataType<mitk::Image>::Pointer hasImage;
129 static mitk::NodePredicateProperty::Pointer isBinary;
130 static mitk::NodePredicateNot::Pointer isNotBinary;
131 static mitk::NodePredicateAnd::Pointer hasBinaryImage;
132 static mitk::NodePredicateAnd::Pointer has4DBinaryImage;
133 static mitk::TNodePredicateDataType<mitk::PointSet>::Pointer hasPointSet;
134 static mitk::NodePredicateAnd::Pointer is4DNotBinaryImage;
135 static mitk::NodePredicateAnd::Pointer isCrosshair;
136 static mitk::NodePredicateData::Pointer isGroup;
137 static mitk::NodePredicateAnd::Pointer isStudy;
139 QScopedPointer<IntensityProfileViewPrivate> d_ptr;
140 Ui::IntensityProfileView* ui;
virtual ~IntensityProfileView()
Definition: IntensityProfileView.cxx:243
virtual void NodeRemoved(const mitk::DataNode *node)
Definition: IntensityProfileView.cxx:439
void plotProfileNode(mitk::DataNode::Pointer selectedNode)
Definition: IntensityProfileView.cxx:982
virtual void NodeChanged(const mitk::DataNode *node)
Definition: IntensityProfileView.cxx:447
virtual void onVisibilityChanged(const mitk::DataNode *node)
Definition: IntensityProfileView.cxx:313
virtual void RenderWindowPartActivated(mitk::IRenderWindowPart *renderWindowPart)
Definition: IntensityProfileView.cxx:479
Definition: ReceptorMemberCommandTest.cxx:25
virtual void RenderWindowPartDeactivated(mitk::IRenderWindowPart *renderWindowPart)
Definition: IntensityProfileView.cxx:495
static const std::string VIEW_ID
Definition: IntensityProfileView.h:63
GLhandleARB obj
Definition: glew.h:5177
IntensityProfileView()
Definition: IntensityProfileView.cxx:211
virtual void NodeAdded(const mitk::DataNode *node)
Definition: IntensityProfileView.cxx:431
Base view component for plugins listening to visibility change events, focus changed events and so on...
Definition: niftkBaseView.h:47
virtual void SetFocus()
Called by framework, sets the focus on a specific widget.
Definition: IntensityProfileView.cxx:307
IntensityProfileView.
Definition: IntensityProfileView.h:53
Definition: IntensityProfileView.cxx:49
itk::FixedArray< mitk::ScalarType, 2 > RangeBounds
Definition: IntensityProfileView.h:61
cl_event event
Definition: glew.h:3231
bool eventFilter(QObject *obj, QEvent *event)
Definition: IntensityProfileView.cxx:1288
virtual void CreateQtPartControl(QWidget *parent)
Definition: IntensityProfileView.cxx:261
GLsizei const GLcharARB ** string
Definition: glew.h:5194