Carna  Version 3.3.2
MIPLayer.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 MIPLAYER_H_6014714286
13 #define MIPLAYER_H_6014714286
14 
19 #include <Carna/Carna.h>
20 #include <Carna/base/noncopyable.h>
21 #include <Carna/base/math/Span.h>
22 #include <Carna/base/math.h>
24 
25 namespace Carna
26 {
27 
28 namespace presets
29 {
30 
31 
32 
33 // ----------------------------------------------------------------------------------
34 // presets :: MIPLayer
35 // ----------------------------------------------------------------------------------
36 
43 class CARNA_LIB MIPLayer
44 {
45 
47 
48  const base::BlendFunction* myFunction;
49 
50 public:
51 
52  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
53 
56 
59  MIPLayer
60  ( const base::math::Span< float >& intensityRange
61  , const base::math::Vector4f& color
62  , const base::BlendFunction& function = LAYER_FUNCTION_REPLACE );
63 
66  MIPLayer
67  ( float minIntensity, float maxIntensity
68  , const base::math::Vector4f& color
69  , const base::BlendFunction& function = LAYER_FUNCTION_REPLACE );
70 
76 
81 
86  void setFunction( const base::BlendFunction& layerFunction );
87 
92  const base::BlendFunction& function() const;
93 
94 }; // presets :: MIPLayer
95 
96 
97 
98 } // namespace Carna :: presets
99 
100 } // namespace Carna
101 
102 #endif // MIPLAYER_H_6014714286
Defines Carna::base::math namespace and CARNA_FOR_VECTOR3UI.
static const base::BlendFunction LAYER_FUNCTION_REPLACE
Defines "replacing" blending function.
Definition: MIPLayer.h:55
Defines Carna::base::math::Span.
Eigen::Matrix< float, 4, 1 > Vector4f
Defines vector.
Definition: math.h:195
Defines an intensity range and the way it is visualized by a maximum intensity projection.
Definition: MIPLayer.h:43
static const base::BlendFunction LAYER_FUNCTION_ADD
Defines the additive blending function.
Definition: MIPLayer.h:54
Defines how alpha blending is to be performed.
Definition: BlendFunction.h:39
Defines Carna::base::BlendFunction.
base::math::Span< float > intensityRange
Holds the intensity range that this layer covers as described here.
Definition: MIPLayer.h:75
#define NON_COPYABLE
Features class it is placed in as non-copyable.
Definition: noncopyable.h:109
base::math::Vector4f color
Holds the color of this layer as described here.
Definition: MIPLayer.h:80