LibCarna Version 3.4.0
Loading...
Searching...
No Matches
IntensityVolume.hpp
Go to the documentation of this file.
1/*
2 * Copyright (C) 2010 - 2016 Leonid Kostrykin
3 *
4 * Chair of Medical Engineering (mediTEC)
5 * RWTH Aachen University
6 * Pauwelsstr. 20
7 * 52074 Aachen
8 * Germany
9 *
10 *
11 * Copyright (C) 2021 - 2025 Leonid Kostrykin
12 *
13 */
14
15#ifndef INTENSITYVOLUME_H_6014714286
16#define INTENSITYVOLUME_H_6014714286
17
25
26namespace LibCarna
27{
28
29namespace base
30{
31
32
33
34// ----------------------------------------------------------------------------------
35// IntensityVolume
36// ----------------------------------------------------------------------------------
37
43class LIBCARNA IntensityVolume : public math::VectorField< float >
44{
45
47
48public:
49
54
58 explicit IntensityVolume( const math::Vector3ui& size );
59
64
68 virtual float operator()( unsigned int x
69 , unsigned int y
70 , unsigned int z ) const override = 0;
71
74 virtual float operator()( const math::Vector3ui& at ) const override = 0;
75
76}; // IntensityVolume
77
78
79
80} // namespace LibCarna :: base
81
82} // namespace LibCarna
83
84#endif // INTENSITYVOLUME_H_6014714286
Defines LibCarna::base::math::VectorField.
Represents an association.
Defines interface to volume data.
virtual float operator()(const math::Vector3ui &at) const override=0
virtual float operator()(unsigned int x, unsigned int y, unsigned int z) const override=0
Returns intensity of specified voxel.
math::Vector3ui size
Holds the resolution.
IntensityVolume(const math::Vector3ui &size)
Instantiates.
Abstract definition of an vector field where is ValueType.
Eigen::Matrix< unsigned int, 3, 1 > Vector3ui
Defines vector.
Definition math.hpp:203
Defines LibCarna::base::noncopyable and NON_COPYABLE.
#define NON_COPYABLE
Marks the class that it is placed in as non-copyable.