13 #ifndef QmitkSlicesInterpolator_h_Included 14 #define QmitkSlicesInterpolator_h_Included 34 #include <QRadioButton> 37 #include "vtkProperty.h" 41 #include <QFutureWatcher> 43 #include <QtConcurrentRun> 48 class SliceNavigationController;
82 void Initialize(
mitk::ToolManager *toolManager,
const QList<mitk::SliceNavigationController *> &controllers);
94 void OnToolManagerWorkingDataModified();
99 void OnToolManagerReferenceDataModified();
101 void OnTimeChanged(itk::Object *sender,
const itk::EventObject &);
103 void OnSliceChanged(itk::Object *sender,
const itk::EventObject &);
105 void OnSliceNavigationControllerDeleted(
const itk::Object *sender,
const itk::EventObject &);
110 void OnInterpolationInfoChanged(
const itk::EventObject &);
115 void OnSurfaceInterpolationInfoChanged(
const itk::EventObject &);
120 void Show3DInterpolationResult(
bool);
124 void SignalRememberContourPositions(
bool);
125 void SignalShowMarkerNodes(
bool);
129 virtual void setEnabled(
bool);
133 void EnableInterpolation(
bool);
135 void Enable3DInterpolation(
bool);
147 void OnAcceptInterpolationClicked();
152 void OnAcceptAllInterpolationsClicked();
157 void OnAccept3DInterpolationClicked();
159 void OnReinit3DInterpolation();
161 void OnSuggestPlaneClicked();
167 void OnAcceptAllPopupActivated(QAction *action);
172 void OnInterpolationActivated(
bool);
174 void On3DInterpolationActivated(
bool);
176 void OnInterpolationMethodChanged(
int index);
179 void On2DInterpolationEnabled(
bool);
180 void On3DInterpolationEnabled(
bool);
181 void OnInterpolationDisabled(
bool);
182 void OnShowMarkers(
bool);
184 void Run3DInterpolation();
186 void RunPlaneSuggestion();
188 void OnSurfaceInterpolationFinished();
190 void StartUpdateInterpolationTimer();
192 void StopUpdateInterpolationTimer();
194 void ChangeSurfaceColor();
197 const std::map<QAction *, mitk::SliceNavigationController *> createActionToSliceDimension();
225 void UpdateVisibleSuggestion();
227 void SetCurrentContourListID();
230 void HideAllInterpolationControls();
231 void Show2DInterpolationControls(
bool show);
232 void Show3DInterpolationControls(
bool show);
233 void CheckSupportedImageDimension();
234 void WaitForFutures();
237 mitk::SegmentationInterpolationController::Pointer m_Interpolator;
238 mitk::SurfaceInterpolationController::Pointer m_SurfaceInterpolator;
243 mitk::ToolManager::Pointer m_ToolManager;
246 QHash<mitk::SliceNavigationController *, int> m_ControllerToTimeObserverTag;
247 QHash<mitk::SliceNavigationController *, int> m_ControllerToSliceObserverTag;
248 QHash<mitk::SliceNavigationController *, int> m_ControllerToDeleteObserverTag;
250 unsigned int InterpolationInfoChangedObserverTag;
251 unsigned int SurfaceInterpolationInfoChangedObserverTag;
253 QGroupBox *m_GroupBoxEnableExclusiveInterpolationMode;
254 QComboBox *m_CmbInterpolation;
255 QPushButton *m_BtnApply2D;
256 QPushButton *m_BtnApplyForAllSlices2D;
257 QPushButton *m_BtnApply3D;
259 QPushButton *m_BtnSuggestPlane;
261 QCheckBox *m_ChkShowPositionNodes;
262 QPushButton *m_BtnReinit3DInterpolation;
271 unsigned int m_LastSliceIndex;
273 QHash<mitk::SliceNavigationController *, unsigned int> m_TimeStep;
275 bool m_2DInterpolationEnabled;
276 bool m_3DInterpolationEnabled;
281 QFuture<void> m_Future;
282 QFutureWatcher<void> m_Watcher;
285 QFuture<void> m_PlaneFuture;
286 QFutureWatcher<void> m_PlaneWatcher;
GUI for slices interpolation.
Data management class that handles 'was created by' relations.
DataCollection - Class to facilitate loading/accessing structured data.
Controls the selection of the slice the associated BaseRenderer will display.
mitk::DataStorage::Pointer m_DataStorage
Image class for storing images.
std::map< QAction *, mitk::SliceNavigationController * > ACTION_TO_SLICEDIMENSION
Describes a two-dimensional, rectangular plane.
Class for nodes of the DataTree.
#define MITKSEGMENTATIONUI_EXPORT