21 #ifndef __qMRMLSliceControllerWidget_h 22 #define __qMRMLSliceControllerWidget_h 26 #include <vtkVersion.h> 29 class qMRMLSliceControllerWidgetPrivate;
30 class vtkAlgorithmOutput;
56 Q_PROPERTY(QString sliceViewName READ sliceViewName WRITE setSliceViewName)
57 Q_PROPERTY(QString sliceViewLabel READ sliceViewLabel WRITE setSliceViewLabel)
58 Q_PROPERTY(
bool moreButtonVisibility READ isMoreButtonVisible WRITE setMoreButtonVisible)
71 bool isCompareView()const;
75 QString sliceOrientation()const;
82 vtkAlgorithmOutput* imageDataConnection()const;
95 void setSliceViewName(const QString& newSliceViewName);
98 QString sliceViewName()const;
101 Q_INVOKABLE static QColor sliceViewColor(const QString& sliceViewName);
107 void setSliceViewLabel(const QString& newSliceViewLabel);
111 QString sliceViewLabel()const;
114 void setSliceViewColor(const QColor& newSliceViewColor);
117 QColor sliceViewColor()const;
120 void setSliceOffsetRange(
double min,
double max);
123 void setSliceOffsetResolution(
double resolution);
135 void setControllerButtonGroup(QButtonGroup* group);
140 void setSliceLogics(vtkCollection* logics);
150 void setImageDataConnection(vtkAlgorithmOutput* newImageDataConnection);
153 void setSliceViewSize(const QSize& newSize);
157 void fitSliceToBackground();
161 void setSliceOrientation(const QString& orientation);
164 void setSliceOffsetValue(
double offset);
167 void trackSliceOffsetValue(
double offset);
170 void setSliceVisible(
bool visible);
173 void setSliceLink(
bool linked);
178 void setHotLinked(
bool hot);
183 void setMoreButtonVisible(
bool visible);
186 bool isMoreButtonVisible() const;
190 void moveBackgroundComboBox(
bool move);
193 void updateSegmentationControlsVisibility();
196 void rotateSliceToBackground();
198 void setSegmentationHidden(
bool hide);
199 void setLabelMapHidden(
bool hide);
200 void setForegroundHidden(
bool hide);
201 void setBackgroundHidden(
bool hide);
204 void setSegmentationOpacity(
double opacity);
206 void setLabelMapOpacity(
double opacity);
207 void setForegroundOpacity(
double opacity);
208 void setBackgroundOpacity(
double opacity);
211 void toggleSegmentationOutlineFill();
213 void showLabelOutline(
bool show);
215 void showReformatWidget(
bool show);
216 void lockReformatWidgetToCamera(
bool lock);
218 void setCompositing(
int mode);
219 void setCompositingToAlphaBlend();
220 void setCompositingToReverseAlphaBlend();
221 void setCompositingToAdd();
222 void setCompositingToSubtract();
224 void setSliceSpacingMode(
bool automatic);
225 void setSliceSpacing(
double spacing);
226 void setSliceFOV(
double fov);
229 void setSliceModelMode(
int mode);
230 void setSliceModelModeVolumes();
231 void setSliceModelMode2D();
232 void setSliceModelMode2D_Volumes();
233 void setSliceModelModeVolumes_2D();
234 void setSliceModelModeCustom();
236 void setSliceModelFOV(
int index,
double fov);
237 void setSliceModelFOVX(
double fov);
238 void setSliceModelFOVY(
double fov);
240 void setSliceModelOrigin(
int index,
double fov);
241 void setSliceModelOriginX(
double fov);
242 void setSliceModelOriginY(
double fov);
244 void setSliceModelDimension(
int index,
int dim);
245 void setSliceModelDimensionX(
int dim);
246 void setSliceModelDimensionY(
int dim);
249 void setOrientationMarkerType(
int type);
250 void setOrientationMarkerSize(
int size);
253 void setRulerType(
int type);
256 void setLightbox(
int rows,
int columns);
257 void setLightboxTo1x1();
258 void setLightboxTo1x2();
259 void setLightboxTo1x3();
260 void setLightboxTo1x4();
261 void setLightboxTo1x6();
262 void setLightboxTo1x8();
263 void setLightboxTo2x2();
264 void setLightboxTo3x3();
265 void setLightboxTo6x6();
267 void setForegroundInterpolation(
bool nearestNeighbor);
268 void setBackgroundInterpolation(
bool nearestNeighbor);
272 void imageDataConnectionChanged(vtkAlgorithmOutput * imageDataConnection);
274 void renderRequested();
285 qMRMLSliceControllerWidget(qMRMLSliceControllerWidgetPrivate* obj,
289 Q_DECLARE_PRIVATE(qMRMLSliceControllerWidget);
290 Q_DISABLE_COPY(qMRMLSliceControllerWidget);
MRML node for storing a slice through RAS space.
MRML node for storing a slice through RAS space.
A set of MRML Nodes that supports serialization and undo/redo.
Abstract Superclass for all specific types of MRML nodes.
Slicer logic class for slice manipulation.