ImageJ 学習:CLAHEでコントラスト調整

2017-10-18 :  PCクリニック
Python、C言語、Perl、グルコサミン、Firefox
某雑誌(論文?)を立ち読みしていたら、気になる記事があった。

記事のタイトルは忘れたが、キーワードとしては、
ImageJコントラストCLAHE
があった?様な

それで、
「ImageJ コントラスト CLAHE」で検索してみた。

“Re - ImageJで学ぶ!”の
第61回 ImageJによるコントラスト調整の応用-CLAHEについてで学ぶ!
が見つかった。

立ち読みしたのは(多分)この記事にある“参考記事”でしょう?

で、
このページは、・・・・・

 Re-ImageJで学ぶ!

 インナービジョン連載中のリジット 山本修司「ImageJで学ぶ実践医用・
 バイオ画像処理」を自分の勉強のためにリメイクした「Re-ImageJで学ぶ!」を
 開設いたしました。 画像解析を学ぶ学生や、ImageJの使い方を忘れてしまった
 研究者の方まで、広く読んでいただければ幸いです。


と云うサイトの連載記事で、

 2015年12月10日木曜日
 第61回 ImageJによるコントラスト調整の応用ーCLAHEについてで学ぶ!
 この記事は参考記事を援用して、筆者の考えも交えつつ、記述しています。

ですね。

若干(殆ど全て?)引用させて頂く。


 ImageJの標準の画像処理機能の中には、ヒストグラムを均一にして
 コントラストを調整するメニューもありますが、
 同じ画像の中でも濃淡コントラストが極端に異なる領域が存在する場合、
 画像ノイズも強調されてしまい、
 期待通りの画像処理結果が得られないことがあります。
 このような場合に、ユーザー側で許容できるノイズレベルや、
 画質を調整できるコントラスト制御機能があれば非常に便利です。

 今回は、このコントラストの均一化について、
 パラメータの調整が可能な”CLAHE”(コントラスト制限付適応
 ヒストグラム均一化/均等化)について説明します。
 医用画像処理の応用として、CLAHE処理は、放射線治療の分野で使用される
 リニアックグラフィ(ポータルイメージ)やマンモグラフィなど
 にも適応されています。


 CLAHEとは

 ヒストグラム均一化処理は、処理対象となる画像全体に機能しますが、
 コントラスト制限付適応ヒストグラム均一化/均等化処理
 (Contrast Limited Adaptive Histogram Equalization:CLAHE)は、
 画像内のtilesと呼ばれる分割されたブロックごとに処理をすることで、
 画像の局所領域のコントラストを強調し、細部の可視性を高める手法です。
 CLAHEは局所領域のノイズの過剰な増幅を抑えた強調処理
 ができるといわれています。

 CLAHEでは、分割されたtileに対して、近似的かつ最適なヒストグラムの
 コントラストになるよう自動濃淡調整を行います。
 この処理の際、計算ブロックごとの境界にアーチファクトが生じるため、
 双一次内挿(バイリニア補間)を使って、近傍のtileに補間処理をかけます。

 ImageJでは、Stephan Saalfeld氏によって開発されたCLAHEプラグイン( ・・・ )
 が用意されており、通常のヒストグラム均一化と一味違う結果が得られます。
 以下にCLAHEのコントロールパラメータを示します。
 ・ブロックサイズ:画像を分割するtileのサイズの決定。
  目安として画質を維持したい対象のサイズよりも大きな
  ブロックサイズを選択すと良い。
 ・ヒストグラムのビン数:8および24ビットカラー(RGB)のみ
  対応のヒストグラムで、ビン数はtileのピクセル数よりも小さく
  設定しなければならない。
 ・最大スロープ:強度伝達関数(intensity transfer function)による
  コントラスト伸張の制限を決める。
  この値の1は、元画像を基準として、それよりも大きな値を入力する
  ことによって画像局所の最大コントラストを決定する。

 ・・・・・
 ・・・・・
 ・・・・・

 図は、前述の比較例をImageJのSNR計測プラグインを用いて定量的に行った例です。

 ・・・・・
 ・・・・・

 それぞれ、オリジナルを元画像(リファレンス)として
 SNR(Signal-to-noise ratio)、PSNR(Peak signal-to-noise ratio)、
 RMSE(Root mean square error)、MAE(Mean absolute error)を
 求めた値を示しています。

 CLAHEでtileを細かくしていくほど、
 すべてのデータが元データと比べて改善していることがわかります。
 tileなどの設定値や解析対象物によって使い分けをすると、
 より良い結果が導けるかもしれません。
 腹部MRI画像での処理例では、かなり改善されるようです。

 ・・・・・
 ・・・・・

 参考記事:「山本修司:ImageJで学ぶ実践医用・バイオ画像処理.
       INNERVISION(25・11) 2010, p114-115」

 ・・・・・
 ・・・・・


