1

DICOM ファイルの読み取りに問題があります。これは 1.2.840.10008.1.2.4.70 の形式です (一次予測 (選択値 1) を使用したプロセス 14)。私は自分でソフトウェアを作成しています。

ここに私の仕事の結果があります。

クリック

.dcm ファイルもお渡しします。

何が問題なのですか?RadiAnt Dicom Viewer だけが正しく開きます (ソース コードを含む動作するソフトウェアは見つかりませんでした)。誰かにそれについてのチュートリアルがありますか? 動作するコードはありますか?

とても感謝しています!手伝ってくれてありがとう。


私はそれがどのように行うかを示します:

//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 ^^

この1000をどこでサブする必要がありますか??

4

2 に答える 2

2

HU 値を計算するときに、 Rescale Interceptのタグ (0028,1052)を考慮していない可能性があります。DICOM ファイルによると、切片は -1000 です。

画像の適切な HU 値を取得するには、次の式を使用します。

HU = rescale_slope * pixel_value + rescale_intercept

ここで、Rescale Interceptはタグ (0028,1052) から取得され、Rescale Slopeはタグ (0028,1053) から取得されます。

于 2012-09-17T14:19:09.160 に答える
0

gdcmviewer を使用して表示される内容は次のとおりです。

$ gdcmviewer 3DSlice1.dcm

ここに画像の説明を入力

GDCMは、研究できるオープン ソースです。

于 2012-09-20T16:30:07.860 に答える