X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=tools%2FclitkDicomInfo.cxx;h=183f09febbe63ca7eea4819590c11b57e531ad3f;hb=d9c8c6e6c759655fc24d05d47b962d2ba574b95d;hp=ff17d768b2b3147a3add17f175b407ff11c7b422;hpb=931a42358442f4ee4f314613c991c838d4b4e3b7;p=clitk.git diff --git a/tools/clitkDicomInfo.cxx b/tools/clitkDicomInfo.cxx index ff17d76..183f09f 100644 --- a/tools/clitkDicomInfo.cxx +++ b/tools/clitkDicomInfo.cxx @@ -1,21 +1,20 @@ -/*------------------------------------------------------------------------- - -Program: clitk -Module: $RCSfile: clitkDicomInfo.cxx,v $ -Language: C++ -Date: $Date: 2010/01/06 13:31:56 $ -Version: $Revision: 1.1 $ - -Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de -l'Image). All rights reserved. See Doc/License.txt or -http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details. - -This software is distributed WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -PURPOSE. See the above copyright notices for more information. - --------------------------------------------------------------------------*/ +/*========================================================================= + Program: vv http://www.creatis.insa-lyon.fr/rio/vv + Authors belong to: + - University of LYON http://www.universite-lyon.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 + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the copyright notices for more information. + + It is distributed under dual licence + + - BSD See included LICENSE.txt file + - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +===========================================================================**/ /** ------------------------------------------------- * @file clitkDicomInfo.cxx @@ -29,9 +28,16 @@ PURPOSE. See the above copyright notices for more information. // itk (gdcm) include #include "gdcmFile.h" +#if GDCM_MAJOR_VERSION >= 2 +#include "gdcmReader.h" +#include "gdcmPrinter.h" +#include "gdcmDict.h" +#include "gdcmStringFilter.h" +#endif //-------------------------------------------------------------------- -int main(int argc, char * argv[]) { +int main(int argc, char * argv[]) +{ // init command line GGO(clitkDicomInfo, args_info); @@ -39,16 +45,64 @@ int main(int argc, char * argv[]) { // check arg if (args_info.inputs_num == 0) return 0; + // Study ID + #if GDCM_MAJOR_VERSION >= 2 + if (args_info.studyID_flag) { + std::set l; + for(unsigned int i=0; i tags; + gdcm::Tag StudyInstanceUIDTag(0x0020, 0x000d); + gdcm::Tag SeriesDateTag(0x0008, 0x0021); + tags.insert(StudyInstanceUIDTag); + tags.insert(SeriesDateTag); + if (reader.ReadSelectedTags(tags)) { + gdcm::StringFilter sf; + sf.SetFile(reader.GetFile()); + std::pair p = sf.ToStringPair(StudyInstanceUIDTag); + std::pair d = sf.ToStringPair(SeriesDateTag); + if (args_info.uniq_flag) { + if (l.insert(p.second).second == true) { + if (args_info.filename_flag) + std::cout << args_info.inputs[i] << " " << p.second << " " << d.second << std::endl; + else + std::cout << p.second << std::endl; + } + } + else { + if (args_info.filename_flag) + std::cout << args_info.inputs[i] << " " << p.second << " " << d.second << std::endl; + else + std::cout << p.second << std::endl; + } + } // tag not found + } + } +#endif + // Loop files + if (!args_info.studyID_flag) for(unsigned int i=0; i= 2 + gdcm::Reader reader; + reader.SetFileName(args_info.inputs[i]); + reader.Read(); + gdcm::Printer printer; + printer.SetFile(reader.GetFile()); + printer.SetStyle(gdcm::Printer::VERBOSE_STYLE); + printer.Print( std::cout ); +#else gdcm::File *header = new gdcm::File(); header->SetFileName(args_info.inputs[i]); - header->SetMaxSizeLoadEntry(16384); + header->SetMaxSizeLoadEntry(163840); header->Load(); header->Print(); +#endif } - // this is the end my friend + // this is the end my friend return 0; } //--------------------------------------------------------------------