-
Notifications
You must be signed in to change notification settings - Fork 60
/
Copy pathqSlicerIsodoseModule.cxx
137 lines (109 loc) · 5.1 KB
/
qSlicerIsodoseModule.cxx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
/*==============================================================================
Copyright (c) Radiation Medicine Program, University Health Network,
Princess Margaret Hospital, Toronto, ON, Canada. All Rights Reserved.
See COPYRIGHT.txt
or http://www.slicer.org/copyright/copyright.txt for details.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
This file was originally developed by Kevin Wang, Princess Margaret Cancer Centre
and was supported by Cancer Care Ontario (CCO)'s ACRU program
with funds provided by the Ontario Ministry of Health and Long-Term Care
and Ontario Consortium for Adaptive Interventions in Radiation Oncology (OCAIRO).
==============================================================================*/
// SlicerQt includes
#include <qSlicerCoreApplication.h>
#include <qSlicerModuleManager.h>
// SubjectHierarchy Plugins includes
#include "qSlicerSubjectHierarchyPluginHandler.h"
#include "qSlicerSubjectHierarchyIsodosePlugin.h"
// Isodose Logic includes
#include <vtkSlicerIsodoseModuleLogic.h>
// Color Logic includes
#include <vtkSlicerColorLogic.h>
// Isodose includes
#include "qSlicerIsodoseModule.h"
#include "qSlicerIsodoseModuleWidget.h"
// Qt includes
#include <QDebug>
//-----------------------------------------------------------------------------
#if (QT_VERSION < QT_VERSION_CHECK(5, 0, 0))
#include <QtPlugin>
Q_EXPORT_PLUGIN2(qSlicerIsodoseModule, qSlicerIsodoseModule);
#endif
//-----------------------------------------------------------------------------
/// \ingroup SlicerRt_QtModules_Isodose
class qSlicerIsodoseModulePrivate
{
public:
qSlicerIsodoseModulePrivate();
};
//-----------------------------------------------------------------------------
// qSlicerIsodoseModulePrivate methods
//-----------------------------------------------------------------------------
qSlicerIsodoseModulePrivate::qSlicerIsodoseModulePrivate() = default;
//-----------------------------------------------------------------------------
// qSlicerIsodoseModule methods
//-----------------------------------------------------------------------------
qSlicerIsodoseModule::qSlicerIsodoseModule(QObject* _parent)
: Superclass(_parent)
, d_ptr(new qSlicerIsodoseModulePrivate)
{
}
//-----------------------------------------------------------------------------
QStringList qSlicerIsodoseModule::categories()const
{
return QStringList() << "Radiotherapy";
}
//-----------------------------------------------------------------------------
qSlicerIsodoseModule::~qSlicerIsodoseModule() = default;
//-----------------------------------------------------------------------------
QString qSlicerIsodoseModule::helpText()const
{
return QString("This module generates iso dose surface models using user defined dose levels. "
"For more information see <a href=\"%1/Documentation/%2.%3/Modules/Isodose\">%1/Documentation/%2.%3/Modules/Isodose</a><br>").arg(
this->slicerWikiUrl()).arg(qSlicerCoreApplication::application()->majorVersion()).arg(qSlicerCoreApplication::application()->minorVersion());
}
//-----------------------------------------------------------------------------
QString qSlicerIsodoseModule::acknowledgementText()const
{
return "This work was funded by Cancer Care Ontario (CCO)'s ACRU program and Ontario Consortium for Adaptive Interventions in Radiation Oncology (OCAIRO), and CANARIE.";
}
//-----------------------------------------------------------------------------
QStringList qSlicerIsodoseModule::contributors()const
{
QStringList moduleContributors;
moduleContributors << QString("Kevin Wang (PMH, Toronto)");
moduleContributors << QString("Csaba Pinter (Queen's)");
moduleContributors << QString("Andras Lasso (Queen's)");
return moduleContributors;
}
//-----------------------------------------------------------------------------
QStringList qSlicerIsodoseModule::dependencies() const
{
return QStringList() << "Colors";
}
//-----------------------------------------------------------------------------
QIcon qSlicerIsodoseModule::icon()const
{
return QIcon(":/Icons/Isodose.png");
}
//-----------------------------------------------------------------------------
void qSlicerIsodoseModule::setup()
{
this->Superclass::setup();
// Register Subject Hierarchy plugins
qSlicerSubjectHierarchyPluginHandler::instance()->registerPlugin(new qSlicerSubjectHierarchyIsodosePlugin());
}
//-----------------------------------------------------------------------------
qSlicerAbstractModuleRepresentation * qSlicerIsodoseModule::createWidgetRepresentation()
{
return new qSlicerIsodoseModuleWidget;
}
//-----------------------------------------------------------------------------
vtkMRMLAbstractLogic* qSlicerIsodoseModule::createLogic()
{
return vtkSlicerIsodoseModuleLogic::New();
}