YAKAMI DICOM ツール集(フリーの DICOM Viewer/Converter/etc.)
English | 日本語
新着情報
- 注意!
"DICOM Viewer" の ver. 1.2.0.0 以降で利用可能な「コマ落ち無し描画」を
有効にするには、 Windows Aero が有効になっている必要があります。
- New!
2012/04/14 日本医学放射線学会にて描画のコマ落ちについての発表をおこないました。
大きな反響をいただき、誠にありがとうございました。
- New!
2012/03/28 ver. 1.3.4.0 リリース。
不定長のSQ要素と、不定長や長さ指定の間違った項目との多階層入れ子に対応
-
2012/02/06 ver. 1.3.3.0 リリース。
DICOM Viewer が起動時にコマンドライン引数として渡された DICOM データを表示するビューワーウィンドウが
自動レイアウトモード時は最小化されてしまうというバグを修正。
-
2012/02/02 ver. 1.3.2.0 リリース。
Viewerでメインウィンドウのサイズ変更を高速化。
-
2012/02/02 ver. 1.3.1.0 リリース。
Viewerで見た目上のバグを修正。独自タイトルバーの色の変更に対応。
- ver. 1.3.0.0 リリース。
Viewerで大幅なインターフェイスの変更
- 2012/01/11
ver. 1.2.9.0 リリース。
横幅がピクセル値で4の倍数ではない圧縮画像の表示のバグを修正
- 2011/05/23
ITmedia に
紹介記事が
掲載されました。
バグや読めない DICOM ファイルに関する情報を募集しております。
ご協力頂けますとありがたいです。
目次
紹介
「八上 DICOM ツール集 / YAKAMI DICOM Tools」は、
フリーウェアで、研究用に DICOM ファイルを扱うためのツール集です。無料でご利用になれます。
このパッケージは、以下のアプリケーションと文書を含んでいます。
アプリケーション
DICOM Viewer
親子ウィンドウ式(MDI)高速 DICOM ビューワープログラム
DICOM Converter
DICOM ファイルから DICOM/画像ファイルへの一括ファイル変換プログラム
File Mover
DICOM File 整理プログラム
Folder Renamer
DICOM ファイルを収めたフォルダの名前自動変更プログラム
DICOM Counter
DICOM ファイル集計プログラム
Shortcut Maker
ショートカット自動作成プログラム
Index Maker
DICOM ファイル一覧 ("_DCM_IDX.txt") 自動作成プログラム
Table Maker
DICOM ヘッダ表自動作成プログラム
PACS Client
検査を検索して開くためのインターフェイスです。
Conveyer
"DICOM Viewer", "DICOM Converter" or "PACS Client" を呼び出す中継プログラム。
文書:
| readme.ja.txt | Non-DirectX® 版 |
| readme-dx.ja.txt | DirectX® 版 |
| viewer_guide.ja.txt | "DICOM Viewer" の使い方 |
| script.ja.txt | DICOM Converter 用 DICOM 変換スクリプトの書き方 |
| DICOM 変換スクリプト例 |
何もしない /
匿名化 /
暗号化(binary) /
復号(binary) /
暗号化(text) /
復号(text) |
| filename.ja.txt | 出力ファイル/フォルダの Path の指定の仕方 |
| conv-cmd.ja.txt | "DICOM Converter" をDOS 窓から対話的にコントロールする方法 |
| pacs-cmd.ja.txt | "PACS Client" をDOS 窓から対話的にコントロールする方法 |
動作環境
- OS:Windows 7/Vista®/XP/2000
- マシン:上記OSの動作するPC
- メモリ:最小256MB,
DICOM Viewer でのメモリ不足を防ぐには1GB 以上を推奨
- 必要とするライブラリ:Microsoft .NET Framework 2.0
ダウンロード
以下のリンクからお願いします。
最新版
YAKAMI DICOM ツール集
ver. 1.3.4.0 ZIP 圧縮、2,592kB (x86版)
(最新版、2012/03/28 公開、32bit版 Windows 7/Vista®/XP/2000 対応)
English version, 2,187kB
YAKAMI DICOM ツール集
ver. 1.3.4.0 ZIP 圧縮、2,654kB (x64版)
(最新版、2012/03/28 公開、64bit Windows 7/Vista®/XP/2000 対応)
English version, 2,289kB
YAKAMI DICOM ツール集
ver. 1.3.4.0 ZIP 圧縮、2,832kB (DirectX, x86版)
(最新版、2012/03/28 公開、32bit版 Windows 7/Vista®/XP/2000 対応)
English version, 2,516kB
旧版
YAKAMI DICOM ツール集
ver. 1.2.6.0 ZIP 圧縮、2,582kB (x86版)
(最新版、2011/11/12 公開、32bit版 Windows 7/Vista®/XP/2000 対応)
English version, 2,192kB
YAKAMI DICOM ツール集
ver. 1.2.6.0 ZIP 圧縮、2,637kB (x64版)
(最新版、2011/11/12 公開、64bit Windows 7/Vista®/XP/2000 対応)
English version, 2,270kB
YAKAMI DICOM ツール集
ver. 1.2.6.0 ZIP 圧縮、2,843kB (DirectX, x86版)
(最新版、2011/11/12 公開、32bit版 Windows 7/Vista®/XP/2000 対応)
English version, 2,520kB
YAKAMI DICOM ツール集
ver. 1.1.9.0 ZIP 圧縮、2,524kB (x86版)
(2011/06/06 公開、32bit版 Windows 7/Vista®/XP/2000 対応)
English version, 2,135kB
YAKAMI DICOM ツール集
ver. 1.1.9.0 ZIP 圧縮、2,546kB (x64版)
(2011/06/06 公開、64bit Windows 7/Vista®/XP/2000 対応)
English version, 2,190kB
YAKAMI DICOM ツール集
ver. 1.0.9.4 ZIP 圧縮、2,412kB (x86, DirectX® 使用版)
使用には DirectX® の更新が必要です!!!
(2011/01/05 公開、32bit版 Windows 7/Vista®/XP/2000 対応)
English version, 2,154kB
YAKAMI DICOM ツール集
ver. 1.0.3.0 ZIP 圧縮、667kB (DirectX® 不使用版)
(2008/07/07 公開、Windows 7/Vista®(64bit/32bit)用、64bit/32bit版 Windows 7/Vista®/XP/2000 対応)
YAKAMI DICOM ツール集
ver. 1.0.3.0 ZIP 圧縮、998kB (DirectX® 使用版)
使用には DirectX® の更新が必要です!!!
(2008/07/07 公開、Windows 7/Vista®(32bit)/XP(32bit)/2000 用、32bit版 Windows 7/Vista®/XP/2000 対応)
YAKAMI DICOM ツール集
ver. 1.0.0.1 ZIP 圧縮、612kB (DirectX® 不使用版)
(Windows 7/Vista®(64bit/32bit)用、64bit/32bit版 Windows 7/Vista®/XP/2000 対応)
YAKAMI DICOM ツール集
ver. 1.0.0.1 ZIP 圧縮、909kB (DirectX® 使用版)
使用には DirectX® の更新が必要です!!!
(Windows 7/Vista®(32bit)/XP(32bit)/2000 用、32bit版 Windows 7/Vista®/XP/2000 対応)
インストール
インストールするには、ダウンロードして解凍して出来たフォルダの中にある
setup.exe を実行してください。
重要 以前のバージョンのものが既に
インストールされている場合は予めアンインストールしておいてください。
DirectX® 版をご利用になる場合は、YAKAMI DICOM ツール集を使用する前に、
以下のページにあるインストールプログラムを利用して、最新(2007/07/27 以降)の
バージョンの DirectX® がインストールされた状態にしておいてください。
DirectX®:
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3
これらのプログラムをインストールして使用するには、
Microsoft .NET Framework 2.0 のインストールを必要とします。
以下のページでダウンロードできます。
(Windows 7/Vista® には .NET framework 2.0 が初めから入っています。)
.NET Framework 2.0:
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5
アンインストール
コントロールパネルの「プログラムの追加と削除」(Windows XP) か
「プログラムと機能」(Windows 7/Vista®) を開き、リストから
"YAKAMI DICOM Tools" (ver. 1.0.4.1 以降) か
"DICOM Tools" (ver. 1.0.4.1 以前) を選び、
「アンインストール」をクリックしてください。
実行方法
スタートメニューの [全てのプログラム] - [YAKAMI Software] の中に ショートカットがありますので、それをクリックしてください。
主な機能
DICOM Viewer
親子ウィンドウ式(MDI)高速 DICOM ビューワープログラム
* ファイル形式:DICOM 形式。little endian も big endian も対応。画像データの
マルチフレームや入れ子形式や各種圧縮にも対応(JPEG, JPEG Lossless, JPEG LS, MPEG)。
(MPEG データが含まれていた場合、外部プログラムでの再生用に .mpeg ファイルに変換)
フォルダ毎に子ウィンドウを開いて DICOM ファイルを表示し、測定機能も利用でき、
子ウィンドウ間での連動機能も搭載。
* 表示機能:拡大、縮小、90度毎回転、鏡像、平行移動、
ウィンドウ/レベル(WL/WW)変更、白黒反転
* 連動機能:スライス位置、縮尺と向き、表示位置、WL/WW と白黒反転
* 測定機能:長さ、円形ROIの平均値/標準偏差/最大値/最小値
以上はログファイルによる保存と再現が可能
* 画像フィルタ:スラブ - 平均/MIP/MinIP/中央値、平面/立方 - 平均/膨張/収縮/中央値
* 画像融合
* クロス・リファレンス
* 拡大鏡
* 物差し
* 読影の進捗
* DICOM ファイルから DICOM/画像ファイルへの変換(匿名化も可)
等々
DICOM Converter
DICOM から DICOM へのファイル一括変換プログラム
多数の DICOM ファイルの形式やヘッダ内容や画像やファイル名やフォルダ名を
一括で書き換え可能。スクリプトを書けばヘッダの詳細な操作も可能。
匿名化用としても使用可能。
なお、変換速度は、 Windows Explorer での単なるファイルのコピーと同程度。
File Mover
DICOM File 整理プログラム
各ファイルをヘッダ内容に応じたパス(フォルダ名+ファイル名)に配置。
OsiriX の DICOM file 保存フォルダが処理可能であることを
確認済み。
Folder Renamer
DICOM ファイルを収めたフォルダの名前自動変更プログラム
各フォルダの名前を、その中にある DICOM ファイルのヘッダ内容に応じて変更。
その変更方法は自在に指定可能。
DICOM Counter
DICOM ファイル集計プログラム
指定されたフォルダの中にある全てのファイルから DICOM ファイルを探し出して集計します。
Shortcut Maker
ショートカット自動作成プログラム
DICOM ファイルを収めたフォルダをスキャンし、そのフォルダへの
ショートカットファイル (.lnk) を作成します。
Index Maker
DICOM ファイル一覧 ("_DCM_IDX.txt") 自動作成プログラム
"DICOM Viewer" による読み込み時間の短縮のためにフォルダ毎に作られます。
Table Maker
DICOM ヘッダ表自動作成プログラム
DICOM ファイルからヘッダを読み取って一覧表を作ります。
PACS Client
検査を検索して開くためのインターフェイスです。
このプログラムは .dcmvf と .lnk のファイルを探し出して検査リストを表示します。
Conveyer
"DICOM Viewer", "DICOM Converter" or "PACS Client" を呼び出す中継プログラム
サポート
YAKAMI DICOM ツール集 / YAKAMI DICOM Tools に関する情報と最新版のバイナリを以下のページに置いています。
YAKAMI DICOM ツール集 / YAKAMI DICOM Tools:
http://www.kuhp.kyoto-u.ac.jp/~diag_rad/intro/tech/dicom_tools.html
バグや改善提案などがございましたら、
まで
ご連絡いただけますとありがたいです。
特に、"DICOM Viewer" で開かない DICOM file がございましたら
教えて頂けますとありがたいです。
免責
このソフトウェアは、「そのまま」で提供され、特定目的への適合性を含め、 且つそれに限らず、一切の明示的及び暗示的な保証をいたしません。 私たちは、このソフトウェアの使用に起因する一切の直接的、間接的、偶発的、 特殊的、典型的、必然的な損害(代替の品物やサービスの調達費用、利用機会や データや利益の損失、誤診を含め、且つそれに限らず)に対して、たとえ、 いかなる原因でも、いかなる法的責任が問われようとも、契約や法的強制や 不法行為(過失等を含む)があろうとなかろうと、その様な損害の可能性が 指摘されていようとも、一切の責任を負いません。
著作権など
- ライセンス分類:フリーウェア
- 制作者:八上 全弘
email:
- 所属組織:京都大学大学院医学研究科 放射線医学講座(画像診断学・核医学)
- 転載:要連絡
Windows 7/Vista® はマイクロソフト株式会社の米国およびその他の国における登録商標です。
その他各社の、商標、登録商標を含んでいます。
GIF ファイルの読み書きには、 Microsoft .NET Framework 2.0 を使用しています。
このプログラムは、 FreeImage open source image library を使用しています。
詳しくは http://freeimage.sourceforge.net を御覧ください。
FreeImage は、 FIPL, version 3.12.0 に基づいて使用されています。
これらのプログラムは、以下のライブラリを使用しています。
"IJG Win32 - JPEG co-decoding library with Lossless JPEG Extentions".
IJG: Independent JPEG Group, http://www.ijg.org/ を御覧ください。
Lossless JPEG co-decoding extensions: 開発者は Ken Murchison
これらのプログラムは、"CharLS" (開発者は Jan de Vaan)を使用しています。 http://charls.codeplex.com/ を御覧ください。
このプログラムは、 AForge.NET Framework 2.1.5 を使用しています。
詳しくは http://code.google.com/p/aforge/ を御覧ください。
AForge.NET は GNU Lesser General Public License, version 3 に基づいて使用されています。
"YAKAMI DICOM Tools" についての論文・発表など
査読付き論文 / Peer Reviewed Scientific Papers
- Development and Evaluation of a Low-Cost and High-Capacity DICOM Image Data Storage System for Research.
Masahiro Yakami, Koichi Ishizu, Takeshi Kubo, Tomohisa Okada, Kaori Togashi.
Journal of Digital Imaging. 2010 Feb 24. [Epub ahead of print]
[SpringerLink] [PubMed]
学会発表 / Presentations
- 八上全弘、山本憲、柳澤盛雄、呂普軼、藤本晃司、江本豊、富樫かおり
ページング読影時の表示欠損スライス発生の調査及び対策技術の開発と評価
第68回日本医学放射線学会
4月14日(土)10:20-11:30 28.診断:IT・PACS、演題番号:283
パシフィコ横浜、神奈川県、2012年4月14日 - 八上全弘、石津浩一、久保武、岡田知久、江本豊、富樫かおり
YAKAMI DICOM Tools の DICOM形式医用画像を使った研究における有用性
第29回日本医用画像工学会大会
東海大学(伊勢原キャンパス)、神奈川県、2010年7月30日 - 八上全弘、石津浩一、久保武、岡田知久、富樫かおり
YAKAMI DICOM Tools の医用画像研究における有用性
第68回日本医学放射線学会
パシフィコ横浜、神奈川県、2009年4月18日 - 八上 全弘、石津浩一、富樫かおり
安価かつ利便性の高い研究用大容量DICOMデータサーバの開発と運用
第67回日本医学放射線学会
パシフィコ横浜、神奈川県、2008年4月5日 - 八上 全弘、石津浩一、富樫かおり
患者プライバシー保護のための高機能DICOMファイル変換ソフト開発とその評価
第67回日本医学放射線学会
パシフィコ横浜、神奈川県、2008年4月5日 - Masahiro Yakami, MD Takeshi Kubo, MD, PhD, Koichi Ishizu, MD, PhD, Koji Fujimoto, MD, Yoshio Iizuka, Masami Kawagishi, Kaori Togashi, MD, PhD.
Computer inference of diagnosis from features scored by radiologists: Evaluation of 51 features of 222 pulmonary nodules in 100 consecutive CT examinations.
RSNA 2009 Annual meeting
Chicago, U.S.A., 2 Dec 2009. - Masahiro Yakami, Koichi Ishizu, Takeshi Kubo, Tomohisa Okada, Kaori Togashi.
Development of an Integrated DICOM Conversion Tool for Anonymized Medical Image Transport for Radiological Research.
RSNA 2008 Annual meeting.
Chicago, U.S.A., 3 Dec 2008. - Masahiro Yakami, Koichi Ishizu, Takeshi Kubo, Tomohisa Okada, Kaori Togashi.
Development and Evaluation of an Affordable and Massive DICOM Data Storage System for Research.
RSNA 2008 Annual meeting.
Chicago, U.S.A., 2 Dec 2008.
商用誌
更新履歴
課題
| FreeImage open source image library を使って
JPEG 2000 などで画像データが圧縮された DICOM ファイルの読み取りに
成功しました。 しかし、 FreeImage で使われている JPEG のコードが Lossless JPEG に 対応していないものなので、残念ながら Lossless JPEG に対応できません。 フリーでの LossLess JPEG への対応を試みているものの、選択肢は少なく、 残念ながらまだできていません。情報をかなり調べてみましたが、 私の状況と似た方もいらっしゃるようで、 複数個所で似た質問を見かけましたが、いずれも未解決です。 選択肢を挙げてみます。 ● GDCM:Lossless JPEG を使った DICOM ファイルも 問題なく読み込めました。ただ、DICOM 処理部分も使用することになり、 採用するならば、100% .NET で出来ている DICOM 処理の自作ライブラリと、 それを使って実現された種々の機能やその他有利な点をどうするか といった問題の解決が必要になります。 ● ljpeg62.0.1:残念ながらまだ VisualStudio での コンパイルに成功していません。付属している Visual C++ 用のファイルが古く、 残念ながら VisualStudio 2005/2008 では読み込めません。 ● IJG Win32 - JPEG co-decoding library with Lossless JPEG Extentions:コンパイルは できたのですが、 FreeImage との連携はできていません。 FreeImage に含まれている IJG 由来のコードとは バージョンが違い、 VisualStudio でこれを project として FreeImage の Solution に組み込んで利用するにはかなりの改造が必要なようで、 現在のところできていません。また、このコードを hack して C# のコードから 利用するとなると、自分で Wrapper を作らなければならず、できておりません。 |
| 自作の DICOM 処理ライブラリは、 NEMA のページに 置いてある規格を読んで作ったので、 構造の認識自体はできていますが、ひとつの DICOM ファイルに複数の画像が含まれている場合の Viewer での Interface をどうするかという問題は残っています。 余裕が出来たら行いたいと思います。 |
| MPR への対応 |
| 今後の対応を検討しています。余裕が出来たら行いたいと思います。 |
| DICOM server との通信 |
| 今後余裕があれば取り組みたいと思っております。私は
NEMA のページに置いてある
DICOM の資料を見て
プログラムを実装して参りましたが、通信部分はまだ習得しておりません。 GDCM の使用なども検討しております。 |
雑感
.NET のフォームの「メモリリーク」について
一般に、C# などの Garbage Collection 機構を持つ言語では、
「どこからも参照されなくなったら、破棄されて Gargbage Collection の対象となる」
と言われて、常識とされています。しかし、少し考えてみるだけで、
これには例外があることが分かります。それは Form オブジェクトです。
プログラム起動時に Main() 関数の Application.Run() で呼び出される Form (=MainForm) 以外に、
起動後に別のフォーム (=SubForm) を生成して表示したとします。
すると、 SubForm への参照を MainForm が保持しなくなっても、
SubForm を破棄するわけにはいきません。なぜならそれは表示され、使用されているからです。
public class MainForm : Form
{
private void openButton_Click(object sender, EventArgs e)
{
SubForm frm = new SubForm();
frm.Show();
}
}
Application.OpenForms が参照しているではないかと思われる方も
いらっしゃるかもしれませんが、それが参照するか否かをプログラマが
直接制御することは出来ません。つまり、他のオブジェクトの場合と違い、
null を代入するなどして Form への参照をプログラマが明示的になくすことはできず、
使われなくなったかどうかが .NET Framework により別途判断されているわけです。
しかし、使わなくなったかどうかを的確に判断するは難しい問題だと思います。
なぜなら、見えなくなっても、再度表示させることが出来なくなっても、
それゆえ利用者から操作されることが全く無くても、
例えば処理に時間のかかるプロセスが稼働中であったり、
Timer などの内発的なイベントを受けて
何らかの仕事をしていたりすることはあり得るからです。
ですので、プログラムを書く側としては、明示的に Dispose() を呼んだら
確実に破棄して貰えることを期待したくなるのですが、残念ながらそうはなっていませんでした。
たとえ Form.Dispose() を呼んでも、Timer が動作していたらメモリを解放してくれません。
これはかなり注意の必要な仕様なのではないかと思います。
これが原因と思われる未解決の案件もかなりありそうです。
一言に Timer と言っても、 System.Threading.Timer クラス、 System.Timers.Timer クラス、
System.Windows.Forms.Timer クラスなどと多数あって必要に応じて使い分けられていますので、
これもこの問題を分かりにくくしているのかもしれません。
参考
http://bbs.wankuma.com/index.cgi?mode=al2&namber=11716&KLOG=26
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=46554&forum=7
http://www.atmarkit.co.jp/fdotnet/index/bbs/dir98.html
.NET での最大化・最小化ボタン(機能)の override
いつもお世話になっているDOBON.NETの フォームを移動できないようにする を参考にして海外のサイトで情報を集め、ウィンドウの最大化・最小化のコマンドを override してみました。コードは下記の通りです。最大化・最小化ボタンだけではなくて、 タイトルバーのダブルクリックやコントロールボックスのメニューで最大化・最小化を行っても 同じ結果が得られます。カスタムでタイトルバーを作ってボタンを配置すると どうしても統一感を崩しがちですので、 Windows が標準で用意するものをそのまま 使うことが出来ると何かと便利なことも多いと思います。参考になれば幸いです。
private const int WM_SYSCOMMAND = 0x0112;
private const int SC_MINIMIZE = 0xF020;
private const int SC_MAXIMIZE = 0xF030;
[System.Security.Permissions.SecurityPermission(
System.Security.Permissions.SecurityAction.LinkDemand,
Flags = System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)]
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_SYSCOMMAND)
{
switch (m.WParam.ToInt32() & 0xFFF0)
{
case SC_MAXIMIZE:
/* Do Something */
return;
case SC_MINIMIZE:
/* Do Something */
return;
}
}
base.WndProc(ref m);
}
参照
YAKAMI DICOM Tools. Copywrite (C) Masahiro YAKAMI 2012. All rights reserved.
ページ作成日:2007/10/12、最終更新日:2012/03/28








