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();
172 void setSliceOrientation(const QString& orientation);
175 void setSliceOffsetValue(
double offset);
178 void trackSliceOffsetValue(
double offset);
181 void setSliceVisible(
bool visible);
184 void setSliceLink(
bool linked);
189 void setHotLinked(
bool hot);
194 void setMoreButtonVisible(
bool visible);
197 bool isMoreButtonVisible() const;
201 void moveBackgroundComboBox(
bool move);
204 void updateSegmentationControlsVisibility();
207 void rotateSliceToLowestVolumeAxes();
209 void setSegmentationHidden(
bool hide);
210 void setLabelMapHidden(
bool hide);
211 void setForegroundHidden(
bool hide);
212 void setBackgroundHidden(
bool hide);
215 void setSegmentationOpacity(
double opacity);
217 void setLabelMapOpacity(
double opacity);
218 void setForegroundOpacity(
double opacity);
219 void setBackgroundOpacity(
double opacity);
222 void toggleSegmentationOutlineFill();
224 void showLabelOutline(
bool show);
226 void showReformatWidget(
bool show);
227 void lockReformatWidgetToCamera(
bool lock);
229 void setCompositing(
int mode);
230 void setCompositingToAlphaBlend();
231 void setCompositingToReverseAlphaBlend();
232 void setCompositingToAdd();
233 void setCompositingToSubtract();
235 void setSliceSpacingMode(
bool automatic);
236 void setSliceSpacing(
double spacing);
237 void setSliceFOV(
double fov);
240 void setSliceModelMode(
int mode);
241 void setSliceModelModeVolumes();
242 void setSliceModelMode2D();
243 void setSliceModelMode2D_Volumes();
244 void setSliceModelModeVolumes_2D();
245 void setSliceModelModeCustom();
247 void setSliceModelFOV(
int index,
double fov);
248 void setSliceModelFOVX(
double fov);
249 void setSliceModelFOVY(
double fov);
251 void setSliceModelOrigin(
int index,
double fov);
252 void setSliceModelOriginX(
double fov);
253 void setSliceModelOriginY(
double fov);
255 void setSliceModelDimension(
int index,
int dim);
256 void setSliceModelDimensionX(
int dim);
257 void setSliceModelDimensionY(
int dim);
260 void setOrientationMarkerType(
int type);
261 void setOrientationMarkerSize(
int size);
264 void setRulerType(
int type);
265 void setRulerColor(
int color);
268 void setLightbox(
int rows,
int columns);
269 void setLightboxTo1x1();
270 void setLightboxTo1x2();
271 void setLightboxTo1x3();
272 void setLightboxTo1x4();
273 void setLightboxTo1x6();
274 void setLightboxTo1x8();
275 void setLightboxTo2x2();
276 void setLightboxTo3x3();
277 void setLightboxTo6x6();
279 void setForegroundInterpolation(
bool nearestNeighbor);
280 void setBackgroundInterpolation(
bool nearestNeighbor);
282 void updateWidgetFromMRMLView() override;
286 void imageDataConnectionChanged(vtkAlgorithmOutput * imageDataConnection);
288 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.