スキップしてメイン コンテンツに移動

投稿

Pixel extraction using DCM4CHE

Pixel extraction using DCM4CHE take time 1 or 2 hours. What you can do? 1: load dicom data(2D image only, this do not explain about video format.) as Attributes objects 2: Extract pixel array (in this case, only use LEE, JPEG2000, JPEG Baseline that are major transfer-syntax and 8 or 16 bit grayscale.) 3: show pixels as images What prerequisite? 1: have java programming skills (need not high skill) 2: can use eclipse 2018 version or higher 3: can use maven project in eclipse 4: download sample dicom dataset from weasis projects( https://github.com/nroduit/dcm-samples ) 5: use jdk 1.8 or higher (and set to maven projects it version) Project Set-Up 1. create dcm4che_tutorial maven projects - File > New > Other > Maven Projects - check Simple archtype and setup on your need. 2. edit pom.xml - add dcm4che Repository. - add three libraries (dcm4che-core, jai_imageio, ij) to dependencies in this case, for instance, Example my pom.xml <project xml
最近の投稿

DockerでDICOMサーバを使いまわす

DCM4CHEEがだいぶ前からDocker対応しているので、その手順をメモします。 基本的には、このページに記載の通りです。 https://github.com/dcm4che/dcm4chee-arc-light/wiki/Running-on-Docker 一番シンプルな構築方法でいきます。 https://github.com/dcm4che/dcm4chee-arc-light/wiki/Run-minimum-set-of-archive-services-on-a-single-host あくまでもテストケースですが、今回は仮想OSを立てて、その中にDockerを入れて、サーバーのホストにします。以下のようにしてみました。 大元のPCでの作業 VirtualBox(またはHyper-V)を用意する Ubuntu19.04を最小構成で仮想化する(メモリは4GB, 割り当て仮想保存容量127GBなど)。 (インストール時にイメージを再起動できない場合はPC本体を再起動するとよいことがあります) Ubuntu19.04を起動する。 Ubuntuで行う作業 Ubuntuをインストールしたら行うお決まりのコマンドを打つ sudo -i apt-get update apt-get upgrade vimを入れておく  apt install vim UbuntuにJavaを入れておく。(JDK9以上) apt install openjdk-12-jre-headless Dockerをインストールする apt install docker.io DCM4CHEE関連のイメージを取得する(一行ずつ実行) docker pull dcm4che/slapd-dcm4chee:2.4.44-19.0 docker pull dcm4che/postgres-dcm4chee:12.0-19 docker pull dcm4che/dcm4chee-arc-psql:5.19.0 docker pull dcm4che/keycloak:7.0.0 docker pull dcm4che/keycloak-gatekeeper:7.0.0 docker pull

dcm4cheを使ってDICOM画像を作成

前提 DICOM標準規格の読み方が分かる方が対象です。まだDICOM標準規格の読み方がわからない人は、そのうち技術ブログにアップするので、チェックして下さい。 本来、DICOM画像は、医療機器から出力されます。 今回のように、一度作成された画像を後処理などで改変したり、全く別のDICOM画像として作成することは、研究目的以外では、一般的ではありません。このような二次的に作成されるDICOM画像は、セカンダリキャプチャと呼ばれています。 使い勝手のよい何でもやさんで、ときにはドーズレポートや、スクリーンキャプチャなどもこの形式で保存されます。 今回は、セカンダリキャプチャとしてのDICOM画像を出力します。 EclipseのMavenプロジェクトで、DCM4CHE5.18.x、ImageJ1.52辺りを使います(?の方は、前のブログ内容を参考にして下さい)。 全体像 適当な一般画像フォーマットを用意する(画像のタイプを調べておく) 画像を読み込む DICOM属性のDICOMデータセットを作成する 画像からピクセルデータを取得して、データセットにセットする 出力する 適当な一般画像フォーマットを用意する(画像の種類を調べておく) 今回は次のような画像を、画像のタイプ別に用意しました。 すべてImageJサンプル画像です。 画像のタイプは、Image>Typeから変更できます。 8-bit Grayscale  16-bit Grayscale  32-bit Grayscale  RGB ImageJからこれらの画像を作成するときは、すべてTiffフォーマットで作成します。 ImageJではその他の一般的なフォーマットでグレースケールを保存するとすべて8bitになってしまうため、注意が必要です。 補足 Overlayがある場合がありますが、今回は対象外です。いつになるかわかりませんが、KeyObjectなどと一緒に扱う方法を示せたらと思います。 画像を読み込む 今回は、上記の画像をMavenプロジェクトのsrc/main/resourcesに事前にコピーしています。 DICOMデータの保存先(dest)は、プロジェクトフォルダとし、ファイル名は適当に決めます。

dcm4cheを使ってDICOM画像を表示する

DICOM画像を開いてみる準備 Eclipseを使って、Mavenプロジェクトを作ります。 ImageJもdependencyに追加しておいてください。 JPEGなどで圧縮されている場合は、ページ一番下の読み込みを。 (pom.xmlの例) <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.visionary</groupId> <artifactId>dcm4che_tutorial</artifactId> <version>0.0.1-SNAPSHOT</version> <repositories> <repository> <id>www.dcm4che.org</id> <name>dcm4che Repository</name> <url>https://www.dcm4che.org/maven2/</url> </repository> </repositories> <dependencies> <!-- https://mvnrepository.com/artifact/org.dcm4che/dcm4che-core --> <dependency> <groupId>org.dcm4che</groupId> <artifactId>dcm4che-co

dcm4cheを使うための開発環境を整える

Eclipse + Maven EclipseをEEでもSEでもいいのでダウンロードしておきます。 最近のEclipseはMavenは最初から入っているのでこのまま使います。 Mavenプロジェクトを作成 メニューのNew>Otherから、Mavenを展開して、Mavenプロジェクトを新規作成します。 Mavenプロジェクトはいろいろな便利機能が付いていますが、今回はCreate a simple projectにチェックを付けて、Nextで進みます。 GroupIDはJavaプロジェクトのパッケージ階層に当たります。例えば、「com.vis」などにしておきます。 ArtifactIDはソフトウェア名になります。「DCM4CHEStarted」などにしておきます。 あとの項目はサンプルでは不要です。そのままFinishします。 Mavenプロジェクトのpom.xml Mavenプロジェクトができたら、プロジェクトの最後の方にある「pom.xml」をダブルクリックで開いて編集します。タブが出てくるので、一番右のタブ「pom.xml」に移動して、こんな感じにします。 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.vis</groupId> <artifactId>DCM4CHEStarted</artifactId> <version>0.0.1-SNAPSHOT</version> <repositories> <repository> <id>w

dcm4cheをローカル環境にインストールする

DCM4CHEのインストール ここからダウンロードします。 執筆時点では(2019/11/5)、最新バージョンは5.19.0です。 https://sourceforge.net/projects/dcm4che/files/dcm4che3/ (リンクではdcm4che3となっていますが、バージョンでは5で、何か意図があるのかなと、思っています。) 環境変数パス ダウンロードができたら、解凍して、binフォルダまでの環境変数パスを通します。 Windows ならシステムの詳細設定からだったと思います。 MacやLinuxなら、.bashrcあたりにパスを追加します。 例えば、ubuntuで、localフォルダにコピーした場合ならば。 vim ~/.bashrc から、「i」でインサートモードにして、以下を追記して、 #dcm4che export PATH="$PATH:/usr/local/dcm4che/dcm4che-5.15.1/bin" 「esc」押して、「:」おして、wq!でエンター。 追記できたら、 $source ~/.bashrc パスが通せたか、dcmdumpコマンドで確認します。 > dcmdump dcmdump: missing file operand Try `dcmdump --help' for more information. このように表示されれば、インストールは完了です。 注意 DCMTKをインストールしている場合、コマンドが被ることがあります。 DICOMツールは何個もいらないので、DCM4CHEを使うときはDCM4CHEのみにパスを、DCMTKを使うときはDCMTKにパスを通すと競合しません。 Visionary Imaging Services, Inc.

はじめに

所信表明 VISブログ担当の小林です。 私の専門は医用画像情報です。 医用画像情報を扱う際に、DICOMデータの取り扱いは避けて通れません。 しかし、DICOMについて調べると、リソースが無くて困ることが多いです。 そこで、個人的に好きなツールである、dcm4cheを使ったDICOMのハウツーを備忘録としてこの技術ブログに残していくことにしました。 これまでにいろいろなオープンソースのDICOMツールを使ってきました。 DCMTK、GDCM、pixelmed.jarやpydicomなどです。 このブログではdcm4cheを使います。dcm4cheはこれらのツールに匹敵する強力なツールです。そして特筆すべき点として、堅牢なDICOMサーバ(dcm4chee)もこのツールを使ってオープンソースで提供されています。 dcm4che 2000年頃、Gunter Zeilinger氏は、商用のJava DICOM Toolkit(JDT)を使ってJDicomユーティリティを作成しました。 この後、彼は自身のDICOMツールキットを書くべきであると決めたそうです。 そして、dcm4che(d-c-m-for-chayと発音)が生まれました。 Gunter氏は、オープンソースの革命的な側面にインスパイアされて、有名な革命家にちなんで、ツールキットに名前を付けることにしたそうです。 当時、このツールキットのオリジナル版は、JavaベースのDICOM API用のJSR(Java Specification Request)としてSun(現在はOracle)に提出することを目的として設計されました。 そのことを念頭に置いて、ツールキットはインターフェース層と実装層に分けられました。 JSRには至りませんでしたが、プロジェクトはJava DICOM開発コミュニティの間で人気が高まり始めました。 そして、dcm4cheをDICOMバックエンドにしたdcm4jbossアーカイブが誕生したそうです。 このDICOMサーバアプリケーションを開発するサブプロジェクトは、IHE Image ManagerとImage Archiveアクターを実装しました。 dcm4jbossは、医用画像の研究および画像診断レポートを管理するための堅牢で安定したプラッ