CTK 0.1.0
The Common Toolkit is a community effort to provide support code for medical image analysis, surgical navigation, and related projects.
Loading...
Searching...
No Matches
ctkQImageView.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Library: CTK
4
5 Copyright (c) Kitware Inc.
6
7 Licensed under the Apache License, Version 2.0 (the "License");
8 you may not use this file except in compliance with the License.
9 You may obtain a copy of the License at
10
11 http://www.apache.org/licenses/LICENSE-2.0.txt
12
13 Unless required by applicable law or agreed to in writing, software
14 distributed under the License is distributed on an "AS IS" BASIS,
15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 See the License for the specific language governing permissions and
17 limitations under the License.
18
19=========================================================================*/
20
21#ifndef __ctkQImageView_h
22#define __ctkQImageView_h
23
25#include <QWidget>
26#include <QImage>
27
29#include "ctkPimpl.h"
30#include "ctkWidgetsExport.h"
31
32class ctkQImageViewPrivate;
33
37class CTK_WIDGETS_EXPORT ctkQImageView: public QWidget
38{
39
40 Q_OBJECT
41
42public:
43
45 typedef QWidget Superclass;
46
48 ctkQImageView( QWidget* parent = 0 );
49
51 virtual ~ctkQImageView( void );
52
53 double xSpacing( void );
54 double ySpacing( void );
55 double sliceSpacing( void );
56 double sliceThickness( void );
57
58 double xPosition( void );
59 double yPosition( void );
60 double slicePosition( void );
61 double positionValue( void );
62
63 double xCenter( void );
64 double yCenter( void );
65
66 int sliceNumber( void ) const;
67 int numberOfSlices( void ) const;
68
69 double intensityWindow( void ) const;
70 double intensityLevel( void ) const;
71
72 bool invertImage( void ) const;
73
74 bool flipXAxis( void ) const;
75 bool flipYAxis( void ) const;
76 bool transposeXY( void ) const;
77
78 double zoom( void );
79
80public Q_SLOTS:
81
82 void addImage( const QImage & image );
83 void clearImages( void );
84
85 void setSliceNumber( int slicenum );
86
87 void setIntensityWindowLevel( double iwWindow, double iwLevel );
88
89 void setInvertImage( bool invert );
90 void setFlipXAxis( bool flip );
91 void setFlipYAxis( bool flip );
92 void setTransposeXY( bool transpose );
93
94 virtual void keyPressEvent( QKeyEvent * event );
95 virtual void mousePressEvent( QMouseEvent * event );
96 virtual void mouseReleaseEvent( QMouseEvent * event );
97 virtual void mouseMoveEvent( QMouseEvent * event );
98 virtual void enterEvent( QEvent * event );
99 virtual void leaveEvent( QEvent * event );
100
101 void setCenter( double x, double y );
102 void setPosition( double x, double y );
103
104 void setZoom( double factor );
105
106 void reset();
107
108 virtual void update( bool zoomChanged=false, bool sizeChanged=false );
109
110Q_SIGNALS:
111
112 void xSpacingChanged( double xSpacing );
113 void ySpacingChanged( double ySpacing );
114 void sliceThicknessChanged( double sliceThickness );
115
116 void xPositionChanged( double xPosition );
117 void yPositionChanged( double yPosition );
118 void slicePositionChanged( double slicePosition );
119 void positionValueChanged( double positionValue );
120
121 void sliceNumberChanged( int sliceNum );
122
123 void zoomChanged( double factor );
124 void xCenterChanged( double x );
125 void yCenterChanged( double y );
126
127 void numberOfSlicesChanged( int numberOfSlices );
128
129 void invertImageChanged( bool invert );
130
131 void flipXAxisChanged( bool flipXAxis );
132 void flipYAxisChanged( bool flipYAxis );
133 void transposeXYChanged( bool transposeXY );
134
135 void intensityWindowChanged( double intensityWindow );
136 void intensityLevelChanged( double intensityLevel );
137
138protected:
139
140 virtual void resizeEvent( QResizeEvent* event );
141
143 ctkQImageView( ctkQImageViewPrivate & pvt,
144 QWidget* parent=0 );
145
146private:
147
148 QScopedPointer< ctkQImageViewPrivate > d_ptr;
149
150 Q_DECLARE_PRIVATE( ctkQImageView );
151
152 Q_DISABLE_COPY( ctkQImageView );
153
154};
155
156#endif
ctkQImageView(QWidget *parent=0)
Constructor.
virtual void mouseReleaseEvent(QMouseEvent *event)
void ySpacingChanged(double ySpacing)
void setFlipXAxis(bool flip)
void intensityLevelChanged(double intensityLevel)
virtual void mousePressEvent(QMouseEvent *event)
void setZoom(double factor)
bool invertImage(void) const
double intensityWindow(void) const
void setSliceNumber(int slicenum)
virtual void resizeEvent(QResizeEvent *event)
double xCenter(void)
void positionValueChanged(double positionValue)
double sliceSpacing(void)
void transposeXYChanged(bool transposeXY)
double positionValue(void)
void yCenterChanged(double y)
void setFlipYAxis(bool flip)
void xPositionChanged(double xPosition)
void flipXAxisChanged(bool flipXAxis)
double slicePosition(void)
void sliceNumberChanged(int sliceNum)
void xSpacingChanged(double xSpacing)
double sliceThickness(void)
virtual void enterEvent(QEvent *event)
void setCenter(double x, double y)
void setPosition(double x, double y)
void setInvertImage(bool invert)
double xSpacing(void)
void flipYAxisChanged(bool flipYAxis)
virtual void leaveEvent(QEvent *event)
QWidget Superclass
Superclass typedef.
double intensityLevel(void) const
bool flipXAxis(void) const
void sliceThicknessChanged(double sliceThickness)
ctkQImageView(ctkQImageViewPrivate &pvt, QWidget *parent=0)
protected constructor to derive private implementations
void xCenterChanged(double x)
double zoom(void)
virtual void keyPressEvent(QKeyEvent *event)
bool flipYAxis(void) const
bool transposeXY(void) const
double ySpacing(void)
void slicePositionChanged(double slicePosition)
void intensityWindowChanged(double intensityWindow)
void clearImages(void)
double yCenter(void)
double yPosition(void)
int sliceNumber(void) const
void addImage(const QImage &image)
virtual void mouseMoveEvent(QMouseEvent *event)
virtual ~ctkQImageView(void)
Destructor.
void numberOfSlicesChanged(int numberOfSlices)
void setIntensityWindowLevel(double iwWindow, double iwLevel)
virtual void update(bool zoomChanged=false, bool sizeChanged=false)
void setTransposeXY(bool transpose)
double xPosition(void)
int numberOfSlices(void) const
void zoomChanged(double factor)
void invertImageChanged(bool invert)
void yPositionChanged(double yPosition)