user1677686
user1677686

Reputation: 91

Reading DICOM 1.2.840.10008.1.2.4.70

I have a problem when reading DICOM file. This is the format 1.2.840.10008.1.2.4.70(Process 14 with a first-order prediction (Selection Value 1). I write my own software.

Here is result of my work.

CLICK

I also give you a .dcm file.

What can be wrong with it? Only RadiAnt Dicom Viewer open it corectly ( i didn't find any working software with source code ). Have someone any tutorial about it? Any working code?

I'll be very grateful! Thanks for help.


I show you how I it do:

//I have:
numCOL= imageWidth;
numROW= imageHeight;

dwCurrentBufferLength;//-> where I in file

//and other stuff...

//First i decode first row:
//[0][0]

DecodeFirstRow(curRowBuf,dwCurrentBufferLength);

//I calculate difrences
HuffDecode ( table , &val, dwCurrentBufferLength);

//and extend
HuffExtend(extend, val);

curRowBuf[0][curComp]=extend+(1<<(Pr-Pt-1));

//[1-n][0]
//... huff stuff
curRowBuf[col][curComp]=extend+curRowBuf[col-1][curComp];

//Then i put row to the vector:
for (col = 0; col < numCol; col++) 
{       
v=RowBuf[col][0]<<point_transform_parameter;                    
m_vOutputBuf.push_back(v);
}   

//Rest of columns
//[0][m]
curRowBuf[0][curComp]=extend+prevRowBuf[0][curComp];    


predictor = left =curRowBuf[leftcol][curComp];
//[1-n][m]
curRowBuf[col][curComp]=extend+predictor;
//and also put it to vector ^^

Where i must sub this 1000??

Upvotes: 1

Views: 1463

Answers (2)

malat
malat

Reputation: 12506

Here is what I see using gdcmviewer:

$ gdcmviewer 3DSlice1.dcm

enter image description here

GDCM is open source you could study it.

Upvotes: 0

Anders Gustafsson
Anders Gustafsson

Reputation: 15981

Most likely you have not accounted for the Rescale Intercept, tag (0028,1052) when calculating your HU values. According to the DICOM file, the intercept is -1000.

To get the appropriate HU values of your image, use this formula:

HU = rescale_slope * pixel_value + rescale_intercept

where Rescale Intercept is thus obtained from tag (0028,1052) and Rescale Slope from tag (0028,1053).

Upvotes: 2

Related Questions