X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=segmentation%2FclitkFilterWithAnatomicalFeatureDatabaseManagement.cxx;h=4d96ba3a7e3cbcd2ba19167715105a184f98137a;hb=342abd5c807dab47a30d8369aca8f7e5c9242b2b;hp=343e839a2c049120767db5e03c560a78bdd6246b;hpb=c4376513182f90792e51416ff39fccb983ddc736;p=clitk.git diff --git a/segmentation/clitkFilterWithAnatomicalFeatureDatabaseManagement.cxx b/segmentation/clitkFilterWithAnatomicalFeatureDatabaseManagement.cxx index 343e839..4d96ba3 100644 --- a/segmentation/clitkFilterWithAnatomicalFeatureDatabaseManagement.cxx +++ b/segmentation/clitkFilterWithAnatomicalFeatureDatabaseManagement.cxx @@ -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 "clitkFilterWithAnatomicalFeatureDatabaseManagement.h" @@ -24,7 +24,9 @@ clitk::FilterWithAnatomicalFeatureDatabaseManagement:: FilterWithAnatomicalFeatureDatabaseManagement() { m_AFDB = NULL; - SetAFDBFilename("noname.afdb"); + SetAFDBFilename("default.afdb"); + SetAFDBPath("./"); + DisplayUsedStructuresOnlyFlagOff(); } //-------------------------------------------------------------------- @@ -42,17 +44,45 @@ void clitk::FilterWithAnatomicalFeatureDatabaseManagement::WriteAFDB() void clitk::FilterWithAnatomicalFeatureDatabaseManagement::LoadAFDB() { GetAFDB()->SetFilename(GetAFDBFilename()); - GetAFDB()->Load(); + GetAFDB()->SetPath(GetAFDBPath()); + try { + GetAFDB()->Load(); + } catch (clitk::ExceptionObject e) { + std::cout << "******* Could not read '" << GetAFDBFilename() << "', create one AFDB. ********" << std::endl; + GetAFDB(); + } } //-------------------------------------------------------------------- //-------------------------------------------------------------------- -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; +} +//--------------------------------------------------------------------