JP4932621B2 - 画像処理装置、画像処理方法、およびプログラム - Google Patents

画像処理装置、画像処理方法、およびプログラム Download PDF

Info

Publication number
JP4932621B2
JP4932621B2 JP2007178066A JP2007178066A JP4932621B2 JP 4932621 B2 JP4932621 B2 JP 4932621B2 JP 2007178066 A JP2007178066 A JP 2007178066A JP 2007178066 A JP2007178066 A JP 2007178066A JP 4932621 B2 JP4932621 B2 JP 4932621B2
Authority
JP
Japan
Prior art keywords
visualization
division
data
configuration information
volume data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007178066A
Other languages
English (en)
Other versions
JP2008084295A (ja
Inventor
英恵 吉田
道雄 及川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Healthcare Manufacturing Ltd
Original Assignee
Hitachi Medical Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Medical Corp filed Critical Hitachi Medical Corp
Priority to JP2007178066A priority Critical patent/JP4932621B2/ja
Publication of JP2008084295A publication Critical patent/JP2008084295A/ja
Application granted granted Critical
Publication of JP4932621B2 publication Critical patent/JP4932621B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Apparatus For Radiation Diagnosis (AREA)
  • Magnetic Resonance Imaging Apparatus (AREA)
  • Image Generation (AREA)

Description

本発明は、3次元情報を有するボリュームデータを分割して可視化処理することにより2次元画像を生成する技術に関し、特に、X線CT(X-ray Computed Tomography)やMRI(Magnetic Resonance Imaging)等で撮影された3次元のボリュームデータの可視化処理において、グラフィックスボードに搭載されているGPU(Graphics Processing Unit)を利用して高速に可視化処理を実行するための技術に関する。
医療現場では、X線CTやMRI等で撮像されたボリュームデータを表示装置に視認可能な2次元画像として表示する場合がある。可視化処理としては、例えばMIP(Maximum Intensity Projection)やボリュームレンダリング等の方法が知られている。これらの可視化処理は、大量のボリュームデータのサンプリング計算等が必要となるめ、可視化処理に時間がかかる場合が多い。
また、近年、汎用のコンピュータにおいて様々な画像を表示する必要性から、汎用コンピュータに画像処理専用のグラフィックスボードが搭載されることが多い。このグラフィックスボードには、GPU(Graphics Processing Unit)と呼ばれる画像処理に特化した専用の演算装置が搭載されている。近年のGPUは、処理性能が向上していると共に、実行する処理を外部からプログラミングすることが可能となってきており、GPUを本来のコンピュータグラフィックスのアクセラレーション以外の目的に利用する動きが活発化している。
GPUの特徴は、並列化とパイプライン処理であり、上記のMIPやボリュームレンダリング等の医療用のボリュームデータの可視化処理に向いている。しかしながら、グラフィックスボードに搭載されているビデオメモリの容量はあまり大きくなく、大容量の医療用のボリュームデータに対してそのまま可視化処理を適用しただけでは、高速な可視化処理を実現することはできない。
そこで、特許文献1では、ボリュームデータを固定サイズに分割し、分割データ毎に最適な解像度を決定し、決定した解像度までそれぞれの分割データの解像度を落とし、ボリュームデータ全体をグラフィックスボードのビデオメモリに搭載可能なサイズに縮小することにより、可視化処理を高速化する技術が開示されている。また、非特許文献1には、GPUのキャッシュサイズ等の条件に合わせてボリュームデータを分割することによって、GPUの処理過程におけるデータアクセスの待ち時間を短縮して可視化処理を高速化する技術が開示されている。
特開2003−263651号公報 G. Kiefer、et al、"Visualization of Large Medical Data Sets Using Memory-Optimized CPU and GPU Algorithms"、SPIE Medical Imaging 2005、Proc. of SPIE Vol.5744、p.677-686、2005
ところで、近年の計測技術の進歩に伴って、取得される医療用のボリュームデータは、解像度が高く大容量となっており、ボリュームデータ全体をグラフィックスボードのビデオメモリに搭載可能なサイズに縮小するためには、解像度をかなり落さなければならない場合が多い。しかし、医療現場では、画像のわずかな変化がその後の医療方針に役立つ場合があり、あまりに低い解像度の画像では、医療用の画像としては役に立たない場合が多い。
また、非特許文献1に示された技術を利用する場合には、あらかじめGPU内のキャッシュ容量や汎用コンピュータのバス性能等の詳細な情報を入手しなければならないが、これらの情報は必ずしも入手可能であるとか限らない。そのため、非特許文献1に示された方法を用いても、汎用のコンピュータにおいて可視化処理を高速化することができない場合が多い。
本発明は上記事情を鑑みてなされたものであり、本発明の目的は、大容量のボリュームデータの解像度を落すことなく、汎用のコンピュータにおいて、大容量のボリュームデータを高速に可視化処理することができるようにすることにある。
上記課題を解決するために、本発明は、分割数を変えながら、予め定められたテスト用のボリュームデータの可視化処理時間を測定し、最も可視化処理時間が短い分割数における分割サイズを、最適な分割サイズとして算出する。
例えば、本発明の第1の態様は、3次元情報を有するボリュームデータを所定のデータサイズに分割して可視化処理することにより2次元画像を生成する画像処理装置であって、
画像処理手段と、
分割サイズ決定手段と
当該画像処理装置を構成するハードウェアおよびソフトウェアに関する情報である構成情報を収集する構成情報収集手段と、
前記構成情報収集手段によって収集された構成情報を格納する構成情報格納手段と
を備え、
前記画像処理手段は、
ボリュームデータの分割サイズを格納する分割サイズ格納手段と、
前記分割サイズ格納手段に格納されている分割サイズにボリュームデータを分割して可視化処理を実行する可視化処理手段と
を有し、
前記分割サイズ決定手段は、
前記可視化処理手段に用いられる可視化アルゴリズムを取得するアルゴリズム取得手段と、
予め定められたテスト用のボリュームデータを分割して可視化する際の分割数を複数格納する分割数格納手段と、
前記分割数格納手段に格納された複数の分割数のそれぞれについて、当該分割数に基づいて前記テスト用のボリュームデータを分割し、前記アルゴリズム取得手段によって取得された可視化アルゴリズムを用いて、前記テスト用のボリュームデータの2次元画像を生成する可視化処理を実行するテスト手段と、
前記テスト手段による可視化処理の結果から、前記テスト用のボリュームデータから2次元画像が生成されるまでにかかる時間が最小となる分割数を選択し、選択した分割数における分割サイズを算出して前記分割サイズ格納手段に格納する分割サイズ算出手段と
を有し、
前記構成情報収集手段は、
前記画像処理手段による可視化処理を実行する旨の指示をユーザから受け付けた場合に、前記構成情報を収集し、収集した構成情報と、前回収集されて前記構成情報格納手段内に格納されている構成情報とが異なる場合に、今回収集した構成情報で前記構成情報格納手段内の構成情報を更新すると共に、前記分割サイズ決定手段に分割サイズを出力させることを特徴とする画像処理装置を提供する。
また、本発明の第2の態様は、3次元情報を有するボリュームデータを所定のデータサイズに分割して可視化処理することにより2次元画像を生成する画像処理装置を制御するプログラムであって、
前記画像処理装置を、
画像処理手段、
分割サイズ決定手段、
当該画像処理装置を構成するハードウェアおよびソフトウェアに関する情報である構成情報を収集する構成情報収集手段、および
前記構成情報収集手段によって収集された構成情報を格納する構成情報格納手段
として機能させ、
前記画像処理手段は、
ボリュームデータの分割サイズを格納する分割サイズ格納手段、および
前記分割サイズ格納手段に格納されている分割サイズにボリュームデータを分割して可視化処理を実行する可視化処理手段
して機能し、
前記分割サイズ決定手段は、
前記可視化処理手段に用いられる可視化アルゴリズムを取得するアルゴリズム取得手段、
予め定められたテスト用のボリュームデータを分割して可視化する際の分割数を複数格納する分割数格納手段、
前記分割数格納手段に格納された複数の分割数のそれぞれについて、当該分割数に基づいて前記テスト用のボリュームデータを分割し、前記アルゴリズム取得手段によって取得された可視化アルゴリズムを用いて、前記テスト用のボリュームデータの2次元画像を生成する可視化処理を実行するテスト手段、および
前記テスト手段による可視化処理の結果から、前記テスト用のボリュームデータから2次元画像が生成されるまでにかかる時間が最小となる分割数を選択し、選択した分割数における分割サイズを算出して前記分割サイズ格納手段に格納する分割サイズ算出手段
として機能し、
前記構成情報収集手段は、
前記画像処理手段による可視化処理を実行する旨の指示をユーザから受け付けた場合に、前記構成情報を収集し、収集した構成情報と、前回収集されて前記構成情報格納手段内に格納されている構成情報とが異なる場合に、今回収集した構成情報で前記構成情報格納手段内の構成情報を更新すると共に、前記分割サイズ決定手段に分割サイズを出力させるよう機能することを特徴とするプログラムを提供する。
また、本発明の第3の態様は、3次元情報を有するボリュームデータを所定のデータサイズに分割して可視化処理することにより2次元画像を生成する画像処理装置における画像処理方法であって、
前記画像処理装置は、
ボリュームデータの可視化処理の実行をユーザから指示された場合に、当該画像処理装置を構成するハードウェアおよびソフトウェアに関する情報である構成情報を収集し、収集した構成情報と、前回収集されて自画像処理装置が管理する記憶領域内に格納されている構成情報とが異なる場合に、
今回収集した構成情報で前記記憶領域内の構成情報を更新するステップと、
可視化処理に用いられる可視化アルゴリズムを取得するアルゴリズム取得ステップと、
予め定められたテスト用のボリュームデータを分割して可視化する際の分割数を前記記憶領域に複数格納する分割数格納ステップと、
前記記憶領域に格納された複数の分割数のそれぞれについて、当該分割数に基づいて前記テスト用のボリュームデータを分割し、前記アルゴリズム取得ステップにおいて取得した可視化アルゴリズムを用いて、前記テスト用のボリュームデータの2次元画像を生成する可視化処理を実行するテストステップと、
前記テストステップにおける可視化処理の結果から、前記テスト用のボリュームデータから2次元画像が生成されるまでにかかる時間が最小となる分割数を選択し、選択した分割数における分割サイズを算出して前記記憶領域に格納する分割サイズ算出ステップと、
前記記憶領域に格納されている分割サイズにボリュームデータを分割して可視化処理を実行する可視化処理ステップと
を実行することを特徴とする画像処理方法を提供する。
また、本発明の第4の態様は、3次元情報を有するボリュームデータを所定サイズのデータに分割して可視化処理することにより2次元画像を生成する画像処理装置であって、
データサイズが2のべき乗の数値で表されるテスト用のボリュームデータであって、異なる複数のデータサイズのテスト用のボリュームデータを、データサイズに対応付けて格納するテストデータ格納手段と、
データサイズ毎に、当該データサイズのテスト用のボリュームデータを可視化した場合にかかる処理時間である可視化処理時間を格納する処理時間格納手段と、
可視化処理に用いられる可視化アルゴリズムを取得するアルゴリズム取得手段と、
前記テストデータ格納手段に格納されているそれぞれのテスト用のボリュームデータについて、当該テスト用のボリュームデータを、前記アルゴリズム取得手段によって取得された可視化アルゴリズムを用いて可視化処理し、可視化処理にかかった可視化処理時間を、当該テスト用のボリュームデータのデータサイズに対応付けて前記処理時間格納手段に格納する可視化試行手段と、
ボリュームデータをデータサイズが2のべき乗の数値で表される複数の分割データに分割する分割方法を規定する分割アルゴリズムを、当該分割アルゴリズムを識別するアルゴリズムIDに対応付けて格納する分割アルゴリズム格納手段と、
外部から可視化対象のボリュームデータを受け付けた場合に、前記分割アルゴリズム格納手段に格納されているそれぞれの分割アルゴリズム毎に、当該分割アルゴリズムを用いて当該可視化対象のボリュームデータを複数の分割データに分割し、それぞれの分割データの可視化処理時間を前記処理時間格納手段から取得し、取得した可視化処理時間を複数の分割データについて合計することにより、分割アルゴリズム毎の可視化処理時間を算出する可視化処理時間算出手段と、
前記可視化処理時間算出手段によって算出されたボリュームデータ全体の可視化処理時間が最小となる分割アルゴリズムを特定し、可視化対象のボリュームデータを、特定した分割アルゴリズムを用いて分割して可視化処理を実行する可視化処理手段と
当該画像処理装置を構成するハードウェアおよびソフトウェアに関する情報である構成情報を収集する構成情報収集手段と、
構成情報収集手段によって収集された構成情報を格納する構成情報格納手段と
を備え
前記構成情報収集手段は、
ボリュームデータの可視化処理の実行をユーザから指示された場合に、前記構成情報を収集し、収集した構成情報と、前回収集されて前記構成情報格納手段内に格納されている構成情報とが異なる場合に、今回収集した構成情報で前記構成情報格納手段内の構成情報を更新すると共に、前記可視化試行手段にテスト用のボリュームデータ毎に可視化処理時間を算出させることを特徴とする画像処理装置を提供する。
また、本発明の第5の態様は、コンピュータを、3次元情報を有するボリュームデータを所定サイズのデータに分割して可視化処理することにより2次元画像を生成する画像処理装置として機能させるプログラムであって、
前記コンピュータを、
データサイズが2のべき乗の数値で表されるテスト用のボリュームデータであって、異なる複数のデータサイズのテスト用のボリュームデータを、データサイズに対応付けて格納するテストデータ格納手段、
データサイズ毎に、当該データサイズのテスト用のボリュームデータを可視化した場合にかかる処理時間である可視化処理時間を格納する処理時間格納手段、
可視化処理に用いられる可視化アルゴリズムを取得するアルゴリズム取得手段、
前記テストデータ格納手段に格納されているそれぞれのテスト用のボリュームデータについて、当該テスト用のボリュームデータを、前記アルゴリズム取得手段によって取得された可視化アルゴリズムを用いて可視化処理し、可視化処理にかかった可視化処理時間を、当該テスト用のボリュームデータのデータサイズに対応付けて前記処理時間格納手段に格納する可視化試行手段、
ボリュームデータをデータサイズが2のべき乗の数値で表される複数の分割データに分割する分割方法を規定する分割アルゴリズムを、当該分割アルゴリズムを識別するアルゴリズムIDに対応付けて格納する分割アルゴリズム格納手段、
外部から可視化対象のボリュームデータを受け付けた場合に、前記分割アルゴリズム格納手段に格納されているそれぞれの分割アルゴリズム毎に、当該分割アルゴリズムを用いて当該可視化対象のボリュームデータを複数の分割データに分割し、それぞれの分割データの可視化処理時間を前記処理時間格納手段から取得し、取得した可視化処理時間を複数の分割データについて合計することにより、分割アルゴリズム毎の可視化処理時間を算出する可視化処理時間算出手段、
前記可視化処理時間算出手段によって算出されたボリュームデータ全体の可視化処理時間が最小となる分割アルゴリズムを特定し、可視化対象のボリュームデータを、特定した分割アルゴリズムを用いて分割して可視化処理を実行する可視化処理手段
当該画像処理装置を構成するハードウェアおよびソフトウェアに関する情報である構成情報を収集する構成情報収集手段、および
構成情報収集手段によって収集された構成情報を格納する構成情報格納手段
として機能させ
前記構成情報収集手段は、
ボリュームデータの可視化処理の実行をユーザから指示された場合に、前記構成情報を収集し、収集した構成情報と、前回収集されて前記構成情報格納手段内に格納されている構成情報とが異なる場合に、今回収集した構成情報で前記構成情報格納手段内の構成情報を更新すると共に、前記可視化試行手段にテスト用のボリュームデータ毎に可視化処理時間を算出させることを特徴とするプログラムを提供する。
また、本発明の第6の態様は、3次元情報を有するボリュームデータを所定サイズのデータに分割して可視化処理することにより2次元画像を生成する画像処理装置における画像処理方法であって、
前記画像処理装置は、
データサイズが2のべき乗の数値で表されるテスト用のボリュームデータであって、異なる複数のデータサイズのテスト用のボリュームデータを、データサイズに対応付けて、自画像処理装置が管理する記憶領域に格納するテストデータ格納ステップと、
データサイズ毎に、当該データサイズのテスト用のボリュームデータを可視化した場合にかかる処理時間である可視化処理時間を前記記憶領域に格納する処理時間格納ステップと、
可視化処理に用いられる可視化アルゴリズムを取得するアルゴリズム取得ステップと、
前記記憶領域に格納されているそれぞれのテスト用のボリュームデータについて、当該テスト用のボリュームデータを、前記アルゴリズム取得ステップにおいて取得した可視化アルゴリズムを用いて可視化処理し、可視化処理にかかった可視化処理時間を、当該テスト用のボリュームデータのデータサイズに対応付けて前記記憶領域に格納する可視化試行ステップと、
ボリュームデータをデータサイズが2のべき乗の数値で表される複数の分割データに分割する分割方法を規定する分割アルゴリズムを、当該分割アルゴリズムを識別するアルゴリズムIDに対応付けて前記記憶領域に格納する分割アルゴリズム格納ステップと、
外部から可視化対象のボリュームデータを受け付けた場合に、前記記憶領域に格納されているそれぞれの分割アルゴリズム毎に、当該分割アルゴリズムを用いて当該可視化対象のボリュームデータを複数の分割データに分割し、それぞれの分割データの可視化処理時間を前記記憶領域から取得し、取得した可視化処理時間を複数の分割データについて合計することにより、分割アルゴリズム毎の可視化処理時間を算出する可視化処理時間算出ステップと、
前記可視化処理時間算出ステップにおいて算出したボリュームデータ全体の可視化処理時間が最小となる分割アルゴリズムを特定し、可視化対象のボリュームデータを、特定した分割アルゴリズムを用いて分割して可視化処理を実行する可視化処理ステップと
当該画像処理装置を構成するハードウェアおよびソフトウェアに関する情報である構成情報を収集する構成情報収集ステップと、
構成情報収集ステップにおいて収集した構成情報を前記記憶領域に格納する構成情報格納ステップと
を実行し
前記画像処理装置は、前記構成情報収集ステップにおいて、
ボリュームデータの可視化処理の実行をユーザから指示された場合に、前記構成情報を収集し、収集した構成情報と、前回収集されて前記記憶領域内に格納されている構成情報とが異なる場合に、今回収集した構成情報で前記記憶領域内の構成情報を更新すると共に、前記可視化試行ステップにおいてテスト用のボリュームデータ毎に可視化処理時間を算出することを特徴とする画像処理方法を提供する。
本発明によれば、大容量のボリュームデータの解像度を落すことなく、汎用のコンピュータにおいて、大容量のボリュームデータを高速に可視化処理することができる。これにより、ユーザはハードウェアの構成やソフトウェアのバージョンを意識することなく、ユーザ環境におけるより適切な処理によって、高速な可視化処理を行うことが可能となり、医療現場の効率向上が期待できる。
まず、本発明の第一の実施形態について説明する。
図1は、第一の実施形態における画像処理装置10の構成を例示するシステム構成図である。画像処理装置10は、起動制御部20、画像処理部30、および分割サイズ決定部40を備える。
起動制御部20は、入力装置11を介して可視化処理の起動指示を受信した場合に、画像処理装置10のハードウェアおよびソフトウェアの構成情報を収集し、前回起動時に収集した構成情報と一致した場合には、画像処理部30に可視化処理の起動を指示する。一方、収集した構成情報が前回起動時に収集した構成情報と異なる場合、起動制御部20は、分割サイズ決定部40に分割サイズの決定処理の起動を指示する。
画像処理部30は、起動制御部20から可視化処理の起動を指示された場合に、入力装置11からの入力操作に応じて、画像処理装置10内に格納された、あるいは、通信ネットワーク(図示せず)を介して取得した3次元のボリュームデータを2次元画像に変換し、変換した2次元画像を表示装置12に表示する可視化処理を実行する。画像処理部30は、ボリュームデータを分割して可視化処理を実行する。
分割サイズ決定部40は、起動制御部20から分割サイズの決定処理の起動を指示された場合に、内蔵するテスト用のボリュームデータを用いて、複数種類の分割数について2次元画像への変換処理を実行する。そして、分割サイズ決定部40は、2次元画像への変換の処理時間が最も短い分割数を取得し、取得した分割数から、そのときの分割サイズを算出して画像処理部30に提供する。
図2は、起動制御部20の詳細な機能構成を例示するブロック図である。起動制御部20は、収集項目変更受付部21、収集項目格納部22、構成情報収集部23、および構成情報格納部24を備える。
収集項目格納部22は、例えば図3に示すように、可視化処理をユーザから指示された場合に収集する画像処理装置10の構成情報の収集項目220を格納する。収集項目220には、画像処理装置10の主演算装置であるCPU(Central Processing Unit)、画像処理装置10における副演算装置であって、画像処理装置10に搭載されたグラフィックスボード内のGPU、およびメインメモリ等に関するハードウェアについての項目221と、BIOS(Basic Input Output System)やOS(Operating System)、グラフィックスドライバ、グラフィックスライブラリ、および可視化アルゴリズム等に関するソフトウェアについての項目222とが含まれる。可視化アルゴリズムには、MIPやボリュームレンダリング等の複数の種類が存在する。
構成情報格納部24は、例えば図4に示すように、構成情報収集部23によって収集された画像処理装置10内の構成情報241を、対応する項目240と共に格納する。構成情報収集部23は、入力装置11を介して、ユーザから可視化処理の起動指示を受け付けた場合に、収集項目格納部22を参照して、収集項目格納部22に格納されたそれぞれの項目についての構成情報を、例えばOSが有する機能であるシステムコール等を利用して収集する。そして、構成情報収集部23は、構成情報格納部24を参照して、全ての項目のそれぞれについて、収集した構成情報が、前回収集した構成情報と一致するか否かを判定する。
全ての項目のそれぞれについて、収集した構成情報が前回収集した構成情報と一致する場合、構成情報収集部23は、可視化処理の起動を画像処理部30に指示する。一方、いずれかの項目について、収集した構成情報が前回収集した構成情報と異なる場合、構成情報収集部23は、分割サイズ決定部40に分割サイズの決定処理の起動を指示すると共に、今回収集した構成情報で、構成情報格納部24内の構成情報を更新する。
収集項目変更受付部21は、入力装置11を介してユーザから、収集項目格納部22内の収集項目の追加または削除の指示を受け付けた場合に、受け付けた指示に応じて、収集項目格納部22内の収集項目を変更する。ユーザが、ハードウェアまたはソフトウェアを追加または削除した場合に、収集項目変更受付部21を介して、当該追加したハードウェアまたはソフトウェアの項目を追加または削除することにより、構成情報収集部23は、ハードウェアまたはソフトウェアの追加または削除に応じて、構成情報の変化を検出することができる。
図5は、画像処理部30の詳細な機能構成を例示するブロック図である。画像処理部30は、可視化処理部31および分割サイズ格納部32を備える。
分割サイズ格納部32は、例えば図6に示すように、可視化処理部31が使用する可視化アルゴリズムの種類毎に、可視化処理の際にボリュームデータを分割する分割サイズ321を、可視化処理対象のボリュームデータのデータサイズの範囲を示すデータサイズ範囲320に対応付けて格納する。図6のデータサイズ範囲320に示される「0〜192MB」は、可視化処理対象のボリュームデータのデータサイズが0メガバイト以上、192メガバイト未満の範囲であることを示している。分割サイズ格納部32内のデータは、分割サイズ決定部40によって書き換えられる。
可視化処理部31は、ユーザによって画像処理装置10にインストールされた複数の可視化アルゴリズムのいずれかを用いて可視化処理を実行することができ、いずれの可視化アルゴリズムを用いるかは、入力装置11を介してユーザから指定される。可視化処理部31は、起動制御部20または分割サイズ決定部40から可視化処理の起動を指示された場合に、ユーザから可視化アルゴリズムおよび可視化処理の対象となるボリュームデータの指定を受け付ける。
そして、可視化処理部31は、分割サイズ格納部32を参照して、ユーザから指定された可視化アルゴリズムに対応する分割サイズであって、可視化処理の対象となるボリュームデータのデータサイズが含まれるデータサイズ範囲に対応する分割サイズを抽出する。そして、可視化処理部31は、可視化処理の対象となるボリュームデータを、抽出した分割サイズに分割して、可視化処理を実行し、実行結果を表示装置12に表示する。
なお、可視化処理の対象となるボリュームデータのデータサイズが、抽出した分割サイズの倍数でない場合、可視化処理部31は、可視化処理の対象となるボリュームデータに0を示すデータを付加することにより、当該ボリュームデータを、抽出した分割サイズの倍数にした上で、当該ボリュームデータを、抽出した分割サイズに分割する。
図7は、分割サイズ決定部40の詳細な機能構成を例示するブロック図である。分割サイズ決定部40は、アルゴリズム取得部41、分割サイズ算出部42、テスト用可視化処理部43、分割数格納部44、メモリ容量取得部45、およびテスト用ボリュームデータ格納部46を備える。
アルゴリズム取得部41は、起動制御部20内の構成情報格納部24から可視化アルゴリズムに関する情報を取得する。可視化アルゴリズムに関する情報が構成情報格納部24内に複数ある場合には、アルゴリズム取得部41は、全ての可視化アルゴリズムに関する情報を構成情報格納部24から取得してテスト用可視化処理部43に提供する。メモリ容量取得部45は、可視化処理に用いられるビデオメモリの容量を、起動制御部20内の構成情報格納部24から取得してテスト用可視化処理部43に提供する。
分割数格納部44は、分割サイズの決定処理においてボリュームデータを分割する分割数を複数格納する。本実施形態において、分割数格納部44は、分割数として、例えば8、16、32、および64の4つの数値を格納する。なお、他の例として、分割数格納部44内の分割数は、画像処理装置10の外部から変更可能なように構成されていてもよく、分割サイズ決定部40は、通信ネットワーク等を介して、画像処理装置10の外部から分割数を取得してもよい。
テスト用ボリュームデータ格納部46は、例えば図8に示すように、テスト用に用いられるボリュームデータであるデータ本体461を、当該ボリュームデータのデータサイズ460と共に格納する。テスト用に用いられるボリュームデータは、実際の医療用画像に近いものが好ましく、例えばファントムを実際に撮像した画像等が用いられる。
テスト用可視化処理部43は、起動制御部20から分割サイズの決定処理の起動を指示された場合に、メモリ容量取得部45にビデオメモリの容量を取得させる。そして、テスト用可視化処理部43は、テスト用ボリュームデータ格納部46を参照して、少なくとも、メモリ容量取得部45によって取得されたビデオメモリの容量よりも小さいデータサイズのテスト用のボリュームデータと、大きいデータサイズのテスト用のボリュームデータとを、分割サイズの決定処理に用いるテスト用のボリュームデータとして抽出する。
本実施形態では、分割サイズの決定処理に用いられるテスト用のボリュームデータの初期値として、データサイズが128、256、および512MBの3種類のテスト用のボリュームデータが指定されており、テスト用可視化処理部43は、メモリ容量取得部45によって取得されたビデオメモリの容量が、これら3種類のボリュームデータの中の最小のデータサイズと最大のデータサイズとの間に含まれる場合には、これら3種類のボリュームデータを分割サイズの決定処理に用いるテスト用のボリュームデータとして抽出する。
メモリ容量取得部45によって取得されたビデオメモリの容量が、上記3種類のボリュームデータの最小のデータサイズ以下である場合、テスト用可視化処理部43は、64、128、および256MBのテスト用のボリュームデータを、分割サイズの決定処理に用いるテスト用のボリュームデータとして抽出する。メモリ容量取得部45によって取得されたビデオメモリの容量が、これら3種類のボリュームデータの最大のデータサイズ以上である場合、テスト用可視化処理部43は、256、512、および1024MBの3種類のテスト用のボリュームデータを、分割サイズの決定処理に用いるテスト用のボリュームデータとして抽出する。
テスト用可視化処理部43は、アルゴリズム取得部41によって取得された可視化アルゴリズムの中で未選択の可視化アルゴリズムを1つ選択する。そして、テスト用可視化処理部43は、抽出した3種類のテスト用のボリュームデータの中で未選択のボリュームデータを1つ選択する。そして、テスト用可視化処理部43は、分割数格納部44に格納されている分割数の中で未選択の分割数を1つ選択する。
次に、テスト用可視化処理部43は、選択した可視化アルゴリズムおよび選択した分割数を用いて、選択したテスト用のボリュームデータから2次元画像を生成する可視化処理を実行する。可視化処理が終了した場合、テスト用可視化処理部43は、使用した可視化アルゴリズムの識別情報、テスト用ボリュームデータのデータサイズ、および分割数を、可視化処理にかかった処理時間と共に分割サイズ算出部42へ送る。
アルゴリズム取得部41によって取得された可視化アルゴリズム、メモリ容量取得部45によって取得されたメモリ容量に基づいて選択したデータサイズ、および分割数格納部44に格納された分割数の全ての組み合わせについて可視化処理を実行して処理時間を分割サイズ算出部42へ送った場合、テスト用可視化処理部43は、テスト用の可視化処理が終了した旨を分割サイズ算出部42に通知する。
分割サイズ算出部42は、テスト用可視化処理部43から受け取った処理時間を、当該処理時間と共に受けとった可視化アルゴリズムの識別情報、テスト用ボリュームデータのデータサイズ、および分割数に対応付けて保持する。そして、テスト用の可視化処理が終了した旨をテスト用可視化処理部43から通知された場合、分割サイズ算出部42は、保持していた処理時間を参照して、可視化アルゴリズムの識別情報およびデータサイズの組み合わせ毎に、可視化処理にかかる時間が最小となる分割数を選択する。そして、分割サイズ算出部42は、選択した分割数と、当該分割数に対応するテスト用ボリュームデータのデータサイズとから、分割されたボリュームデータのデータサイズである分割サイズを算出する。
次に、分割サイズ算出部42は、算出した分割サイズを、当該分割サイズの算出元となった分割数に対応するテスト用ボリュームデータのデータサイズを含むデータサイズの範囲に対応付けて、画像処理部30内の分割サイズ格納部32に格納し、可視化処理部31に可視化処理の起動を指示する。
例えば、可視化処理に用いたテスト用のボリュームデータが、128、256、および512MBの3種類であり、それぞれを用いて算出した分割サイズが、16、64、および128MBであった場合、分割サイズ算出部42は、128MBと256MBとの中点である192MB、および、256MBと512MBとの中点である384MBを境界として、「0〜192MB」のデータサイズ範囲に16MBを、「192〜384MB」のデータサイズ範囲に64MBを、「384MB〜」のデータサイズ範囲に128MBをそれぞれ対応付けて分割サイズ格納部32に格納する。
図9は、画像処理装置10の動作の一例を示すフローチャートである。例えば入力装置11を介してユーザから可視化処理の起動指示を受信した場合に、画像処理装置10は、本フローチャートに示す処理を開始する。
まず、構成情報収集部23は、収集項目格納部22を参照して、収集項目格納部22に格納されたそれぞれの項目についての構成情報を収集し(S100)、構成情報格納部24を参照して、全ての項目のそれぞれについて、収集した構成情報が、前回収集した構成情報と一致するか否かを判定する(S101)。
全ての項目のそれぞれについて、収集した構成情報が前回収集した構成情報と一致する場合(S101:Yes)、構成情報収集部23は、可視化処理の起動を画像処理部30に指示する。そして、可視化処理部31は、分割サイズ格納部32を参照して、ユーザから指定された可視化アルゴリズムに対応する分割サイズであって、可視化処理対象のボリュームデータが含まれるデータサイズ範囲に対応付けられている分割サイズを用いて、可視化処理対象のボリュームデータを分割して、可視化処理を実行し(S103)、画像処理装置10は、本フローチャートに示した処理を終了する。
いずれかの項目について、収集した構成情報が前回収集した構成情報と異なる場合(S101:No)、構成情報収集部23は、分割サイズ決定部40に分割サイズの決定処理の起動を指示すると共に、今回収集した構成情報で、構成情報格納部24内の構成情報を更新する(S102)。そして、分割サイズ決定部40は、後述する分割サイズの決定処理を実行し(S200)、分割サイズ決定部40による分割サイズの決定処理が終了した場合に、可視化処理部31は、ステップS103に示した処理を実行する。
図10は、分割サイズ決定処理(S200)の詳細を例示するフローチャートである。
まず、アルゴリズム取得部41は、起動制御部20内の構成情報格納部24から可視化アルゴリズムに関する情報を取得してテスト用可視化処理部43に提供する(S200)。そして、メモリ容量取得部45は、可視化処理に用いられる画像処理装置10内のビデオメモリの容量を、起動制御部20内の構成情報格納部24から取得してテスト用可視化処理部43に提供する(S201)。
次に、テスト用可視化処理部43は、テスト用ボリュームデータ格納部46を参照して、メモリ容量取得部45によって取得されたビデオメモリの容量が、テスト用の3種類のボリュームデータの中の最小のデータサイズと最大のデータサイズとの間に含まれるか否かを判定する(S202)。
メモリ容量取得部45によって取得されたビデオメモリの容量が、テスト用の3種類のボリュームデータの中の最小のデータサイズと最大のデータサイズとの間に含まれていない場合(S202:No)、テスト用可視化処理部43は、メモリ容量取得部45によって取得されたビデオメモリの容量が、テスト用の3種類のボリュームデータの中の最小のデータサイズと最大のデータサイズとの間に含まれるように、テスト用のボリュームデータを抽出し直し(S203)、ステップS204に示す処理を実行する。
メモリ容量取得部45によって取得されたビデオメモリの容量が、テスト用の3種類のボリュームデータの中の最小のデータサイズと最大のデータサイズとの間に含まれる場合(S202:Yes)、テスト用可視化処理部43は、当該3種類のテスト用のボリュームデータを、分割サイズの決定処理に用いるテスト用のボリュームデータとして抽出する。そして、テスト用可視化処理部43は、アルゴリズム取得部41によって取得された可視化アルゴリズムの中で未選択の可視化アルゴリズムを1つ選択し(S204)、抽出した3種類のテスト用のボリュームデータの中で未選択のボリュームデータを1つ選択し(S205)、分割数格納部44に格納されている分割数の中で未選択の分割数を1つ選択する(S206)。
次に、テスト用可視化処理部43は、選択した可視化アルゴリズムおよび分割数を用いて、選択したテスト用のボリュームデータから2次元画像を生成する可視化処理を実行する(S207)。可視化処理が終了した場合、テスト用可視化処理部43は、使用した可視化アルゴリズムの識別情報、テスト用ボリュームデータのデータサイズ、および分割数を、可視化処理にかかった処理時間と共に分割サイズ算出部42へ送る。分割サイズ算出部42は、テスト用可視化処理部43から受け取った処理時間を、当該処理時間と共に受けとった可視化アルゴリズムの識別情報、テスト用ボリュームデータのデータサイズ、および分割数に対応付けて保持する(S208)。
次に、テスト用可視化処理部43は、分割数格納部44に格納された全ての分割数についてステップS207およびステップS208に示した処理を実行したか否かを判定する(S209)。全ての分割数についてステップS207およびステップS208に示した処理を実行していない場合(S209:No)、テスト用可視化処理部43は、再びステップS206に示した処理を実行する。
全ての分割数についてステップS207およびステップS208に示した処理を実行した場合(S209:Yes)、テスト用可視化処理部43は、テスト用として抽出した全てのボリュームデータについてステップS207およびステップS208に示した処理を実行したか否かを判定する(S210)。テスト用として抽出した全てのボリュームデータについてステップS207およびステップS208に示した処理を実行していない場合(S210:No)、テスト用可視化処理部43は、再びステップS205に示した処理を実行する。
テスト用として抽出した全てのボリュームデータについてステップS207およびステップS208に示した処理を実行した場合(S210:Yes)、テスト用可視化処理部43は、アルゴリズム取得部41によって取得された全ての可視化アルゴリズムについてステップS207およびステップS208に示した処理を実行したか否かを判定する(S211)。アルゴリズム取得部41によって取得された全ての可視化アルゴリズムについてステップS207およびステップS208に示した処理を実行していない場合(S211:No)、テスト用可視化処理部43は、再びステップS204に示した処理を実行する。
アルゴリズム取得部41によって取得された全ての可視化アルゴリズムについてステップS207およびステップS208に示した処理を実行した場合(S211:Yes)、テスト用可視化処理部43は、テスト用の可視化処理が終了した旨を分割サイズ算出部42に通知する。そして、分割サイズ算出部42は、保持していた処理時間を参照して、可視化アルゴリズムの識別情報およびデータサイズの組み合わせ毎に、可視化処理の処理時間が最小となる分割数を選択する(S212)。
次に、分割サイズ算出部42は、選択した分割数と、当該分割数に対応するテスト用ボリュームデータのデータサイズとから分割サイズを算出し、算出した分割サイズを、当該分割サイズの算出元となった分割数に対応するテスト用ボリュームデータのデータサイズを含むデータサイズの範囲に対応付けて、画像処理部30内の分割サイズ格納部32に格納する(S213)。そして、分割サイズ算出部42は、可視化処理部31に可視化処理の起動を指示し(S214)、分割サイズ決定部40は、本フローチャートに示す処理を終了する。
以上、本発明の第一の実施形態について説明した。
上記説明から明らかなように、画像処理装置10によれば、大容量のボリュームデータの解像度を落すことなく、汎用のコンピュータにおいて、大容量のボリュームデータを高速に可視化処理することができる。これにより、画像処理装置10を利用するユーザは、ハードウェアの構成やソフトウェアのバージョンを意識することなく、ユーザ環境におけるより適切な処理によって、高速な可視化処理を行うことが可能となり、医療現場の効率向上が期待できる。
次に、本発明の第二の実施形態について説明する。
図11は、第二の実施形態における画像処理装置10の構成を例示するシステム構成図である。画像処理装置10は、起動制御部20、可視化処理部70、およびテスト部80を備える。なお、以下に説明する点を除き、図11において、図1と同じ符号を付した構成は、図1における構成と同一または同様の機能を有するため説明を省略する。
起動制御部20は、入力装置11を介して、ユーザから可視化処理の起動指示を受信した場合に、画像処理装置10のハードウェアおよびソフトウェアの構成情報を収集する。そして、前回起動時に収集した構成情報と一致した場合に、起動制御部20は、可視化処理部70に可視化処理の起動を指示する。一方、収集した構成情報が前回起動時に収集した構成情報と異なる場合、起動制御部20は、テスト部80にテスト用のボリュームデータ毎の可視化処理時間の計測を指示する。
テスト部80は、起動制御部20から可視化処理時間の計測を指示された場合に、データサイズが異なる複数のテスト用ボリュームデータのそれぞれについて可視化処理を実行し、データサイズ毎に可視化処理にかかる時間を計測して保持する。データサイズ毎の可視化処理時間の計測が終了した場合、テスト部80は、可視化処理の起動を可視化処理部70に指示する。
可視化処理部70は、起動制御部20またはテスト部80から可視化処理の起動を指示された場合に、入力装置11を介してユーザから可視化対象のボリュームデータを特定する情報を取得する。可視化処理部70は、ボリュームデータの分割方法を規定する複数の分割アルゴリズムを予め格納しており、当該分割アルゴリズム毎に、当該分割アルゴリズムを用いて当該可視化対象のボリュームデータを複数の分割データに分割し、それぞれの分割データの可視化処理時間を、それぞれの分割データのデータサイズに基づいて、テスト部80によって算出された可視化処理時間の中から抽出する。
そして、可視化処理部70は、分割アルゴリズム毎に、分割データの可視化処理時間を合計することにより、可視化対象のボリュームデータ全体の可視化処理時間を算出する。そして、可視化処理部70は、最も可視化処理時間が短い分割アルゴリズムを特定し、可視化対象のボリュームデータを、特定した分割アルゴリズムで分割して可視化処理を実行する。
図12は、テスト部80の詳細な機能構成を例示するブロック図である。テスト部80は、処理時間格納部81、アルゴリズム取得部82、テスト用可視化処理部83、およびテスト用ボリュームデータ格納部84を備える。
テスト用ボリュームデータ格納部84には、例えば図13に示すように、テスト用のボリュームデータのデータ本体844が、当該ボリュームデータのデータサイズ840、当該ボリュームデータのx軸方向のボクセル数841、当該ボリュームデータのy軸方向のボクセル数842、および当該ボリュームデータのz軸方向のボクセル数843に対応付けて格納されている。
本実施形態において、テスト用のボリュームデータは、各辺が2のべき乗のボクセル数で表される直方体である。また、本実施形態では、同一のデータサイズにおいて、各軸方向のボクセル数が異なるテスト用のボリュームデータを複数用意する。
アルゴリズム取得部82は、起動制御部20から可視化処理時間の計測を指示された場合に、起動制御部20内の構成情報格納部24から可視化アルゴリズムを特定する情報を取得し、取得した情報に対応する可視化アルゴリズムを、画像処理装置10の内部、あるいは、通信ネットワーク(図示せず)を介して他の機器から取得してテスト用可視化処理部83に提供する。可視化アルゴリズムに関する情報が構成情報格納部24内に複数ある場合には、アルゴリズム取得部82は、全ての可視化アルゴリズムを取得してテスト用可視化処理部83に提供する。
テスト用可視化処理部83は、起動制御部20から可視化処理時間の計測を指示された場合に、テスト用ボリュームデータ格納部84を参照して、それぞれのテスト用ボリュームデータについて、アルゴリズム取得部82から供給された可視化アルゴリズム毎に、当該可視化アルゴリズムをGPUにおいて実行することにより、当該テスト用ボリュームデータを可視化処理する。
そして、テスト用可視化処理部83は、GPUによる可視化処理にかかった時間である可視化処理時間、当該テスト用ボリュームデータをCPUからGPUへ転送するのにかかる第一の転送時間、当該テスト用ボリュームデータがGPUによって可視化処理された2次元画像がGPUからCPUへ転送されるのにかかる第二の転送時間を、当該テスト用ボリュームデータのデータサイズおよび各軸方向のボクセル数に対応付けて処理時間格納部81に格納する。
ここで、テスト用可視化処理部83は、CPUからGPUへテスト用ボリュームデータの最初のビットの転送が始まってから当該ボリュームデータの最後のビットの転送が終了するまでの時間を測定し、測定した時間を第一の転送時間として処理時間格納部81に格納する。また、テスト用可視化処理部83は、CPUからGPUへテスト用ボリュームデータの最後のビットの転送が終わってから、GPUからCPUへ当該ボリュームデータに対応する2次元画像の最初のビットの転送が始まるまでの時間を測定し、測定した時間を可視化処理時間として処理時間格納部81に格納する。また、GPUからCPUへ2次元画像の最初のビットの転送が始まってから、当該2次元画像の最後のビットの転送が終了するまでの時間を測定し、測定した時間を第二の転送時間として処理時間格納部81に格納する。
処理時間格納部81には、例えば図14に示すように、テスト用ボリュームデータのデータサイズ810、当該ボリュームデータのx軸方向のボクセル数811、当該ボリュームデータのy軸方向のボクセル数812、および当該ボリュームデータのz軸方向のボクセル数813に対応付けて、当該ボリュームデータの可視化アルゴリズム毎の可視化処理時間814、当該ボリュームデータにおける第一の転送時間815、および当該ボリュームデータにおける第二の転送時間816が格納される。
なお、第一の転送時間および第二の転送時間が可視化処理時間に比べて十分小さく(例えば10分の一以下)、異なるテスト用ボリュームデータ間でほとんど差がない場合には、処理時間格納部81には、第一の転送時間および第二の転送時間を格納しなくてもよい。
図15は、可視化処理部70の詳細な機能構成を例示するブロック図である。可視化処理部70は、可視化処理時間算出部71、可視化実行部72、可視化処理時間格納部73、および分割アルゴリズム格納部74を備える。
分割アルゴリズム格納部74には、例えば図16に示すように、可視化対象のボリュームデータを、各辺が2のべき乗の数値で表される分割データに分割する方法を規定する分割アルゴリズム741が、当該分割アルゴリズム741を識別するアルゴリズムID740に対応付けて格納されている。分割アルゴリズムとしては、例えば、同一のデータサイズの複数の分割データに分割する方法や、異なるデータサイズの複数の分割データに分割する方法等がある。
図17(b)は、図17(a)に示すボリュームデータ90を同一のデータサイズの複数の分割データに分割する場合の分割アルゴリズムの例を示している。図17(b)では、100×100×200のボリュームデータ90が、128×128×64の分割データ4個に分割されている。なお、それぞれの分割データにおいて、可視化対象のボリュームデータ90以外の領域91は0を示すデータで満たされる。この他にも、ボリュームデータ90を異なるデータサイズの分割データに分割することにより、データサイズが同一の分割データに分割する分割方法は、無数に考えられる。
図17(c)は、図17(a)に示すボリュームデータ90を異なるデータサイズの複数の分割データに分割する場合の分割アルゴリズムの例を示している。図17(c)では、100×100×200のボリュームデータ90が、128×128×64の分割データ3個と、128×128×8の分割データ1個とに分割されている。なお、それぞれの分割データにおいて、可視化対象のボリュームデータ90以外の領域92は0を示すデータで満たされる。
図17(c)のように分割する場合の分割アルゴリズムは、例えば図18のようなフローチャートとなる。図18において、まず、可視化対象のボリュームデータ90のx軸方向のボクセル数をx、y軸方向のボクセル数をy、z軸方向のボクセル数をzとし、変数sx、sy、およびszに、それぞれ、x、y、およびz/2が代入される(S300)。
次に、変数sxおよびsyの中で大きい方の数値以上で、かつ、最小の2のべき乗の数値aが求められる(S301)。そして、変数sz以下で、かつ、最大の2のべき乗の数値bが求められる(S302)。
次に、zがbで割り切れる場合には(S303:Yes)、x軸方向のボクセル数およびy軸方向のボクセル数が共にaであり、z軸方向のボクセル数がbである分割データで可視化対象のボリュームデータ90が分割される(S308)。ステップS308が実行される場合、可視化対象のボリュームデータ90は、同一のデータサイズの分割データで分割される。
一方、zがbで割り切れない場合には(S303:No)、zをbで割ったときの商cが求められ(S304)、cにbを乗じた値dが求められる(S305)。そして、zからdを引いた値以上で、かつ、最小の2のべき乗の数値eが求められる(S306)。
次に、x軸方向のボクセル数およびy軸方向のボクセル数が共にaであり、z軸方向のボクセル数がbである分割データc個と、x軸方向のボクセル数およびy軸方向のボクセル数が共にaであり、z軸方向のボクセル数がeである分割データ1個で可視化対象のボリュームデータ90が分割される(S307)。
このような処理により、図17(a)のボリュームデータ90が図17(c)のように分割される。なお、この他にも、ボリュームデータ90を様々なデータサイズの分割データに分割することにより、データサイズが異なる複数の分割データに分割する分割方法は無数に考えられる。
可視化処理時間算出部71は、起動制御部20またはテスト部80から可視化処理の起動を指示された場合に、入力装置11を介して、ユーザから可視化アルゴリズムおよび可視化対象のボリュームデータの指定を受け付ける。そして、可視化処理時間算出部71は、指定されたボリュームデータを、画像処理装置10内部、あるいは、通信ネットワーク(図示せず)を介して他の機器から取得する。そして、可視化処理時間算出部71は、分割アルゴリズム格納部74に格納された分割アルゴリズム毎に、可視化対象のボリュームデータを分割する。
そして、可視化処理時間算出部71は、分割されたデータ毎に、当該分割データの各辺のボクセル数から、対応するテストデータの可視化処理時間、第一の転送時間、および第二の転送時間を処理時間格納部81から取得する。そして、可視化処理時間算出部71は、取得した可視化処理時間、第一の転送時間、および第二の転送時間を合計することにより、分割アルゴリズム毎の可視化処理時間を算出し、算出した可視化処理時間を、例えば図19に示すように、対応する分割アルゴリズムのアルゴリズムIDと共に可視化処理時間格納部73に格納する。そして、分割アルゴリズム格納部74内の全ての分割アルゴリズムについて可視化処理時間を算出した場合、可視化処理時間算出部71は、可視化処理時間の算出終了を可視化実行部72に通知する。
可視化実行部72は、画像処理装置10にインストールされた複数の可視化アルゴリズムのいずれかを用いて可視化処理を実行することができる。可視化実行部72は、入力装置11を介してユーザから可視化アルゴリズムおよび可視化対象のボリュームデータを特定するための情報を受け付ける。そして、可視化実行部72は、可視化処理時間算出部71から可視化処理時間の算出終了が通知された場合に、可視化処理時間格納部73を参照して、可視化処理時間が最小の分割アルゴリズムのアルゴリズムIDを特定する。
そして、可視化実行部72は、可視化対象のボリュームデータを、画像処理装置10の内部、あるいは、通信ネットワーク(図示せず)を介して他の機器から取得し、取得したボリュームデータを、特定した分割アルゴリズムを用いて分割し、ユーザから指示された可視化アルゴリズムを用いて可視化処理を実行し、生成した2次元画像を表示装置12に表示する。
図20は、第二の実施形態における画像処理装置10の動作の一例を示すフローチャートである。例えば入力装置11を介してユーザから可視化処理の起動指示を受信した場合に、画像処理装置10は、本フローチャートに示す処理を開始する。
まず、構成情報収集部23は、収集項目格納部22を参照して、収集項目格納部22に格納されたそれぞれの項目についての構成情報を収集し(S400)、構成情報格納部24を参照して、全ての項目のそれぞれについて、収集した構成情報が、前回収集した構成情報と一致するか否かを判定する(S401)。
全ての項目のそれぞれについて、収集した構成情報が前回収集した構成情報と一致する場合(S401:Yes)、構成情報収集部23は、可視化処理の起動を可視化処理部70に指示する。可視化処理時間算出部71は、後述する分割アルゴリズム毎の可視化処理時間算出処理を実行して(S600)、分割サイズ毎の可視化処理時間を算出する。
次に、可視化実行部72は、可視化処理時間格納部73を参照して、可視化処理時間が最小の分割アルゴリズムを特定し、可視化対象のボリュームデータを、特定した分割アルゴリズムを用いて分割して可視化処理を実行し(S403)、画像処理装置10は、本フローチャートに示す動作を終了する。
いずれかの項目について、収集した構成情報が前回収集した構成情報と異なる場合(S401:No)、構成情報収集部23は、テスト部80に可視化処理時間の計測を指示すると共に、今回収集した構成情報で、構成情報格納部24内の構成情報を更新する(S402)。そして、テスト部80は、後述するテスト用ボリュームデータの可視化処理を実行し(S500)、ステップS600に示す処理を実行する。
図21は、テスト用ボリュームデータの可視化処理(S500)の詳細を例示するフローチャートである。
まず、アルゴリズム取得部82は、起動制御部20内の構成情報格納部24から可視化アルゴリズムを特定する情報を取得し、取得した情報に対応する可視化アルゴリズムを、画像処理装置10の内部、あるいは、通信ネットワーク(図示せず)を介して他の機器から取得してテスト用可視化処理部83に提供する(S501)。そして、テスト用可視化処理部83は、アルゴリズム取得部82から提供された可視化アルゴリズムの中で、未選択の可視化アルゴリズムを1つ選択し(S502)、テスト用ボリュームデータ格納部84を参照して、未選択のテスト用ボリュームデータを1つ選択する(S503)。
次に、テスト用可視化処理部83は、ステップS503で選択したテスト用ボリュームデータを、ステップS502で選択した可視化アルゴリズムを用いて可視化処理する(S504)。そして、テスト用可視化処理部83は、使用した可視化アルゴリズム、ならびに、テスト用ボリュームデータのデータサイズおよび各軸方向のボクセル数の組み合わせに対応付けて、可視化処理時間、第一の転送時間、および第二の転送時間を処理時間格納部81に格納する(S505)。
次に、テスト用可視化処理部83は、テスト用ボリュームデータ格納部84に格納されている全てのテスト用ボリュームデータについて可視化処理を実行したか否かを判定する(S506)。可視化処理が行われていないテスト用ボリュームデータがテスト用ボリュームデータ格納部84内にある場合(S506:No)、テスト用可視化処理部83は、再びステップS503に示した処理を実行する。
テスト用ボリュームデータ格納部84内の全てのテスト用ボリュームデータについて可視化処理を実行した場合(S506:Yes)、テスト用可視化処理部83は、アルゴリズム取得部82から受信した全ての可視化アルゴリズムについて可視化処理を実行したか否かを判定する(S507)。可視化処理が実行されていない可視化アルゴリズムがある場合(S507:No)、テスト用可視化処理部83は、再びステップS502に示した処理を実行する。アルゴリズム取得部82から受信した全ての可視化アルゴリズムについて可視化処理を実行した場合(S507:Yes)、画像処理装置10は、本フローチャートに示したテスト用ボリュームデータの可視化処理を終了する。
図22は、分割アルゴリズム毎の可視化処理時間算出処理(S600)の詳細を例示するフローチャートである。
まず、可視化処理時間算出部71は、入力装置11を介して、ユーザから可視化アルゴリズムおよび可視化対象のボリュームデータの指定を受け付け、指定されたボリュームデータを取得する(S601)。そして、可視化処理時間算出部71は、分割アルゴリズム格納部74を参照して、未選択の分割アルゴリズムを1つ選択する(S602)。そして、可視化処理時間算出部71は、可視化対象のボリュームデータを、選択した分割アルゴリズムを用いて分割する(S603)。
次に、可視化処理時間算出部71は、処理時間格納部81を参照して、それぞれの分割データについて、可視化処理時間、第一の転送時間、および第二の転送時間を取得し(S604)、取得した可視化処理時間、第一の転送時間、および第二の転送時間を合計した時間を、可視化処理時間として、ステップS602で選択した分割アルゴリズムのアルゴリズムIDに対応付けて可視化処理時間格納部73に格納する(S605)。
次に、可視化処理時間算出部71は、分割アルゴリズム格納部74に格納されている全ての分割アルゴリズムについて、可視化処理時間を算出したか否かを判定する(S606)。可視化処理時間が算出されていない分割アルゴリズムが分割アルゴリズム格納部74内にある場合(S606:No)、可視化処理時間算出部71は、再びステップS602に示した処理を実行する。
分割アルゴリズム格納部74に格納されている全ての分割アルゴリズムについて可視化処理時間を算出した場合(S606:Yes)、可視化処理時間算出部71は、可視化処理時間の算出終了を可視化実行部72に通知し(S607)、画像処理装置10は、本フローチャートに示した、分割アルゴリズム毎の可視化処理時間算出処理を終了する。
以上、本発明の第二の実施形態について説明した。
本実施形態の画像処理装置10によれば、可視化対象のボリュームデータを、各軸方向のボクセル数が2のべき乗の数値となるように分割するので、各軸方向のボクセル数が2のべき乗の数値となるボクセルデータの可視化処理を高速に行うことができるGPUに最適なデータの分割方法を特定することができる。これにより、より高速にボリュームデータの可視化処理を実行することができる。
なお、上記第一の実施形態または第二の実施形態における画像処理装置10は、例えば図23に示す構成の情報処理装置50によって実現される。情報処理装置50は、CPU51、RAM(Random Access Memory)52、ROM(Read Only Memory)53、HDD(Hard Disk Drive)54、チップセット55、通信インターフェイス(I/F)56、入力インターフェイス(I/F)57、グラフィックスボード58、およびメディアインターフェイス(I/F)59を備える。
チップセット55は、CPU51、RAM52、ROM53、HDD54、通信インターフェイス56、入力インターフェイス57、グラフィックスボード58、およびメディアインターフェイス59に接続され、PCI Express(登録商標)等のバス方式により、これらが入出力するデータを中継する。CPU51は、ROM53またはHDD54に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM53は、情報処理装置50の起動時にCPU51が実行するブートプログラムや、情報処理装置50のハードウェアに依存するプログラム等を格納する。
HDD54は、CPU51が実行するプログラムおよびCPU51が使用するデータ等を格納する。通信インターフェイス56は、通信ネットワークを介してデータを受信してCPU51へ送ると共に、CPU51が生成したデータを、当該通信ネットワークを介して他の機器へ送信する。CPU51は、入力インターフェイス57を介して、キーボードやマウス等の入力装置11を制御し、入力装置11から操作データを取得する。また、CPU51は、グラフィックスボード58を介して、LCD(Liquid Crystal Display)等の表示装置12に画像を表示する。
グラフィックスボード58は、GPU580およびビデオメモリ581を有する。GPU580は、CPU51から受信した描画コマンド等に応じて、HDD54に格納された、あるいは通信インターフェイス56を介して取得したボリュームデータを2次元画像に変換する可視化処理を実行する。ビデオメモリ581は、GPU580による可視化処理の可過程で使用するデータや、生成した2次元画像等を格納する。可視化処理されてビデオメモリ581に格納された2次元画像は、表示装置12に表示される。
メディアインターフェイス59は、記録媒体60に格納されたプログラムまたはデータを読み取り、RAM52に提供する。RAM52を介してCPU51に提供されるプログラムは、記録媒体60に格納されている。当該プログラムは、記録媒体60から読み出されて、RAM52を介して情報処理装置50にインストールされ、CPU51によって実行される。
情報処理装置50が、第一の実施形態における画像処理装置10として機能する場合、RAM52、ROM53、またはHDD54には、収集項目格納部22、構成情報格納部24、分割サイズ格納部32、分割数格納部44、およびテスト用ボリュームデータ格納部46内のデータが格納される。情報処理装置50が、第一の実施形態における画像処理装置10として機能する場合、情報処理装置50にインストールされて実行されるプログラムは、情報処理装置50を、収集項目変更受付部21、収集項目格納部22、構成情報収集部23、構成情報格納部24、可視化処理部31、分割サイズ格納部32、アルゴリズム取得部41、分割サイズ算出部42、テスト用可視化処理部43、分割数格納部44、メモリ容量取得部45、およびテスト用ボリュームデータ格納部46として機能させる。
また、情報処理装置50が、第二の実施形態における画像処理装置10として機能する場合、RAM52、ROM53、またはHDD54には、収集項目格納部22、構成情報格納部24、可視化処理時間格納部73、分割アルゴリズム格納部74、処理時間格納部81、およびテスト用ボリュームデータ格納部84内のデータが格納される。情報処理装置50が、第二の実施形態における画像処理装置10として機能する場合、情報処理装置50にインストールされて実行されるプログラムは、情報処理装置50を、収集項目変更受付部21、収集項目格納部22、構成情報収集部23、構成情報格納部24、可視化処理時間算出部71、可視化実行部72、可視化処理時間格納部73、分割アルゴリズム格納部74、処理時間格納部81、アルゴリズム取得部82、テスト用可視化処理部83、およびテスト用ボリュームデータ格納部84として機能させる。
なお、RAM52、ROM53、またはHDD54の少なくともいずれか一つは、情報処理装置50によって管理される記憶装置を構成し、請求項に記載された記憶領域は、当該記憶装置内の記憶領域を指す。また、第一の実施形態および第二の実施形態において、当該記憶装置は、情報処理装置50内に設けられるが、他の形態として、当該記憶装置は、情報処理装置50の外部に設けられ、情報処理装置50は、通信回線等を介して当該外部の記憶装置からデータを取得したり、書き込んだりしてもよい。
記録媒体60は、例えばDVD、PD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。情報処理装置50は、これらのプログラムを、記録媒体60から読み取って実行するが、他の例として、通信ネットワークを介して他の装置からこれらのプログラムを取得してもよい。
なお、本発明は、上記の各実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
例えば、第一の実施形態において、分割サイズ決定部40は、テスト用ボリュームデータ格納部46内に複数のデータサイズのテスト用のボリュームデータを予め格納していたが、他の形態として、分割サイズ決定部40は、複数のデータサイズのテスト用のボリュームデータを、通信ネットワークを介して外部から取得するようにしてもよい。
また、第一の実施形態における起動制御部20、画像処理部30、および分割サイズ決定部40、または、第二の実施形態における起動制御部20、可視化処理部70、およびテスト部80は、1つの装置として一体に構成されたが、本発明はこれに限られず、それぞれ別個の装置として構成されて、互いにネットワーク接続されていてもよい。
また、上記した各実施形態において、構成情報収集部23は、ハードウェアおよびソフトウェアについての構成情報を収集して構成情報格納部24に格納したが、他の形態として、構成情報収集部23は、ハードウェアについての構成情報のみを構成情報格納部24に格納するようにし、ハードウェアについての構成情報が前回と一致するか否かに応じて分割サイズの算出処理を実行してもよい。
また、上記した第一の実施形態において、構成情報収集部23は、取得した構成情報が前回取得した構成情報と異なる場合に、分割サイズの算出処理を分割サイズ決定部40に指示したが、他の形態として、構成情報収集部23は、取得した構成情報が前回取得した構成情報と異なる場合に、分割サイズの算出処理を実行するか否かをユーザに問い合わせ、分割サイズの算出処理をユーザから指示された場合に、分割サイズ決定部40に分割サイズの算出処理を指示するようにしてもよい。
同様に、上記した第二の実施形態において、構成情報収集部23は、取得した構成情報が前回取得した構成情報と異なる場合に、可視化処理時間の計測をテスト部80に指示したが、他の形態として、構成情報収集部23は、取得した構成情報が前回取得した構成情報と異なる場合に、可視化処理時間の計測を実行するか否かをユーザに問い合わせ、可視化処理時間の計測をユーザから指示された場合に、テスト部80に可視化処理時間の計測を指示するようにしてもよい。
また、上記した各実施形態において、画像処理装置10は、可視化処理の起動を指示された場合に、前回取得した構成情報との一致を判定したが、他の例として、新たなハードウェアまたはソフトウェアがインストールされた場合や、収集項目変更受付部21を介して、収集項目格納部22内の収集項目が変更された場合に、前回取得した構成情報との一致を判定して分割サイズの決定処理を実行するようにしてもよい。これにより、画像処理装置10は、ユーザから可視化処理の起動指示を受ける前に分割サイズの算出処理を実行することができ、可視化処理の実行をユーザから指示された段階で、最適化された分割サイズを用いて迅速に可視化処理を開始することができる。
また、上記した第二の実施形態において、分割アルゴリズム格納部74内のそれぞれの分割アルゴリズムは、可視化対象のボリュームデータを、各辺が2のべき乗の数値のボクセル数で表される分割データに分割したが、本発明はこれに限られない。例えば、図24に示すように、可視化対象のボリュームデータを、各辺が2のべき乗の数値のボクセル数で表される同一のデータサイズの分割データで分割し、残りを、少なくともいずれかの辺が2のべき乗の数値のボクセル数ではない分割データで分割するようにしてもよい。
図24に示す例では、100×200×300のボリュームデータ93が、32×32×128の分割データ36個、100×200×44の分割データ1個、4×200×256の分割データ1個、および、96×8×256の分割データ1個に分割されている。このように分割することにより、全ての分割データの各辺が2のべき乗の数値のボクセル数ではないものの、不用なデータを付加する必要がなくなり、全体のデータサイズの増加を抑えることができる。
また、この場合、各辺が2のべき乗のボクセル数で表されるテスト用のボリュームデータについて、それぞれの辺毎に、ボクセル数を1つ増やしたテスト用のボリュームデータについても可視化処理時間、第一の転送時間、および第二の転送時間を算出して処理時間格納部81に格納しておく。
具体的には、x軸方向のボクセル数がx、y軸方向のボクセル数がy、z軸方向のボクセル数がzのテスト用のボリュームデータ(x,y,z)について、(x+1,y,z)、(x−1,y,z)、(x,y+1,z)、(x,y−1,z)、(x,y,z+1)、および(x,y,z+1)のテスト用ボリュームデータについても可視化処理時間、第一の転送時間、および第二の転送時間を算出して処理時間格納部81に格納しておく。
そして、テスト用ボリュームデータ(x,y,z)の可視化処理時間、第一の転送時間、および第二の転送時間の合計をT、テスト用ボリュームデータ(x,y,z−1)の可視化処理時間、第一の転送時間、および第二の転送時間の合計をT、テスト用ボリュームデータ(x,y,z+1)の可視化処理時間、第一の転送時間、および第二の転送時間の合計をTとする。
z軸方向のボクセル数がz/2よりも大きく、zよりも小さいzであるテスト用ボリュームデータ(x,y,z)の可視化処理時間、第一の転送時間、および第二の転送時間の合計Tは、例えば図25のように線形補間によりおおよその値が求められる。Tの方がTよりも短い場合には、テスト用ボリュームデータ(x,y,z)を分割データとして採用する。一方、Tの方がTよりも長い場合には、テスト用ボリュームデータ(x,y,z)を採用する。図25に示した例では、Tの方がTよりも長いため、テスト用ボリュームデータ(x,y,z)が採用される。
第一の実施形態における画像処理装置10の構成を例示するシステム構成図。 起動制御部20の詳細な機能構成を例示するブロック図。 収集項目格納部22に格納されるデータ構造を例示する図。 構成情報格納部24に格納されるデータ構造を例示する図。 画像処理部30の詳細な機能構成を例示するブロック図。 分割サイズ格納部32に格納されるデータ構造を例示する図。 分割サイズ決定部40の詳細な機能構成を例示するブロック図。 テスト用ボリュームデータ格納部46に格納されるデータ構造を例示する図。 第一の実施形態における画像処理装置10の動作の一例を示すフローチャート。 分割サイズ決定処理(S200)の詳細を例示するフローチャート。 第二の実施形態における画像処理装置10の構成を例示するシステム構成図。 テスト部80の詳細な機能構成を例示するブロック図。 テスト用ボリュームデータ格納部84に格納されるデータ構造を例示する図。 処理時間格納部81に格納されるデータ構造を例示する図。 可視化処理部70の詳細な機能構成を例示するブロック図。 分割アルゴリズム格納部74に格納されるデータ構造を例示する図。 ボリュームデータの分割方法を説明するための概念図。 分割アルゴリズムの一例を示すフローチャート。 可視化処理時間格納部73に格納されるデータ構造を例示する図。 第二の実施形態における画像処理装置10の動作の一例を示すフローチャート。 テスト用ボリュームデータの可視化処理(S500)の詳細を例示するフローチャート。 分割アルゴリズム毎の可視化処理時間算出処理(S600)の詳細を例示するフローチャート。 画像処理装置10の機能を実現する情報処理装置50の構成を例示するハードウェア構成図。 ボリュームデータの分割方法の他の例を説明するための概念図。 ボクセル数と可視化処理時間の関係を説明するための概念図。
符号の説明
10・・・画像処理装置、11・・・入力装置、12・・・表示装置、20・・・起動制御部、21・・・収集項目変更受付部、22・・・収集項目格納部、23・・・構成情報収集部、24・・・構成情報格納部、30・・・画像処理部、31・・・可視化処理部、32・・・分割サイズ格納部、40・・・分割サイズ決定部、41・・・アルゴリズム取得部、42・・・分割サイズ算出部、43・・・テスト用可視化処理部、44・・・分割数格納部、45・・・メモリ容量取得部、46・・・テスト用ボリュームデータ格納部、50・・・情報処理装置、51・・・CPU、52・・・RAM、53・・・ROM、54・・・HDD、55・・・チップセット、56・・・通信インターフェイス、57・・・入力インターフェイス、58・・・グラフィックスボード、580・・・GPU、581・・・ビデオメモリ、59・・・メディアインターフェイス、60・・・記録媒体、70・・・可視化処理部、71・・・可視化処理時間算出部、72・・・可視化実行部、73・・・可視化処理時間格納部、74・・・分割アルゴリズム格納部、80・・・テスト部、81・・・処理時間格納部、82・・・アルゴリズム取得部、83・・・テスト用可視化処理部、84・・・テスト用ボリュームデータ格納部

Claims (15)

  1. 3次元情報を有するボリュームデータを所定のデータサイズに分割して可視化処理することにより2次元画像を生成する画像処理装置であって、
    画像処理手段と、
    分割サイズ決定手段と
    当該画像処理装置を構成するハードウェアおよびソフトウェアに関する情報である構成情報を収集する構成情報収集手段と、
    前記構成情報収集手段によって収集された構成情報を格納する構成情報格納手段と
    を備え、
    前記画像処理手段は、
    ボリュームデータの分割サイズを格納する分割サイズ格納手段と、
    前記分割サイズ格納手段に格納されている分割サイズにボリュームデータを分割して可視化処理を実行する可視化処理手段と
    を有し、
    前記分割サイズ決定手段は、
    前記可視化処理手段に用いられる可視化アルゴリズムを取得するアルゴリズム取得手段と、
    予め定められたテスト用のボリュームデータを分割して可視化する際の分割数を複数格納する分割数格納手段と、
    前記分割数格納手段に格納された複数の分割数のそれぞれについて、当該分割数に基づいて前記テスト用のボリュームデータを分割し、前記アルゴリズム取得手段によって取得された可視化アルゴリズムを用いて、前記テスト用のボリュームデータの2次元画像を生成する可視化処理を実行するテスト手段と、
    前記テスト手段による可視化処理の結果から、前記テスト用のボリュームデータから2次元画像が生成されるまでにかかる時間が最小となる分割数を選択し、選択した分割数における分割サイズを算出して前記分割サイズ格納手段に格納する分割サイズ算出手段と
    を有し、
    前記構成情報収集手段は、
    前記画像処理手段による可視化処理を実行する旨の指示をユーザから受け付けた場合に、前記構成情報を収集し、収集した構成情報と、前回収集されて前記構成情報格納手段内に格納されている構成情報とが異なる場合に、今回収集した構成情報で前記構成情報格納手段内の構成情報を更新すると共に、前記分割サイズ決定手段に分割サイズを出力させることを特徴とする画像処理装置。
  2. 請求項1に記載の画像処理装置であって、
    前記テスト手段は、さらに、
    データサイズの異なる複数の前記テスト用のボリュームデータのそれぞれについて、可視化処理を実行し、
    前記分割サイズ算出手段は、
    それぞれの前記テスト用のボリュームデータについて、前記テスト用のボリュームデータから2次元画像が生成されるまでにかかる時間が最小となる分割数を選択し、選択した分割数における分割サイズを算出して、当該分割サイズに対応するテスト用のボリュームデータのデータサイズを含むデータサイズの範囲に対応付けて前記分割数格納手段に格納し、
    前記可視化処理手段は、
    前記分割サイズ格納手段を参照して、処理対象のボリュームデータのデータサイズが含まれる前記範囲に対応付けられている分割サイズを用いてボリュームデータの可視化処理を実行することを特徴とする画像処理装置。
  3. 請求項2に記載の画像処理装置であって、
    前記分割サイズ決定手段は、
    画像処理用の作業メモリの記憶容量を取得するメモリ容量取得手段をさらに有し、
    前記テスト手段は、少なくとも、
    前記メモリ容量取得手段によって取得された前記作業メモリの記憶容量よりも大きなデータサイズのテスト用のボリュームデータ、および、前記記憶容量よりも小さなデータサイズのテスト用のボリュームデータのそれぞれについて、可視化処理を実行することを特徴とする画像処理装置。
  4. 請求項1から3のいずれか一項に記載の画像処理装置であって、
    前記可視化処理手段は、
    複数の可視化アルゴリズムを有し、当該複数の可視化アルゴリズムのいずれかを用いてボリュームデータの可視化処理を実行し、
    前記アルゴリズム取得手段は、
    前記可視化処理手段が有する複数の可視化アルゴリズムを全て取得し、
    前記テスト手段は、
    前記アルゴリズム取得手段によって取得された複数の可視化アルゴリズムのそれぞれを用いて可視化処理を実行し、
    前記分割サイズ算出手段は、
    前記算出した分割サイズを、当該分割サイズを算出するために使用された可視化アルゴリズムを識別する情報にさらに対応付けて前記分割サイズ格納手段に格納することを特徴とする画像処理装置。
  5. 請求項1から4のいずれか一項に記載の画像処理装置であって、
    構成情報として収集すべきハードウェアおよびソフトウェアの項目である収集項目を複数格納する収集項目格納手段と、
    ユーザから受け付けた前記収集項目の追加または削除の指示に応じて、前記収集項目格納手段内のデータを変更する収集項目変更手段と
    をさらに備え、
    前記構成情報収集手段は、
    前記収集項目格納手段内に格納されている複数の収集項目のそれぞれについて構成情報を収集することを特徴とする画像処理装置。
  6. 請求項1から5のいずれか一項に記載の画像処理装置であって、
    前記構成情報収集手段は、少なくとも、
    当該画像処理装置が有する主演算装置および画像処理用の副演算装置の種類を構成情報として収集することを特徴とする画像処理装置。
  7. 3次元情報を有するボリュームデータを所定のデータサイズに分割して可視化処理することにより2次元画像を生成する画像処理装置を制御するプログラムであって、
    前記画像処理装置を、
    画像処理手段、
    分割サイズ決定手段、
    当該画像処理装置を構成するハードウェアおよびソフトウェアに関する情報である構成情報を収集する構成情報収集手段、および
    前記構成情報収集手段によって収集された構成情報を格納する構成情報格納手段
    として機能させ、
    前記画像処理手段は、
    ボリュームデータの分割サイズを格納する分割サイズ格納手段、および
    前記分割サイズ格納手段に格納されている分割サイズにボリュームデータを分割して可視化処理を実行する可視化処理手段
    して機能し、
    前記分割サイズ決定手段は、
    前記可視化処理手段に用いられる可視化アルゴリズムを取得するアルゴリズム取得手段、
    予め定められたテスト用のボリュームデータを分割して可視化する際の分割数を複数格納する分割数格納手段、
    前記分割数格納手段に格納された複数の分割数のそれぞれについて、当該分割数に基づいて前記テスト用のボリュームデータを分割し、前記アルゴリズム取得手段によって取得された可視化アルゴリズムを用いて、前記テスト用のボリュームデータの2次元画像を生成する可視化処理を実行するテスト手段、および
    前記テスト手段による可視化処理の結果から、前記テスト用のボリュームデータから2次元画像が生成されるまでにかかる時間が最小となる分割数を選択し、選択した分割数における分割サイズを算出して前記分割サイズ格納手段に格納する分割サイズ算出手段
    として機能し、
    前記構成情報収集手段は、
    前記画像処理手段による可視化処理を実行する旨の指示をユーザから受け付けた場合に、前記構成情報を収集し、収集した構成情報と、前回収集されて前記構成情報格納手段内に格納されている構成情報とが異なる場合に、今回収集した構成情報で前記構成情報格納手段内の構成情報を更新すると共に、前記分割サイズ決定手段に分割サイズを出力させるよう機能することを特徴とするプログラム。
  8. 3次元情報を有するボリュームデータを所定のデータサイズに分割して可視化処理することにより2次元画像を生成する画像処理装置における画像処理方法であって、
    前記画像処理装置は、
    ボリュームデータの可視化処理の実行をユーザから指示された場合に、当該画像処理装置を構成するハードウェアおよびソフトウェアに関する情報である構成情報を収集し、収集した構成情報と、前回収集されて自画像処理装置が管理する記憶領域内に格納されている構成情報とが異なる場合に、
    今回収集した構成情報で前記記憶領域内の構成情報を更新するステップと、
    可視化処理に用いられる可視化アルゴリズムを取得するアルゴリズム取得ステップと、
    予め定められたテスト用のボリュームデータを分割して可視化する際の分割数を前記記憶領域に複数格納する分割数格納ステップと、
    前記記憶領域に格納された複数の分割数のそれぞれについて、当該分割数に基づいて前記テスト用のボリュームデータを分割し、前記アルゴリズム取得ステップにおいて取得した可視化アルゴリズムを用いて、前記テスト用のボリュームデータの2次元画像を生成する可視化処理を実行するテストステップと、
    前記テストステップにおける可視化処理の結果から、前記テスト用のボリュームデータから2次元画像が生成されるまでにかかる時間が最小となる分割数を選択し、選択した分割数における分割サイズを算出して前記記憶領域に格納する分割サイズ算出ステップと、
    前記記憶領域に格納されている分割サイズにボリュームデータを分割して可視化処理を実行する可視化処理ステップと
    を実行することを特徴とする画像処理方法。
  9. 3次元情報を有するボリュームデータを所定サイズのデータに分割して可視化処理することにより2次元画像を生成する画像処理装置であって、
    データサイズが2のべき乗の数値で表されるテスト用のボリュームデータであって、異なる複数のデータサイズのテスト用のボリュームデータを、データサイズに対応付けて格納するテストデータ格納手段と、
    データサイズ毎に、当該データサイズのテスト用のボリュームデータを可視化した場合にかかる処理時間である可視化処理時間を格納する処理時間格納手段と、
    可視化処理に用いられる可視化アルゴリズムを取得するアルゴリズム取得手段と、
    前記テストデータ格納手段に格納されているそれぞれのテスト用のボリュームデータについて、当該テスト用のボリュームデータを、前記アルゴリズム取得手段によって取得された可視化アルゴリズムを用いて可視化処理し、可視化処理にかかった可視化処理時間を、当該テスト用のボリュームデータのデータサイズに対応付けて前記処理時間格納手段に格納する可視化試行手段と、
    ボリュームデータをデータサイズが2のべき乗の数値で表される複数の分割データに分割する分割方法を規定する分割アルゴリズムを、当該分割アルゴリズムを識別するアルゴリズムIDに対応付けて格納する分割アルゴリズム格納手段と、
    外部から可視化対象のボリュームデータを受け付けた場合に、前記分割アルゴリズム格納手段に格納されているそれぞれの分割アルゴリズム毎に、当該分割アルゴリズムを用いて当該可視化対象のボリュームデータを複数の分割データに分割し、それぞれの分割データの可視化処理時間を前記処理時間格納手段から取得し、取得した可視化処理時間を複数の分割データについて合計することにより、分割アルゴリズム毎の可視化処理時間を算出する可視化処理時間算出手段と、
    前記可視化処理時間算出手段によって算出されたボリュームデータ全体の可視化処理時間が最小となる分割アルゴリズムを特定し、可視化対象のボリュームデータを、特定した分割アルゴリズムを用いて分割して可視化処理を実行する可視化処理手段と
    当該画像処理装置を構成するハードウェアおよびソフトウェアに関する情報である構成情報を収集する構成情報収集手段と、
    構成情報収集手段によって収集された構成情報を格納する構成情報格納手段と
    を備え
    前記構成情報収集手段は、
    ボリュームデータの可視化処理の実行をユーザから指示された場合に、前記構成情報を収集し、収集した構成情報と、前回収集されて前記構成情報格納手段内に格納されている構成情報とが異なる場合に、今回収集した構成情報で前記構成情報格納手段内の構成情報を更新すると共に、前記可視化試行手段にテスト用のボリュームデータ毎に可視化処理時間を算出させることを特徴とする画像処理装置。
  10. 請求項に記載の画像処理装置であって、
    前記分割アルゴリズム格納手段には、
    ボリュームデータを同一のデータサイズに分割する分割アルゴリズム、または、ボリュームデータを複数の異なるデータサイズに分割する分割アルゴリズムの、少なくともいずれか一方が格納されることを特徴とする画像処理装置。
  11. 請求項または10に記載の画像処理装置であって、
    前記処理時間格納手段は、さらに、
    データサイズ毎に、当該データサイズのテスト用のボリュームデータが主演算装置から画像処理専用の副演算装置へ転送されるのにかかる第一の時間、および、当該データサイズのテスト用のボリュームデータが副演算装置によって可視化処理されたデータである可視化データが、副演算装置から主演算装置へ転送されるのにかかる第二の時間を示す情報を格納し、
    前記可視化試行手段は、
    前記テストデータ格納手段に格納されているそれぞれのテスト用のボリュームデータについて、前記第一の時間および前記第二の時間を計測し、計測した前記第一の時間および前記第二の時間を当該テスト用のボリュームデータのデータサイズに対応付けて前記処理時間格納手段にさらに格納し、
    前記可視化処理時間算出手段は、
    外部から可視化対象のボリュームデータを受け付けた場合に、前記分割アルゴリズム格納手段に格納されているそれぞれの分割アルゴリズム毎に、当該可視化対象のボリュームデータを複数の分割データに分割し、それぞれの分割データの可視化処理時間、第一の時間、および第二の時間を前記処理時間格納手段から取得し、取得した可視化処理時間、第一の時間、および第二の時間を複数の分割データについて合計することにより、分割アルゴリズム毎の可視化処理時間を算出することを特徴とする画像処理装置。
  12. 請求項9から11のいずれか一項に記載の画像処理装置であって、
    構成情報として収集すべきハードウェアおよびソフトウェアの項目である収集項目を複数格納する収集項目格納手段と、
    ユーザから受け付けた前記収集項目の追加または削除の指示に応じて、前記収集項目格納手段内のデータを変更する収集項目変更手段と
    をさらに備え、
    前記構成情報収集手段は、
    前記収集項目格納手段内に格納されている複数の収集項目のそれぞれについて構成情報を収集することを特徴とする画像処理装置。
  13. 請求項9から12のいずれか一項に記載の画像処理装置であって、
    前記構成情報収集手段は、少なくとも、
    当該画像処理装置が有する主演算装置および画像処理用の副演算装置の種類を構成情報として収集することを特徴とする画像処理装置。
  14. コンピュータを、3次元情報を有するボリュームデータを所定サイズのデータに分割して可視化処理することにより2次元画像を生成する画像処理装置として機能させるプログラムであって、
    前記コンピュータを、
    データサイズが2のべき乗の数値で表されるテスト用のボリュームデータであって、異なる複数のデータサイズのテスト用のボリュームデータを、データサイズに対応付けて格納するテストデータ格納手段、
    データサイズ毎に、当該データサイズのテスト用のボリュームデータを可視化した場合にかかる処理時間である可視化処理時間を格納する処理時間格納手段、
    可視化処理に用いられる可視化アルゴリズムを取得するアルゴリズム取得手段、
    前記テストデータ格納手段に格納されているそれぞれのテスト用のボリュームデータについて、当該テスト用のボリュームデータを、前記アルゴリズム取得手段によって取得された可視化アルゴリズムを用いて可視化処理し、可視化処理にかかった可視化処理時間を、当該テスト用のボリュームデータのデータサイズに対応付けて前記処理時間格納手段に格納する可視化試行手段、
    ボリュームデータをデータサイズが2のべき乗の数値で表される複数の分割データに分割する分割方法を規定する分割アルゴリズムを、当該分割アルゴリズムを識別するアルゴリズムIDに対応付けて格納する分割アルゴリズム格納手段、
    外部から可視化対象のボリュームデータを受け付けた場合に、前記分割アルゴリズム格納手段に格納されているそれぞれの分割アルゴリズム毎に、当該分割アルゴリズムを用いて当該可視化対象のボリュームデータを複数の分割データに分割し、それぞれの分割データの可視化処理時間を前記処理時間格納手段から取得し、取得した可視化処理時間を複数の分割データについて合計することにより、分割アルゴリズム毎の可視化処理時間を算出する可視化処理時間算出手段、
    前記可視化処理時間算出手段によって算出されたボリュームデータ全体の可視化処理時間が最小となる分割アルゴリズムを特定し、可視化対象のボリュームデータを、特定した分割アルゴリズムを用いて分割して可視化処理を実行する可視化処理手段
    当該画像処理装置を構成するハードウェアおよびソフトウェアに関する情報である構成情報を収集する構成情報収集手段、および
    構成情報収集手段によって収集された構成情報を格納する構成情報格納手段
    として機能させ
    前記構成情報収集手段は、
    ボリュームデータの可視化処理の実行をユーザから指示された場合に、前記構成情報を収集し、収集した構成情報と、前回収集されて前記構成情報格納手段内に格納されている構成情報とが異なる場合に、今回収集した構成情報で前記構成情報格納手段内の構成情報を更新すると共に、前記可視化試行手段にテスト用のボリュームデータ毎に可視化処理時間を算出させることを特徴とするプログラム。
  15. 3次元情報を有するボリュームデータを所定サイズのデータに分割して可視化処理することにより2次元画像を生成する画像処理装置における画像処理方法であって、
    前記画像処理装置は、
    データサイズが2のべき乗の数値で表されるテスト用のボリュームデータであって、異なる複数のデータサイズのテスト用のボリュームデータを、データサイズに対応付けて、自画像処理装置が管理する記憶領域に格納するテストデータ格納ステップと、
    データサイズ毎に、当該データサイズのテスト用のボリュームデータを可視化した場合にかかる処理時間である可視化処理時間を前記記憶領域に格納する処理時間格納ステップと、
    可視化処理に用いられる可視化アルゴリズムを取得するアルゴリズム取得ステップと、
    前記記憶領域に格納されているそれぞれのテスト用のボリュームデータについて、当該テスト用のボリュームデータを、前記アルゴリズム取得ステップにおいて取得した可視化アルゴリズムを用いて可視化処理し、可視化処理にかかった可視化処理時間を、当該テスト用のボリュームデータのデータサイズに対応付けて前記記憶領域に格納する可視化試行ステップと、
    ボリュームデータをデータサイズが2のべき乗の数値で表される複数の分割データに分割する分割方法を規定する分割アルゴリズムを、当該分割アルゴリズムを識別するアルゴリズムIDに対応付けて前記記憶領域に格納する分割アルゴリズム格納ステップと、
    外部から可視化対象のボリュームデータを受け付けた場合に、前記記憶領域に格納されているそれぞれの分割アルゴリズム毎に、当該分割アルゴリズムを用いて当該可視化対象のボリュームデータを複数の分割データに分割し、それぞれの分割データの可視化処理時間を前記記憶領域から取得し、取得した可視化処理時間を複数の分割データについて合計することにより、分割アルゴリズム毎の可視化処理時間を算出する可視化処理時間算出ステップと、
    前記可視化処理時間算出ステップにおいて算出したボリュームデータ全体の可視化処理時間が最小となる分割アルゴリズムを特定し、可視化対象のボリュームデータを、特定した分割アルゴリズムを用いて分割して可視化処理を実行する可視化処理ステップと
    当該画像処理装置を構成するハードウェアおよびソフトウェアに関する情報である構成情報を収集する構成情報収集ステップと、
    構成情報収集ステップにおいて収集した構成情報を前記記憶領域に格納する構成情報格納ステップと
    を実行し
    前記画像処理装置は、前記構成情報収集ステップにおいて、
    ボリュームデータの可視化処理の実行をユーザから指示された場合に、前記構成情報を収集し、収集した構成情報と、前回収集されて前記記憶領域内に格納されている構成情報とが異なる場合に、今回収集した構成情報で前記記憶領域内の構成情報を更新すると共に、前記可視化試行ステップにおいてテスト用のボリュームデータ毎に可視化処理時間を算出することを特徴とする画像処理方法。
JP2007178066A 2006-09-01 2007-07-06 画像処理装置、画像処理方法、およびプログラム Expired - Fee Related JP4932621B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007178066A JP4932621B2 (ja) 2006-09-01 2007-07-06 画像処理装置、画像処理方法、およびプログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006237627 2006-09-01
JP2006237627 2006-09-01
JP2007178066A JP4932621B2 (ja) 2006-09-01 2007-07-06 画像処理装置、画像処理方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2008084295A JP2008084295A (ja) 2008-04-10
JP4932621B2 true JP4932621B2 (ja) 2012-05-16

Family

ID=39355041

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007178066A Expired - Fee Related JP4932621B2 (ja) 2006-09-01 2007-07-06 画像処理装置、画像処理方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP4932621B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113282500B (zh) * 2021-06-01 2023-09-22 深圳平安智慧医健科技有限公司 获取测试数据的方法、装置、设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3589654B2 (ja) * 2002-03-12 2004-11-17 独立行政法人理化学研究所 ボリュームレンダリング方法とそのプログラム
JP2005296172A (ja) * 2004-04-08 2005-10-27 Toshiba Corp 画像表示装置及びレンダリング情報検索方法
JP2006099422A (ja) * 2004-09-29 2006-04-13 Konica Minolta Medical & Graphic Inc 画像処理装置、およびプログラム

Also Published As

Publication number Publication date
JP2008084295A (ja) 2008-04-10

Similar Documents

Publication Publication Date Title
US8004516B2 (en) Image processing system for volume rendering
JP5715064B2 (ja) 血管分析
JP5225999B2 (ja) 結合された強度の投影
EP2054860B1 (en) Selection of datasets from 3d renderings for viewing
JP6373555B2 (ja) コンピュータシステム、医用画像診断装置、画像表示方法、及び画像表示プログラム
JP2013167798A (ja) 画像生成装置及びその制御方法
JPWO2010098444A1 (ja) 医用画像処理装置及び方法
KR20190117187A (ko) 의료 영상을 시각화하는 방법 및 이를 이용한 장치
JP2005110974A (ja) 医用画像集合処理システム及び医用画像集合処理方法
JP2008142137A (ja) データ処理装置、データ処理方法、およびプログラム
JP2018108125A (ja) 情報処理装置、情報処理方法およびプログラム
JP4932621B2 (ja) 画像処理装置、画像処理方法、およびプログラム
JP2014502758A (ja) 画像オーバレイを用いたtnm分類
EP3828833A1 (en) Medical diagnostic imaging support system, medical image processing device, and medical image processing method
JP5458413B2 (ja) 画像処理装置、画像処理方法、及び、画像処理プログラム
RU2538327C2 (ru) Анатомически определенная автоматизированная генерация планарного преобразования криволинейных структур (cpr)
JP2010538729A (ja) 経路近傍レンダリング
Chiew et al. Online volume rendering of incrementally accumulated LSCEM images for superficial oral cancer detection
JP5991731B2 (ja) 情報処理装置及び情報処理方法
JP2020098488A (ja) 医用情報処理装置及び医用情報処理システム
JP2006000126A (ja) 画像処理方法および装置並びにプログラム
JP5693412B2 (ja) 画像処理装置、画像処理方法
JP2006304840A (ja) 医用画像表示システム
JP2010152623A (ja) 医用画像管理システム
Cantor-Rivera et al. Efficient 3D rendering for web-based medical imaging software: a proof of concept

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110916

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120117

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120215

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150224

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees