CyberRad
CyberRad 2007 2007 ミニシアターミニシアター 22
チュートリアル
チュートリアル#3#3
オープンソースの使い方各論:
オープンソースの使い方各論:
DICOM
DICOM サーバ サーバ
藤田保健衛生大学 衛生学部 藤田保健衛生大学病院 医療情報部
武藤 晃一
本チュートリアルの概要 本チュートリアルの概要
• • オープンソースソフトウェア( オープンソースソフトウェア( OSS OSS )、フリーソ )、フリーソ フトウェア(
フトウェア( FSW FSW )として公開されている )として公開されている
「 「 DICOM DICOM サーバ」にはどんなものがあるのか? サーバ」にはどんなものがあるのか?
– –
DICOM DICOM サーバサーバ == 保存保存SCP, Q/R SCPを実装SCP, Q/R SCPを実装• • どうやって探す? どうやって探す?
– –
!!– –
リンク集リンク集• • どうやって使う? どうやって使う?
– –
代表的なソフトの使用法を紹介代表的なソフトの使用法を紹介DICOM
DICOM 関連の 関連の OSS OSS 、 、 FSW FSW
• •
DICOMDICOM規格の実装を行うためのライブラリ規格の実装を行うためのライブラリ––DICOMDICOMオブジェクトのハンドリングオブジェクトのハンドリング ––DIMSEDIMSEのサポートのサポート
––サンプルアプリケーションとして様々なツールも提供サンプルアプリケーションとして様々なツールも提供
• •
画像ビューア画像ビューア––GUIGUIの工夫、コンピュータグラフィックス(3Dの工夫、コンピュータグラフィックス(3D)や画像処理の)や画像処理の 機能を実装
機能を実装
––DIMSEDIMSEのサポートが無いものもあるのサポートが無いものもある
• •
DICOMDICOMオブジェクトの加工ツールオブジェクトの加工ツール––AnonymizerAnonymizer
––他の画像フォーマットへの変換等他の画像フォーマットへの変換等
• •
画像保存サーバ画像保存サーバ––保存SCP, Q/R SCP 保存SCP, Q/R SCP とオブジェクトのストレージをサポートとオブジェクトのストレージをサポート ––Webによる画像参照機能を持つものもあるWebによる画像参照機能を持つものもある
DICOM
DICOM 関連の 関連の OSS OSS 、 、 FSW FSW
• • 単独で成立しているものもあれば、他の 単独で成立しているものもあれば、他の OSS, OSS, FSWを組み合わせて成立しているものもある FSW を組み合わせて成立しているものもある
– –
利用できるものは利用して、手早く必要な機能を実現さ利用できるものは利用して、手早く必要な機能を実現さ せるせる– –
OSSOSSを組み合わせれば、個別のニーズに応じて改造も可を組み合わせれば、個別のニーズに応じて改造も可 能能• • DICOM DICOM 規格の「どの範囲をサポート」しているか 規格の「どの範囲をサポート」しているか は、まちまち。
は、まちまち。
– –
Transfer SyntaxTransfer Syntax– –
SOPSOPクラスクラス– –
さらに、さらに、IHEへの対応IHEへの対応どこにあるの?
どこにあるの?
669,000
件 ヒット・・・669,000
件 ヒット・・・商用製品 も多い・・・
商用製品 も多い・・・
DICOM
DICOM 関連 関連 OSS, FSW OSS, FSW へのリンク集 へのリンク集
• • alt.image.medical alt.image.medical - - Medical Image Format Medical Image Format FAQ FAQ - - Part 8 : DICOM Information Sources Part 8 : DICOM Information Sources
––http://www.dclunie.comhttp://www.dclunie.com /medical
/medical--image-image-
faq/html/part8.html faq/html/part8.html ––PrincetonPrinceton大学の大学の David David
Clunie
Clunie 氏のDICOM氏のDICOM解説解説 ページページ
David
David Clunie Clunie 氏の 氏の web web ページ ページ
David
David Clunie Clunie 氏の 氏の web web ページ ページ
DICOM
DICOM 関連 関連 OSS, FSW OSS, FSW へのリンク集 へのリンク集
• • The DICOM Standard The DICOM Standard
––http://http://www.sph.sc.edu/comd/rorden/dicom.htmlwww.sph.sc.edu/comd/rorden/dicom.html
––南カリフォルニア大学の南カリフォルニア大学の ChirsChirs RordenRorden 氏のDICOM氏のDICOM解説ページ解説ページ
DICOM
DICOM 関連 関連 OSS, FSW OSS, FSW へのリンク集 へのリンク集
• • idoimaging.com idoimaging.com
––http://http://www.idoimaging.comwww.idoimaging.com
––Programmer Programmer のの Andrew CrabbAndrew Crabb 氏が収集したリンク集氏が収集したリンク集 ––200以上医用画像関連の200以上医用画像関連のOSS, FSWOSS, FSWが分類され検索可能が分類され検索可能
DICOM
DICOM 関連 関連 OSS, FSW OSS, FSW へのリンク集 へのリンク集
• • idoimaging.com idoimaging.com
––http://http://www.idoimaging.comwww.idoimaging.com
––Programmer Programmer のの Andrew CrabbAndrew Crabb 氏が収集したリンク集氏が収集したリンク集 ––200以上医用画像関連の200以上医用画像関連のOSS, FSWOSS, FSWが分類され検索可能が分類され検索可能
DICOM
DICOM 関連 関連 OSS, FSW OSS, FSW へのリンク集 へのリンク集
• • idoimaging.com idoimaging.com
––http://http://www.idoimaging.comwww.idoimaging.com
––Programmer Programmer のの Andrew CrabbAndrew Crabb 氏が収集したリンク集氏が収集したリンク集 ––200以上医用画像関連の200以上医用画像関連のOSS, FSWOSS, FSWが分類され検索可能が分類され検索可能
DICOM
DICOM 関連 関連 OSS, FSW OSS, FSW へのリンク集 へのリンク集
• • idoimaging.com idoimaging.com
––http://http://www.idoimaging.comwww.idoimaging.com
––Programmer Programmer のの Andrew CrabbAndrew Crabb 氏が収集したリンク集氏が収集したリンク集 ––200以上医用画像関連の200以上医用画像関連のOSS, FSWOSS, FSWが分類され検索可能が分類され検索可能
DICOM
DICOM 関連 関連 OSS, FSW OSS, FSW へのリンク集 へのリンク集
• •
Open Source Software for the Healthcare worldOpen Source Software for the Healthcare world––http://http://sls.netpatia.comsls.netpatia.com//
––医用画像、DICOM医用画像、DICOM関連だけでなく関連だけでなくHL7HL7、電子カルテなどの、電子カルテなどのOSSOSS情情 報を収集している
報を収集している
OSS OSS の の DICOM DICOM 実装ライブラリ 実装ライブラリ
DIMSE
DIMSE 含め 含め DICOM DICOM 規格の実装をサポートするもの 規格の実装をサポートするもの
• • C C
– –
CTN v3.0.6 CTN v3.0.6 ftp://ftp://ftp.erl.wustl.edu/pub/dicom/software/ctnftp.erl.wustl.edu/pub/dicom/software/ctn//
• • C++ C++
– –
DCMTK v3.5.4 DCMTK v3.5.4 http://http://dicom.offis.de/dcmtk.php.endicom.offis.de/dcmtk.php.en
– –
UCDMC DICOM codeUCDMC DICOM code• • dicomlib dicomlib v0.9.0 v0.9.0 http://
http:// dicomlib.swri.ca/dicomlib.html dicomlib.swri.ca/dicomlib.html
• • dicomlib dicomlib v1.4.10 v1.4.10
http://www.xs4all.nl/~ingenium/dicom.ht
http://www.xs4all.nl/~ingenium/dicom.ht
ml ml
OSS OSS の の DICOM DICOM 実装ライブラリ 実装ライブラリ
DIMSE
DIMSE 含め 含め DICOM DICOM 規格の実装をサポートするもの 規格の実装をサポートするもの
• • Java Java
– –
dcm4che v1.4.9, v2.0.9dcm4che v1.4.9, v2.0.9 http://www.dcm4che.org/http://www.dcm4che.org/
– –
JDCM v1.6.4 JDCM v1.6.4 http://http://www.geocities.com/gigiobbwww.geocities.com/gigiobb//
– –
PixelMedPixelMedhttp://www.dclunie.com/pixelmed/software/200 http://www.dclunie.com/pixelmed/software/200
70404_current/
70404_current/
• • C# (.NET) C# (.NET)
– –
dcmNETdcmNET v1.64v1.64 http://http://www.geocities.com/gigiobb/dcmNET.htmlwww.geocities.com/gigiobb/dcmNET.html
– –
openDICOM.NETopenDICOM.NEThttp://
http://opendicom.sourceforge.netopendicom.sourceforge.net//
代表的な 代表的な OSS,FSW OSS,FSW の の DICOM DICOM サーバ サーバ
((Store SCP, Q/R SCPのサンプルアプリケーション)Store SCP, Q/R SCPのサンプルアプリケーション)
• • CTN CTN
– –
archive_serverarchive_server• • UCDMC UCDMC dicomlib dicomlib
– –
Conquest DICOM Server Conquest DICOM Serverhttp://www.xs4all.nl/%7Eingenium/dicom.html http://www.xs4all.nl/%7Eingenium/dicom.html
• • DCMTK DCMTK
– –
dmcqrscpdmcqrscp• • dcm4che dcm4che
– –
dcm4cheedcm4cheeetc...
etc...
archive_server
archive_server (CTN) (CTN)
• •
CTNCTN((Central Test NodeCentral Test Node)に含まれる)に含まれるDICOMDICOMサーバサーバ––Mallinckrodt Institute of RadiologyMallinckrodt Institute of Radiology((ワシントン大学セントワシントン大学セント ルイス校)で開発
ルイス校)で開発
– –
RSNA/NEMARSNA/NEMAオフィシャルなオフィシャルなDICOMDICOM実装実装• •
v3.0.6 (2003v3.0.6 (2003--33--11)11)で開発停止中?!で開発停止中?!– –
SCPSCPをサポートする保存をサポートする保存SOPSOPクラス:34クラス:34– –
サポートするサポートするTSTS:暗黙的:暗黙的 VR LEVR LE– –
Q/RQ/R SCPSCPに対応に対応• •
RDBMS(RDBMS(PostgreSQLPostgreSQL, Microsoft , Microsoft SQLServerSQLServer etcetc… …
)を)を 利用利用• •
ConsoleConsoleアプリケーション(アプリケーション(CUI)CUI)– –
Linux, Windows, Mac OSX Linux, Windows, Mac OSX で動作で動作Conquest DICOM Server Conquest DICOM Server
• • Netherlands Cancer Institute Netherlands Cancer Institute (オランダ) (オランダ)
– –
Marcel van HerkMarcel van Herk氏らにより開発・公開氏らにより開発・公開– –
UCDMCで開発されたUCDMCで開発されたDICOMDICOMライブラリを元に、改良ライブラリを元に、改良 を加えたを加えたDICOMDICOMライブラリライブラリ dicomlibdicomlib v 1.4.11 v 1.4.11 を開発を開発• • dicomlib dicomlib v1.4.11 v1.4.11 をベースに実装 をベースに実装
– –
WindowsWindows版はバイナリのみ公開版はバイナリのみ公開• •
Q/R SCPQ/R SCPに対応に対応– –
Microsoft Access (MDB), SQL Server, Microsoft Access (MDB), SQL Server, DBASEDBASEⅢⅢを利用を利用
• •
SCPをサポートする保存SCPをサポートする保存SOPSOPクラス:67クラス:67• •
サポートするサポートするTSTS:7:7• •
GUIGUIアプリケーションアプリケーションdcmqrscp
dcmqrscp (DCMTK) (DCMTK)
• •
DCMTK DCMTK に含まれるに含まれる DICOM DICOM サーバサーバ––オルデンブルグ大学(ドイツ)のオルデンブルグ大学(ドイツ)の OFFISOFFIS(Oldenburg Research (Oldenburg Research and Development Institute for Information Technology
and Development Institute for Information Technology Tools and Systems
Tools and Systems)が開発・公開)が開発・公開
––19931993年よりCEN/TC251年よりCEN/TC251のプロジェクトとして開発が始まるのプロジェクトとして開発が始まる ––ヨーロッパのCTNヨーロッパのCTN
• •
DCMTK v3.5.4DCMTK v3.5.4((20052005--1212--2020))– –
SCPをサポートする保存SCPをサポートする保存SOPSOPクラス:クラス:8484– –
サポートするサポートするTSTS:: 9 9 ((Jpeg2000Jpeg2000にも対応)にも対応)– –
Q/RQ/R SCPに対応SCPに対応• •
インデックスファイル(インデックスファイル(index.datindex.dat)を作成)を作成• •
RDBMS不要RDBMS不要• •
ConsoleConsoleアプリケーション(アプリケーション(CUICUI))– –
Linux, Windows, Mac OSX Linux, Windows, Mac OSX で動作で動作• •
OsiriXOsiriX はは DCMTK DCMTK を利用しているを利用しているDCMTK
DCMTK の中身 の中身
•• dcmdatadcmdata
––DICOMデータのエンコード/デDICOMデータのエンコード/デ コードコード
––dump, XML化dump, XML化, dump, dumpややXMLXMLかか らDICOMらDICOMデータ作成データ作成, PDF, PDFのの DICOM
DICOM化化
•• dcmimagedcmimage
––カラー画像のDICOMカラー画像のDICOM化化
•• dcmimgledcmimgle
––DICOM Part14準拠の画像処理DICOM Part14準拠の画像処理
•• dcmjpegdcmjpeg
––JpegエンコードJpegエンコード//デコードデコード
•• dcmnetdcmnet
––DIMSEDIMSEライブラリライブラリ
––echo, C-echo, C-FIND SCU, CFIND SCU, C--MOVE MOVE SCU&SCP, C
SCU&SCP, C--STORE STORE
•• dcmpstatdcmpstat
–– Presentation StateライブラリPresentation Stateライブラリ –– DICOM Print SCU&SCPDICOM Print SCU&SCP
•• dcmqrdbdcmqrdb
–– DICOM画像サーバDICOM画像サーバ –– dcmqrscpdcmqrscp
•• dcmsigndcmsign –– 電子署名電子署名
•• dcmsrdcmsr
–– DICOM SRDICOM SR
•• dcmtlsdcmtls
–– セキュリティ通信(Part15セキュリティ通信(Part15))
•• dcmwlmdcmwlm
–– MWM SCPとなるMWM SCPとなるWebアプリWebアプリ
dcmqrscp
dcmqrscp を使ってみる を使ってみる
• • Windows Windows 用実行バイナリ( 用実行バイナリ( dcmtk dcmtk - - 3.5.4 3.5.4 - - win32
win32 - - i386.zip i386.zip )をダウンロードして解凍 )をダウンロードして解凍
– – “ “
C:C:¥ ¥
usrusr¥ ¥
dcmtkdcmtk” ”
に展開に展開• • 環境変数の設定 環境変数の設定
– –
set DCMDICTPATH=C:set DCMDICTPATH=C:¥usr ¥
usr¥¥dcmtk
dcmtk¥¥
liblib¥dicom.dic ¥
dicom.dic• • dcmqrscp.exe dcmqrscp.exe 用の設定ファイルを編集 用の設定ファイルを編集
– –
C:C:¥ ¥
usrusr¥ ¥
dcmtkdcmtk¥ ¥
etcetc¥ ¥
dcmqrscp.cfgdcmqrscp.cfgdcmqrscp.cfg dcmqrscp.cfg
# Global Configuration Parameters
# Global Configuration Parameters NetworkType
NetworkType = "= "tcptcp""
NetworkTCPPort
NetworkTCPPort = 104= 104 MaxPDUSize
MaxPDUSize = 16384= 16384 MaxAssociations
MaxAssociations = 16= 16 Display = "no"
Display = "no"
HostTable
HostTable BEGINBEGIN test = (TEST,
test = (TEST, localhostlocalhost, 3000), 3000) HostTable
HostTable ENDEND VendorTable
VendorTable BEGINBEGIN VendorTable
VendorTable ENDEND AETable
AETable BEGINBEGIN DCMSRV
DCMSRV x:¥x:¥dicomtestdicomtest¥¥TESTTEST RW (200,1024mb) testRW (200,1024mb) test AETable
AETable ENDEND
Store SCUのAEタイトルを
「TEST」とする。
Store SCPのAEタイトルを
「DCMSRV」とする。
受け取ったDICOMデータは、
「x:¥dicomtest¥TEST¥」 ディレクトリに保存する。
最大保持Studyは「200」件
HostTable内のエイリアス
「test」からのリクエストに対応
保存SCP
保存SCP
保存SCP
dcm4che
dcm4che と と dcm4chee dcm4chee
•• “革命“革命””からから“Che“Che GuevaraGuevara”を連想し、ツールキットの名前に”を連想し、ツールキットの名前に 使ったらしい
使ったらしい
• • dcm4chee dcm4chee
– –
dcm4che dcm4che とと JBossJBoss** を利用してを利用して IHE IHE のの Image Image Manager / Image ArchiveManager / Image Archive を構築を構築
• •
IHEIHEののIM/IAIM/IAアクターをアクターをwebwebアプリケーションとしてアプリケーションとして 実装実装– –
Jbossのコンポーネント(Jbossのコンポーネント(TomCatなども)を含んTomCatなども)を含ん でいるでいる• •
対応対応DBDB : : MySQLMySQL, , PostgresqlPostgresql, ODBC, ODBC• • dcm4che dcm4che
– –
ProprietaryProprietaryななDICOMDICOMののJavaJavaツールツール キット開発に携わったキット開発に携わったGunter Gunter Zeilinger
Zeilinger氏が、OSS氏が、OSSの革命性に触発の革命性に触発 され自らのツールキットを作成
され自らのツールキットを作成
dcm4chee dcm4chee
• •
WebWebベースのベースのUIUI• •
DICOM StorageDICOM Storage––DICOM 2006準拠DICOM 2006準拠
• •
DICOM Query/RetrieveDICOM Query/Retrieve• •
WADOに対応WADOに対応––独自に拡張機能も実装独自に拡張機能も実装
• •
MPPS, GPWL, MWL, Storage MPPS, GPWL, MWL, Storage CommittmentCommittment, Hanging , Hanging Protocols etcProtocols etc
… …
• •
CD/DVDへメディア作成機能CD/DVDへメディア作成機能• •
HL7 ServerHL7 Server––ADT, ORM, ORUADT, ORM, ORUのメッセージのメッセージ タイプのハンドリング
タイプのハンドリング
http://www.dcm4che.org/docs/conf
dcm4chee dcm4chee
• • IHE IHE のアクターと のアクターと して動作 して動作
– –
IM/IAIM/IA– –
PPS ManagerPPS Manager– –
Report ManagerReport Manager– –
etcetc… …
– –
XDS/XDSXDS/XDS--I, I,ATNA, Teaching ATNA, Teaching
File and Clinical File and Clinical
Trial Export
Trial Exportなどなど にも対応にも対応
Patient Identifier Cross-reference Consumer Patient Identifier Cross-referencing
Document Repository Imaging Document Source Cross-enterprise Document Sharing for Imaging
Document Repository Cross-Enterprise Document Sharing
Report Repository Displayable Reports
Information Source Retrieve ECG for Display
Information Source Retrieve Information for Display
Export Manager Export Selector Teaching File and Clinical Trial Export
Portable Media Creator Portable Data for Imaging
Image Manager/Archive Report Repository Access to Radiology Information
Report Repository Simple Image and Numeric Report
Image Manager/Archive Key Image Note
Image Manager/Archive Eye Care Evidence Documents
Image Manager/Archive Evidence Documents
Image Manager/Archive Image Fusion
Image Manager/Archive Consistent Presentation of Images
Image Manager/Archive NM Image
Image Manager/Archive Mammography Image
Report Manager Image Manager/Archive Reporting Workflow
Post-Processing Manager Image Manager/Archive Post-Processing Workflow
Performed Procedure Step Manager Image Manager/Archive
Eye Care Workflow
Performed Procedure Step Manager Image Manager/Archive
Stress Testing Workflow
Performed Procedure Step Manager Image Manager/Archive
Echo Workflow
Performed Procedure Step Manager Image Manager/Archive
Cath Workflow
Performed Procedure Step Manager Image Manager/Archive
Importation Reconciliation Workflow
Performed Procedure Step Manager Image Manager/Archive
Scheduled Workflow
Report Manager
Performed Procedure Step Manager Image Manager/Archive
Patient Information Reconciliation
Actors Implemented Integration Profiles Implemented
dcm4chee
dcm4chee を を Windows Windows で使ってみる で使ってみる
• •
ダウンロードダウンロード––Sun Sun JavaJavaTMTM Development Kit(Development Kit(JDKJDK))
•• jdkjdk--6u16u1--windowswindows-i586-i586--p.exe p.exe
http://java.sun.com/javase/ja/6/download.html http://java.sun.com/javase/ja/6/download.html ––PostgreSQLPostgreSQL
•• postgresqlpostgresql--8.2.48.2.4--11--ja.zipja.zip
http://www.postgresql.jp/PostgreSQL/8_2/
http://www.postgresql.jp/PostgreSQL/8_2/
––dcm4cheedcm4chee
•• dcm4cheedcm4chee--standalone-standalone-psqlpsql--2.10.15.zip2.10.15.zip
•• http://sourceforge.net/projects/dcm4che/http://sourceforge.net/projects/dcm4che/
• •
インストール手順インストール手順––JDKJDKをインストールをインストール ––dcm4cheedcm4cheeを解凍を解凍
––PostgreSQLをインストールPostgreSQLをインストール
•• pg_hba.confpg_hba.confの調整、データベース作成の調整、データベース作成 ––dcm4cheedcm4cheeの設定調整の設定調整
JDK JDK をインストール をインストール
インストール先
C:¥Program Files¥Java¥jdk_1.6.0_01¥
JDK JDK をインストール をインストール
インストール先
C:¥Program Files¥Java¥jdk_1.6.0_01¥
JDK JDK をインストール をインストール
インストール先
C:¥Program Files¥Java¥jdk_1.6.0_01¥
Dcm4chee
Dcm4chee を解凍 を解凍
解凍先
C:¥dcm4chee¥
PostgreSQL
PostgreSQL をインストール をインストール
PostgreSQL
PostgreSQL をインストール をインストール
Passwdを設定する
PostgreSQL
PostgreSQL をインストール をインストール
Passwdを入力する
PostgreSQL
PostgreSQL をインストール をインストール
PostgreSQL
PostgreSQL をインストール をインストール
pgAdminⅢを起動
データベースの調整
データベースの調整
データベースの調整
データベースの調整
データベースの調整 データベースの調整
C:¥Program Files¥PostgreSQL¥8.2¥data¥pg_hba.conf の設定を変更する
データベースの調整
データベースの調整
データベースの調整 データベースの調整
C:¥Program Files¥PostgreSQL¥8.2¥data¥pg_hba.conf の設定を変更する
postmaster
postmaster を再起動 を再起動
データベース作成
データベース作成
データベース作成
データベース作成
データベース作成
データベース作成
データベース作成
データベース作成
dcm4chee
dcm4chee のデータベーススキーマ作成 のデータベーススキーマ作成
dcm4chee
dcm4chee のデータベーススキーマ作成 のデータベーススキーマ作成
dcm4chee
dcm4chee のデータベーススキーマ作成 のデータベーススキーマ作成
dcm4chee
dcm4chee のデータベーススキーマ作成 のデータベーススキーマ作成
dcm4cheeが利用するテーブル等が作成される
環境変数の登録 環境変数の登録
• • 環境変数 環境変数 JAVA_HOME JAVA_HOME に に JDK JDK のインストール のインストール 先のフォルダ名を登録
先のフォルダ名を登録
––set JAVA_HOME= C:¥Program Files¥Java¥jdk_1.6.0_01set JAVA_HOME=
dcm4chee
dcm4chee のデータベースアクセス設定 のデータベースアクセス設定
• • postgresql postgresql - - ds.xml ds.xml に に PostgreSQL PostgreSQL に接続するた に接続するた めの めの passwd passwd を記入 を記入
– –
C:¥C:¥dcm4chee
dcm4chee¥¥server
server¥¥default
default¥deploy ¥
deploy¥¥postgresql
postgresql-- ds.xmlds.xml
※ スライドのパスワードは『脆弱』なものです。あくまでテスト用の例ということで。