- std::string transferSyntaxName = e1->GetTransfertSyntaxName();
- std::cout << " TransferSyntaxName= [" << transferSyntaxName << "]" << std::endl;
-
- if ( transferSyntaxName != "Implicit VR - Little Endian"
- && transferSyntaxName != "Explicit VR - Little Endian"
- && transferSyntaxName != "Deflated Explicit VR - Little Endian"
- && transferSyntaxName != "Explicit VR - Big Endian"
- && transferSyntaxName != "Uncompressed ACR-NEMA" )
- {
- std::cout << std::endl << "==========================================="
- << std::endl;
- f1->ParsePixelData();
- std::cout << std::endl << "==========================================="
- << std::endl;
- }
-
+ if ( e1->GetEntryValue(0x0002,0x0010) == gdcm::GDCM_NOTLOADED )
+ {
+ std::cout << "Transfer Syntax not loaded. " << std::endl
+ << "Better you increase MAX_SIZE_LOAD_ELEMENT_VALUE"
+ << std::endl;
+ return 0;
+ }
+
+ std::string transferSyntaxName = e1->GetTransferSyntaxName();
+ std::cout << " TransferSyntaxName= [" << transferSyntaxName << "]"
+ << std::endl;
+ std::cout << " SwapCode= " << e1->GetSwapCode() << std::endl;
+
+ // Display the LUT as an int array (for degugging purpose)
+ if ( e1->HasLUT() && showlut )
+ {
+ uint8_t* lutrgba = f1->GetLutRGBA();
+ if ( lutrgba == 0 )
+ {
+ std::cout << "Lut RGBA not built ?!?" << std::endl;
+ }
+ else
+ {
+ if ( f1->GetLutItemSize() == 8 )
+ {
+ for (int i=0;i<f1->GetLutItemNumber();i++)
+ std::cout << (int)(lutrgba[i*4]) << " "
+ << (int)(lutrgba[i*4+1]) << " "
+ << (int)(lutrgba[i*4+2]) << std::endl;
+ }
+ else // LutItemSize assumed to be = 16
+ {
+ uint16_t* lutrgba16 = (uint16_t*)lutrgba;
+ for (int i=0;i<f1->GetLutItemNumber();i++)
+ std::cout << lutrgba16[i*4] << " "
+ << lutrgba16[i*4+1] << " "
+ << lutrgba16[i*4+2] << std::endl;
+ }
+ }
+ }
+