Program: gdcm
Module: $RCSfile: TestWriteSimple.cxx,v $
Language: C++
- Date: $Date: 2005/02/07 19:17:27 $
- Version: $Revision: 1.22 $
+ Date: $Date: 2005/02/09 16:28:41 $
+ Version: $Revision: 1.23 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
{256, 512, 1, 1, 16, 16, 0, 'e'},
{256, 512, 1, 1, 16, 16, 0, 'i'},
- {512, 256, 10, 1, 8, 8, 0, 'a'},
- {512, 256, 10, 1, 8, 8, 0, 'e'},
- {512, 256, 10, 1, 8, 8, 0, 'i'},
- {512, 256, 10, 3, 8, 8, 0, 'a'},
- {512, 256, 10, 3, 8, 8, 0, 'e'},
- {512, 256, 10, 3, 8, 8, 0, 'i'},
- {0, 0, 1, 1, 8, 8, 0, 'i'} // to find the end
+ {512, 256, 10, 1, 8, 8, 0, 'a'},
+ {512, 256, 10, 1, 8, 8, 0, 'e'},
+ {512, 256, 10, 1, 8, 8, 0, 'i'},
+ {512, 256, 10, 3, 8, 8, 0, 'a'},
+ {512, 256, 10, 3, 8, 8, 0, 'e'},
+ {512, 256, 10, 3, 8, 8, 0, 'i'},
+ {0, 0, 1, 1, 8, 8, 0, 'i'} // to find the end
};
int WriteSimple(Image &img)
str << img.componentSize;
fileToBuild->InsertValEntry(str.str(),0x0028,0x0100); // Bits Allocated
- /******************************************/
- /******************************************/
- // Super duper kludge !!
- if( img.componentSize == 16 )
- {
- // I guess by design user should know that...
- fileToBuild->InsertBinEntry(0,0, 0x7fe0, 0x0010, "OW");
- }
- /******************************************/
- /******************************************/
-
-
str.str("");
str << img.componentUse;
fileToBuild->InsertValEntry(str.str(),0x0028,0x0101); // Bits Stored
Program: gdcm
Module: $RCSfile: gdcmFileHelper.cxx,v $
Language: C++
- Date: $Date: 2005/02/05 01:37:08 $
- Version: $Revision: 1.13 $
+ Date: $Date: 2005/02/09 16:28:41 $
+ Version: $Revision: 1.14 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
PixelWriteConverter->SetReadData(PixelReadConverter->GetRaw(),
PixelReadConverter->GetRawSize());
+ std::string vr = "OB";
+ if( FileInternal->GetBitsAllocated()>8 )
+ vr = "OW";
BinEntry *pixel =
- CopyBinEntry(GetFile()->GetGrPixel(),GetFile()->GetNumPixel());
+ CopyBinEntry(GetFile()->GetGrPixel(),GetFile()->GetNumPixel(),vr);
pixel->SetValue(GDCM_BINLOADED);
pixel->SetBinArea(PixelWriteConverter->GetData(),false);
pixel->SetLength(PixelWriteConverter->GetDataSize());
PixelReadConverter->GetRawSize());
}
+ std::string vr = "OB";
+ if( FileInternal->GetBitsAllocated()>8 )
+ vr = "OW";
BinEntry *pixel =
- CopyBinEntry(GetFile()->GetGrPixel(),GetFile()->GetNumPixel());
+ CopyBinEntry(GetFile()->GetGrPixel(),GetFile()->GetNumPixel(),vr);
pixel->SetValue(GDCM_BINLOADED);
pixel->SetBinArea(PixelWriteConverter->GetData(),false);
pixel->SetLength(PixelWriteConverter->GetDataSize());
DocEntry *oldE = FileInternal->GetDocEntry(group, elem);
ValEntry *newE;
- if(oldE)
+ if( oldE )
{
newE = new ValEntry(oldE->GetDictEntry());
newE->Copy(oldE);
* \return pointer to the modified/created Bin Entry (NULL when creation
* failed).
*/
-BinEntry *FileHelper::CopyBinEntry(uint16_t group,uint16_t elem)
+BinEntry *FileHelper::CopyBinEntry(uint16_t group,uint16_t elem,const std::string &vr)
{
DocEntry *oldE = FileInternal->GetDocEntry(group, elem);
BinEntry *newE;
- if(oldE)
+ if( oldE )
+ if( oldE->GetVR()!=vr )
+ oldE = NULL;
+
+ if( oldE )
{
newE = new BinEntry(oldE->GetDictEntry());
newE->Copy(oldE);
}
else
{
- newE = GetFile()->NewBinEntry(group,elem);
+ newE = GetFile()->NewBinEntry(group,elem,vr);
}
return newE;