vtkEMSegmentKWLogic.h

Go to the documentation of this file.
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

Generated on 6 Apr 2011 for Slicer3 by  doxygen 1.6.1