X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Example%2FTestCopyDicom.cxx;h=f7139f88615de71ca356d631ef773183736a5f2a;hb=a8569ff195c346229a951d7c6925d93fb5b7dea5;hp=76047119c11d40ccb4b9388a0b56503c09ab44c5;hpb=f6dbab059809959b586408f89330264a03cfe656;p=gdcm.git diff --git a/Example/TestCopyDicom.cxx b/Example/TestCopyDicom.cxx index 76047119..f7139f88 100644 --- a/Example/TestCopyDicom.cxx +++ b/Example/TestCopyDicom.cxx @@ -58,7 +58,7 @@ int main(int argc, char* argv[]) gdcmFile *original = new gdcmFile( argv[1] ); std::cout << "--- Original ----------------------" << std::endl; - original->GetHeader()->Print(); + //original->GetHeader()->Print(); gdcmFile *copy = new gdcmFile( argv[2] ); @@ -72,14 +72,28 @@ int main(int argc, char* argv[]) for (TagDocEntryHT::iterator tag = Ht.begin(); tag != Ht.end(); ++tag) { - //std::cerr << "Reading: " << tag->second->GetVR() << std::endl; - tag->second->Print(); std::cout << std::endl; - if (tag->second->GetVR() == "SQ") //to skip pb of SQ recursive exploration continue; + + std::string value = ((gdcmValEntry*)(tag->second))->GetValue(); + //According to JPR I should also skip those: +// if (tag->second->GetVR() == "unkn") //to skip pb of SQ recursive exploration +// continue; + +// if( value.find( "gdcm::NotLoaded" ) == 0 ) +// continue; + + if( value.find( "gdcm::Loaded" ) == 0 ) + continue; + + //std::cerr << "Reading: " << tag->second->GetVR() << std::endl; + //tag->second->Print(); std::cout << std::endl; + + std::cerr << "Reading: " << value << std::endl; + // Well ... Should have dynamic cast here copy->GetHeader()->ReplaceOrCreateByNumber( - ((gdcmValEntry*)(tag->second))->GetValue(), + value, tag->second->GetGroup(), tag->second->GetElement() ); @@ -89,11 +103,12 @@ int main(int argc, char* argv[]) size_t dataSize = original->GetImageDataSize(); void *imageData = original->GetImageData(); + //copy->GetImageData(); copy->SetImageData(imageData, dataSize); std::cout << "--- Copy ----------------------" << std::endl; std::cout <GetHeader()->Print(); + //copy->GetHeader()->Print(); std::cout << "--- ---- ----------------------" << std::endl; copy->WriteDcmExplVR( argv[2] );