本日はここまで。


ImageJ 学習は続く?


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


171004
スポンサーサイト

DICOM ファイルを TIFF に変換

2017-10-16 :  PCクリニック
Python、C言語、Perl、グルコサミン、Firefox
前(2017-10-13)の記事「MRIConvert 使って DICOM から TIFF に変換」では、
  ・・・・・
  ・・・・・
  .dcmファイルを入力して、
  .niiファイル経由で、
  16bit .tifファイルに変換する。

  条件としては:
  ・・・・・
  ・・・・・
  ・・・・・

と云うことで、一応のモノが出来た。

だが、
先月(2017-09-13)の記事「DICOM 学習:ファイル読み込み
で書いたコードを流用すれば、.niiファイル経由もイラナイ?

と云うことで、作ってみた:
----- DICOM_to_TIFF.gsl -----
require'pl'; require'cv2_a'; SF = string.format
int16 = |x| ffi.cast( 'int16_t*', x )
uint16 = |x| ffi.cast( 'uint16_t*', x )
uint32 = |x| ffi.cast( 'uint32_t*', x )

ReadUInt16 = || uint16( IN:read(2) )[0]
ReadUInt32 = || uint32( IN:read(4) )[0]
ReadChars = |n| IN:read(n)

Fname = 'x.dcm'; IN = io.open( Fname, 'rb' ) -- サンプルデータ --

-- 先頭 128 バイトは Preamble ( all ゼロ )
-- 次の4バイトは:'DICM'

zzz = IN:read(128); fid = IN:read(4)
if fid ~= 'DICM' then
print( 'Not a DICM' ); _=io.read(1); os.exit()
end

------------------ 参考サイトの C# コードから・・・
g = ReadUInt16()
while g == 2 do
e = ReadUInt16();
vr = ReadChars(2)
if vr == 'AE' or vr == 'AS' or vr == 'AT' or vr == 'CS' or
vr == 'DA' or vr == 'DS' or vr == 'DT' or vr == 'FL' or
vr == 'FD' or vr == 'IS' or vr == 'LO' or vr == 'PN' or
vr == 'SH' or vr == 'SL' or vr == 'SS' or vr == 'ST' or
vr == 'TM' or vr == 'UI' or vr == 'UL' or vr == 'US'
then
length = ReadUInt16()
else -- Read the reserved byte
_ = ReadUInt16()
length = ReadUInt32()
end
----- print( g, e, vr, length, SF('%X',IN:seek()) ) -- デバッグ用
val = ReadChars(length)
g = ReadUInt16()
end

------------------- 以下部分を追加/流用

while g==8 or g==16 or g==24 or g==32 or g==40 or g==64 or g==28677 do
e = ReadUInt16();
length = ReadUInt32()
----- print( g, e, vr, length, SF('%X',IN:seek()) ) -- デバッグ用
val = ReadChars(length)

----------------
if g==40 then
if e==0x0010 then xx = uint16(val)[0] end
if e==0x0011 then yy = uint16(val)[0] end
if e==0x0100 then bpp= uint16(val)[0] end
end
----------------

g = ReadUInt16()
end

IN:close()

if bpp ~= 16 then print( 'Not 16bits' ); _=io.read(1); os.exit() end

-----------------------------------------------
_=path.currentdir() -- 'pl' で 'lfs' を使う為の準備
SZ = lfs.attributes( Fname, 'size' ) -- ファイルサイズ

