Carna  Version 3.0.1
HUVolume.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2010 - 2015 Leonid Kostrykin
3  *
4  * Chair of Medical Engineering (mediTEC)
5  * RWTH Aachen University
6  * Pauwelsstr. 20
7  * 52074 Aachen
8  * Germany
9  *
10  */
11 
12 #ifndef HUVOLUME_H_6014714286
13 #define HUVOLUME_H_6014714286
14 
24 #include <Carna/base/noncopyable.h>
25 
26 namespace Carna
27 {
28 
29 namespace base
30 {
31 
32 
33 
34 // ----------------------------------------------------------------------------------
35 // HUVolume
36 // ----------------------------------------------------------------------------------
37 
45 class CARNA_LIB HUVolume : public math::VectorField< HUV >
46 {
47 
49 
50 public:
51 
55  HUVolume();
56 
60  explicit HUVolume( const math::Vector3ui& size );
61 
66 
70  virtual HUV operator()( unsigned int x
71  , unsigned int y
72  , unsigned int z ) const override = 0;
73 
77  virtual HUV operator()( const math::Vector3ui& at ) const override = 0;
78 
79 }; // HUVolume
80 
81 
82 
83 } // namespace Carna :: base
84 
85 } // namespace Carna
86 
87 #endif // HUVOLUME_H_6014714286
Eigen::Matrix< unsigned int, 3, 1 > Vector3ui
Defines vector.
Definition: math.h:199
math::Vector3ui size
Holds the resolution.
Definition: HUVolume.h:65
Abstract definition of an vector field where is ValueType.
Definition: VectorField.h:49
Defines interface to volumetric data.
Definition: HUVolume.h:45
Defines Carna::base::math::VectorField.
signed short HUV
Represents values in .
Definition: Carna.h:56
#define NON_COPYABLE
Features class it is placed in as non-copyable.
Definition: noncopyable.h:109