FAST  3.2.0
Framework for Heterogeneous Medical Image Computing and Visualization
TransferFunction.hpp
Go to the documentation of this file.
1 #pragma once
2 
4 #include <FAST/Data/Color.hpp>
5 
6 namespace fast {
7 
12 class FAST_EXPORT TransferFunction {
13  public:
24  TransferFunction(std::initializer_list<float> values);
33  int addPoint(float intensity, Vector4f color);
38  void removePoint(int i);
42  void clear();
46  int getSize() const;
52  std::tuple<float, Vector4f> getPoint(int i) const;
58  cl::Buffer getAsOpenCLBuffer(OpenCLDevice::pointer device) const;
59 
61  return TransferFunction({
62  100, 0, 0, 0, 0,
63  300, 1, 0, 0, 0.25f,
64  500, 1, 1, 0.8f, 1,
65  });
66  }
67 
69  return TransferFunction({
70  150, 0, 0, 0, 0,
71  600, 1, 1, 0.5f, 0.1f,
72  1000, 1, 1, 0.8f, 1,
73  });
74  }
75 
77  return TransferFunction({
78  100, 1, 0, 0, 0,
79  300, 1, 0.1f, 0.1f, 0.5f,
80  300, 0, 0, 0, 0,
81  });
82  }
83 
85  return TransferFunction({
86  100, 0, 0, 0, 0,
87  200, 0.8f, 0.8f, 1.0f, 0.1f,
88  220, 1.0f, 0.7f, 0.2f, 0.25f,
89  255, 1.0f, 1.0f, 1.0f, 1.0f,
90  });
91  }
92  protected:
96  void checkData() const;
97  std::vector<float> m_data;
98 
99 };
100 
101 }
fast::ExecutionDevice::pointer
std::shared_ptr< ExecutionDevice > pointer
Definition: ExecutionDevice.hpp:11
fast::TransferFunction::CT_Bone
static TransferFunction CT_Bone()
Definition: TransferFunction.hpp:68
fast
Definition: AffineTransformation.hpp:7
fast::TransferFunction::m_data
std::vector< float > m_data
Definition: TransferFunction.hpp:97
fast::TransferFunction::TransferFunction
TransferFunction()
Definition: TransferFunction.hpp:17
DataTypes.hpp
fast::TransferFunction
Definition: TransferFunction.hpp:12
fast::TransferFunction::CT_Blood
static TransferFunction CT_Blood()
Definition: TransferFunction.hpp:76
fast::TransferFunction::Ultrasound
static TransferFunction Ultrasound()
Definition: TransferFunction.hpp:84
Color.hpp
fast::TransferFunction::CT_Blood_And_Bone
static TransferFunction CT_Blood_And_Bone()
Definition: TransferFunction.hpp:60