NorMIT-nav  2023.01.05-dev+develop.0da12
An IGT application
cxElastixWidget.h
Go to the documentation of this file.
1 /*=========================================================================
2 This file is part of CustusX, an Image Guided Therapy Application.
3 
4 Copyright (c) SINTEF Department of Medical Technology.
5 All rights reserved.
6 
7 CustusX is released under a BSD 3-Clause license.
8 
9 See Lisence.txt (https://github.com/SINTEFMedtek/CustusX/blob/master/License.txt) for details.
10 =========================================================================*/
11 
12 #ifndef CXELASTIXWIDGET_H_
13 #define CXELASTIXWIDGET_H_
14 
16 #include "cxStringPropertyBase.h"
17 #include "cxFileSelectWidget.h"
18 #include "cxElastixManager.h"
19 #include "cxFilePreviewWidget.h"
20 #include "cxBoolProperty.h"
21 
22 class QSpinBox;
23 class QPushButton;
24 class QLabel;
25 class QLineEdit;
26 
27 namespace cx
28 {
29 typedef boost::shared_ptr<class FilePathProperty> FilePathPropertyPtr;
30 class TimedAlgorithmProgressBar;
31 
45 {
46 Q_OBJECT
47 public:
48  ElastixWidget(RegServicesPtr services, QWidget* parent = NULL);
49  virtual ~ElastixWidget();
50 
51 public slots:
52 
53 private slots:
54  void registerSlot();
55  void userParameterFileSelected(QString filename);
56  void elastixChangedSlot();
57  void toggleDetailsSlot();
58  void savePresetSlot();
59  void deletePresetSlot();
60 
61 protected:
62  virtual void prePaintEvent();
63 private:
64  void createUI();
65  QWidget* createOptionsWidget();
66  FilePathPropertyPtr getExecutable(QDomElement root);
67  void recurseParameterFolders(QString root, QStringList* retval);
68 
69  QPushButton* mRegisterButton;
70  ElastixManagerPtr mElastixManager;
71 
72  StringPropertyBasePtr mFixedImage;
73  StringPropertyBasePtr mMovingImage;
74  FileSelectWidget* mParameterFileWidget0;
75  FilePreviewWidget* mFilePreviewWidget;
76  cx::TimedAlgorithmProgressBar* mTimedAlgorithmProgressBar;
77  QWidget* mOptionsWidget;
78 };
79 
83 }//namespace cx
84 
85 
86 #endif /* CXELASTIXWIDGET_H_ */
cx::ElastixWidget::ElastixWidget
ElastixWidget(RegServicesPtr services, QWidget *parent=NULL)
Definition: cxElastixWidget.cpp:37
cxElastixManager.h
cx::FileSelectWidget
Widget for displaying and selecting a single file.
Definition: cxFileSelectWidget.h:45
cx::TimedAlgorithmProgressBar
Show progress for a TimedBaseAlgorithm.
Definition: cxTimedAlgorithmProgressBar.h:51
cx::ElastixWidget::~ElastixWidget
virtual ~ElastixWidget()
Definition: cxElastixWidget.cpp:157
cx
Namespace for all CustusX production code.
Definition: cx_dev_group_definitions.h:13
cxFileSelectWidget.h
cx::RegistrationBaseWidget
Definition: cxRegistrationBaseWidget.h:28
cx::ElastixWidget
Widget for interfacing to the ElastiX registration package.
Definition: cxElastixWidget.h:44
cx::FilePathPropertyPtr
boost::shared_ptr< class FilePathProperty > FilePathPropertyPtr
Definition: cxPlusConnectWidget.h:28
cx::ElastixManagerPtr
boost::shared_ptr< ElastixManager > ElastixManagerPtr
Definition: cxElastixManager.h:68
cxRegistrationBaseWidget.h
cx::RegServicesPtr
boost::shared_ptr< class RegServices > RegServicesPtr
Definition: cxRegServices.h:20
cx::FilePreviewWidget
View a xml document.
Definition: cxFilePreviewWidget.h:37
cxStringPropertyBase.h
cx::StringPropertyBasePtr
boost::shared_ptr< class StringPropertyBase > StringPropertyBasePtr
Definition: cxIGTLinkStreamerService.h:20
cx::ElastixWidget::prePaintEvent
virtual void prePaintEvent()
Definition: cxElastixWidget.cpp:48
cxBoolProperty.h
cxFilePreviewWidget.h