#include <iostream>
#include <string>
#include <map>
{
std::map< UL, std::string > names;
assert( sqi_names );
assert( sqi_values );
PrivateTag tindex(0x7fe1,0x71,
"GEMS_Ultrasound_MovieGroup_001");
PrivateTag tname (0x7fe1,0x72,
"GEMS_Ultrasound_MovieGroup_001");
{
{
assert( 0 );
return false;
}
{
assert( 0 );
return false;
}
}
assert( s2 <= s );
PrivateTag tindex2(0x7fe1,0x48,
"GEMS_Ultrasound_MovieGroup_001");
{
{
assert( 0 );
return false;
}
{
assert( 0 );
return false;
}
#if 1
std::cout << indent;
std::cout << "( " << names[ copy ];
#endif
PrivateTag tvalueint(0x7fe1,0x49,
"GEMS_Ultrasound_MovieGroup_001");
PrivateTag tvaluefloat1(0x7fe1,0x51,
"GEMS_Ultrasound_MovieGroup_001");
PrivateTag tvaluefloat(0x7fe1,0x52,
"GEMS_Ultrasound_MovieGroup_001");
PrivateTag tvalueul(0x7fe1,0x53,
"GEMS_Ultrasound_MovieGroup_001");
PrivateTag tvaluesl(0x7fe1,0x54,
"GEMS_Ultrasound_MovieGroup_001");
PrivateTag tvalueob(0x7fe1,0x55,
"GEMS_Ultrasound_MovieGroup_001");
PrivateTag tvaluetext(0x7fe1,0x57,
"GEMS_Ultrasound_MovieGroup_001");
PrivateTag tvaluefd(0x7fe1,0x77,
"GEMS_Ultrasound_MovieGroup_001");
PrivateTag tvaluesl3(0x7fe1,0x79,
"GEMS_Ultrasound_MovieGroup_001");
PrivateTag tvaluesl2(0x7fe1,0x86,
"GEMS_Ultrasound_MovieGroup_001");
PrivateTag tvaluefd1(0x7fe1,0x87,
"GEMS_Ultrasound_MovieGroup_001");
PrivateTag tvaluefloat2(0x7fe1,0x88,
"GEMS_Ultrasound_MovieGroup_001");
#if 1
std::cout << " ) = ";
#endif
{
std::cout << el2.
GetValue() << std::endl;
}
{
std::cout << el2.
GetValue() << std::endl;
}
{
std::cout << el2.
GetValue() << std::endl;
}
{
std::cout << el2.
GetValue() << std::endl;
}
{
std::cout << el2.
GetValue() << std::endl;
}
{
std::cout << value << std::endl;
}
{
std::cout << el2.
GetValue() << std::endl;
}
{
std::cout << std::endl;
}
{
std::cout << std::endl;
}
{
std::cout << std::endl;
}
{
std::cout << std::endl;
}
{
std::cout << std::endl;
}
else
{
std::cout << "(no value)" << std::endl;
assert( ds.
Size() == 2 );
}
}
return true;
}
{
return PrintNameValueMapping( sqi, sqi_names, indent);
}
{
{
assert( 0 );
return false;
}
std::cout << std::endl;
std::cout <<
" <" << el.
GetValue().c_str() <<
">" << std::endl;
return PrintNameValueMapping2( privtag2, ds, sqi_names, indent);
}
{
const gdcm::PrivateTag tseq_values73(0x7fe1,0x73,
"GEMS_Ultrasound_MovieGroup_001");
{
std::cout << indent << "No group 73" << std::endl;
return false;
}
size_t ni3 = sqi_values73->GetNumberOfItems();
for( size_t i3 = 1; i3 <= ni3; ++i3 )
{
assert( ds73.
Size() == 3 );
const gdcm::PrivateTag tseq_values74name(0x7fe1,0x74,
"GEMS_Ultrasound_MovieGroup_001");
const gdcm::PrivateTag tseq_values75(0x7fe1,0x75,
"GEMS_Ultrasound_MovieGroup_001");
PrintNameValueMapping3( tseq_values74name, tseq_values75, ds73, sqi_dict, indent);
std::cout << std::endl;
}
return true;
}
{
(void)sqi_dict;
const gdcm::PrivateTag tseq_values36(0x7fe1,0x36,
"GEMS_Ultrasound_MovieGroup_001");
{
std::cout << indent << "No group 36" << std::endl;
return false;
}
size_t ni3 = sqi_values36->GetNumberOfItems();
assert( ni3 >= 1 );
for( size_t i3 = 1; i3 <= ni3; ++i3 )
{
assert( ds36.
Size() == 4 );
const gdcm::PrivateTag timagedata(0x7fe1,0x60,
"GEMS_Ultrasound_MovieGroup_001");
assert( bv );
static int c = 0;
std::stringstream ss;
ss << "/tmp/debug";
ss << c++;
std::ofstream os( ss.str().c_str(), std::ios::binary );
os.close();
}
return true;
}
{
const gdcm::PrivateTag tseq_values83(0x7fe1,0x83,
"GEMS_Ultrasound_MovieGroup_001");
{
std::cout << indent << "No group 83" << std::endl;
return false;
}
size_t ni3 = sqi_values83->GetNumberOfItems();
for( size_t i3 = 1; i3 <= ni3; ++i3 )
{
assert( ds83.
Size() == 3 );
const gdcm::PrivateTag tseq_values84name(0x7fe1,0x84,
"GEMS_Ultrasound_MovieGroup_001");
const gdcm::PrivateTag tseq_values85(0x7fe1,0x85,
"GEMS_Ultrasound_MovieGroup_001");
PrintNameValueMapping3( tseq_values84name, tseq_values85, ds83, sqi_dict, indent);
std::cout << std::endl;
}
return true;
}
{
(void)indent;
{
assert( 0 );
return false;
}
size_t ni1 = sqi_values10->GetNumberOfItems();
for( size_t i1 = 1; i1 <= ni1; ++i1 )
{
assert( ds10.
Size() == 2 + 3 );
PrintNameValueMapping3( privtag1, privtag2, ds10, sqi_dict, " " );
std::cout << std::endl;
const gdcm::PrivateTag tseq_values20(0x7fe1,0x20,
"GEMS_Ultrasound_MovieGroup_001");
{
assert( 0 );
return false;
}
size_t ni2 = sqi_values20->GetNumberOfItems();
for( size_t i2 = 1; i2 <= ni2; ++i2 )
{
size_t count = ds20.
Size(); (void)count;
assert( ds20.
Size() == 2 + 3 || ds20.
Size() == 2 + 2 );
const gdcm::PrivateTag tseq_values20name(0x7fe1,0x24,
"GEMS_Ultrasound_MovieGroup_001");
const gdcm::PrivateTag tseq_values26(0x7fe1,0x26,
"GEMS_Ultrasound_MovieGroup_001");
PrintNameValueMapping3( tseq_values20name, tseq_values26, ds20, sqi_dict, " ");
std::cout << std::endl;
print36(ds20, sqi_dict, " ");
print83(ds20, sqi_dict, " ");
}
print83(ds10, sqi_dict, " ");
}
return true;
}
int main(int argc, char *argv[])
{
if( argc < 2 ) return 1;
const char *filename = argv[1];
if( !reader.
Read() )
return 1;
const PrivateTag tseq(0x7fe1,0x1,
"GEMS_Ultrasound_MovieGroup_001");
assert( sqi->GetNumberOfItems() == 1 );
Item &item = sqi->GetItem(1);
const PrivateTag tseq_dict(0x7fe1,0x70,
"GEMS_Ultrasound_MovieGroup_001");
const PrivateTag tseq_values8(0x7fe1,0x8,
"GEMS_Ultrasound_MovieGroup_001");
const PrivateTag tseq_values8name(0x7fe1,0x2,
"GEMS_Ultrasound_MovieGroup_001");
{
std::cout << el.
GetValue() << std::endl;
}
size_t count = subds.
Size(); (void)count;
assert( subds.
Size() == 3 + 2 + 1 || subds.
Size() == 3 + 2 + 2);
PrintNameValueMapping( sqi_values8, sqi_dict, " ");
const PrivateTag tseq_values10(0x7fe1,0x10,
"GEMS_Ultrasound_MovieGroup_001");
const PrivateTag tseq_values10name(0x7fe1,0x12,
"GEMS_Ultrasound_MovieGroup_001");
const PrivateTag tseq_values18(0x7fe1,0x18,
"GEMS_Ultrasound_MovieGroup_001");
PrintNameValueMapping4( tseq_values10, subds, tseq_values10name, tseq_values18, sqi_dict," ");
print73( subds, sqi_dict, " " );
#if 0
for( ; it != subds.
End(); ++it )
{
std::cout << de.
GetTag() << std::endl;
}
#endif
return 0;
}
Class to represent binary value (array of bytes)
Definition gdcmByteValue.h:35
const char * GetPointer() const
Definition gdcmByteValue.h:110
VL GetLength() const override
Definition gdcmByteValue.h:77
Class to represent a Data Element either Implicit or Explicit.
Definition gdcmDataElement.h:59
const Tag & GetTag() const
Get Tag.
Definition gdcmDataElement.h:67
const ByteValue * GetByteValue() const
Definition gdcmDataElement.h:133
bool IsEmpty() const
Check if Data Element is empty.
Definition gdcmDataElement.h:106
SmartPointer< SequenceOfItems > GetValueAsSQ() const
Class to represent a Data Set (which contains Data Elements)
Definition gdcmDataSet.h:56
const DataElement & GetDataElement(const Tag &t) const
Definition gdcmDataSet.h:188
bool FindDataElement(const PrivateTag &t) const
Look up if private tag 't' is present in the dataset:
DataElementSet::const_iterator ConstIterator
Definition gdcmDataSet.h:60
ConstIterator Begin() const
Definition gdcmDataSet.h:64
SizeType Size() const
Definition gdcmDataSet.h:75
ConstIterator End() const
Definition gdcmDataSet.h:66
Element class.
Definition gdcmElement.h:70
unsigned long GetLength() const
Definition gdcmElement.h:79
const VRToType< TVR >::Type & GetValue(unsigned int idx=0) const
Definition gdcmElement.h:94
void Print(std::ostream &_os) const
Definition gdcmElement.h:85
void SetFromDataElement(DataElement const &de)
Definition gdcmElement.h:110
a DICOM File
Definition gdcmFile.h:34
const DataSet & GetDataSet() const
Get Data Set.
Definition gdcmFile.h:57
Class to represent an Item.
Definition gdcmItem.h:46
const DataSet & GetNestedDataSet() const
Definition gdcmItem.h:80
Class to represent a Private DICOM Data Element (Attribute) Tag (Group, Element, Owner)
Definition gdcmPrivateTag.h:39
Reader ala DOM (Document Object Model)
Definition gdcmReader.h:54
const File & GetFile() const
Set/Get File.
Definition gdcmReader.h:72
virtual bool Read()
Main function to read a file.
void SetFileName(const char *filename_native)
Class to represent a Sequence Of Items.
Definition gdcmSequenceOfItems.h:40
SizeType GetNumberOfItems() const
Definition gdcmSequenceOfItems.h:86
const Item & GetItem(SizeType position) const
ItemVector::size_type SizeType
Definition gdcmSequenceOfItems.h:44
Class for Smart Pointer.
Definition gdcmSmartPointer.h:40