IN = io.open( Fname, 'rb' )
zzz = IN:read( SZ - xx*yy*2 )
AT = uint16( IN:read('*a') ) -- Read xx*yy*2
IN:close()

require'cv2_a'
tif = cv2.cvCreateMat( yy, xx, CV_16UC1 )
BT = ffi.cast( 'uint16_t*', tif.Byte )

for n=0,xx*yy-1 do
BT[n] = AT[n] + 0x8000 ------------------
end

if string.find( Fname, 'dcm' ) ~= nil then
FN = string.gsub( Fname, '.dcm', '.tif' )
else
FN = Fname..'.tif'
end
cv2.cvSaveImage( 'o-'..FN , tif, 0 )
これで、・・・・・

これで、
.dcmファイルを 16 bit TIFFファイルに変換。
そこそこ汎用で???


本日はここまで。


DICOM 学習は続く?


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


170822,1005

MRIConvert 使って DICOM から TIFF に変換

2017-10-13 :  PCクリニック
Python、C言語、Perl、グルコサミン、Firefox
前々回(2017-10-09)の記事「MRIConvert files / mcverter」で書いた如く、
  ・・・・・
  ・・・・・
  結論としては、<紙>的には
  .dcmファイルを、.niiファイルに変換するのなら、
  “MRIConvert”のmcverter.exeで決まりでしょうか。
  ・・・・・
  ・・・・・

と云うことで、

.dcmファイルを入力して、
.niiファイル経由で、
16bit .tifファイルに変換する。

条件としては:

入力 DICOM 画像は、
16ビットで、リトルエンディアン(little-endian)
そして、(多分)無圧縮

画像サイズは、(多分)任意
そして、カレントに「mcverter.exe」と、
対象の“.dcm”ファイルを置く。


テストデータとして、例の 'x.dcm' を入力し、
結果は 'x.tif' とする。
中間に 'x.nii' を作る。

そう云うことで、出来たコードは:
----- dcm_nii_tiff16.gsl -----
in_DICOM, out_TIFF = 'x.dcm', 'x.tif'
tmpF, tmp_nii = 'x', 'x.nii'
--============================================
require'pl'; require'cv2_a'

Byte = |x| ffi.cast( 'uint8_t*', x )
uint16 = |x| ffi.cast( 'uint16_t*', x )

ppp = string.format( '/o . /F %s /f nifti /n %s', tmpF, in_DICOM )
os.execute( 'mcverter.exe ' .. ppp )

_=path.currentdir() -- 'pl' で 'lfs' を使う為の準備
SZ = lfs.attributes( tmp_nii, 'size' ) -- ファイルサイズ

IN = io.open( tmp_nii, 'rb' )
ptr = Byte( IN:read(SZ) ); IN:close()

H = uint16( ptr ); xx, yy = H[21], H[22]

-------------------------------------------
AT = uint16( ptr + SZ - xx*yy*2 )

require'cv2_a'
tif = cv2.cvCreateMat( yy, xx, CV_16UC1 )
BT = ffi.cast( 'uint16_t*', tif.Byte )

for n=0,xx*yy-1 do
BT[n] = AT[n] + 0x8000 --------------
end

cv2.cvSaveImage( out_TIFF , tif, 0 )

file.delete( tmp_nii )
file.delete( tmpF..'_info.txt' )
と云うことで良さそう。

備考:
(1) コードの途中で:
   _=path.currentdir() -- 'pl' で 'lfs' を使う為の準備
  とあるが、・・・
  コメントの通り、
  requireするのは、plだけだが、
  LFSを使いたい為、pl.pathを(ダミーで)使う。
  ( pl.path モジュールは、LFS を使っている )

(2) 配列 AT は、
  読み込んだファイルの後ろから必要数としている。

(3) 画像データ値は、
  符号付の -2048~1965 じゃなくて、
  符号無しの 30720~34733 となる。


本日はここまで。


DICOM 学習は続く?


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


170925

nii ファイルとは何?

2017-10-11 :  PCクリニック
Python、C言語、Perl、グルコサミン、Firefox
このところ、“DICOM 学習”を行っている???

そこには、拡張子が“.nii”のファイルが出てくる。

