]> Creatis software - clitk.git/blobdiff - segmentation/clitkAnatomicalFeatureDatabase.cxx
Debug RTStruct conversion with empty struc
[clitk.git] / segmentation / clitkAnatomicalFeatureDatabase.cxx
index f9fef2a636e31ed33d94fc52e182c624933e8e7c..13fb26960ad2e29e20dd7c8124806c885609304e 100644 (file)
@@ -3,7 +3,7 @@
 
   Authors belong to: 
   - University of LYON              http://www.universite-lyon.fr/
-  - Léon Bérard cancer center       http://oncora1.lyon.fnclcc.fr
+  - Léon Bérard cancer center       http://www.centreleonberard.fr
   - CREATIS CNRS laboratory         http://www.creatis.insa-lyon.fr
 
   This software is distributed WITHOUT ANY WARRANTY; without even
@@ -14,7 +14,7 @@
 
   - BSD        See included LICENSE.txt file
   - CeCILL-B   http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
-  ======================================================================-====*/
+  ===========================================================================**/
 
 // clitk
 #include "clitkAnatomicalFeatureDatabase.h"
 //--------------------------------------------------------------------
 clitk::AnatomicalFeatureDatabase::AnatomicalFeatureDatabase() 
 { 
-  SetFilename("default.afdb"); 
+  SetFilename("default.afdb");
+  SetPath("./");
+}
+//--------------------------------------------------------------------
+
+
+//--------------------------------------------------------------------
+clitk::AnatomicalFeatureDatabase::Pointer clitk::AnatomicalFeatureDatabase::New(std::string filename) 
+{ 
+  Pointer a = AnatomicalFeatureDatabase::New();
+  a->SetFilename(filename);
+  a->Load();
+  return a;
 }
 //--------------------------------------------------------------------
 
@@ -94,11 +106,7 @@ void clitk::AnatomicalFeatureDatabase::Load()
 //--------------------------------------------------------------------
 void clitk::AnatomicalFeatureDatabase::SetPoint3D(std::string tag, PointType3D & p)
 {
-#if ITK_VERSION_MAJOR > 3
   std::ostringstream value;
-#else
-  ::itk::OStringStream value;
-#endif
   value << p[0] << " " << p[1] << " " << p[2];
   m_MapOfTag[tag] = value.str();
 }
@@ -115,6 +123,19 @@ double clitk::AnatomicalFeatureDatabase::GetPoint3D(std::string tag, int dim)
 //--------------------------------------------------------------------
 
 
+//--------------------------------------------------------------------
+std::string clitk::AnatomicalFeatureDatabase::GetTagValue(std::string tag)
+{
+  if (!TagExist(tag)) {
+    clitkExceptionMacro("Could not find the tag <" << tag << "> in the DB");
+    return "";
+  }
+  std::string s = m_MapOfTag[tag];
+  return s;
+}
+//--------------------------------------------------------------------
+
+
 //--------------------------------------------------------------------
 void clitk::AnatomicalFeatureDatabase::GetPoint3D(std::string tag, PointType3D & p)
 {
@@ -161,6 +182,7 @@ bool clitk::AnatomicalFeatureDatabase::TagExist(std::string tag)
 }
 //--------------------------------------------------------------------
 
+
 //-------------------------------------------------------------------- 
 void clitk::AnatomicalFeatureDatabase::SetDouble(std::string tag, double value)
 {
@@ -168,6 +190,7 @@ void clitk::AnatomicalFeatureDatabase::SetDouble(std::string tag, double value)
 }
 //-------------------------------------------------------------------- 
 
+
 //-------------------------------------------------------------------- 
 double clitk::AnatomicalFeatureDatabase::GetDouble(std::string tag)
 {
@@ -184,3 +207,13 @@ double clitk::AnatomicalFeatureDatabase::GetDouble(std::string tag)
   return a;  
 }
 //-------------------------------------------------------------------- 
+
+
+//-------------------------------------------------------------------- 
+void clitk::AnatomicalFeatureDatabase::RemoveTag(TagType tag)
+{
+  if (TagExist(tag)) {
+    m_MapOfTag.erase(m_MapOfTag.find(tag));
+  }
+}
+//--------------------------------------------------------------------