Program: gdcm
Module: $RCSfile: gdcmFile.cxx,v $
Language: C++
- Date: $Date: 2005/10/18 12:58:28 $
- Version: $Revision: 1.277 $
+ Date: $Date: 2005/10/21 14:09:41 $
+ Version: $Revision: 1.286 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
// Change only made if usefull
if ( PixelVR != oldEntry->GetVR() )
{
- DictEntry* newDict = NewVirtualDictEntry(GrPixel,NumPixel,
- PixelVR,"1","Pixel Data");
+ DictEntry* newDict = DictEntry::New(GrPixel,NumPixel,
+ PixelVR,"1","Pixel Data");
DataEntry *newEntry = new DataEntry(newDict);
+ newDict->Delete();
newEntry->Copy(entry);
newEntry->SetBinArea(oldEntry->GetBinArea(),oldEntry->IsSelfArea());
oldEntry->SetSelfArea(false);
}
else
{
- gdcmWarningMacro( "Unfound Pixel Spacing (0018,1164)" );
+ gdcmWarningMacro( "Unfound Imager Pixel Spacing (0018,1164)" );
}
/* const std::string &strImagerPixelSpacing = GetEntryString(0x0018,0x1164);
}
else
{
- gdcmWarningMacro( "Unfound Pixel Spacing (0018,1164)" );
+ gdcmWarningMacro( "Unfound Imager Pixel Spacing (0018,1164)" );
}
/* const std::string &strImagerPixelSpacing = GetEntryString(0x0018,0x1164);
if ( strImagerPixelSpacing != GDCM_UNFOUND )
entry = GetDataEntry(0x0020,0x0050);
if( entry )
{
- gdcmWarningMacro( "Unfound Location (0020,0050)");
if( entry->GetValueCount() == 1 )
return (float)entry->GetValue(0);
gdcmWarningMacro( "Wrong Location (0020,0050)");
void File::AddAnonymizeElement (uint16_t group, uint16_t elem,
std::string const &value)
{
- Element el;
+ DicomElement el;
el.Group = group;
el.Elem = elem;
el.Value = value;
e0000->SetString(sLen.str());
}
- int i_lgPix = GetEntryLength(GrPixel, NumPixel);
- if (i_lgPix != -2)
- {
- // no (GrPixel, NumPixel) element
- std::string s_lgPix = Util::Format("%d", i_lgPix+12);
- s_lgPix = Util::DicomString( s_lgPix.c_str() );
- InsertEntryString(s_lgPix,GrPixel, 0x0000);
- }
+ // Derma?.dcm does not have it...let's remove it FIXME FIXME
+ if( writetype != JPEG )
+ {
+ int i_lgPix = GetEntryLength(GrPixel, NumPixel);
+ if (i_lgPix != -2)
+ {
+ // no (GrPixel, NumPixel) element
+ std::string s_lgPix = Util::Format("%d", i_lgPix+12);
+ s_lgPix = Util::DicomString( s_lgPix.c_str() );
+ InsertEntryString(s_lgPix,GrPixel, 0x0000);
+ }
+ }
Document::WriteContent(fp, writetype);
itemTagGroup = ReadInt16();
itemTagElem = ReadInt16();
}
- catch ( FormatError /*e*/ )
+ catch ( FormatError )
{
- //std::cerr << e << std::endl;
+ gdcmErrorMacro( "Can not read tag for "
+ << " We should have found tag ("
+ << DictEntry::TranslateToKey(testGroup,testElem) << ")"
+ ) ;
+
return false;
}
if ( itemTagGroup != testGroup || itemTagElem != testElem )
{
- gdcmWarningMacro( "Wrong Item Tag found:"
+ gdcmErrorMacro( "Wrong Item Tag found:"
<< " We should have found tag ("
- << std::hex << testGroup << "," << testElem << ")" << std::endl
+ << DictEntry::TranslateToKey(testGroup,testElem) << ")" << std::endl
<< " but instead we encountered tag ("
- << std::hex << itemTagGroup << "," << itemTagElem << ")"
- << " at address: " << " 0x(" << (unsigned int)currentPosition << ")"
+ << DictEntry::TranslateToKey(itemTagGroup,itemTagElem) << ")"
+ << " at address: " << " 0x(" << std::hex
+ << (unsigned int)currentPosition << std::dec << ")"
) ;
Fp->seekg(positionOnEntry, std::ios::beg);
if ( !ReadTag(testGroup, testElem) )
{
+ gdcmErrorMacro( "ReadTag did not succeed for ("
+ << DictEntry::TranslateToKey(testGroup,testElem)
+ << ")..." );
return 0;
}
//// Then read the associated Item Length
long currentPosition = Fp->tellg();
uint32_t itemLength = ReadInt32();
- {
- gdcmWarningMacro( "Basic Item Length is: "
- << itemLength << std::endl
+ gdcmDebugMacro( "Basic Item Length is: " << itemLength
<< " at address: " << std::hex << (unsigned int)currentPosition);
- }
return itemLength;
}
// These are the deprecated method that one day should be removed (after the next release)
#ifndef GDCM_LEGACY_REMOVE
-/**
+/* *
* \brief Constructor (DEPRECATED : temporaryly kept not to break the API)
* @param filename name of the file whose header we want to analyze
* @deprecated do not use any longer
Load( ); // gdcm::Document is first Loaded, then the 'File part'
}
-/**
+/* *
* \brief Loader. (DEPRECATED : temporaryly kept not to break the API)
* @param fileName file to be open for parsing
* @return false if file cannot be open or no swap info was found,