ここで、
改めて“.nii”ファイルについて学習した。


以前(2017-09-25)の記事:
… XMedCon:The project stands for Medical Image ・・・」で、
変換先のフォーマットとして、
“nifti”即ち、NIfTI Analyze を指定すると
.niiファイルが出来た。


それで、手始めに
DICOM NifTI format」で検索してみた。

最初のページでは、・・・

 ・DICOM to NIfTI converter, NIfTI tool and viewer - File Exchange ...
 ・Siemens DICOM sort and convert to NIfTI - File Exchange - MATLAB ...
 ・dcm2nii DICOM to NIfTI conversion - Center for Advanced Brain ...
 ・SPM/DICOM - Wikibooks, open books for an open world
 ・NIfTI-1 FAQ - Neuroimaging Informatics Technology Initiative - NIH
 ・The NIFTI file format | Brainder.
 ・dcm2nii DICOM to NIfTI conversion
 ・Tutorial 2: Converting and preparing data - MRI-TUTORIAL.COM
 ・dicomnifti - converts DICOM files into the NIfTI format - Debian ...
 ・How can one convert Nifti to DICOM for DTI images? - ResearchGate

と云ったように、
“DICOM”から“NIfTI”への変換に関するモノが多い?


ならばと、
NIFTI file format」で検索してみた。

最初のページでは、・・・

 ・NIfTI-1 Data Format - Neuroimaging Informatics Technology Initiative
 ・NIfTI-1 header file - NIH
 ・NIfTI-1 FAQ - Neuroimaging Informatics Technology Initiative - NIH
 ・NIfTI: - Neuroimaging Informatics Technology Initiative
 ・NIfTI-1 File Format - NIH
 ・NIfTI-1 Test Data Sets - Neuroimaging Informatics Technology ...
 ・The NIFTI file format | Brainder.
 ・The NIFTI-2 file format | Brainder.
 ・the nifti-1 data format - NITRC
 ・NIfTI conversion (volumetric files) - BrainVoyager Support

と云ったようなページが見つかる。

中から適当に
The NIFTI file format | Brainder.」を選んで見てみた。

  The Neuroimaging Informatics Technology Initiative (nifti) file format
 was envisioned about a decade ago as a replacement to the then widespread,
 yet problematic, analyze 7.5 file format.
  The main problem with the previous format was perhaps the lack of
 adequate information about orientation in space,
 such that the stored data could not be unambiguously interpreted.
  Although the file was used by many different imaging software,
 the lack of adequate information on orientation obliged some,
 most notably spm, to include, for every analyze file,
 an accompanying file describing the orientation,
 such as a file with extension .mat.
  The new format was defined in two meetings of the so called
 Data Format Working Group (dfwg) at the National Institutes of Health (nih),
 one in 31 March and another in 02 September of 2003.
  Representatives of some of the most popular neuroimaging software agreed
 upon a format that would include new information, and upon using the new
 format, either natively, or have it as an option to import and export.
=== Google 翻訳
  Neuroimaging Informatics Technology Initiative(nifti)ファイル
 フォーマットは、10年ほど前に広まっているがまだ問題の多い7.5の
 ファイルフォーマットの代わりに考えられていた。
  以前の形式の主な問題は、おそらく、宇宙での向きに関する適切な情報が
 不足していて、記憶されたデータを明確に解釈できないことでした。
  ファイルは多くの異なるイメージングソフトウェアで使用されていましたが、
 オリエンテーションについての適切な情報が不足しているため、
 分析ファイルごとに、拡張子.matのファイルなど、
 オリエンテーションを記述する添付ファイルを含める必要がありました。
  新しいフォーマットは、2003年3月31日、9月2日に国立保健研究所(NIH)で
 開催されたいわゆるデータフォーマットワーキンググループ(dfwg)の
 2回の会議で定義されました。
  最も人気のあるニューロイメージングソフトウェア新しい情報を
 含むフォーマットと、新しいフォーマットを使用したときにネイティブに、
 あるいはインポートとエクスポートのオプションとして
 持っていることに合意しました。


イマイチ<紙>には理解できない点もあるが、

