21 #ifndef __qMRMLSliceControllerWidget_h 22 #define __qMRMLSliceControllerWidget_h 26 #include <vtkVersion.h> 30 class qMRMLSliceControllerWidgetPrivate;
32 class vtkAlgorithmOutput;
58 Q_PROPERTY(QString sliceViewName READ sliceViewName WRITE setSliceViewName)
59 Q_PROPERTY(QString sliceViewLabel READ sliceViewLabel WRITE setSliceViewLabel)
60 Q_PROPERTY(QColor sliceViewColor READ sliceViewColor WRITE setSliceViewColor)
61 Q_PROPERTY(
double sliceOffsetResolution READ sliceOffsetResolution WRITE setSliceOffsetResolution)
62 Q_PROPERTY(
bool moreButtonVisibility READ isMoreButtonVisible WRITE setMoreButtonVisible)
63 Q_PROPERTY(QString sliceOrientation READ sliceOrientation WRITE setSliceOrientation)
76 bool isCompareView()const;
80 QString sliceOrientation()const;
87 Q_INVOKABLE vtkAlgorithmOutput* imageDataConnection()const;
100 void setSliceViewName(const QString& newSliceViewName);
103 QString sliceViewName()const;
109 void setSliceViewLabel(const QString& newSliceViewLabel);
113 QString sliceViewLabel()const;
116 void setSliceViewColor(const QColor& newSliceViewColor);
119 QColor sliceViewColor()const;
122 Q_INVOKABLE
void setSliceOffsetRange(
double min,
double max);
125 void setSliceOffsetResolution(
double resolution);
128 double sliceOffsetResolution();
140 Q_INVOKABLE
void setControllerButtonGroup(QButtonGroup* group);
145 Q_INVOKABLE
void setSliceLogics(vtkCollection* logics);
151 Q_INVOKABLE QToolButton* fitToWindowToolButton();
161 void setImageDataConnection(vtkAlgorithmOutput* newImageDataConnection);
164 void setSliceViewSize(const QSize& newSize);
168 void fitSliceToBackground();
173 void setSliceOrientation(const QString& orientation);
176 void setSliceOffsetValue(
double offset);
179 void trackSliceOffsetValue(
double offset);
182 void setSliceVisible(
bool visible);
185 void setSliceLink(
bool linked);
190 void setHotLinked(
bool hot);
195 void setMoreButtonVisible(
bool visible);
198 bool isMoreButtonVisible() const;
202 void moveBackgroundComboBox(
bool move);
205 void updateSegmentationControlsVisibility();
208 void rotateSliceToLowestVolumeAxes();
210 void setSegmentationHidden(
bool hide);
211 void setLabelMapHidden(
bool hide);
212 void setForegroundHidden(
bool hide);
213 void setBackgroundHidden(
bool hide);
216 void setSegmentationOpacity(
double opacity);
218 void setLabelMapOpacity(
double opacity);
219 void setForegroundOpacity(
double opacity);
220 void setBackgroundOpacity(
double opacity);
223 void toggleSegmentationOutlineFill();
225 void showLabelOutline(
bool show);
227 void showReformatWidget(
bool show);
228 void lockReformatWidgetToCamera(
bool lock);
230 void setCompositing(
int mode);
231 void setCompositingToAlphaBlend();
232 void setCompositingToReverseAlphaBlend();
233 void setCompositingToAdd();
234 void setCompositingToSubtract();
236 void setSliceSpacingMode(
bool automatic);
237 void setSliceSpacing(
double spacing);
238 void setSliceFOV(
double fov);
241 void setSliceModelMode(
int mode);
242 void setSliceModelModeVolumes();
243 void setSliceModelMode2D();
244 void setSliceModelMode2D_Volumes();
245 void setSliceModelModeVolumes_2D();
246 void setSliceModelModeCustom();
248 void setSliceModelFOV(
int index,
double fov);
249 void setSliceModelFOVX(
double fov);
250 void setSliceModelFOVY(
double fov);
252 void setSliceModelOrigin(
int index,
double fov);
253 void setSliceModelOriginX(
double fov);
254 void setSliceModelOriginY(
double fov);
256 void setSliceModelDimension(
int index,
int dim);
257 void setSliceModelDimensionX(
int dim);
258 void setSliceModelDimensionY(
int dim);
261 void setOrientationMarkerType(
int type);
262 void setOrientationMarkerSize(
int size);
265 void setRulerType(
int type);
266 void setRulerColor(
int color);
269 void setLightbox(
int rows,
int columns);
270 void setLightboxTo1x1();
271 void setLightboxTo1x2();
272 void setLightboxTo1x3();
273 void setLightboxTo1x4();
274 void setLightboxTo1x6();
275 void setLightboxTo1x8();
276 void setLightboxTo2x2();
277 void setLightboxTo3x3();
278 void setLightboxTo6x6();
280 void setForegroundInterpolation(
bool nearestNeighbor);
281 void setBackgroundInterpolation(
bool nearestNeighbor);
283 void updateWidgetFromMRMLView() override;
287 void imageDataConnectionChanged(vtkAlgorithmOutput * imageDataConnection);
289 void renderRequested();
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.