X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=segmentation%2FclitkFilterWithAnatomicalFeatureDatabaseManagement.cxx;h=4d96ba3a7e3cbcd2ba19167715105a184f98137a;hb=706d7e2dc69e12b3823cfae2f3be3f903e4d3c80;hp=bec6b9e59a8a24d380b2b4f45c086e2765ae64b5;hpb=338030186d56f371ab17cf99660bf92ab0dc07fb;p=clitk.git diff --git a/segmentation/clitkFilterWithAnatomicalFeatureDatabaseManagement.cxx b/segmentation/clitkFilterWithAnatomicalFeatureDatabaseManagement.cxx index bec6b9e..4d96ba3 100644 --- a/segmentation/clitkFilterWithAnatomicalFeatureDatabaseManagement.cxx +++ b/segmentation/clitkFilterWithAnatomicalFeatureDatabaseManagement.cxx @@ -25,6 +25,8 @@ FilterWithAnatomicalFeatureDatabaseManagement() { m_AFDB = NULL; SetAFDBFilename("default.afdb"); + SetAFDBPath("./"); + DisplayUsedStructuresOnlyFlagOff(); } //-------------------------------------------------------------------- @@ -42,6 +44,7 @@ void clitk::FilterWithAnatomicalFeatureDatabaseManagement::WriteAFDB() void clitk::FilterWithAnatomicalFeatureDatabaseManagement::LoadAFDB() { GetAFDB()->SetFilename(GetAFDBFilename()); + GetAFDB()->SetPath(GetAFDBPath()); try { GetAFDB()->Load(); } catch (clitk::ExceptionObject e) { @@ -53,11 +56,33 @@ void clitk::FilterWithAnatomicalFeatureDatabaseManagement::LoadAFDB() //-------------------------------------------------------------------- -clitk::AnatomicalFeatureDatabase * clitk::FilterWithAnatomicalFeatureDatabaseManagement::GetAFDB() +clitk::AnatomicalFeatureDatabase::Pointer clitk::FilterWithAnatomicalFeatureDatabaseManagement::GetAFDB() { - if (m_AFDB == NULL) { - m_AFDB = new clitk::AnatomicalFeatureDatabase; + if (!m_AFDB) { + m_AFDB = clitk::AnatomicalFeatureDatabase::New(); } 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 itk::Image ImageType; + founded = GetAFDB()->CheckImage(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; +} +//--------------------------------------------------------------------