typedef std::set<gdcm::DataElement> DataElementSet;
typedef DataElementSet::const_iterator ConstIterator;
int main(int argc, char *argv [])
{
if( argc < 2 ) return 1;
const char *filename = argv[1];
{
std::cerr << "Could not read: " << filename << std::endl;
return 1;
}
std::stringstream strm;
{
std::cout << "This file is not a DICOMDIR" << std::endl;
return 1;
}
{ strm.str("");
}
else
{
std::cerr << " Media Storage Sop Class UID not present" << std::cout;
}
if ("1.2.840.10008.1.3.10"!=strm.str())
{
std::cout << "This file is not a DICOMDIR" << std::endl;
return 1;
}
ConstIterator it = ds.
GetDES().begin();
for( ; it != ds.
GetDES().end(); ++it)
{
if (it->GetTag()==
gdcm::Tag (0x0004, 0x1220))
{
unsigned int itemused = 1;
while (itemused<=sqi->GetNumberOfItems())
{
strm.str("");
while((strm.str()=="PATIENT")||((strm.str()=="PATIENT ")))
{
std::cout << strm.str() << std::endl;
strm.str("");
std::cout << "PATIENT NAME : " << strm.str() << std::endl;
strm.str("");
std::cout << "PATIENT ID : " << strm.str() << std::endl;
std::cout << "=========================== " << std::endl;
itemused++;
strm.str("");
while((strm.str()=="STUDY")||((strm.str()=="STUDY ")))
{
std::cout << " " << strm.str() << std::endl;
strm.str("");
std::cout << " STUDY UID : " << strm.str() << std::endl;
strm.str("");
std::cout << " STUDY DATE : " << strm.str() << std::endl;
strm.str("");
std::cout << " STUDY DESCRIPTION : " << strm.str() << std::endl;
std::cout << " " << "=========================== " << std::endl;
itemused++;
strm.str("");
while((strm.str()=="SERIES")||((strm.str()=="SERIES ")))
{
std::cout << " " << strm.str() << std::endl;
strm.str("");
std::cout << " SERIE UID" << strm.str() << std::endl;
strm.str("");
std::cout << " SERIE MODALITY" << strm.str() << std::endl;
strm.str("");
std::cout << " SERIE DESCRIPTION" << strm.str() << std::endl;
std::cout << " " << "=========================== " << std::endl;
itemused++;
strm.str("");
while ((strm.str()=="IMAGE")||((strm.str()=="IMAGE ")))
{
std::cout << " " << strm.str() << std::endl;
strm.str("");
std::cout << " IMAGE UID : " << strm.str() << std::endl;
strm.str("");
std::cout << " IMAGE PATH : " << strm.str() << std::endl;
if(itemused < sqi->GetNumberOfItems())
{itemused++;
}else{break;}
strm.str("");
}
}
}
}
itemused++;
}
}
}
return 0;
}