X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=segmentation%2FclitkAnatomicalFeatureDatabase.cxx;h=13fb26960ad2e29e20dd7c8124806c885609304e;hb=ae015f09e2fa0ebc736d24b37c9ed6c1ca0cb5b2;hp=2537622a428588ad27aeba399c11b82e0de8444b;hpb=765020625fbc092d283e221e36c83e60a1844cb7;p=clitk.git diff --git a/segmentation/clitkAnatomicalFeatureDatabase.cxx b/segmentation/clitkAnatomicalFeatureDatabase.cxx index 2537622..13fb269 100644 --- a/segmentation/clitkAnatomicalFeatureDatabase.cxx +++ b/segmentation/clitkAnatomicalFeatureDatabase.cxx @@ -28,7 +28,19 @@ //-------------------------------------------------------------------- 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)); + } +} +//--------------------------------------------------------------------