CustusX  18.04
An IGT application
cxImageTF3D.h
Go to the documentation of this file.
1 /*=========================================================================
2 This file is part of CustusX, an Image Guided Therapy Application.
3 
4 Copyright (c) SINTEF Department of Medical Technology.
5 All rights reserved.
6 
7 CustusX is released under a BSD 3-Clause license.
8 
9 See Lisence.txt (https://github.com/SINTEFMedtek/CustusX/blob/master/License.txt) for details.
10 =========================================================================*/
11 
12 
13 #ifndef CXIMAGETF3D_H_
14 #define CXIMAGETF3D_H_
15 
16 #include "cxResourceExport.h"
17 #include "cxPrecompiledHeader.h"
18 
19 #include <boost/shared_ptr.hpp>
20 #include <QObject>
21 #include "vtkForwardDeclarations.h"
22 
23 class QColor;
24 class QDomDocument;
25 class QDomNode;
26 
27 #include <map>
28 #include <boost/shared_ptr.hpp>
29 #include "cxImageTFData.h"
30 
31 namespace cx
32 {
33 
34 typedef boost::shared_ptr<class ImageTF3D> ImageTF3DPtr;
35 
36 
51 class cxResource_EXPORT ImageTF3D: public ImageTFData
52 {
53 Q_OBJECT
54 public:
55  ImageTF3D();
56 
57 // void setInitialTFFromImage(vtkImageDataPtr base);
58  ImageTF3DPtr createCopy();
59 
60  vtkPiecewiseFunctionPtr getOpacityTF();
61  vtkColorTransferFunctionPtr getColorTF();
62 
63 protected:
64  virtual void internalsHaveChanged();
65 private:
66  void buildOpacityMapFromLLRAlpha();
67  void refreshColorTF();
68  void refreshOpacityTF();
69 
70  //vtkPiecewiseFunctionPtr mGradientOpacityTF; // implement when needed.
71  vtkPiecewiseFunctionPtr mOpacityTF;
73 };
74 
75 } // end namespace cx
76 
77 #endif /* CXIMAGETF3D_H_ */
Handler for the transfer functions used in 3d image volumes.
Definition: cxImageTF3D.h:51
vtkSmartPointer< class vtkPiecewiseFunction > vtkPiecewiseFunctionPtr
vtkSmartPointer< class vtkColorTransferFunction > vtkColorTransferFunctionPtr
Data class for Transfer Function info, either 2D or 3D.
Definition: cxImageTFData.h:76
boost::shared_ptr< class ImageTF3D > ImageTF3DPtr
Namespace for all CustusX production code.