NIfTI とは、
“Neuroimaging Informatics Technology Initiative”
のことですか。


そして、少し下の方に、

 Overview of the header structure
  In order to keep compatibility with the analyze format,
 the size of the nifti header was maintained at 348 bytes
 as in the old format.
  Some fields were reused, some were preserved, but ignored,
 and some were entirely overwritten.
  The table below shows each of the fields, their sizes,
 and a brief description.
  More details on how each field should be interpreted
 are provided further below.
=== Google 翻訳
  分析フォーマットとの互換性を維持するために、古いフォーマットのように、
 niftiヘッダーのサイズは348バイトに維持されていました。
  一部のフィールドは再利用され、一部は保存されましたが無視され、
 一部は完全に上書きされました。
  下の表は、各フィールド、そのサイズ、
 および簡単な説明を示しています。
  各フィールドの解釈方法の詳細については、
 後で詳しく説明します。


<紙>が(ファイルダンプ)を見るに、
348バイトの後に、4バイトの未使用?領域があるようだ。

つまり、先頭から 352バイトのヘッダーに続いて
16ビット・データがあると見てとれる。


ヘッダー情報で欲しいのは、・・・・・

  TYPE  NAME   OFFSET SIZE  DESCRIPTION

  short  dim[8]  40B  16B   Data array dimensions.


ここの、次元数、サイズ(次元分) ですネ。
例えば、 3   512、512、1、・・・


本日はここまで。


DICOM 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


170917

MRIConvert files / mcverter

2017-10-09 :  PCクリニック
Python、C言語、Perl、グルコサミン、Firefox
前(2017-10-06)の記事「dcm2niix:DICOM to NIfTI conversion」では、
  ・・・・・
  ・・・・・
  Important note: dcm2nii is obsolete.
  While I hope it is generally robust and useful,
  active development has moved to dcm2niix.
  ・・・・・
  ・・・・・
などと書いていた。


dcm2nii:MainPage」をよくよく見ていたら、

9 Alternatives

7番目に、
 ・ Jolinda Smith's mcverter is written in C++,
    and has great support for various vendors.
   It attempts to preserve diffusion gradient information.
とある。

この“mcverter”とは?
MRIConvert files

取り敢えず、
MRIConvert-2.1.0-win32.zip
をダウンロードしてみた。

  2016-02-05 付  2.91MB

中には、
2つの .exe ファイル「mcverter.exe」「MRIConvert.exe」と
「~.txt」ファイル2つのみ。

即実行可ダ。

で、<紙>的には「mcverter.exe」1つあれば十分。


例えば、
カレントにある“x.dcm”を入力して、
カレント dir に、NIfTI 形式の“.nii”ファイルを作る
コマンドは
mcverter.exe  /o .  /f nifti  /n  x.dcm
または、
mcverter.exe  --output="."  --format="nifti"  --nii  x.dcm
で出来る。
正確には、
“KH16-6_St6_Sb4-10R_s_20170313_011_002___Vol_0_5_Vol.nii”
“KH16-6_St6_Sb4-10R_s_20170313_011_002___Vol_0_5_Vol_info.txt”
が出来る。

“.nii”は“NIfTI”形式で、

画素の値は:-2048(=30720)~1965(=34733)
と、“dcm2niix”と同じく真の値。
( XMedCon より good )

Y軸上下は、“XMedCon”と同じく見た目通り
( dcm2niix の様に 逆じゃない )

そして、“.exe”1つで済む。


なお、
“.txt”は、画像の情報で、
“dcm2niix”より多い。



結論としては、<紙>的には
.dcmファイルを、.niiファイルに変換するのなら、
“MRIConvert”のmcverter.exeで決まりでしょうか。



本日はここまで。


DICOM 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


170821

dcm2niix:DICOM to NIfTI conversion

2017-10-06 :  PCクリニック
Python、C言語、Perl、グルコサミン、Firefox
前(2017-10-04)の記事「DICOM 学習:参考サイト」の最後に載せたサイト:
DICOM introduction and free software

の(ほぼ)最終段に、

  Links to DICOM image conversion
  ・ dcm2nii can convert DICOM images to the popular NIfTI file format
   (other excellent converters are also listed on the dcm2nii page).

