00001 #ifndef WXMARACASSURFACERENDERINGMANAGERDATAMHD_H_ 00002 #define WXMARACASSURFACERENDERINGMANAGERDATAMHD_H_ 00003 00004 00005 #include "wxMaracasSurfaceRenderingManagerData.h" 00006 #include "boxSurfaceObserver.h" 00007 00008 #include "vtkMetaImageReader.h" 00009 #include "vtkMarchingCubes.h" 00010 #include "vtkCleanPolyData.h" 00011 #include "vtkImageData.h" 00012 #include "vtkClipPolyData.h" 00013 #include "vtkPlanes.h" 00014 00015 class wxMaracasSurfaceRenderingManagerDataMhd : public wxMaracasSurfaceRenderingManagerData { 00016 00017 public: 00018 00019 wxMaracasSurfaceRenderingManagerDataMhd(vtkImageData* imagedata, std::string dataname="", vtkRenderWindowInteractor* interactor=0); 00020 ~wxMaracasSurfaceRenderingManagerDataMhd(); 00021 00022 00026 void setVtkImageData(vtkImageData* imagedata); 00027 00031 void changeIsoValue(double value); 00035 void checkInvariant(); 00036 00041 int getMaxGreyLevel(); 00042 00046 void contourExtractor(int isovalue); 00047 00051 void UpdateSurface(); 00052 00053 private: 00054 00055 vtkImageData* _imagedata; 00056 int _maxgreylevel; 00057 00061 vtkMarchingCubes* _cubesFilter; 00062 vtkCleanPolyData* _cleanFilter; 00063 vtkPolyDataMapper* _dataMapper; 00064 vtkClipPolyData* _tissueClipper; 00065 vtkPlanes* _tissuePlanes; 00066 00070 int getMaxLevel(vtkImageData* img); 00071 00072 00073 00074 }; 00075 00076 #endif /*WXMARACASSURFACERENDERINGMANAGERDATAMHD_H_*/