DGtal
2.2.0
Toggle main menu visibility
Loading...
Searching...
No Matches
DicomReader.h
1
16
17
#pragma once
18
30
31
#if defined(DicomReader_RECURSES)
32
#error Recursive header files inclusion detected in DicomReader.h
33
#else
35
#define DicomReader_RECURSES
36
37
#if !defined DicomReader_h
39
#define DicomReader_h
40
42
// Inclusions
43
#include <iostream>
44
#include "DGtal/base/Common.h"
45
#include "DGtal/base/CUnaryFunctor.h"
46
#include "DGtal/images/CImage.h"
47
#include "DGtal/images/ImageContainerByITKImage.h"
48
50
51
#ifdef _MSC_VER
52
#pragma warning(disable : 4290)
53
#endif
54
55
namespace
DGtal
56
{
57
59
// class DicomReader
87
88
89
template
<
typename
TImageContainer
,
90
typename
TFunctor =
functors::Cast< typename TImageContainer::Value >
>
91
struct
DicomReader
92
{
93
// ----------------------- Standard services ------------------------------
94
public
:
95
96
typedef
TImageContainer
ImageContainer
;
97
typedef
typename
TImageContainer::Value
Value
;
98
typedef
TFunctor
Functor
;
99
typedef
int32_t
PixelType
;
100
101
BOOST_CONCEPT_ASSERT
((
concepts::CImage<ImageContainer>
)) ;
102
BOOST_CONCEPT_ASSERT
((
concepts::CUnaryFunctor<Functor, PixelType, Value >
)) ;
103
BOOST_STATIC_ASSERT
(( TImageContainer::Domain::dimension == 3 ));
104
116
static
ImageContainer
importDicom
(
const
std::string & aFilename,
117
const
Functor
& aFunctor =
Functor
());
118
130
static
ImageContainer
importDicomSeries
(
const
std::vector<std::string> & filenames,
131
const
Functor
& aFunctor =
Functor
());
132
133
private
:
134
135
template
<
typename
Domain,
typename
PixelType>
136
static
inline
ImageContainerByITKImage<Domain, PixelType>
137
importDicomFiles_
(
const
std::vector<std::string> & filenames );
138
139
140
template
<
typename
Image
,
typename
Domain
,
typename
OutPixelType,
141
typename
PixelType
>
142
struct
Aux
143
{
144
static
inline
Image
145
importDicomFiles
(
const
std::vector<std::string> & filenames,
146
const
TFunctor & aFunctor );
147
};
148
149
//specialization
150
template
<
typename
Domain,
typename
OutPixelType,
typename
PixelType>
151
struct
Aux
<
ImageContainerByITKImage
<
Domain
, OutPixelType>,
Domain
,
152
OutPixelType,
PixelType
>
153
{
154
static
inline
ImageContainerByITKImage<Domain, OutPixelType>
155
importDicomFiles
(
const
std::vector<std::string> & filenames,
156
const
TFunctor & aFunctor );
157
};
158
159
160
template
<
typename
PixelType>
161
static
inline
TImageContainer
162
importDicomFiles
(
const
std::vector<std::string> & filenames,
163
const
TFunctor & aFunctor);
164
165
166
};
// end of class DicomReader
167
168
169
170
}
// namespace DGtal
171
172
174
// Includes inline functions.
175
#include "DGtal/io/readers/DicomReader.ih"
176
177
178
// //
180
181
#endif
// !defined DicomReader_h
182
183
#undef DicomReader_RECURSES
184
#endif
// else defined(DicomReader_RECURSES)
DGtal::ImageContainerByITKImage
Aim: implements a model of CImageContainer using a ITK Image.
Definition
ImageContainerByITKImage.h:94
DGtal::ImageContainerBySTLVector< HyperRectDomain< Z2i::Space >, std::unordered_set< Z2i::Point > >::Value
std::unordered_set< Z2i::Point > Value
Definition
ImageContainerBySTLVector.h:153
DGtal::Image
Aim: implements association between points lying in a digital domain and values.
Definition
Image.h:70
DGtal::Domain
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
Definition
ClosedIntegerHalfPlane.h:49
DGtal::int32_t
std::int32_t int32_t
signed 32-bit integer.
Definition
BasicTypes.h:71
DGtal::DicomReader::Aux< ImageContainerByITKImage< Domain, OutPixelType >, Domain, OutPixelType, PixelType >::importDicomFiles
static ImageContainerByITKImage< Domain, OutPixelType > importDicomFiles(const std::vector< std::string > &filenames, const TFunctor &aFunctor)
DGtal::DicomReader::Aux
Definition
DicomReader.h:143
DGtal::DicomReader::Aux::importDicomFiles
static Image importDicomFiles(const std::vector< std::string > &filenames, const TFunctor &aFunctor)
DGtal::DicomReader
Aim: Import a 3D DICOM image from file series.
Definition
DicomReader.h:92
DGtal::DicomReader::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((concepts::CImage< ImageContainer >))
DGtal::DicomReader::BOOST_STATIC_ASSERT
BOOST_STATIC_ASSERT((TImageContainer::Domain::dimension==3))
DGtal::DicomReader::Value
TImageContainer::Value Value
Definition
DicomReader.h:97
DGtal::DicomReader::ImageContainer
TImageContainer ImageContainer
Definition
DicomReader.h:96
DGtal::DicomReader::importDicomSeries
static ImageContainer importDicomSeries(const std::vector< std::string > &filenames, const Functor &aFunctor=Functor())
DGtal::DicomReader::importDicomFiles_
static ImageContainerByITKImage< Domain, PixelType > importDicomFiles_(const std::vector< std::string > &filenames)
DGtal::DicomReader::importDicomFiles
static TImageContainer importDicomFiles(const std::vector< std::string > &filenames, const TFunctor &aFunctor)
DGtal::DicomReader::Functor
TFunctor Functor
Definition
DicomReader.h:98
DGtal::DicomReader::importDicom
static ImageContainer importDicom(const std::string &aFilename, const Functor &aFunctor=Functor())
DGtal::DicomReader::PixelType
int32_t PixelType
Definition
DicomReader.h:99
DGtal::DicomReader::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((concepts::CUnaryFunctor< Functor, PixelType, Value >))
DGtal::concepts::CImage
Aim: Defines the concept describing a read/write image, having an output iterator.
Definition
CImage.h:103
DGtal::concepts::CUnaryFunctor
Aim: Defines a unary functor, which associates arguments to results.
Definition
CUnaryFunctor.h:90
DGtal::functors::Cast
Aim: Define a simple functor using the static cast operator.
Definition
BasicFunctors.h:394
TImageContainer
ImageContainerBySTLVector< HyperRectDomain< Z2i::Space >, std::unordered_set< Z2i::Point > > TImageContainer
Definition
testVoronoiMapComplete.cpp:48
src
DGtal
io
readers
DicomReader.h
Generated on
for DGtal by
1.18.0