が載っている ( この段落、最初に列挙されているリンクには載っていない? )


それで、飛んでみた。

 dcm2nii DICOM to NIfTI conversion

 Introduction

 Important note: dcm2nii is obsolete.
 While I hope it is generally robust and useful,
 active development has moved to dcm2niix.
 In general, dcm2niix is typically better suited for modern DICOM images.
 On the other hand, dcm2nii is useful for archival studies with
 legacy proprietary format that predated DICOM.
 This software is provided under the BSD 2-Clause license.

 ・・・・・
 ・・・・・

つまり、
dcm2niiは古いモノで、今ならdcm2niixを使う。


これは如何か?


ダウンロードした:
 「dcm2niix_19-Aug-2017_win.zip」 2017-08-19 付 609KB
  中身は実質 dcm2niix.exe 1つ。

これ、即実行可能ダ。

試しに、
カレントに“dcm2niix.exe”と、(例の)“x.dcm”を置いて、

dcm2niix.exe  .
と打ち込むと、
2つのファイルが出来た:
“___Vol_0.5_Vol._20170313150941_2.json”
“___Vol_0.5_Vol._20170313150941_2.nii”

“.json”はテキスト・ファイルで、“.dcm”の情報
“.nii”は、以前(2017-09-25)の記事:
… XMedCon:The project stands for Medical Image ・・・
で書いている“.nii”ファイルとは若干異なる。

画素の値は:-2048(=30720)~1965(=34733)
と、真の値。

だが、上下が反転している!

でも、「.exe」1つのみで済むのは good

二者択一だと、悩むナ。


因みに、コマンドusageは、
usage: dcm2niix.exe [options] 
Options :
-1..-9 : gz compression level (1=fastest..9=smallest, default -1)
-b : BIDS sidecar (y/n/o(o=only: no NIfTI), default y)
-ba : anonymize BIDS (y/n, default y)
-f : filename (%a=antenna (coil) number, %c=comments, %d=description, %e echo number, %f=folder name, %i ID of patient, %j seriesInstanceUID, %k studyInstanceUID, %m=manufacturer, %n=name of patient, %p=protocol, %s=series number, %t=time, %u=acquisition number, %v=vendor, %x=study ID; %z sequence name; default '%f_%p_%t_%s')
-h : show help
-i : ignore derived, localizer and 2D images (y/n, default n)
-m : merge 2D slices from same series regardless of study time, echo, coil, orientation, etc. (y/n, default n)
-o : output directory (omit to save to input folder)
-p : Philips precise float (not display) scaling (y/n, default y)
-s : single file mode, do not convert other images in folder (y/n, default n)
-t : text notes includes private patient details (y/n, default n)
-v : verbose (n/y or 0/1/2 [no, yes, logorrheic], default 0)
-x : crop (y/n, default n)
-z : gz compress images (y/i/n, default n) [y=pigz, i=internal, n=no]
Defaults stored in Windows registry
Examples :
dcm2niix.exe c:\DICOM\dir
dcm2niix.exe -o c:\out\dir c:\DICOM\dir
dcm2niix.exe -f mystudy%s c:\DICOM\dir
dcm2niix.exe -o "c:\dir with spaces\dir" c:\dicomdir
でしょうか?


本日はここまで。


DICOM 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


170821

DICOM 学習:参考サイト

2017-10-04 :  PCクリニック
Python、C言語、Perl、グルコサミン、Firefox
備忘録として、DICOM 学習用参考サイトの幾つかを列挙。


