00001 /* 00002 * 00003 * Program: Slicer Image-Guided Navigator (The SIGN) 00004 * Module: $RCSfile: SignMRMLVolumeNodeHelper.h,v $ 00005 */ 00014 #ifndef _SIGNMRMLVOLUMENODEHELPER_H 00015 #define _SIGNMRMLVOLUMENODEHELPER_H 00016 #include <SignDLL.h> 00017 #include <SignMRMLNodeHelper.h> 00018 #include <string> 00019 #include <map> 00020 00021 class vtkImageData; 00022 class vtkImageReslice; 00023 class vtkMRMLVolumeNode; 00024 class vtkImageImport; 00025 00026 typedef std::map<int,vtkImageReslice*> ReslicerMap; 00027 00028 class SIGN_EXPORT SignMRMLVolumeNodeHelper : public SignMRMLNodeHelper 00029 { 00030 public: 00031 SignMRMLVolumeNodeHelper(SignMRMLScene* scene_); 00032 ~SignMRMLVolumeNodeHelper(); 00033 00034 virtual void SetUserTransform(vtkTransform* transform); 00035 virtual void SetInputData(SignSink *sink); 00036 00037 virtual void Setup(SignContext* context); 00038 void ResliceVolume(vtkImageData* input,vtkMRMLVolumeNode* mrmlNode); 00039 void ResliceVolume(vtkImageData* input,vtkMRMLVolumeNode* mrmlNode,int timepoint); 00040 vtkImageData* GetOutputForTimePoint(int i); 00041 00042 private: 00043 std::string FindPlane(std::string viewer,SignContext* context); 00044 00045 ReslicerMap reslicers; 00046 }; 00047 00048 #endif
1.4.6