CustusX  2023.01.05-dev+develop.0da12
An IGT application
cxElastixManager.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 #ifndef CXELASTIXMANAGER_H_
12 #define CXELASTIXMANAGER_H_
13 
14 #include <QObject>
15 #include "cxForwardDeclarations.h"
16 #include "cxXmlOptionItem.h"
17 #include "cxBoolProperty.h"
18 #include "cxStringProperty.h"
19 #include "cxElastixParameters.h"
20 #include "cxRegServices.h"
21 
22 namespace cx
23 {
30 typedef boost::shared_ptr<class ElastixExecuter> ElastixExecuterPtr;
31 
38 class ElastixManager : public QObject
39 {
40  Q_OBJECT
41 public:
43  virtual ~ElastixManager();
44 
45  BoolPropertyPtr getDisplayProcessMessages() { return mDisplayProcessMessages; }
46  BoolPropertyPtr getDisableRendering() { return mDisableRendering; }
47  ElastixExecuterPtr getExecuter() { return mExecuter; }
48  ElastixParametersPtr getParameters() { return mParameters; }
49 
50  void execute();
51 signals:
52  void elastixChanged();
53 
54 private slots:
55  void executionFinishedSlot();
56  void preprocessExecuter();
57 
58 private:
59  void addNonlinearData();
60 
61  ElastixParametersPtr mParameters;
62  XmlOptionFile mOptions;
63  BoolPropertyPtr mDisplayProcessMessages;
64  BoolPropertyPtr mDisableRendering;
65  ElastixExecuterPtr mExecuter;
66  RegServicesPtr mServices;
67 };
68 typedef boost::shared_ptr<ElastixManager> ElastixManagerPtr;
69 
73 } /* namespace cx */
74 #endif /* CXELASTIXMANAGER_H_ */
BoolPropertyPtr getDisableRendering()
ElastixManager(RegServicesPtr services)
ElastixExecuterPtr getExecuter()
boost::shared_ptr< ElastixParameters > ElastixParametersPtr
Manager for interfacing to the ElastiX registration package.
boost::shared_ptr< class ElastixExecuter > ElastixExecuterPtr
boost::shared_ptr< class RegServices > RegServicesPtr
Definition: cxRegServices.h:20
ElastixParametersPtr getParameters()
BoolPropertyPtr getDisplayProcessMessages()
boost::shared_ptr< class BoolProperty > BoolPropertyPtr
Helper class for xml files used to store ssc/cx data.
boost::shared_ptr< ElastixManager > ElastixManagerPtr
Namespace for all CustusX production code.