DICOM ファイル(Photoshop Extended)

  DICOM(Digital Imaging and Communications in Medicine の略)は、
 医療用スキャンを受信するための最もよく使用される標準です。
  Photoshop Extended を使用すると、DICOM(.dc3、.dcm、.dic または
 拡張子なし)ファイルを開いて使用できます。
  DICOM ファイルには、あるスキャンの各レイヤーを表す複数の
 スライスまたはフレームを含めることができます。

  Photoshop は、DICOM ファイルからすべてのフレームを読み取り、
 Photoshop のレイヤーに変換します。
  また、Photoshop ではすべての DICOM フレームを 1 つのレイヤーの
 グリッドに配置して、3D 空間で回転できる 3D ボリュームとして
 フレームを開くことができます。
  Photoshop では、8、10、12 または 16 ビットの DICOM ファイルを
 読み取ることができます (Photoshop では、10 ビットファイルと
 12 ビットファイルが 16 ビットファイルに変換されます)。

  Photoshop で DICOM ファイルを開くと、Photoshop のツールを使用して、
 ファイルを調整したり、ファイルにマークや注釈を付けることができます。
  例えば、ファイルにコメントを追加するには注釈ツール、
 特定のスキャン領域にマークを付けるには鉛筆ツール、スキャン画像から
 ダストやスクラッチを除去するにはダスト&スクラッチフィルターを使用します。
  ものさしツールまたは選択ツールを使用して画像コンテンツを測定します。

 ・・・・・
 ・・・・・



Viewing DICOM images with GIMP

   I have the latest version if GIMP
  which is able to open up the DICOM images,
  but the images are not clear and not reconstructed properly.
   Is there any specific plugin which can help me?

 →

  You might want to use MicroDicom, it does the reconstruction properly.
  You even have a windowing function.

 ・・・・・
 ・・・・・



Read & convert DICOM image - ImageMagick

   Is it possible to read and convert a DICOM to jpg?
  Although I have successfully installed latest version supporting
  the PHP interface, MagickReadImage() fails to read a dcm file
   (in other formats such as jpg, bmp function works fine).
  ・・・ (ImageMagick 6.4.1 05/16/08 Q16)
  ・・・・・・・・・・

 →

   ImageMagick reads DICOM images.
  There have been enhancements and bug fixes to the DICOM reader
  since your release of ImageMagick.
   The current release is ImageMagick 6.6.0-5.
  If you post a URL to one of your images,
  we will download it and determine if the latest release can
  read it properly or if there is a bug in the DICOM reader.

 ・・・・・
 ・・・・・



DICOM introduction and free software

  The DICOM Standard
   This guide gives is a brief description of the DICOM standard,
  which is commonly used for the transfer and storage of medical images.
  ・ An introduction to the DICOM single-file format
  ・ The DICOM header
  ・ Window center and window width (aka brightness and contrast)
  ・ Links to free DICOM viewers
  ・ Links to free DICOM servers/clients
  ・ Links to sample DICOM images
  ・ Links to DICOM resources

 ・・・・・
 ・・・・・



本日はここまで。


DICOM 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


170821

YAKAMI DICOM ツール集 ( フリーの DICOM Viewer/・・・ )

2017-10-02 :  PCクリニック
Python、C言語、Perl、グルコサミン、Firefox
前(2017-09-29)の記事「DICOM 学習:ApolloView Lite」では、
些か失望したので、
Free DICOM Viewer」検索の続き。

YAKAMI DICOM ツール集(フリーの DICOM Viewer/Converter/etc.)
はどうか?

 紹介
  「八上 DICOM ツール集 / YAKAMI DICOM Tools」は、フリーウェアで、
 研究用に DICOM ファイルを扱うためのツール集です。無料でご利用になれます。
 診療用には使用しないでください。

  このパッケージは、以下のアプリケーションと文書を含んでいます。

 アプリケーション
  DICOM Viewer
  DICOM Converter
  File Mover
  Folder Renamer
  DICOM Counter
  Shortcut Maker
  Index Maker
  Table Maker
  PACS Client
  WL/WW Editor
  Gamma Editor
  CLUT Editor
  Combi Editor
  Command-Line Converter
  Conveyer
  共通設定
  レジストリ設定

 文書:
  ・・・・・
  ・・・・・


ダウンロードした:
 「YAKAMI_DICOM_Tools_x86-1.4.5.0.ja.zip」 2014-01-21 付 5.05MB
  中身は実質 YAKAMI_DICOM_Tools.ja.msi 1つ。

インストールした:
  D:/TOOL/YAKAMI_Tools_x86/ 以下に。
   8 Dir と、84 ファイル で、20.9MB
  Path 登録は無し


