]> Creatis software - clitk.git/commitdiff
Add option do display required structures
authorDavid Sarrut <david.sarrut@gmail.com>
Thu, 14 Jun 2012 13:36:15 +0000 (15:36 +0200)
committerDavid Sarrut <david.sarrut@gmail.com>
Thu, 14 Jun 2012 13:36:15 +0000 (15:36 +0200)
segmentation/clitkFilterWithAnatomicalFeatureDatabaseManagement.cxx
segmentation/clitkFilterWithAnatomicalFeatureDatabaseManagement.h

index 6db7c4b934dee61ba449fc65164c4838159a09c8..9732057817f0dab2de41c59a2a49c96810c62c8d 100644 (file)
@@ -26,6 +26,7 @@ FilterWithAnatomicalFeatureDatabaseManagement()
   m_AFDB = NULL; 
   SetAFDBFilename("default.afdb");
   SetAFDBPath("./");
+  DisplayUsedStructuresOnlyFlagOff();
 }
 //--------------------------------------------------------------------
 
@@ -63,3 +64,25 @@ clitk::AnatomicalFeatureDatabase::Pointer clitk::FilterWithAnatomicalFeatureData
   return m_AFDB;
 }
 //--------------------------------------------------------------------
+
+
+//--------------------------------------------------------------------
+void clitk::FilterWithAnatomicalFeatureDatabaseManagement::
+AddUsedStructures(std::string station, std::string structure)
+{
+  if (!GetDisplayUsedStructuresOnlyFlag()) return;
+  std::cout << station << "\t" << structure;
+  bool founded = true;
+  bool tag = GetAFDB()->TagExist(structure);
+  if (tag) {
+    typedef typename itk::Image<uchar, 3> ImageType;
+    founded = GetAFDB()->CheckImage<ImageType>(structure);
+    if (!founded) { 
+      std::cout << " \t Image not exist in DB ";
+      std::cout << "<" << GetAFDB()->GetTagValue(structure) << "> ";
+    }
+  }
+  if (!tag) std::cout << " \t Tag not found in DB";
+  std::cout << std::endl;
+}
+//--------------------------------------------------------------------
index a1f9f29f54d35e023c3c5d988e0193d6524894a4..a44405b7a1ff677db47d7f4745aa72ce2b9fe0fb 100644 (file)
@@ -41,24 +41,15 @@ namespace clitk {
     // Run-time type information (and related methods)
     itkTypeMacro(FilterWithAnatomicalFeatureDatabaseManagement, Object);
 
-    // Set/Get filename 
-    // itkBooleanMacro(AFDBFilenameGivenFlag);
-    // itkSetMacro(AFDBFilenameGivenFlag, bool);
-    // itkGetConstMacro(AFDBFilenameGivenFlag, bool);
-    // GGO_DefineOption_Flag(afdb, SetAFDBFilenameGivenFlag);
-
-    // itkBooleanMacro(AFDBPathGivenFlag);
-    // itkSetMacro(AFDBPathGivenFlag, bool);
-    // itkGetConstMacro(AFDBPathGivenFlag, bool);
-    // GGO_DefineOption_Flag(afdb_path, SetAFDBPathGivenFlag);
-
     itkSetMacro(AFDBFilename, std::string);
     itkGetConstMacro(AFDBFilename, std::string);
-    // GGO_DefineOption_WithTest(afdb, SetAFDBFilename, std::string, AFDBFilenameGivenFlag);
 
     itkSetMacro(AFDBPath, std::string);
     itkGetConstMacro(AFDBPath, std::string);
-    // GGO_DefineOption_WithTest(afdb_path, SetAFDBPath, std::string, AFDBPathGivenFlag);
+
+    itkGetConstMacro(DisplayUsedStructuresOnlyFlag, bool);
+    itkSetMacro(DisplayUsedStructuresOnlyFlag, bool);
+    itkBooleanMacro(DisplayUsedStructuresOnlyFlag);
 
     void WriteAFDB();
     void LoadAFDB();
@@ -71,11 +62,14 @@ namespace clitk {
     virtual ~FilterWithAnatomicalFeatureDatabaseManagement() {}    
     
     std::string m_AFDBFilename;
-    // bool m_AFDBFilenameGivenFlag;
     std::string m_AFDBPath;
-    // bool m_AFDBPathGivenFlag;
     clitk::AnatomicalFeatureDatabase::Pointer m_AFDB;
 
+    // For debug: display used structures but do not perform
+    // segmentation
+    bool m_DisplayUsedStructuresOnlyFlag;
+    void AddUsedStructures(std::string station, std::string structure);    
+
   private:
     FilterWithAnatomicalFeatureDatabaseManagement(const Self&); //purposely not implemented
     void operator=(const Self&); //purposely not implemented