00001 #ifndef __vtkEMSegmentKWLogic_h 00002 #define __vtkEMSegmentKWLogic_h 00003 00004 #include "vtkSlicerApplication.h" 00005 #include "vtkEMSegmentLogic.h" 00006 00007 // lists all functions that include KW Applications , i.e. make tcl calls 00008 class VTK_EMSEGMENT_EXPORT vtkEMSegmentKWLogic : 00009 public vtkObject 00010 { 00011 public: 00012 static vtkEMSegmentKWLogic *New(); 00013 vtkTypeMacro(vtkEMSegmentKWLogic, vtkObject); 00014 00015 // 00016 // actions 00017 // 00018 virtual bool SaveIntermediateResults(vtkSlicerApplicationLogic *appLogic); 00019 00020 virtual int SourceTclFile(const char *tclFile); 00021 virtual int SourceTaskFiles(); 00022 virtual int SourcePreprocessingTclFiles(); 00023 virtual int StartSegmentationWithoutPreprocessing(vtkSlicerApplicationLogic *appLogic); 00024 int ComputeIntensityDistributionsFromSpatialPrior(); 00025 00026 00027 //BTX 00028 vtkstd::string GetTclTaskDirectory(); 00029 vtkstd::string DefineTclTaskFileFromMRML(); 00030 vtkstd::string DefineTclTaskFullPathName(const char* TclFileName); 00031 vtkstd::string GetTemporaryTaskDirectory(); 00032 //ETX 00033 00034 // copy all nodes relating to the EMSegmenter into newScene 00035 // and write to file 00036 virtual bool PackageAndWriteData(vtkSlicerApplicationLogic *appLogic, const char* packageDirectoryName); 00037 00038 int UpdateTasks(); 00039 00040 //BTX 00041 void CreateDefaultTasksList(std::vector<std::string> & DefaultTasksName, std::vector<std::string> & DefaultTasksFile, 00042 std::vector<std::string> & DefinePreprocessingTasksName, std::vector<std::string> & DefinePreprocessingTasksFile); 00043 //ETX 00044 00045 void UpdateIntensityDistributionAuto(vtkIdType nodeID); 00046 00047 vtkSetObjectMacro(SlicerApp, vtkSlicerApplication); 00048 vtkSetObjectMacro(EMSLogic, vtkEMSegmentLogic); 00049 vtkGetObjectMacro(EMSLogic, vtkEMSegmentLogic); 00050 00051 //BTX 00052 std::string GetErrorMessage() {return this->ErrorMsg;} 00053 //ETX 00054 00055 private: 00056 vtkEMSegmentKWLogic(); 00057 ~vtkEMSegmentKWLogic(); 00058 vtkEMSegmentKWLogic(const vtkEMSegmentKWLogic&); 00059 void operator=(const vtkEMSegmentKWLogic&); 00060 00061 vtkSlicerApplication* SlicerApp; 00062 vtkEMSegmentLogic *EMSLogic; 00063 //BTX 00064 std::string ErrorMsg; 00065 //ETX 00066 }; 00067 00068 #endif
1.6.1