“DICOM Viewer”は、
その名の通り
 親子ウィンドウ式(MDI)高速 DICOM ビューワープログラム

“DICOM Converter”では、
 TIFF 画像ファイルで出力できるが、8bit

拡張子「.dcm」「.nii」が“DICOM Viewer”に対応付けられた!!!


これも、
<紙>的には、イラナイ な。


本日はここまで。


DICOM 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


170821

DICOM 学習:ApolloView Lite

2017-09-29 :  PCクリニック
Python、C言語、Perl、グルコサミン、Firefox
改めて「Free DICOM Viewer」で検索してみた。

“NAVER まとめ”の
無料でつかえるWindowsのDICOMビューアー」が見つかる。

 通常のビューアー
 病院などからもらってきたCD-RにはいったX線検査や超音波検査の画像や
 画像検査施設や大学病院でもらってきたCTやMRIの画像を見ることができます。
 個人的には、X線検査や超音波検査のデータはAppllo View liteを使用して、
 CTたMRIにはYAMAKI DICOMツールを使用しています。
 無料である割には性能もちゃんとしています。

 ApolloView Lite
  操作性は一番だと思います。MPR※はできません。
 通常のDRやCR、超音波検査(フォーマットによっては静止画のみ)ならば問題なし。
 ※ MPRとはmulti planar reconstructionのことで、
  CTなどのボリュームデータから3方向での断面を同時に表示する方法のことです。


とあるので、

 ソフト名: ApolloView Lite 4.16.8.2
 ファイル: ApolloViewLite4160802Setup.zip / 1,653,856Bytes / 2016.08.04

をダウンロードした。

書庫の中身は?
実質インストーラ:“ApolloViewLiteSetup.exe” 1.70MB 1つ。

早速実行(インストール):
(例によって) D:/TOOL/ApolloViewLite/ に。

 ApolloViewLite.exe 他 数ファイル&数フォルダ。

 Path 登録は無し。


実行してみた。

ほぼ表示のみ?

「その他」メニューに、
  「タグリスト表示」
  「ヒストグラム表示」
が有。


出力では、

ほぼ「.dcm」フォーマットのみ?


<紙>的には、イラナイ な。


本日はここまで。


DICOM 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


170821

DICOM 学習:GraphicsMagick

2017-09-27 :  PCクリニック
Python、C言語、Perl、グルコサミン、Firefox
前々回(2017-09-22)の記事「DICOM 学習:ImageMagick」に続いて、・・・・・

昨年4月(2016-04-06)の記事「GraphicsMagick って?」では、

  GraphicsMagick は、2002年11月に ImageMagick 5.5.2 から派生した。
  その後は、完全に別なプロジェクトである。
  ImageMagick から派生して以来、多くの機能強化がなされている。(NEWS 参照)
  ただし、API やユーティリティ操作に関する変更は無い。

  最近の<紙>は、“ImageMagick”をあまり使わなくなっている。
  なので、この“GraphicsMagick”はとりあえず保留ダ。

で終わっていたが、

その後、
12月に入って、ImageMagickの“display.exe”が動かなかったので、
思い出して、GraphicsMagickを導入していた。
( Path には、先頭に登録された )
本家サイト:GraphicsMagick Image Processing System


それで、ImageMagickに対抗して、
GraphicsMagickで DICOM はどうなのか?

確認してみた。

インストールしたときに、デスクトップに出来たショートカット:
“GraphicsMagick Display (32-bit)”
に ドラッグ&ドロップで、表示出来た。


それから、・・・・・

対応フォーマット:GraphicsMagick Supported Formats

コマンド仕様:GraphicsMagick GM Utility

を参考に、
形式変換をしてみた。

最初は
gm  convert  x.dcm  gm_convert_x.tif
としたら、
RGB 形式に変換されたので、
gm  convert  x.dcm  -channel Gray  gm_convert_x.tif
とした。
これで、16bit GrayScale で出力された。

XnView では、16bit なので、8bit に変換するゾ とでた。

ですが、
ImageJ で読み込んで表示、ヒストグラムを見ると、
値は
  0~1965 が 0~47597 となっている???

これは、どういうこと?


本日はここまで。


DICOM 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


170820
おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク