[Dcmlib] Pixel Representation =1
zhou13 at netscape.net
zhou13 at netscape.net
Tue Nov 14 12:32:53 CET 2006
Dear Jean:
I find this in gdcmFile.cxx.
/**
* \brief Check whether the pixels are signed (1) or UNsigned (0) data.
* \warning The method defaults to false (UNsigned) when tag 0028|0103
* is missing.
* The responsability of checking this value is left to the caller
* (NO transformation is performed on the pixels to make then >0)
* @return True when signed, false when UNsigned
*/
bool File::IsSignedPixelData()
{
std::string strSign = GetEntryValue( 0x0028, 0x0103 );
if ( strSign == GDCM_UNFOUND )
{
gdcmWarningMacro( "Pixel Representation (0028,0103) supposed to be "
<< "mandatory");
return false;
}
int sign = atoi( strSign.c_str() );
if ( sign == 0 )
{
return false;
}
return true;
}
So, using GDCM doesn't guarantee that the signess of pixel will be handled correctly. People must actively call this method and custom transform the value. A better way would be hiding these details in side the reader and people would always get the correct value regardless of the Pixel Representation settings.
Regards,
Li Zhou
-----Original Message-----
From: jpr at creatis.insa-lyon.fr
To: zhou13 at netscape.net
Cc: dcmlib at creatis.insa-lyon.fr
Sent: Mon, 13 Nov 2006 9:21 PM
Subject: Re: [Dcmlib] Pixel Representation =1
zhou13 at netscape.net wrote:
> Hello list,
>
> Does GDCM correctly handle the Pixel Representation tag? When the > Pixel Representation value is 1, the stored value in DICOM is two's > complement ( 16 bit signed short ). I have been using VTK's DICOM > reader but it can't handle this situation.
I didn't know VTK's DICOM reader had this kind of trouble.
GDCM deals correctly with pixel representation.
GDCM comes with a vtkGdcmReader() , with the same API than vtk's DICOM Reader.
> So i am investigating ITK's DICOM reader which is based on GDCM. I > have some studies from a GE ProSpeed CT which actually set the Pixel > Representation tag to 1.
If you download gdcm, just use vtkgdcmViewer2 yourDicomFileName
to be sure it works.
You can have a look at the dicom header using :
PrintFile filein=yourDicomFileName
HTH
Jean-Pierre Roux
from gdcm team.
>
> Thanks.
> Li Zhou
>
>
> > ------------------------------------------------------------------------
> *Check Out the new free AIM(R) Mail* > <http://pr.atwola.com/promoclk/100122638x1081283466x1074645346/aol?redir=http%3A%2F%2Fwww%2Eaim%2Ecom%2Ffun%2Fmail%2F> > -- 2 GB of storage and industry-leading spam and email virus protection.
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Dcmlib mailing list
>Dcmlib at creatis.insa-lyon.fr
>http://www.creatis.insa-lyon.fr/mailman/listinfo/dcmlib
>
________________________________________________________________________
Check Out the new free AIM(R) Mail -- 2 GB of storage and industry-leading spam and email virus protection.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.creatis.insa-lyon.fr/pipermail/dcmlib/attachments/20061114/70c7bf8e/attachment.html>
More information about the Dcmlib
mailing list