/*========================================================================= Program: GDCM (Grassroots DICOM). A DICOM library Copyright (c) 2006-2011 Mathieu Malaterre All rights reserved. See Copyright.txt or http://gdcm.sourceforge.net/Copyright.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 notice for more information. =========================================================================*/ #include "gdcmReader.h" #include "gdcmImplicitDataElement.h" #include "gdcmDataSet.h" #include "gdcmPrivateTag.h" #include "gdcmPrivateTag.h" #include "gdcmByteValue.h" #include "gdcmSequenceOfItems.h" using namespace gdcm; int main(int argc, char *argv[]) { if ( argc < 2 ) return 1; const char *filename = argv[1]; gdcm::Reader r; r.SetFileName( filename ); r.Read(); //gdcm::PrivateTag pt(0xe1,0x42,"ELSCINT1"); //gdcm::Tag pt(0x88,0x200); gdcm::Tag pt(0x8,0x1140); DataSet &ds = r.GetFile().GetDataSet(); const DataElement &de = ds.GetDataElement( pt ); std::cout << de << std::endl; const ByteValue *bv = de.GetByteValue(); SmartPointer sqi = new SequenceOfItems; sqi->SetLength( bv->GetLength() ); std::stringstream ss; ss.str( std::string( bv->GetPointer(), bv->GetLength() ) ); sqi->Read( ss ); std::cout << *sqi << std::endl; return 0; }