Computer Assited Medical Intervention Tool Kit
Main Page
Related Pages
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
components
dicom
DicomComponentExtension.h
Go to the documentation of this file.
1
/*****************************************************************************
2
* $CAMITK_LICENCE_BEGIN$
3
*
4
* CamiTK - Computer Assisted Medical Intervention ToolKit
5
* (c) 2001-2013 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO)
6
*
7
* Visit http://camitk.imag.fr for more information
8
*
9
* This file is part of CamiTK.
10
*
11
* CamiTK is free software: you can redistribute it and/or modify
12
* it under the terms of the GNU Lesser General Public License version 3
13
* only, as published by the Free Software Foundation.
14
*
15
* CamiTK is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU Lesser General Public License version 3 for more details.
19
*
20
* You should have received a copy of the GNU Lesser General Public License
21
* version 3 along with CamiTK. If not, see <http://www.gnu.org/licenses/>.
22
*
23
* $CAMITK_LICENCE_END$
24
****************************************************************************/
25
26
#ifndef DICOM_COMPONENT_PLUGIN_H
27
#define DICOM_COMPONENT_PLUGIN_H
28
29
#include <map>
30
#include <QObject>
31
#include <QCheckBox>
32
#include <itkGDCMSeriesFileNames.h>
33
34
#include <
ImageComponentExtension.h
>
35
36
using namespace
camitk;
42
typedef
itk::GDCMSeriesFileNames
NamesGeneratorType
;
43
44
typedef
std::vector<std::string>
FileNamesContainerType
;
45
46
typedef
struct
47
{
49
QString
modality
;
51
QString
protocolName
;
53
QString
seriesDescription
;
55
QString
studyDescription
;
56
58
QString
rows
;
59
QString
columns
;
60
QString
slices
;
62
72
QString
numberOfTemporalPositions
;
74
QString
bitsAllocated
;
76
QString
highBit
;
77
79
QCheckBox *
openIt
;
81
QCheckBox *
desInterlace
;
82
83
}
SomeDicomInfo
;
84
85
typedef
struct
86
{
87
bool
operator()(
const
SomeDicomInfo
i1,
const
SomeDicomInfo
i2)
const
88
{
89
int
nb1 = i1.
numberOfTemporalPositions
.toInt();
90
int
nb2 = i2.
numberOfTemporalPositions
.toInt();
91
92
return
nb1 < nb2;
93
}
94
95
}
CompareInfo
;
96
97
class
DicomComponentExtension
:
public
ImageComponentExtension
{
98
Q_OBJECT
99
Q_INTERFACES(
camitk::ComponentExtension
);
100
101
public
:
103
DicomComponentExtension
() :
ImageComponentExtension
() {};
104
106
virtual
QString getName()
const
;
107
109
virtual
QString getDescription()
const
;
110
112
virtual
QStringList getFileExtensions()
const
;
113
115
virtual
bool
hasDataDirectory()
const
;
116
118
virtual
Component
* open(
const
QString &) throw (
AbortException
);
119
120
protected:
122
virtual ~
DicomComponentExtension
() {};
123
125
bool
findAllDicomSeries(
const
QString &);
126
128
bool
chooseDicomSeriesIds() throw (
AbortException
);
129
130
131
// Map storing series
132
// For each series, it contains:
133
// - Key: some infos read in the dicom headers (SomeDicomInfo)
134
// - Data: set of filenames needed to build the 3D Volume
135
std::map<
SomeDicomInfo
*,
FileNamesContainerType
> theSeries;
136
137
};
138
139
#endif // DICOM_COMPONENT_PLUGIN_H
Generated on Tue Feb 26 2013 20:57:32 for Computer Assited Medical Intervention Tool Kit by
1.8.3.1