CustusX  22.04-rc3
An IGT application
cxAccusurf.h
Go to the documentation of this file.
1 #ifndef CXACCUSURF_H
2 #define CXACCUSURF_H
3 
4 #include "cxMesh.h"
5 #include <QDomElement>
6 #include "org_custusx_filter_accusurf_Export.h"
7 
8 
9 namespace cx
10 {
11 
12 typedef boost::shared_ptr<class RouteToTarget> RouteToTargetPtr;
13 
14 class org_custusx_filter_accusurf_EXPORT Accusurf
15 {
16 public:
17  Accusurf();
18  virtual ~Accusurf();
19  void setRoutePositions(vtkPolyDataPtr route);
20  void setInputImage(ImagePtr inputImage);
21  void setThickness(int thicknessUp, int thicknessDown);
22  vtkImageDataPtr createAccusurfImage();
23 
24 private:
25 
26  vtkImageDataPtr createNewEmptyImage();
27  vtkImageDataPtr crop(vtkImageDataPtr image, int ymin, int ymax);
28  template <class TYPE>
29  void insertValuesAtInitialization(TYPE* volumePointer, vtkImageDataPtr image);
30  template <class TYPE>
31  void insertValuesFromOriginalImage(vtkImageDataPtr image, int* dim, std::vector<int> yIndexes);
32 
33  void smoothPositions();
34  std::vector< Eigen::Vector3d > mRoutePositions;
35  vtkImageDataPtr mInputImage;
36  int mVtkScalarType;
37  int mMinVoxelValue;
38  int mThicknessUp;
39  int mThicknessDown;
40 };
41 
42 } /* namespace cx */
43 
44 #endif // CXACCUSURF_H
boost::shared_ptr< class RouteToTarget > RouteToTargetPtr
Definition: cxAccusurf.h:12
boost::shared_ptr< class Image > ImagePtr
Definition: cxDicomWidget.h:27
vtkSmartPointer< vtkPolyData > vtkPolyDataPtr
vtkSmartPointer< class vtkImageData > vtkImageDataPtr
Namespace for all CustusX production code.