JP7247577B2 - 3次元再構成像表示装置、3次元再構成像表示方法、プログラム、及び画像生成方法 - Google Patents

3次元再構成像表示装置、3次元再構成像表示方法、プログラム、及び画像生成方法 Download PDF

Info

Publication number
JP7247577B2
JP7247577B2 JP2018239609A JP2018239609A JP7247577B2 JP 7247577 B2 JP7247577 B2 JP 7247577B2 JP 2018239609 A JP2018239609 A JP 2018239609A JP 2018239609 A JP2018239609 A JP 2018239609A JP 7247577 B2 JP7247577 B2 JP 7247577B2
Authority
JP
Japan
Prior art keywords
image
dimensional
defining
voxel
reconstructed image
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.)
Active
Application number
JP2018239609A
Other languages
English (en)
Other versions
JP2020101988A (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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2018239609A priority Critical patent/JP7247577B2/ja
Publication of JP2020101988A publication Critical patent/JP2020101988A/ja
Application granted granted Critical
Publication of JP7247577B2 publication Critical patent/JP7247577B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Generation (AREA)

Description

本開示は、3次元再構成像表示装置、3次元再構成像表示方法、プログラム、及び画像生成方法に関する。
医用画像診断において、X線CT(Computed
Tomography)装置やMRI(Magnetic Resonance
Imaging)から得られる断層画像群(3次元のボリュームデータ)から、被検体についての3次元情報が反映されたボリュームレンダリング画像、MIP(Maximum Intensity Projection)画像、MPR(Multi-Planar
Reconstruction)画像などの3次元再構成像を生成・描画する技術が普及している。
3次元再構成像では任意の方向から被写体を詳細に観察できるため、診断精度の向上につながる一方、読影者等が被写体の向きを誤って判断してしまうと、重大な医療過誤に繋がる虞もある。例えば、被写体の表裏を誤って判断すると、左右の臓器を取り違えて診断・医療行為等を行ってしまう危険性がある。このため、3次元再構成像を表示するだけでなく、被写体の向きを認識しやすくするような補助表示を行うことが望ましい。例えば、特許文献1や特許文献2では3次元再構成像とともに座標軸を表示することが開示されており、特許文献3では3次元再構成像とともに視点位置と視線方向(視線ベクトル)を表示することが開示されている。
特開2002-101428号公報 特許第4130457号公報 特許第4272415号
しかしながら、特許文献1~3のように被写体の方向を座標軸や視線ベクトルで提示する方法では、可視化されている3次元再構成像が被写体のどの方向に対応するかを直感的に把握しずらい、という問題があった。
本開示は、上記した解題に鑑みてなされたものであり、3次元再構成像において被写体の向きを容易に把握することが可能な、3次元再構成像表示装置等を提供することを目的とする。
本開示の一実施形態によると、複数の断層画像をXYZの座標軸が既定されたボクセル空間に配置して構成される3次元ボクセルに基づいて3次元再構成像を生成し表示する3次元再構成像表示装置であって、前記3次元ボクセルを所定の方向から見た画像である3次元再構成像を生成する3次元再構成像生成手段と、前記XYZの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する3次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定手段と、前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成手段と、前記3次元再構成像に前記方向規定画像を合成し表示する合成表示手段と、を備える3次元再構成像表示装置が提供される。
また本開示の一実施形態によると、複数の断層画像をXYZの座標軸が既定されたボクセル空間に配置して構成される3次元ボクセルに基づいて3次元再構成像を生成し表示する3次元再構成像表示方法であって、コンピュータが、前記3次元ボクセルを所定の方向から見た画像である3次元再構成像を生成する3次元再構成像生成ステップと、前記XYZの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する3次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定ステップと、前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成ステップと、前記3次元再構成像に前記方向規定画像を合成し表示する合成表示ステップと、を実行する3次元再構成像表示方法が提供される。
また本開示の一実施形態によると、コンピュータを、複数の断層画像をXYZの座標軸が既定されたボクセル空間に配置して構成される3次元ボクセルに基づいて3次元再構成像を生成し表示する3次元再構成像表示装置として機能させるプログラムであって、前記コンピュータを、前記3次元ボクセルを所定の方向から見た画像である3次元再構成像を生成する3次元再構成像生成手段、前記XYZの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する3次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定手段、前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成手段、前記3次元再構成像に前記方向規定画像を合成し表示する合成表示手段、として機能させるプログラムが提供される。
また本開示の一実施形態によると、複数の断層画像をXYZの座標軸が既定されたボクセル空間に配置して構成される3次元ボクセルを所定の方向から見た画像である3次元再構成像に合成される、当該3次元再構成像の表示方向を示すための画像を生成する画像生成方法であって、コンピュータが、前記XYZの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する3次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定ステップと、前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成ステップと、を実行する画像生成方法が提供される。
本開示によれば、3次元再構成像において被写体の向きを容易に把握することができる。
3次元再構成像生成処理の概要を示す図 3次元再構成像表示装置1のハードウェア構成を示す図 断層画像群Do(3次元ボクセル)を示す図 クリッピング領域ROIを示す図 マスクデータMaskを示す図 ボリュームレンダリング画像を生成する場合における、有効ボクセル領域Vrを示す図 MIP画像を生成する場合における、有効ボクセル領域Vrを示す図 方向規定オブジェクトDobjの例を示す図 方向規定オブジェクトDobjの例を示す図 方向規定オブジェクトDobjの例を示す図 方向規定オブジェクトDobjの例を示す図 方向規定画像Imagecの例を示す図 方向規定画像Imagecをレンダリング画像Imageに合成して表示する処理の概要を示す図 3次元再構成像表示装置1の動作の流れを示すフローチャート プログレッシブレンダリングの処理の流れを示すフローチャート 方向規定オブジェクトDobjと視線ベクトルとの交点を算出する様子を示す図 ボリュームレンダリング画像を生成する処理の流れを示すフローチャート レイキャスティング処理の流れを示すフローチャート 有効ボクセル領域Vrと視線ベクトルとの交点を算出する様子を示す図 有効ボクセル領域Vrと視線ベクトルとの交点を算出する様子を示す図 起点座標探索処理を示すフローチャート MIP画像を生成する処理の全体の流れを示すフローチャート レイキャスティング処理を示すフローチャート 起点座標探索処理を示すフローチャート MPR像(体軸断面、冠状断面、矢状断面)について説明する図 (a)標準CT画像の断層画像群Doのデータの並び方向(収納方向)を示す図、(b)Z軸が反転した場合の断層画像群Doのデータの並び方向(収納方向)を示す図 3次元再構成像表示装置1の動作の流れを示すフローチャート 断層画像群Doのデータの並び方向の補正を行う処理を示すフローチャート ファイル番号順に並べた断層画像群Doを示す図 断層画像群Doがスライス順位Ins(z)に基づいて並び替えられる様子を示す図 スライス順位Ins(z)に基づいて並び替えた後の断層画像群Doを示す図 警告表示の例を示す図 (a)方向補正前のレンダリング画像を示す図、(b)方向補正後のレンダリング画像を示す図 断層画像群Doのデータの並び方向を補正(座標軸の入れ替え)する例を示す図 横方向ベクトルH・縦方向ベクトルV(ImageOrientation)とスキャン方向ベクトルのパターンに応じた、補正後の画像サイズ、補正後の変倍率、座標系の関係を表す図
以下図面に基づいて、本開示の実施の形態を詳細に説明する。
(1.再構成像生成処理の概要)
図1は、3次元再構成像表示装置1が実行する再構成像生成処理の概要を示す図である。図に示すように、3次元再構成像表示装置1は、複数の断層画像(図の例では、512×512ピクセルの370枚の胸部CT画像)に基づいてレンダリング処理等の再構成像生成処理を実行し、所定の視点から被検体を観察したボリュームレンダリング画像、MIP(Maximum Intensity Projection)画像、MPR(Multi-Planar
Reconstruction)画像などの3次元再構成像を生成する。
(2.3次元再構成像表示装置1のハードウェア構成)
図2は、本実施の形態における3次元再構成像表示装置1のハードウェア構成を示すブロック図である。図2に示すように、3次元再構成像表示装置1は、制御部11、記憶部12、メディア入出力部13、通信制御部14、入力部15、表示部16、周辺機器I/F部17等が、バス18を介して接続される汎用のコンピュータで実現される。但し、これに限ることなく、用途、目的に応じて様々な構成を採ることが可能である。
制御部11は、単一プロセッサ、或いはマルチコアCPUで構成されるプロセッサ又はプロセッサが複数個で構成されるマルチプロセッサ(以降、いずれも単に「CPU」と表記し、CPUが有するコアをCPUコアと表記する)、ROM(Read Only Memory)、RAM(Random Access Memory)、フレームメモリ(Frame Memory)等によって構成される。CPUは、記憶部12、ROM、記録媒体等に格納されるレンダリングプログラムをRAM、フレームメモリ上のワークメモリ領域に呼び出して実行し、バス18を介して接続された各装置を駆動制御し、3次元再構成像表示装置1が行う後述する処理を実現する。なお、本開示では、複数のCPUコアを用いた処理を後述するが、複数のCPUコアは物理的に複数のCPUコアだけでなく、論理的に複数のCPUコアも含まれる。
ROMは、不揮発性メモリであり、コンピュータのブートプログラムやBIOS等のプログラム、データ等を恒久的に保持している。RAM、フレームメモリは、揮発性メモリであり、記憶部12、ROM、記録媒体等からロードしたプログラム、データ等を一時的に保持するとともに、制御部11が各種処理を行う為に使用するワークエリアを備える。
記憶部12は、HDD(Hard Disk Drive)等であり、制御部11が実行するプログラム、プログラム実行に必要なデータ、OS(Operating System)等が格納される。プログラムに関しては、OSに相当する制御プログラムや、後述する処理をコンピュータに実行させるためのアプリケーションプログラムが格納されている。これらの各プログラムコードは、制御部11により必要に応じて読み出されてRAM、フレームメモリに移され、CPUに読み出されて各種の手段として実行される。
メディア入出力部13(ドライブ装置)は、データの入出力を行い、例えば、CDドライブ(-ROM、-R、-RW等)、DVDドライブ(-ROM、-R、-RW等)等のメディア入出力装置を有する。通信制御部14は、通信制御装置、通信ポート等を有し、コンピュータとネットワーク間の通信を媒介する通信インタフェースであり、ネットワークを介して、他のコンピュータ間との通信制御を行う。ネットワークは、有線、無線を問わない。
入力部15は、データの入力を行い、例えば、キーボード、マウス等のポインティングデバイス、テンキー等の入力装置を有する。入力部15を介して、コンピュータに対して、操作指示、動作指示、データ入力等を行うことができる。
表示部16は、液晶パネル等のディスプレイ装置、ディスプレイ装置と連携してコンピュータのビデオ機能を実現するための論理回路等(ビデオアダプタ等)を有する。なお、入力部15及び表示部16は、タッチパネルディスプレイのように、一体となっていてもよい。
周辺機器I/F(Interface)部17は、コンピュータに周辺機器を接続させるためのポートであり、周辺機器I/F部17を介してコンピュータは周辺機器とのデータの送受信を行う。周辺機器I/F部17は、USB(Universal Serial Bus)やIEEE1394やRS-232C等によって構成されており、通常複数の周辺機器I/Fを有する。周辺機器との接続形態は有線、無線を問わない。バス18は、各装置間の制御信号、データ信号等の授受を媒介する経路である。
(3.データ内容)
<断層画像群Do>
断層画像群Doは、被検体(人体)を所定の間隔で連続的に撮影した複数の断層画像(例えばCT画像やMRI画像)である。各断層画像はDICOM形式の2次元の画像データである。DICOM形式は、1ファイルにヘッダ部と画像データ部を含む医療画像で一般的に用いられる画像フォーマットであり、画像撮影時のパラメータや診断情報を保存しておくことができる。
1つの断層画像は、例えば、512×512ピクセルの画像である。断層画像の各画素には、信号値vが付与されており、CT画像の場合、信号値vはCT値である。本実施の形態では、信号値v(CT値)は16ビット(-32768≦v≦32767)のデータとする(但し、信号値vのビット数は特に限定されない)。
断層画像群Doは、2次元データである断層画像を積層したものであり、図3に示すように、XYZの座標軸で規定されるボクセル空間Rに暫定的に配置可能なボクセルデータ(3次元ボクセル)として表現可能である。例えば、断層画像群Do(3次元ボクセル)は、以下のように定義される。
(式1)
-32768≦Do(x、y、z)≦32767
0≦x≦Sx-1、0≦y≦Sy-1、0≦z≦Sz-1
解像度:Rxy、解像度Rz
(式1)において、Sxは断層画像の横方向(図3の例ではX軸方向に暫定的に対応させているが被写体のX軸方向とは限らない)の画素数(ボクセル数)、Syは断層画像の縦方向(図3の例ではY軸方向に暫定的に対応させているが被写体のY軸方向とは限らない)の画素数(ボクセル数)、Szはスライス枚数(ボクセル数)を表し、スキャン方向(図3の例では暫定的にZ軸方向に対応させているが被写体のZ軸方向とは限らない)に所定の間隔で配置される。Rxyは横方向及び縦方向の断層画像の解像度であり、横方向と縦方向の解像度は通常同一で(DICOM規格上は異なった解像度を指定できるが、異なった解像度でスキャンするモダリティは現存しない)、画素の間隔(Wxy)の逆数、すなわち単位距離あたりの画素数を示す。ただし、RxyはXY平面上の解像度と暫定的に定義しているが、被写体のXY平面上の解像度とは限らない。Rzはスライスの解像度であり、断層画像のスライス間隔(Wz)(例えば、0.5mmや1mm)の逆数、すなわち単位距離あたりのスライス枚数を表し、RzはZ方向の解像度と暫定的に定義しているが、被写体のZ方向の解像度とは限らない。
(式1)で示される断層画像群に対して、後述する方向補正を実行し、被写体のXYZ座標系に変換した結果を(式1-2)に示す。Sx‘、Sy’、Sz‘は(式1)のSx、Sy、Szのいずれかの値である。Scx、Scy、Sczのいずれか1つは(式1)のRxy/Rzの値をもち、残りの2つは1の値をもつ。以下の説明のSx、Sy、Szは、(式1-2)に変換されたSx‘、Sy’、Sz‘を指すものとする。
(式1-2)
-32768≦Do(x、y、z)≦32767
0≦x≦Sx‘-1、0≦y≦Sy’-1、0≦z≦Sz‘-1
X軸方向変倍率:Scx、Y軸方向変倍率:Scy、Z軸方向変倍率:Scz
後述するように(図14のステップS2参照)、断層画像群Doの信号値は、必要に応じて8ビットに階調圧縮される場合がある。8ビットに階調圧縮された断層画像群Do(x、y、z)は以下のように定義される。
(式2)
0≦Do(x、y、z)≦255
0≦x≦Sx-1、0≦y≦Sy-1、0≦z≦Sz-1
X軸方向変倍率:Scx、Y軸方向変倍率:Scy、Z軸方向変倍率:Scz
<カラーマップCmap>
カラーマップCmapは、信号値vと色値(具体的にはRGB値)及び不透明度(α値)との対応関係を定義するものであり、信号値vを24ビットの色(RGB値)及び8ビットの不透明度(α値)に変換する関数(実体的には2次元のデータテーブル)として表現可能である。例えば、16ビットの断層画像群Do((式1)参照)に適用されるカラーマップCmapは次のように定義される。
(式3)
0≦Cmap(v、n)≦255
-32768≦v≦32767
n=0(R)、1(G)、2(B)、3(α)
また、8ビットの断層画像群Do((式2)参照)に適用されるカラーマップCmap(v、n)は次のように定義される。
(式4)
0≦Cmap(v、n)≦255
0≦v≦255
n=0(R)、1(G)、2(B)、3(α)
(式3)、(式4)に示すカラーマップCmap(v、n)(0≦n≦3)のうち、特にカラーマップCmap(v、n)(0≦n≦2)は、信号値vを色値(RGB値)に変換する関数に相当する。
また、(式3)、(式4)に示すカラーマップCmap(v、n)(0≦n≦3)のうち、特にカラーマップCmap(v、3)は、信号値vを不透明度に変換する関数に相当し、一般的に「オパシティカーブ」と呼ばれる。
カラーマップCmap(v、3)(オパシティカーブ)は、例えば、通常組織(16ビットの信号値v=0~120程度)の不透明度が255に設定(不透明度=255は不透明(光がすべて反射)であることを示す)され、骨領域(16ビットの信号値v=1000前後)の不透明度が1~254の中間値に設定(不透明度=1~254は半透明(入射光の一部が反射され、その他は透過)であることを示す)され、その他の組織等の部位を不透明度が0に設定(不透明度=0は透明(入射光の全てが透過)であることを示す)される。
<補正テーブルSα>
補正テーブルSαは、断層画像群Doの各画素(x、y、z)に対応する不透明度の補正倍率を格納するデータテーブルであり、以下のように定義される。補正テーブルSαによって、カラーマップCmap(v、3)(オパシティカーブ)で規定される信号値に応じた不透明度を各画素毎に調整することができる。
(式5)
0≦Sα(x、y、z)≦1
0≦x≦Sx-1、0≦y≦Sy-1、0≦z≦Sz-1
<クリッピング領域ROI>
クリッピング領域ROI(Region of Interest)は、断層画像群Doにおける関心領域であり、図4に示すように、クリッピング領域ROIは直方体で設定される。クリッピング領域ROIは、以下のように、X軸方向ROI、Y軸方向ROI、Z軸方向ROIによって定義される。
(式6)
X軸方向ROI:Xs-Xe
Y軸方向ROI:Ys-Ye
Z軸方向ROI:Zs-Ze
尚、クリッピング領域を設定しない場合は、Xs=0、Xe=Sx-1、Ys=0、Ye=Sy-1、Zs=0、Ze=Sz-1となる。
<マスクデータMask>
マスクデータMaskは、断層画像群Doの各画素(x、y、z)の可視/不可視の情報を保持する3次元データであり、以下のように定義される。
(式7)
Mask(x、y、z)= 0(不可視)または1(可視)
0≦x≦Sx-1、0≦y≦Sy-1、0≦z≦Sz-1
X軸方向変倍率:Scx、Y軸方向変倍率:Scy、Z軸方向変倍率:Scz
例えば、図5に示すように、断層画像群Doに円柱のマスク領域を設定し、マスク領域内を可視化対象とする場合、円柱内部の画素に対応するマスクデータMask(x、y、z)には「1」が設定され、円柱外部の画素に対応するマスクデータMask(x、y、z)には「0」が設定される。なお、マスク領域外を可視化対象としてもよい。この場合、円柱内部の画素に対応するマスクデータMask(x、y、z)には「0」が設定され、円柱外部の画素に対応するマスクデータMask(x、y、z)には「1」が設定される。
<有効ボクセル領域Vr>
有効ボクセル領域Vrは、ボクセル値が描画対象のボクセルを規定するように予め定められた条件を満たすボクセル(以下、「有効ボクセル」と表記する場合がある)を全て含み、かつ有効ボクセルに外接する直方体領域であり、以下のように、X軸方向ROI、Y軸方向ROI、Z軸方向ROIによって定義される。ここで「ボクセル値」とは、各ボクセルに対応づけられる数値情報であり、モダリティで測定された信号値(例えばCT撮影の場合はCT値)や、信号値をカラーマップCmapに通して得られる不透明度や色値、などを含む。
(式8)
X軸方向ROI:Xis-Xie
Y軸方向ROI:Yis-Yie
Z軸方向ROI:Zis-Zie
有効ボクセル領域Vrを定義することによって、ボリュームレンダリング画像やMIP画像を生成する処理(レイキャスティング処理)が、有効ボクセル領域Vr内のボクセルのみを参照して実行されるため、計算負荷を大幅に抑えることができ、境界が直方体のためレイキャスティング処理における起点座標を直線(仮想光線)との交点に基づいて迅速に探索できる。
具体的には、ボリュームレンダリング画像を生成する場合には、図6に示すように、不透明度が0でない値(α>0)をもつボクセル(不透明ボクセル)を有効ボクセルとし、有効ボクセルを全て含み、かつ有効ボクセルに外接する直方体を有効ボクセル領域Vrとする。
また、MIP画像を生成する場合には、図7に示すように、信号値が所定の閾値以上(例えば、空気でない信号値以上)であるボクセルを有効ボクセルとし、有効ボクセルを全て含み、かつ有効ボクセルに外接する直方体を有効ボクセル領域Vrとする。ボリュームレンダリング画像を生成する場合、MIP画像を生成する場合を問わず、クリッピング領域ROIが定義されている場合は有効ボクセル領域Vrはクリッピング領域ROIの範囲内に定義され、マスクデータMask(x、y、z)が定義されている場合にはマスクデータMask(x、y、z)が「0」の有効ボクセルは無効として有効ボクセル領域Vrを設定する。
<ボリュームレンダリング画像ImageVR>
ボリュームレンダリング画像ImageVRは、レイキャスティング法に基づいてボリュームレンダリング画像を生成する処理(図17参照)によって得られるフルカラー(24ビット)の3次元再構成像(Size×Sizeの画像)であり、以下のように定義される。
(式9)
0≦ImageVR(x、y、n)≦255
0≦x≦Size-1、0≦y≦Size-1
n=0(R)、1(G)、2(B)
<MIP画像ImageMIP>
MIP画像ImageMIPは、レイキャスティング法に基づいてMIP画像を生成する処理(図22参照)によって得られるモノクロ(16ビットまたは8ビット)の3次元再構成像(Size×Sizeの画像)であり、以下のように定義される。MIP画像ImageMIPを生成する段階では、階調は元のDICOM画像の信号値のままモノクロ(16ビット)で計算する方法が一般的であり、ImageMIP(x、y)は-32768≦ImageMIP(x、y)≦32767の値をもつ場合があるが、表示される段階では以下のようにモノクロ(8ビット)に変換される。
(式10)
0≦ImageMIP(x、y)≦255
0≦x≦Size-1、0≦y≦Size-1
以下、ボリュームレンダリング画像ImageVRとMIP画像ImageMIPを総称してレンダリング画像Imageと表記する場合がある。
(4.レンダリング画像の方向表示)
本開示では、被写体の向きを容易に認識できるよう、以下のように、レンダリング画像Image(ボリュームレンダリング画像ImageVR、MIP画像ImageMIP)に対して方向表示を行う。
(4-1.方向規定オブジェクトDobjの設定)
まず、3次元再構成像表示装置1は、断層画像群Do(3次元ボクセル)が配置されるボクセル空間Rに、当該ボクセル空間Rの少なくとも上下左右前後を規定する3次元のオブジェクト(以下、「方向規定オブジェクトDobj」と表記)を配置し設定する。
図8は、方向規定オブジェクトDobjの例を示す。図(左)の方向規定オブジェクトDobjは、ボクセル空間Rに配置された直方体のオブジェクト(図の例では、Edge×Edge×Edgeの立方体のオブジェクト)である。また、図(右)に示すように、直方体の各面(6面)には、ボクセル空間Rの上下左右前後を識別する表示情報(図のテクスチャTex)が設定される。図のテクスチャとしてはフルカラー版(ボリュームレンダリング画像向け)とモノクロ版(MIP画像向け)の2種類を用意している。文字の色は全て黒色(RGB色(0、0、0)または(グレー:0))に統一している。ただし、方向規定オブジェクトDobjを基に生成される方向規定画像Imagecのサイズがレンダリング画像に比べ顕著に小さいため文字が潰れて判読しにくくなる問題が生じる。そこで、256段階のグレースケール階調をもつ文字フォントを採用し、文字の内部(グレー:255)は黒色とし、文字の境界部(グレー:254以下)は各テクスチャの背景色との透かし合成させ、文字の輪郭部にアンチエリアシング処理を施して判読しやすいようにしている。
例えば、図の例では、方向規定オブジェクトDobjの面Face0には、「右」(Right)を示す文字フォント「R」に対し文字の背景をRGB色(255、0、0)(赤)またはグレー(255)で塗りつぶした表示情報(テクスチャ)が設定される。面Face1には、「左」(Left)を示す文字フォント「L」に対し文字の背景をRGB色(255、255、0)(黄色)またはグレー(243)で塗りつぶした表示情報(テクスチャ)が設定される。面Face2には、「前」(正面)(Anterior)を示す文字フォント「A」に対し文字の背景をRGB色(0、255、0)(緑)またはグレー(231)で塗りつぶした表示情報(テクスチャ)が設定される。
面Face3には、「後」(背面)(Posterior)を示す文字フォント「P」に対し文字の背景をRGB色(0、255、255)(シアン)またはグレー(219)で塗りつぶした表示情報(テクスチャ)が設定される。面Face4には、「上」(Head)を示す文字フォント「H」に対し文字の背景をRGB色(0、0、255)(青)またはグレー(207)で塗りつぶした表示情報(テクスチャ)が設定される。面Face5には、「下」(Foot)を示す文字フォント「F」に対し文字の背景をRGB色(255、0、255)(マゼンタ)またはグレー(195)で塗りつぶした表示情報(テクスチャ)が設定される。
なお、各面に設定される文字フォントは、上下非対称、左右非対称、または上下左右非対称の文字フォントを用いてもよい。例えば、図8の面Face4に設定される文字フォント「H」は上下左右対称であるため、これを小文字の「h」としたり、書体を変えることで、上下左右非対称の文字フォントとしてもよい。非対称の文字フォントを用いることにより、各面における2次元方向を容易に把握できるようになる。
また、各面に設定される表示情報(テクスチャ)は、互いに異なる表示情報であればよく、図8のような文字と色の組み合わせでなくてもよい。例えば、図9に示すように、直方体の各面の表示情報として、頭部の各方向のイラストを設定してもよい。頭部のイラストを設定することで、被検体が人体等の生物である場合に、被検体の方向を容易に把握できるようになる。
また、方向規定オブジェクトDobjのサイズは、図8のように立方体に限定されず、任意に設定可能である。例えば、方向規定オブジェクトDobjのサイズを、断層画像群Doから構成される3次元ボクセル(直方体ボクセル)の3次元方向のサイズの比率に応じて設定してもよい。例えば、図10に示すように、3次元ボクセルのX軸方向のボクセル数がSx、Y軸方向のボクセル数がSy、Z軸方向のボクセル数がSz、X軸方向変倍率がScx、Y軸方向変倍率がScy、Z軸方向変倍率がSczの場合、方向規定オブジェクトDobj(直方体)のX軸方向の長さをa・Sx・Scx、Y軸方向の長さをa・Sy・Scy、Z軸方向の長さをa・Sz・Sczと設定することで(0<a<1)、方向規定オブジェクトDobjを3次元ボクセル(直方体ボクセル)と相似の形状とすることができる。
また、方向規定オブジェクトDobjは、ボクセル空間Rの上下左右前後を区別できる3次元オブジェクトであれば、どのような態様のものでもよい。すなわち、方向規定オブジェクトDobjは、当該方向規定オブジェクトDobjをボクセル空間Rの上下左右前後の各6方向から観察した際、互いに異なる表示態様となっていればよい。例えば、図11のように、方向規定オブジェクトDobjとして、車の3次元オブジェクトを設定してもよい。このほか、動物・植物などの生物、小説・漫画・映画・アニメ・ゲームなどのフィクションに登場する人物や動物のキャラクター、など任意の対象を方向規定オブジェクトDobjとして設定可能である。
(4-2.方向規定画像Imagecの生成)
次に、3次元再構成像表示装置1は、上記した方向規定オブジェクトDobjを2次元の投影面にレンダリングしたSizec×Sizecの画像(以下、「方向規定画像Imagec」と表記)を生成する。方向規定画像Imagecは、以下のように定義される。
(式11)
0≦Imagec(x、y、n)≦255
0≦x≦Sizec-1、0≦y≦Sizec-1
n=0(R)、1(G)、2(B)
図12は、方向規定画像Imagecの例を示す。図12の方向規定画像Imagecは、図8の方向規定オブジェクトDobjを2次元の投影面にレンダリングした画像である。図に示すように、Sizec×Sizecの画像領域内に方向規定オブジェクトDobjが表示情報(テクスチャTex)とともにレンダリングされる。Imagec1は方向規定オブジェクトDobjがレンダリングされた画像領域であり、Imagec2はそれ以外の背景領域である。
(4-3.方向規定画像Imagecの合成)
そして、3次元再構成像表示装置1は、被写体の方向を容易に把握できるよう、上記した方向規定画像Imagecをレンダリング画像Image(ボリュームレンダリング画像ImageVR、MIP画像ImageMIP)に合成して表示する。
図13は、方向規定画像Imagecをレンダリング画像Imageに合成して表示する処理の概要を示す図である。図に示すように、3次元再構成像表示装置1は、断層画像群Do(3次元ボクセル)を投影面P1に投影し、断層画像群Do(3次元ボクセル)を所定の方向から見たレンダリング画像Image(図の例では、ボリュームレンダリング画像ImageVR)を生成するとともに、方向規定オブジェクトDobjを投影面P2(投影面P1と3次元的に同一方向の平面)に投影し、断層画像群Do(3次元ボクセル)と同一の方向から方向規定オブジェクトDobjを見た方向規定画像Imagecを生成する。そして、図に示すように、生成した方向規定画像Imagecをレンダリング画像Imageの一部(例えば画像端)に合成して表示する。これにより、レンダリング画像において方向規定画像Imagecが表示され、被写体の方向を容易に確認することができるようになる。
(5.3次元再構成像表示装置1の動作)
図14のフローチャートを参照しながら、3次元再構成像表示装置1の全体の動作について説明する。
まず、3次元再構成像表示装置1の制御部11は、レンダリング対象である断層画像群Do((式1)参照)を読込み入力する(図14のステップS1)。
続いて、制御部11は、必要に応じて、断層画像群Doに対して階調圧縮処理を施す(図14のステップS2)。階調圧縮処理については後述する(「8.階調圧縮処理」参照)。
以下、生成する3次元再構成像(ボリュームレンダリング画像/MIP画像/MPR画像)に応じて処理が分岐する。
まず、ボリュームレンダリング画像ImageVRを生成する場合には(図14のステップS3;ボリュームレンダリング)、制御部11は、ボリュームレンダリング画像ImageVRを生成する処理(図14のステップS7)において参照する各種データを取得する。具体的には、制御部11は、クリッピング領域ROI((式6)参照)、マスクデータMask((式7)参照)、補正テーブルSα((式5)参照)、およびカラーマップCmap((式3)参照)等を取得する(図14のステップS4)。
続いて、制御部11は、有効ボクセル領域Vrを算出する(図14のステップS5)。具体的には、図6に示すように、制御部11は、不透明度が0でない値(α>0)をもつボクセル(不透明ボクセル)を有効ボクセルとし、これらの有効ボクセルを全て含み、かつ有効ボクセルに外接する直方体を有効ボクセル領域Vrとして算出する。クリッピング領域ROIやマスクデータMaskが設定されている場合は、制御部11は、クリッピングROIやマスクデータMaskにより規定された描画範囲内において、不透明度が0でない値(α>0)をもつボクセル(不透明ボクセル)を有効ボクセルとし、これらの有効ボクセルを全て含み、かつ有効ボクセルに外接する直方体を有効ボクセル領域Vrとして算出する。
続いて、制御部11は、ボクセル空間Rに、ボクセル空間Rの上下左右前後を規定する方向規定オブジェクトDobjを配置し設定する(図14のステップS6)。
続いて、制御部11は、方向規定オブジェクトDobjに基づいて、方向規定画像Imagecを生成する(図14のステップS7)。方向規定画像Imagecを生成する具体的な処理については後述する(「7.方向規定画像Imagecの生成・合成処理」参照)。
続いて、制御部11は、断層画像群Do(3次元ボクセル)に基づいて、ボリュームレンダリング画像ImageVRを生成する(図14のステップS8)。ボリュームレンダリング画像ImageVRを生成する処理については後述する(「9.ボリュームレンダリング画像の生成処理」参照)。
そして、制御部11は、ステップS8において生成したボリュームレンダリング画像ImageVRに、ステップS7において生成した方向規定画像Imagecを合成し、表示部16に表示する(図14のステップS9)。方向規定画像Imagecを合成する処理については後述する(「7.方向規定画像Imagecの生成・合成処理」)。
一方、MIP画像ImageMIPを生成する場合には(図14のステップS3;MIP)、制御部11は、MIP画像ImageMIPする処理(図14のステップS14)において参照する各種データを取得する。具体的には、制御部11は、クリッピング領域ROI((式6)参照)、マスクデータMask((式7)参照)、補正テーブルSα((式5)参照)を取得する(図14のステップS10)。
続いて、制御部11は、有効ボクセル領域Vrを算出する(図14のステップS11)。具体的には、MIP画像ImageMIPを生成する場合には、図7に示すように、制御部11は、信号値が所定の閾値以上(例えば、空気でない信号値以上)であるボクセルを有効ボクセルとし、これらの有効ボクセルを全て含み、かつ有効ボクセルに外接する直方体を有効ボクセル領域Vrとして算出する。クリッピング領域ROIやマスクデータMaskが設定されている場合は、制御部11は、クリッピングROIやマスクデータMaskにより規定された描画範囲内において、信号値が所定の閾値以上(例えば、空気でない信号値以上)であるボクセルを有効ボクセルとし、これらの有効ボクセルを全て含み、かつ有効ボクセルに外接する直方体を有効ボクセル領域Vrとして算出する。
続いて、制御部11は、ボクセル空間Rに、ボクセル空間Rの上下左右前後を規定する方向規定オブジェクトDobjを配置し設定する(図14のステップS12)。
続いて、制御部11は、方向規定オブジェクトDobjに基づいて、方向規定画像Imagecを生成する(図4のステップS13)。方向規定画像Imagecを生成する処理については後述する(「7.方向規定画像Imagecの生成・合成処理」参照)。
続いて、制御部11は、断層画像群Do(3次元ボクセル)に基づいて、MIP画像ImageMIPを生成する(図14のステップS14)。MIP画像ImageMIPを生成する処理については後述する(「10.MIP画像の生成処理」参照)。
そして、制御部11は、ステップS14において生成したMIP画像ImageMIPに、ステップS13において生成した方向規定画像Imagecを合成し、表示部16に表示する(図14のステップS15)。方向規定画像Imagecを合成する処理については後述する(「7.方向規定画像Imagecの生成・合成処理」)。
一方、MPR画像ImageMPRを生成する場合には(図14のステップS3;MPR)、例えば、制御部11はY平面に平行な体軸断面(アキシャル(Axial)断面)、XZ平面に平行な冠状断面(コロナル(Coronal)断面)、ZY平面に平行な矢状断面(サジタル(Sagittal)断面)のMPR像ImageMPRを生成して表示する(図14のステップS16)。また、XYZ空間を斜めに切断した斜断面(オブリーク(Oblique)断面)のMPR像を生成しても良い。MPR画像を生成する処理については後述する(「11.MPR画像の生成処理」参照)。
MPR画像ImageMPRにおいては3方向の各画像の方向が固定で自明なため、図14のステップS3では、方向規定画像Imagecを表示する処理を行っていないが、行うようにしても良い。特に斜断面(オブリーク(Oblique)断面)を指定すると、MPR画像ImageMPRの3方向が全て変化するため、3方向の各画像に対してMIP画像ImageMIPと同様に方向規定画像Imagecを合成することが望まれる。通常の直交MPR画像の場合、体軸断面(アキシャル(Axial)断面)のMPR画像に対しては図8の立方体をZ軸方向に投影しFace5(F)のみが正面に表示されるように方向規定画像Imagecを生成し、冠状断面(コロナル(Coronal)断面)のMPR画像に対しては図8の立方体を-Y軸方向に投影しFace2(A)のみが正面に表示されるように方向規定画像Imagecを生成し、矢状断面(サジタル(Sagittal)断面)のMPR画像のMPR画像に対しては図8の立方体をX軸中心に90度回転させて-X軸方向に投影しFace0(R)のみが正面に時計方向に90度回転されて表示(図8の「R」のように寝かせた状態)されるように方向規定画像Imagecを生成し、各々MPR画像ImageMPRに対して合成するようにすれば良い。斜断面(オブリーク(Oblique)断面)の指示がなされた場合は、MIP画像ImageMIPと同様に図8の立方体に対して指定された回転行列に基づき3次元空間で回転を施した上で、Z軸方向に投影した方向規定画像Imagec、―Y軸方向に投影した方向規定画像Imagec、およびX軸中心に90度回転させて―X軸方向に投影した方向規定画像Imagecを各々生成し、各々MPR画像ImageMPRに対して合成するようにすれば良い。(MIP画像ImageMIPに対してはZ軸方向に投影した方向規定画像Imagecのみ生成すれば良い)。この場合は、各方向のMPR画像において、方向規定画像Imagecは図12のように立方体が傾いて表示される。
(6.プログレッシブレンダリング)
なお、図14のステップS9またはステップS15においてレンダリング画像Image(ボリュームレンダリング画像ImageVRまたはMIP画像ImageMIP)を表示したあと、ユーザ操作によってレンダリング画像Imageに対する表示変更操作(カラーマップCmapの変更操作やアングル変更操作など)が行われると、制御部11は、再度レンダリング処理を実行し、レンダリング画像Image(ボリュームレンダリング画像ImageVRまたはMIP画像ImageMIP)を生成・表示する。この場合、以下のようにプログレッシブレンダリングを行うようにしてもよい。
具体的には、図15に示すように、表示中のレンダリング画像Image(ボリュームレンダリング画像ImageVRまたはMIP画像ImageMIP)に対して表示変更イベント(例えば、マウスボタンを押した状態でのドラッグ操作)が発生すると(図15のステップS171)、制御部11は、方向規定画像Imagecを生成するとともに(図15のステップS172)、レンダリング画像Imageの画素の一部に対して(画素を間引いて)レンダリング処理(図14のステップS7またはステップS12と同様の処理)を実行し、レンダリング画像Imageを生成する(図15のステップS173)。例えば、制御部11は、レンダリング画像Imageの画素の3/4を間引き、間引き後(解像度を1/4に落とした後)のレンダリング画像Imageに対してレンダリング処理(低解像度レンダリング処理)を実行する。そして、制御部11は、方向規定画像Imagecを、解像度を落としたレンダリング画像Imageに合成し表示する(図15のステップS174)。
制御部11は、表示変更イベントの発生を所定時間待ち(図15のステップS75)、所定時間内に表示変更イベントが再度発生すると、ステップS172に戻り、方向規定画像Imagecを生成するとともに、レンダリング画像Imageの画素の一部に対して(解像度を落とした)レンダリング処理(低解像度レンダリング処理)を再度実行し、方向規定画像Imagecが合成されたレンダリング画像Imageを生成・表示する(図15のステップS172~ステップS174)。
一方、所定時間内に表示変更イベントが発生しない場合(タイムアウト)または表示確定イベントが発生した場合(例えば、マウスボタンをリリースした状態)、ユーザによる表示変更操作が確定(終了)したものとし、制御部11は、レンダリング画像Imageの全画素に対して通常のレンダリング処理(高解像度レンダリング処理)(図14のステップS7またはステップS12の処理)を実行し、レンダリング画像Imageを生成する(図15のステップS176)。そして、方向規定画像Imagecを高解像度のレンダリング画像Imageに合成し表示する(図15のステップS177)。
以上のように、表示変更イベント発生中は画像の解像度を落としたレンダリング処理を実行することで、方向規定画像Imagecが合成されたレンダリング画像Imageをユーザ操作に追従させながら高速に表示させることができ、表示変更イベント終了後には全画素データに対して高解像度のレンダリング処理を実行することができる。なお、表示変更イベント中でも方向規定画像Imagecの解像度は落とさないため、方向規定画像Imagecの視認性が落ちることはない。
(7.方向規定画像Imagecの生成・合成処理)
(7-1.方向規定画像Imagecの生成処理)
図14のステップS6またはステップS11において実行される、方向規定オブジェクトDobjに基づいて方向規定画像Imagecを生成する処理について説明する。方向規定オブジェクトDobjは、図8に示す立方体オブジェクトとする。
方向規定オブジェクトDobj(立方体)は、図16に示すように、ボクセル座標系にx=0、x=Edge-1、y=0、y=Edge-1、z=0、z=Edge-1の6平面(一辺の長さがEdge)で定義される。例えば、Edge=32などに設定される。
まず、制御部11は、以下(1)~(3)に示すように、方向規定オブジェクトDobjを投影したSizec×Sizec(Sizec>Edge、例えばSizec=56)の方向規定画像Imagec(x、y、n)(0≦Imagec(x、y、z)≦255、0≦x≦Sizec-1、0≦y≦Sizec-1、n=0(R)、1(G)、2(B))の算出対象画素(x、y)に対して、視点座標系において、z=Zo(=Sizec-1)からz=0の範囲で、視点z=Zoに最も近い方向規定オブジェクトDobj(立方体)の面Faceと面上での交点を算出する。
(1)視線ベクトル(仮想光線ベクトル)の算出
制御部11は、視点座標系における視点座標(x、y、Zo)および下限座標(x、y、0)に対して各々座標変換を行い、ボクセル座標系における実数値の視点座標(x1、y1、z1)および下限座標(x2、y2、z2)を求め、視線ベクトル(vx、vy、vz)の各要素を次のように算出する。
vx=x2-x1
vy=y2-y1
vz=z2-z1
なお座標変換は、ボリュームレンダリング画像およびMIP画像を生成する処理(図14のステップS8およびステップS14)で使用する3×3の回転逆行列を用いた回転処理のみにより行い、Z方向変倍を含むスケーリングやオフセット処理は行わない。
制御部11は、視点座標系の座標値(x、y、z)(整数値)を以下のように実数値(xx、yy、zz)に変換する。視点座標系はSizec×Sizec×Sizecの直方体で、ボクセル座標系に定義されるEdge×Edge×Edgeの方向規定オブジェクトDobjとは独立して定義される。
xx=x-Sizec/2
yy=y-Sizec/2
zz=z-Sizec/2
続いて、制御部11は、以下のように、ボリュームレンダリング画像およびMIP画像を生成する処理(図14のステップS8およびステップS14)で使用する回転パラメータ行列R(3×3の回転逆行列)を用いて回転処理を行う。
xx’=R11・xx+R12・yy+R13・zz
yy’=R21・yy+R22・yy+R23・zz
zz’=R31・xx+R32・yy+R33・zz
そして、制御部11は、以下のように、ボクセル座標系の座標値(xr、yr、zr)(実数値)を得る。
xr=xx’+Edge/2
yr=yy’+Edge/2
zr=zz’+Edge/2
(2)視線ベクトルと方向規定オブジェクトDobj(立方体)との交点算出
制御部11は、tx=ty=tz=10と初期化し、
1)|vx|≧1の場合、tx1=-x1/vx、tx2=(Edge-1-x1)/vxを算出し、いずれか小さい方をtxに設定する。
2)|vy|≧1の場合、ty1=-y1/vy、ty2=(Edge-1-y1)/vyを算出し、いずれか小さい方をtyに設定する。
3)|vz|≧1の場合、tz1=-z1/vz、tz2=(Edge-1-z1)/vzを算出し、いずれか小さい方をtzに設定する。
(3)視点に最も近い面Faceと面上での交点(cu、cv)の算出
制御部11は、視点座標系における交点座標をZc=-1、視点に最も近い面をFace=-1、面上での交点を(cu、cv)=(-1、-1)と初期化し、
1)0≦tx≦1の場合
Y=vy・tx+y1、Z=vz・tx+z1を算出する。
0≦Y≦Edge-1かつ0≦Z≦Edge-1ならば、z=Zo・(1-tx)を算出し、z>ZcならばZc=zに置換するとともに、tx=tx2ならばFace=1、tx=tx1ならばFace=0、面上での交点座標を(cu、cv)=(Y、Z)とする。
2)0≦ty≦1の場合
X=vx・ty+x1、Z=vz・ty+z1を算出する。
0≦X≦Edge-1かつ0≦Z≦Edge-1ならばz=Zo・(1-ty)を算出し、z>ZcならばZc=zに置換するとともに、ty=ty2ならばFace=3、ty=ty1ならばFace=2、面上での交点座標を(cu、cv)=(X、Z)とする。
3)0≦tz≦1の場合
X=vx・tz+x1、Y=vy・tz+y1を算出する。
0≦X≦Edge-1かつ0≦Y≦Edge-1ならばz=Zo・(1-tz)を算出し、z>ZcならばZc=zに置換するとともに、tz=tz2ならばFace=5、tz=tz1ならばFace=4、面上での交点座標を(cu、cv)=(X、Y)とする。
以上の処理により、方向規定画像Imagecの各画素(x、y)に対して、視点に最も近い方向規定オブジェクトDobj(立方体)の面Faceと面上での交点が算出される。図16の例では、方向規定画像Imagecのある画素について、視点に最も近い面として面Face2が算出され、面上での交点(cu、cv)が算出されている。
(4)方向規定画像Imagec(x、y、n)の対象画素(x、y)の色算出
そして、制御部11は、以下のように、算出した面Faceと面上での交点(cu、cv)に基づいて方向規定画像Imagec(x、y、n)(0≦n≦2)の各画素(x、y)に割り当てる画素値を算出し、方向規定画像Imagecを生成する。
ここで、図16(右図)に示すように、各面に設定する表示情報(テクスチャTex)として、Edge×Edgeのサイズで256階調の6文字分のグレースケール文字フォントFont(Fid、x、y)(0≦Font(Fid、x、y)≦255、0≦Fid≦5、0≦x≦Edge-1、0≦y≦Edge-1)、および各文字の背景色Fcol(Fid、n)(0≦Fcol(Fid、n)≦255、0≦Fid≦5、n=0(R)、1(G)、2(B))があらかじめ定義されているものとする。なお、MIP画像を生成する場合には、各文字の色はモノクロ色(n=0のみ使用)とする。
(a)面FaceがFace≧0の場合(面との交点が存在する場合)
制御部11は、以下のように、方向規定画像Imagecに表示情報(テクスチャTex)をマッピングする。
Imagec(x、y、n)=Font(Face、cu、cv)・Fcol(Face、n)/255+1
なお書き込んだ画素値は、1≦Imagec(x、y、n)≦255(0≦n≦2)に制限する。
例えば図16において、算出された面FaceがFace2の場合、256階調のグレーススケール文字フォント「A」Font(2、cu、cv)と背景色を、カラーの場合はFcol(2、0)=0、Fcol(2、1)=255、Fcol(2、2)=0、(緑色)、モノクロの場合はFcol(2、0)=231とした表示情報(テクスチャTex)が、方向規定画像Imagec中の面Face2にマッピングされる。
(b)Face=-1の場合(面との交点が存在しない場合(背景))
制御部11は、以下のように、所定の背景色を割り当てる。
Imagec(x、y、n)=0(0≦n≦2)
以上のようにして、制御部11は、方向規定画像Imagecを生成する。図12に示すように、生成された方向規定画像Imagecのうち、表示情報(テクスチャTex)がマッピングされた画像領域がImagec1(Face≧0の画像領域)に相当し、表示情報(テクスチャTex)がマッピングされない画像領域(背景)がImagec2(Face=-1の画像領域)に相当する。
(7-2.方向規定画像Imagecの合成処理)
図14のステップS9またはステップS15において実行される、レンダリング画像Image(ボリュームレンダリング画像ImageVR、MIP画像ImageMIP)に、方向規定画像Imagecを合成する処理について説明する。
制御部11は、以下のように、ステップS7またはステップS13において生成した方向規定画像Imagecのうち、1≦Imagec(x、y、n)≦255を満たす画像領域(図12の画像領域Imagec1)を、ステップS8、ステップS14において生成した既生成のレンダリング画像Image(ボリュームレンダリング画像ImageVR、MIP画像ImageMIP)の画素に上書きする(合成する)。
Image(x、y、n)=Imagec(x、y、n)(0≦n≦2)
なお、方向規定画像ImagecのうちImagec(x、y、n)=0を満たす画像領域(図12の画像領域Imagec2)は、レンダリング画像Imageに上書き(合成)されないため、レンダリング画像Image(ボリュームレンダリング画像Image、MIP画像ImageMIP)の画素がそのまま表示される。
(8.階調圧縮処理)
図14のステップS2において実行される断層画像群Doの階調圧縮処理について説明する。
制御部11は、以下のようにして、16ビットの断層画像群Do((式1)参照)を8ビットの断層画像群Do((式2)参照)に階調圧縮する。
(1)断層画像群DoのSz/2番目の中間スライスDo(z/2)における全ての画素の最小値Dmin、最大値Dmaxを算出する。なおDminとDmaxは全てのスライスより最小値と最大値を求める方法をとっても良いが、本実施の形態のように中間スライスだけで決定する方法をとることで、大容量の16ビットの断層画像群Doをメモリ上に保持する必要がなくなる。
(2)下限値Lmin=(Dmax-Dmin)・γ+Dmin、上限値Lmax=(Dmax-Dmin)・(1-γ)+Dminを設定する。ここで、γは階調圧縮画像のコントラスト調整幅で、0に近いほどコントラストが増大する(但し、輝度が小さくなる)。通常はγ=0.1に設定する。
(3)断層画像群Doを以下の計算式で8ビットの断層画像群Do((式2)参照)に変換する(下限値Lmin~上限値Lmaxの範囲で256段階に圧縮する)。
Do(x、y、z)
=(Do(x、y、z)-Lmin)・255/(Lmax-Lmin)
但し、Do(x、y、z)>255の場合はDo(x、y、z)=255、Do(x、y、z)<0の場合はDo(x、y、z)=0に飽和させる。
このように階調圧縮をすることで、断層画像群を保持するためのメモリ容量を半分に抑えることができる。たとえ信号値の階調が16ビットあっても、カラーマップCmapにより、変換される色値(RGB値)及び不透明度(α値)の階調はディスプレイの階調に合わせて8ビットに制限されるため、階調圧縮に伴う画質劣化は殆ど生じない。
(9.ボリュームレンダリング画像の生成処理)
図14のステップS8において実行される、ボリュームレンダリング画像を生成する処理について説明する。
図17は、ボリュームレンダリング画像を生成する処理の流れを示すフローチャートである。
まず、制御部11は、座標変換パラメータを設定する(図17のステップS31)。本開示では、後述するレイキャスティング処理(図17のステップS33、図18)で、視点座標系の各3次元座標毎にボクセルを参照するため、逐次座標変換を行う方法をとる。そのため、制御部11は、以下のように、各座標変換処理に共通する座標変換パラメータを事前に設定・算出しておく。
<座標変換パラメータ>
回転パラメータ行列R:
R=[R11 R12 R13;
R21 R22 R23;
R31 R32 R33]
(ボクセル座標系から視点座標系への座標変換を行うための3×3の行列の逆行列、GUI側はボクセル座標系から視点座標系への座標変換を指示するが、レンダリング側は視点座標系からボクセル座標系に座標変換を行う。)
XYZ軸方向のオフセット:
Xoff、Yoff、Zoff(2次元画面上で指定するため、通常Zoff=0)
クリッピング領域:
X軸方向ROI:Xs-Xe
Y軸方向ROI:Ys-Ye
Z軸方向ROI:Zs-Ze
有効ボクセル領域(外接直方体領域):
X軸方向ROI:Xis-Xie
Y軸方向ROI:Yis-Yie
Z軸方向ROI:Zis―Zie
拡大縮小倍率Scale(XYZ軸方向で同一)
X軸方向変倍率:Scx、Y軸方向変倍率:Scy、Z軸方向変倍率Scz
座標変換サブサンプル・オフセット:X軸方向dx、Y軸方向dy、Z軸方向dz
生成するボリュームレンダリング画像のサイズ:Size(XY軸方向で同一)
仮想光線のサブサンプリング倍率:Sray(通常は1で、値が1より大きいと粗くなり、1未満だと高精細になる。ボリュームレンダリング画像を生成する場合はSray=1、MIP画像を生成する場合はSray=2などに設定する。)
制御部11は、上記した回転パラメータ行列Rに対して、初期値として単位行列を設定する。すなわち、R11=1、R12=0、R13=0、R21=0、R22=1、R23=0、R31=0、R32=0、R33=1と設定する。
そして、GUIの指示に従い、X軸中心回転Rx、Y軸中心回転Ry、Z軸中心回転Rz(角度単位:ラジアン)のいずれかを逐次指定し、以下のように、各々回転行列Aを生成して回転パラメータ行列Rに右から乗算して、回転パラメータ行列Rを更新する。これにより、GUIの指示により生成されるボクセル座標系から視点座標系への回転行列の逆行列が算出される。
回転行列Aを
A=[A11 A12 A13;
A21 A22 A23;
A31 A32 A33]
とすると、
X軸中心回転Rxの場合の回転行列Aの各要素は、
A11=1、A12=0、A13=0
A21=0、A22=cosRx、A23=sinRx
A31=0、A32=sinRx、A33=cosRx
Y軸中心回転Ryの場合の回転行列Aの各要素は、
A11=cosRy、A12=0、A13=sinRy
A21=0、A22=1、A23=0
A31=-sinRy、A32=0、A33=cosRy
Z軸中心回転Rzの場合の回転行列Aの各要素は、
A11=cosRz、A12=sinRz、A13=0
A21=-sinRz、A22=cosRz、A23=0
A31=0、A32=0、A33=1
となる。
回転パラメータ行列Rは、R←R×Aと更新される。
以上で定義された座標変換パラメータに基づく座標変換処理は、レイキャスティング処理(図17のステップS33、図18)の各処理の中で逐次実行される。
続いて、制御部11は、処理回数l=0、サブサンプル・オフセット値をdx=dy=dz=0に初期化する(図17のステップS32)。
そして、制御部11は、レイキャスティング処理(各座標(x、y)毎に色値を算出する処理)を実行する(図17のステップS33)。
図18のフローチャートを参照して、このレイキャスティング処理について説明する。
制御部11は、まず、生成する24ビット(RGB)のボリュームレンダリング画像ImageVR(x、y、n)の初期値を全て0に設定する(ImageVR(x、y、n)=0、n=0(R)、1(G)、2(B))。そして、サブサンプル回数Lとして、各2次元座標(x、y)(0≦x≦Size-1、0≦y≦Size-1)に対して、以下の処理を実行する。
制御部11は、背景色bg(n)(n=0(R)、1(G)、2(B)、0≦bg(n)≦255)を設定し、x=0、y=0とする(図18のステップS51)。
続いて、制御部11は、仮想光強度Trans=1.0、累積輝度値Energy(n)=0.0(0≦n≦2)に初期化する(図18のステップS52)。
続いて、制御部11は、有効ボクセル領域Vrと仮想光線との交点のZ座標(Zc)を算出する(図18のステップS53)。有効ボクセル領域Vrと仮想光線との交点のZ座標(Zc)を算出する処理については後述する(「9-1.交点算出処理」参照)。
続いて、制御部11は、ZstをZst=Zcに設定し(図18のステップS54)、Zstから先頭の有効ボクセル(不透明ボクセル)のZ座標z(仮想光線の照射を開始する起点座標)を探索する(図18のステップS55)。すなわち、ステップS53において算出された交点から視線方向に向かってレイキャスティング計算を開始する起点座標を探索する。起点座標zを探索する処理については後述する(「9-2.起点座標探索処理」参照)。
z<0の場合、ステップS61へ移行する。
一方、z≧0の場合、制御部11は、3次元座標(x、y、z)を座標変換してボクセルα値(Vα)を取得し、Alpha=Vα/255を求める(図18のステップS56)。座標変換を行い、ボクセルα値(Vα)を取得する処理については後述する(「9-4.ボクセルα値、RGB値の取得(補間あり)」参照)。
ステップS56において算出したAlphaがAlpha=0かつz=0の場合、Zst=z-1としたうえで(ステップS56)、ステップS55に戻り、不透明ボクセルのZ座標zを再度探索する。
一方、ステップS56において算出したAlphaがAlpha<0(有効ボクセル領域Vrを通過)、またはAlpha=0かつz=0の場合、ステップS61へ移行し、画素(x、y)におけるRGB画素値を決定する。これにより、有効ボクセル領域Vrを逸脱(通過)している場合(Alpha<0)は、その先に描画対象のボクセルは存在しないため、レイキャスティング処理を早期に打ち切り、冗長な処理を省略する。
一方、ステップS56において算出したAlphaがAlpha>0の場合、制御部11は、3次元座標(x、y、z)を座標変換してボクセルRGB値Vc(n)を取得する(図18のステップS58)。座標変換を行い、ボクセルRGB値(Vc(n))を取得する処理については後述する(「9-4.ボクセルα値、RGB値の取得(補間あり)」参照)。
続いて、制御部11は、仮想光線サブサンプルに基づくα値を、
Alpha’=1-(1-Alpha)1/Sray
と補正し、
累積輝度を、
Energy(n)=Energy(n)+Trans/Alpha・Vc(n)/255
透過光強度を、
Trans=Trans・(1.0-Alpha)
と更新する(図18のステップS59)。
Trans<0.001の場合、ステップS61へ移行し、画素(x、y)におけるRGB画素値を決定する。Trans≧0.001の場合、制御部11は、z=z-1に更新し(図18のステップS60)、z≧0の場合、ステップS56に戻り、z<0の場合、ステップS61へ移行し、画素(x、y)におけるRGB画素値を決定する。
ステップS61において、制御部11は、画素(x、y)におけるRGB画素値を次のように決定する。
ImageVR(x、y、n)=ImageVR(x、y、n)+k・Energy(n)・Light(n)/L
ここで、kは強度倍率であり、初期値はk=1.0に設定されている。
続いて、制御部11は、x←x+1に更新し(図18のステップS62)、x<Sizeの場合、ステップS52に戻り、次の画素xのRGB値を決定する処理(ステップS52~S61)を実行する。x≧Sizeの場合、y←y+1に更新し(図18のステップS63)、y≦Sizeの場合、x=0としたうえで、ステップS52に戻り、y行目の画素(x、y)のRGB値を決定する処理(ステップS52~S61)を繰り返す。y>Sizeの場合、制御部11は、処理を終了する。
すなわち、全画素のRGB値が算出されるまで(ステップS62;x≧Size、かつ、ステップS63;y>Size)、ステップS52~S61の処理を繰り返す。
図17のフローチャートに戻る。
制御部11は、処理回数をl←l+1に更新し、サブサンプル・オフセット値をdx←dx+1/L、dy←dy+1/L、dz←dz+1/Lに更新する(図17のステップS34)。制御部11は、処理回数lがl>L-1を満たすまで(ステップS34;l>L-1)、ステップS33のレイキャスティング処理を繰り返す。レイキャスティング処理が終了すると、制御部11は、ボリュームレンダリング画像ImageVRを出力する(図17のステップS35)。
(9-1.交点算出処理)
図18のステップS53において実行される有効ボクセル領域Vrと仮想光線との交点のZ座標(Zc)を算出する処理について説明する。
制御部11は、以下の処理手順で、レイキャスティング処理の算出対象画素(x、y)に対して、視点座標系において、z=Zo(=Size/Sray-1)からz=0の範囲で、視点z=Zoに最も近い有効ボクセル領域Vr([Xis、Xie]、[Yis、Yie]、[Zis、Zie])との交点Zcを算出する。
(1)視線ベクトル(仮想光線ベクトル)の算出
制御部11は、図19に示すように、視点座標系における視点座標(x、y、Zo)および下限座標(x、y、0)に対して各々座標変換を行い、ボクセル座標系における視点座標(x1、y1、z1)および下限座標(x2、y2、z2)を求め、視線ベクトル(vx、vy、vz)の各要素を次のように算出する。
vx=x2-x1
vy=y2-y1
vz=z2-z1
(2)視線ベクトルと有効ボクセル領域Vrとの交点の算出
制御部11は、tx=ty=tz=10と初期化し、
1)|vx|≧1の場合、tx1=(Xis-x1)/vx、tx2=(Xie-x1)/vxを算出し、いずれか小さい方をtxに設定する。
2)|vy|≧1の場合、ty1=(Yis-y1)/vy、ty2=(Yie-y1)/vyを算出し、いずれか小さい方をtyに設定する。
3)|vz|≧1の場合、tz1=(Zis-z1)/vz、tz2=(Zie-z1)/vzを算出し、いずれか小さい方をtzに設定する。
これにより、図19(右図)に示すように、ボクセル座標系における交点座標が求まる。具体的には、交点座標は(vx・t+x1,vy・t+y1,vz・t+z1)で与えられ(tは(2)で算出されたtx、ty、tzのいずれかの値)、図19の例ではz=Zisおよびz=Zieの2面に交点が存在し、z=Zieにおける交点座標は(vx・tz+x1,vy・tz+y1,vz・tz+z1)と算出できる。交点座標は、視線ベクトルと有効ボクセル領域Vr(直方体)を構成する6面との交点(通常、交点は2点以上存在する)のうち、視点に最も近い交点である。
(3)視点座標系における交点Zcの決定
制御部11は、視点座標系における交点座標ZcをZc=-1と初期化し、
1)tx≦1の場合
Y=vy・tx+y1、Z=vz・tx+z1を算出する。
Yis≦Y≦YieかつZis≦Z≦Zieの場合(ボクセル座標系における交点が有効ボクセル領域Vr内に存在する場合)、対応する視点座標系における交点Z2=Zo・(1-tx)を算出し、Z2>ZcならばZc=Z2に置換する。
2)ty≦1の場合
X=vx・ty+x1、Z=vz・ty+z1を算出する。
Xis≦X≦XieかつZis≦Z≦Zieの場合(ボクセル座標系における交点が有効ボクセル領域Vr内に存在する場合)、対応する視点座標系における交点Z2=Zo・(1-ty)を算出し、Z2>ZcならばZc=Z2に置換する。
3)tz≦1の場合
X=vx・tz+x1、Y=vy・tz+y1を算出する。
Xis≦X≦XieかつYis≦Y≦Yieの場合(ボクセル座標系における交点が有効ボクセル領域Vr内に存在する場合)、対応する視点座標系における交点Z2=Zo・(1-tz)を算出し、Z2>ZcならばZc=Z2に置換する。
これにより、図19(左図)に示すように、視点座標系における視点に最も近い交点座標(x、y、Zc)が求まる。
(4)視点より手前に算出される交点の補正
tx、ty、tzは負値をとる場合があり、その場合は交点が視点より手前になる。制御部11は、Zc>Zoの場合、Zc=Zoに補正する。すなわち、図20のように、視点座標系における交点座標が視点より手前(不可視領域)に算出された場合、当該交点座標を視点位置に補正する。
(9-2.起点座標探索処理)
図21のフローチャートを参照して、図18のステップS55において実行される、起点座標zを探索する処理について説明する。
まず、制御部11は、zをz=Zst(=交点座標Zc)に初期化し、探索対象画素(x、y)を入力する(図21のステップS81)。続いて、制御部11は、3次元座標(x、y、z)に対して座標変換を行い、ボクセルのα値を取得する(図21のステップS82)。座標変換を行い、ボクセルのα値を取得する処理は後述する(「9-3.ボクセルα値を取得(補間なし)」参照)。
ステップS82において取得したボクセルのα値がα=0の場合(ボクセルが透明の場合)、制御部11は、z←z-m(例えばm=4)に更新する(図21のステップS83)。mは探索時のZ軸方向のスキップ幅であり、mが大きいほど高速に探索できるが、スキップ幅が大きすぎると起点座標の探索精度が悪化する場合がある。
ステップS83において更新したzがz<0の場合(ボクセル空間外の場合)、制御部11は、z=-1(起点座標が存在しないことを示す値)を返し(図21のステップS84)、処理を終了する。z≧0の場合、制御部11は、ステップS82に戻る。
ステップS82において取得したボクセルのα値がα<0の場合(有効ボクセル領域Vrを通過した場合)は、制御部11は、z=-1(起点座標が存在しないことを示す値)を返し(図21のステップS84)、処理を終了する。
ステップS82において取得したボクセルのα値がα>0の場合(ボクセルが不透明の場合)、以下のように、Z軸の+方向(視線逆方向)に戻って正確な起点座標を探索する。
制御部11は、まず、iをi=0に初期化し(図21のステップS85)、i←i+1に更新する(図21のステップS86)。
i≧mまたはz+i≧Zstの場合、制御部11は、z=z+i-1を返し(図21のステップS88)、処理を終了する。
i<mかつz+i<Zstの場合、3次元座標(x、y、z+i)に対して座標変換を行い、ボクセルのα値を取得する(図21のステップS87)。座標変換を行い、ボクセルのα値を取得する処理は後述する(「9-3.ボクセルα値を取得(補間なし)」参照)。
ステップS87において取得したボクセルのα値がα=0の場合(ボクセルが透明の場合)、制御部11は、z=z+i-1を返し(図21のステップS88)、処理を終了する。
ステップS97において取得したボクセルのα値がα>0の場合(ボクセルが不透明の場合)、ステップS86に戻り、ステップS86~S87の処理を繰り返す。
以上のように、先頭の不透明ボクセルのZ座標z(仮想光線の照射を開始する起点座標)を所定のステップ幅で探索することで(ステップS82、S83)、起点座標を高速に特定できる。また、不透明ボクセルが探索された場合、当該ボクセルの位置とステップ幅だけ視線逆方向(Z軸の+方向)に戻った位置との間に存在する可能性がある不透明ボクセルを再探索することで(ステップS86~S87)、起点座標を正確に特定することができる。
(9-3.ボクセルα値を取得(補間なし))
起点座標探索処理(図21)のステップS82およびステップS87において実行される、座標変換を行いボクセルのα値を取得する処理について説明する。
(9-3-1.座標変換(実数の座標値を取得))
まず座標変換について説明する。
座標変換は、視点座標系をボクセル座標系に変換する処理であり、GUI側の変換処理とは逆になる。GUI側では関心領域ROIによるクリッピング、スケーリング、Z軸方向変倍処理、オフセット(XYZ軸方向同時)、回転、透視変換の順に行うものと仮定し、制御部11は、与えられた視点座標系の3次元座標値(x、y、z)(整数値)に対応するボクセルの実数の座標値(xr、yr、zr)を以下のように算出する。
制御部11は、視点座標系の座標値(x、y、z)(整数値)を次のように実数値(xx、yy、zz)に変換する。視点座標系はSize(X軸方向のサイズ)×Size(Y軸方向のサイズ)×Size/Sray(Z軸方向のサイズ)の直方体で、Sx×Sy×Szの断層画像群Doとは独立して定義される。通常Sx=Sy=512であればSize=512となる。視点座標系のZ軸方向は仮想光線サブサンプル1/Sray倍に伸縮されていることを考慮して、はじめに以下のようにオフセット処理(XYZ軸方向同時)を行う。
xx=x-Size/2+dx+Xoff
yy=y-Size/2+dy+Yoff
zz=z・Sray-Size/2+dz+Zoff
続いて、制御部11は、以下のように、回転パラメータ行列Rを用いて回転処理を行う。
xx’=R11・xx+R12・yy+R13・zz
yy’=R21・xx+R22・yy+R23・zz
zz’=R31・xx+R32・yy+R33・zz
回転処理後の(xx’、yy’、zz’)を(xx、yy、zz)とする。
制御部11は、スケーリング、XYZ軸方向変倍処理を同時に行い、以下のように、ボクセルの座標値(xr、yr、zr)(実数値)を取得する。
xr=xx/Scale/Scx+Sx/2
yr=yy/Scale/Scy+Sy/2
zr=zz/Scale/Scz+Sz/2
(9-3-2.座標変換(整数の座標値に変換))
続いて、制御部11は、算出したボクセルの座標値(xr、yr、zr)(実数値)に対して、各値に0.5を加算して、以下のように、小数点以下を切り捨て整数化した座標値を(xi、yi、zi)(四捨五入した整数値)を求める。
xi=INT[xr+0.5]
yi=INT[yr+0.5]
zi=INT[zr+0.5]
(9-3-3.ボクセルα値を取得)
そして、制御部11は、有効ボクセル領域Vr、マスクデータMask、または補正テーブルSαが定義されている場合、これらを考慮して、以下のようにボクセルα値を取得する。
1)xi<Xis、xi>Xie、yi<Yis、yi>Yie、zi<Zis、又はzi>Zieのいずれかを満たす場合(有効ボクセル領域Vr外の場合)
α=-1
2)上記1)を満たさない場合
α=Cmap(Do(xi、yi、zi)、3)・Mask(xi、yi、zi)・Sα(xi、yi、zi)
(9-4.ボクセルα値、RGB値の取得(補間あり))
図18のステップS56、S58において実行される、3次元座標値(x、y、z)に対して座標変換を行い、ボクセルα値(Vα)、ボクセルRGB値を取得する処理について説明する。
(9-4-1.座標変換)
まず、前記した(9-3-1.座標変換(実数の座標値を取得))と同様の方法で、3次元座標値(x、y、z)に対応するボクセルの実数の座標値(xr、yr、zr)を算出する。
続いて、制御部11は、算出したボクセルの座標値(xr、yr、zr)(実数値)に対して、小数点以下を切り捨て整数化した座標値を(xi、yi、zi)(整数値)とし、切り捨てた小数点以下の端数を(wx、wy、wz)(0≦wx、wy、wz<1)とする(すなわち、xr=xi+wx、yr=yi+wy、zr=zi+wz)。
(9-4-2.ボクセル信号値の抽出)
そして、制御部11は、有効ボクセル領域Vrを考慮して、視点座標系の3次元座標値(x、y、z)(整数値)に対応するボクセルの信号値を断層画像群Doに基づいて以下のように抽出する。
1)xi<Xis、xi>Xie、yi<Yis、yi>Yie、zi<Zis、又はzi>Zieのいずれかを満たす場合(有効ボクセル領域Vr外)
D000=-32769(無効の値)
2)上記1)の条件を満たさない場合において、xi+1>Xie、yi+1>Yie、又はzi+1>Zieのいずれかを満たす場合(補間しない)
D000=Do(xi、yi、zi)
3)上記1)2)の条件を満たさない場合(8近傍ボクセルの信号値を抽出)
D000=Do(xi、yi、zi)
D100=Do(xi+1、yi、zi)
D010=Do(xi、yi+1、zi)
D110=Do(xi+1、yi+1、zi)
D001=Do(xi、yi、zi+1)
D101=Do(xi+1、yi、zi+1)
D011=Do(xi、yi+1、zi+1)
D111=Do(xi+1、yi+1、zi+1)
ここで、マスクデータMask、補正テーブルSαが定義されている場合は、制御部11は、抽出した補間対象ボクセルの信号値に対応するα値スケールS000~S111(0≦S000、・・・、S111≦1)を以下のように設定する。なお、マスクデータMask、補正テーブルSαを使用しない場合は、S000=S100=S010=S110=S001=S101=S011=S111=1とする。
1)1)xi<Xis、xi>Xie、yi<Yis、yi>Yie、zi<Zis、又はzi>Zieのいずれかを満たす場合(有効ボクセル領域Vr外)
S000=0
2)上記1)の条件を満たさない場合において、xi+1>Xie、yi+1>Yie、又はzi+1>Zieのいずれかを満たす場合(補間しない)
S000=Mask(xi、yi、zi)・Sα(xi、yi、zi)
3)上記1)2)の条件を満たさない場合(8近傍ボクセルの信号値を抽出)
S000=Mask(xi、yi、zi)・Sα(xi、yi、zi)
S100=Mask(xi+1、yi、zi)・Sα(xi+1、yi、zi)
S010=Mask(xi、yi+1、zi)・Sα(xi、yi+1、zi)
S110=Mask(xi+1、yi+1、zi)・Sα(xi+1、yi+1、zi)
S001=Mask(xi、yi、zi+1)・Sα(xi、yi、zi+1)
S101=Mask(xi+1、yi、zi+1)・Sα(xi+1、yi、zi+1)
S011=Mask(xi、yi+1、zi+1)・Sα(xi、yi+1、zi+1)
S111=Mask(xi+1、yi+1、zi+1)・Sα(xi+1、yi+1、zi+1)
(9-4-3.ボクセルα値の取得)
そして、制御部11は、抽出した補間対象ボクセルの信号値に基づいて、視点座標系の3次元座標値(x、y、z)(整数値)に対応するボクセルのα値Vαを以下のように決定する。
1)xi<Xis、xi>Xie、yi<Yis、yi>Yie、zi<Zis、又はzi>Zieのいずれかを満たす場合(有効ボクセル領域Vr外)
Vα=-1
2)上記1)の条件を満たさず、xi=Xis、xi=Xie、yi=Yis、yi=Yie、zi=Zis、又はzi=Zieのいずれかを満たす場合(有効ボクセル領域Vrの境界面)
Vα=0
3)上記1)2)の条件を満たさず、xi+1>Xie、yi+1>Yie、又はzi+1>Zieのいずれかを満たす場合(補間しない)
Vα=Cmap(D000、3)・S000
4)上記1)2)3)の条件を満たさない場合(補間する)
Vα=(1-wz)(1-wy)(1-wx)・Cmap(D000、3)・S000+(1-wz)(1-wy)・wx・Cmap(D100、3)・S100+(1-wz)・wy・(1-wx)・Cmap(D010、3)・S010+(1-wz)・wy・wx・Cmap(D110、3)・S110+wz・(1-wy)(1-wx)・Cmap(D001、3)・S001+wz・(1-wy)・wx・Cmap(D101、3)・S101+wz・wy・(1-wx)・Cmap(D011、3)・S011+wz・wy・wx・Cmap(D111、3)・S111
(9-4-4.ボクセルRGB値の取得)
また、制御部11は、抽出した補間対象ボクセルの信号値に基づいて、視点座標系の3次元座標値(x、y、z)(整数値)に対応するボクセルのRGB値(Vc(n))(0≦n≦2)を以下のように決定する。なお、RGB値を取得する場合には、S000、S100、・・・、S111を乗算するマスク処理を行わない。これにより、マスク境界面でのモアレの発生を抑制する。
1)xi<Xis、xi>Xie、yi<Yis、yi>Yie、zi<Zis、又はzi>Zieのいずれかを満たす場合(有効ボクセル領域Vr外)
Vc(n)=0 (0≦n≦2)
2)上記1)の条件を満たさず、xi+1>Xie、yi+1>Yie、又はzi+1>Zieのいずれかを満たす場合(補間しない)
Vc(n)=Cmap(D000、n) (0≦n≦2)
3)上記1)2)の条件を満たさない場合(補間する)
Vc(n)=(1-wz)(1-wy)(1-wx)・Cmap(D000、n)+(1-wz)(1-wy)・wx・Cmap(D100、n)+(1-wz)・wy・(1-wx)・Cmap(D010、n)+(1-wz)・wy・wx・Cmap(D110、n)+wz・(1-wy)(1-wx)・Cmap(D001、n)+wz・(1-wy)・wx・Cmap(D101、n)+wz・wy・(1-wx)・Cmap(D011、n)+wz・wy・wx・Cmap(D111、n) (0≦n≦2)
(9-5.陰影計算)
制御部11は、必要に応じて、次のように陰影計算を行ってもよい。
まず、光源ベクトル(Lx、Ly、Lz)(単位ベクトル)を設定する。例えば、(Lx、Ly、Lz)=(0.57735、0.57735、0.57735)と設定する。また、環境光成分Ab(0≦Ab≦1、例えばAb=0.2)を設定する。
続いて、制御部11は、次のように、座標変換により算出された3次元座標(xi、yi、zi)における6近傍ボクセルの不透明度V100、V200、V010、V020、V001、V002を取得する。但し、xi+1>XieのときV100=0、xi-1<XisのときV200=0、yi+1>YieのときV010=0、yi-1<YisのときV020=0、zi+1<ZisのときV001=0、zi-1<ZisのときV002=0とする。すなわち、隣接するボクセルがクリッピング範囲の場合は不透明度を0として扱う。
V100=Cmap(Do(xi+1、yi、zi)、3)・Mask(xi+1、yi、zi)・Sα(xi+1、yi、zi)
V200=Cmap(Do(xi-1、yi、zi)、3)・Mask(xi-1、yi、zi)・Sα(xi-1、yi、zi)
V010=Cmap(Do(xi、yi+1、zi)、3)・Mask(xi、yi+1、zi)・Sα(xi、yi+1、zi)
V020=Cmap(Do(xi、yi-1、zi)、3)・Mask(xi、yi-1、zi)・Sα(xi、yi-1、zi)
V001=Cmap(Do(xi、yi、zi+1)、3)・Mask(xi、yi、zi+1)・Sα(xi、yi、zi+1)
V002=Cmap(Do(xi、yi、zi-1)、3)・Mask(xi、yi、zi-1)・Sα(xi、yi、zi-1)
上記のように、各不透明度の要素にMask(xi+1、yi、zi)・Sα(xi+1、yi、zi)を乗算すると、カット面の反射に豊かな陰影が付くがモアレが生じやすい。その場合、V100=Cmap(Do(xi+1、yi、zi)、3)のようにMask(xi+1、yi、zi)・Sα(xi+1、yi、zi)の項を乗算しなければモアレを抑圧できるが、カット面の光沢が無くなりザラザラになる弊害がある。
続いて、制御部11は、座標変換により算出された3次元座標(xi、yi、zi)における勾配ベクトル(Gx、Gy、Gz)を、以下の式で算出する。
Gx=(V100-V200)・Scx
Gy=(V010-V020)・Scy
Gz=(V001-V002)・Scz
G={Gx+Gy+Gz1/2
続いて、G≧1の場合、制御部11は、輝度値(陰影値)S(0≦S≦1)は、拡散反射成分を算出し、
S=(1-Ab)|Gx・Lx+Gy・Ly+Gz・Lz|/G+Ab
を与える。G<1の場合(αが変化しない場合)、制御部11は、輝度値(陰影値)Sとして、S=0を与える。
そして、制御部11は、
Vc’(n)=S・Vc(n)
とし、算出されたRGB値Vc(n)(0≦n≦2)の成分を改変する。
(10.MIP画像の生成処理)
図14のステップS14において実行される、MIP画像を生成する処理を説明する。
図22は、MIP画像を生成する処理の流れを示すフローチャートである。
まず、制御部11は、座標変換パラメータを設定する(図22のステップS101)。座標変換パラメータの設定は、前記した図17のステップS31と同様である。
続いて、制御部11は、レイキャスティング処理(各座標(x、y)毎に代表信号値を算出する処理)を実行する(図22のステップS102)。
図23のフローチャートを参照して、このレイキャスティング処理について説明する。生成するMIP画像ImageMIP(x、y)は断層画像群Doの階調に基づいてモノクロ8ビットまたは16ビットの値をもつが、図14のステップS2に示される断層画像群Doに対する階調圧縮処理を施さない場合が多く、その場合はモノクロ16ビットになる。以下、モノクロ(16ビット)のMIP画像ImageMIP(x、y)を生成する場合について説明する。
制御部11は、まず、生成するモノクロ(16ビット)のMIP画像ImageMIP(x、y)の初期値を全て0に設定する(ImageMIP(x、y)=0)。また、代表信号値算出モードmode(0:MIP、1:MinIP、2:RaySum)を設定し、各2次元座標(x、y)(0≦x≦Size-1、0≦y≦Size-1)に対して、以下の処理を実行する。
制御部11は、x=0、y=0と設定し(図23のステップS121)、有効ボクセル領域Vrと仮想光線との交点のZ座標(Zc)を算出する(図23のステップS122)。交点のZ座標を算出する処理は、前記した図18のステップS53の処理と同様である(「9-1.交点算出処理」参照)。
続いて、制御部11は、代表信号値算出モードmodeに応じて、代表信号値Vmとカウンタcntを以下のように初期化し、Zst=Zcとする(図23のステップS123)。
mode=0(MIP):Vm=-32768(最小値を設定)
mode=1(MinIP):Vm=32767(最大値を設定)
mode=2(RaySum):Vm=0、cnt=0
続いて、制御部11は、Zstから後続する先頭の有効ボクセル(信号値が所定の閾値以上のボクセル)のZ座標z(起点座標)を探索する(図23のステップS124)。すなわち、ステップS122において算出された交点から視線方向に向かってレイキャスティング計算を開始する起点座標を探索する。起点座標を探索する処理については後述する(「10-1.起点座標探索処理」、図24参照)。
z<0の場合、ステップS129へ移行する。
一方、z≧0の場合、制御部11は、3次元座標(x、y、z)を座標変換してボクセル信号値Vsを取得する(図23のステップS125)。座標変換を行い、ボクセル信号値Vsを取得する処理については後述する(「10-3.ボクセル信号値Vsを取得(補間あり)」参照)。
ステップS125において取得したボクセル信号値VsがVs=-32769の場合(有効ボクセル領域Vrを通過した場合)、ステップS129へ移行する。これにより、有効ボクセル領域Vrを通過している場合(Vs=-32769)は、その先に描画対象のボクセルは存在しないため、レイキャスティング処理を早期に打ち切り、冗長な処理を省略する。
ステップS125において取得したボクセル信号値VsがVs<-32769の場合(無効値の場合)、Zst=z-1としたうえで(図23のステップS126)、ステップS124に戻り、起点座標を再度探索する。
ステップS125において取得したボクセル信号値VsがVs≧-32768の場合(有効値の場合)、制御部11は、代表信号値算出モードmodeに応じて、以下のように代表信号値Vmを算出する(図23のステップS127)。
mode=0(MIP mode):
Vs>VmならばVm=Vs
mode=1(MinIP mode):
Vs<VmならばVm=Vs
mode=2(RaySum mode):
Vm←Vm+Vs、cnt←cnt+1
z=z-1に更新し(図23のステップS128)、z≧0の場合、ステップS125に戻り、z<0の場合、ステップS129へ移行する。
ステップ129において、mode=0、1の場合(図23のステップS129;mode<2)には、制御部11は、ステップS127で得られた代表信号値Vmを画素値として記録する(ImageMIP(x、y)=Vm、図23のステップS131)。一方、mode=2(RaySum mode)の場合(図23のステップS129;mode=2)には、制御部11は、Vm←Vm/cntのように信号値の平均を計算したうえで(図23のステップS130)、代表信号値Vmを画素値として記録する(ImageMIP(x、y)=Vm、図23のステップS131)。
続いて、制御部11は、x←x+1に更新し(図23のステップS132)、x<Sizeの場合、ステップS122に戻り、次の画素xの代表信号値Vmを求める処理(ステップS122~S131)を実行する。x≧Sizeの場合、y←y+1に更新し(図23のステップS133)、y≦Sizeの場合、x=0としたうえで、ステップS122に戻り、y行目の画素(x、y)の代表信号値Vmを求める処理(ステップS122~S131)を繰り返す。y>Sizeの場合、制御部11は、処理を終了する。
すなわち、画素領域の全画素の代表信号値Vmが得られるまで(ステップS132;x≧Size、かつ、ステップS133;y>Size)、ステップS122~S131の処理を繰り返す。
図22のフローチャートに戻る。
制御部11は、ステップS102において生成したMIP画像ImageMIPを出力する(図22のステップS103)。
(10-1.起点座標探索処理)
図24のフローチャートを参照して、図23のステップS124において実行される、起点座標を探索する処理について説明する。
まず、制御部11は、zをz=Zstと初期化し、探索対象画素(x、y)を入力する(図24のステップS151)。続いて、制御部11は、3次元座標(x、y、z)に対して座標変換を行い、ボクセル信号値Vsを取得する(図25のステップS152)。座標変換を行い、ボクセル信号値Vsを取得する処理は後述する(「10-2.ボクセル信号値Vsを取得(補間なし)」参照)。
ステップS152において取得したボクセル信号値VsがVs=-32769の場合(有効ボクセル領域Vrを通過した場合)、制御部11は、z=-1(起点座標が存在しないことを示す値)を返し(図24のステップS154)、処理を終了する。
一方、ステップS152において取得したボクセル信号値Vs<-32769の場合(無効値の場合)は、制御部11は、z←z-1に更新する(図24のステップS153)。
ステップS153において更新したzがz<0の場合(ボクセル空間外の場合)、制御部11は、z=-1(起点座標が存在しないことを示す値)を返し(図24のステップS154)、処理を終了する。z≧0の場合、制御部11は、ステップS152に戻る。
一方、ステップS152において取得したボクセル信号値VsがVs≧-32768の場合(有効ボクセルの場合)、制御部11は、zを起点座標として出力する。
(10-2.ボクセル信号値Vsを取得(補間なし))
起点座標探索処理(図24)のステップS152において実行される、座標変換を行いボクセル信号値Vsを取得する処理について説明する。
(10-2-1.座標変換)
まず、前記した(9-3-1.座標変換(実数の座標値を取得))および(9-3-2.座標変換(整数の座標値に変換))と同様の方法で、3次元座標値(x、y、z)に対応するボクセルの整数の座標値(xi、yi、zi)を算出する。
(10-2-2.ボクセル信号値Vsを取得)
そして、制御部11は、有効ボクセル領域Vr、マスクデータMaskが定義されている場合、これらを考慮して、以下のようにボクセル信号値Vsを取得する。
1)xi<Xis、xi>Xie、yi<Yis、yi>Yie、zi<Zis、又はzi>Zieのいずれかを満たす場合(有効ボクセル領域Vr外の場合)
Vs=-32769
2)上記1)を満たさず、Mask(x、y、z)=0の場合(無効値)
Vs=-99999
3)上記1)2)を満たさない場合(有効値)
Vs=Do(xi、yi、zi)
(10-3.ボクセル信号値Vsの取得(補間あり))
(10-3-1.座標変換)
まず、前記した(9-3-1.座標変換(実数の座標値を取得))と同様の方法で、3次元座標値(x、y、z)に対応するボクセルの実数の座標値(xr、yr、zr)を算出する。
(10-3-2.ボクセル信号値の抽出)
続いて、前記した(9-4-2.ボクセル信号値の抽出)と同様の方法で(不透明度の値を扱わないため、補正テーブルSαは使用しない)、補間対象のボクセル信号値D000、D100、D010、D001、D101、D011、D111を抽出し、各ボクセルに対応するマスクデータMaskの値(0または1)としてS000、S100、S010、S110、S001、S101、S011、S111を設定する。
(10-3-3.ボクセル信号値Vsの取得)
そして、制御部11は、抽出した補間対象ボクセルの信号値に基づいて、視点座標系の3次元座標値(x、y、z)(整数値)に対応するボクセル信号値Vsを以下のように決定する。
1)xi<Xis、xi>Xie、yi<Yis、yi>Yie、zi<Zis、又はzi>Zieのいずれかを満たす場合(有効ボクセル領域Vr外)
Vs=-32769
2)上記1)の条件を満たさず、S000=0の場合(無効値)
Vs=-99999
3)上記1)2)を満たさない場合において、
xi+1>Xie、yi+1>Yie、またはzi+1>Zieのいずれかを満たすか、或いはS000、S100、S010、S110、S001、S101、S011、S111のいずれかが0の場合(補間しない)
Vs=D000
4)上記1)2)3)の条件を満たさない場合(補間する)
Vs=(1-wz)(1-wy)(1-wx)・D000+(1-wz)(1-wy)・wx・D100+(1-wz)・wy・(1-wx)・D010+(1-wz)・wy・wx・D110+wz・(1-wy)(1-wx)・D001+wz・(1-wy)・wx・D100+wz・wy・(1-wx)・D011+wz・wy・wx・D111
以上、モノクロ(16ビット)のMIP画像ImageMIP(x、y)を生成する場合について説明したが、制御部11は、生成されたMIP画像ImageMIP(x、y)を8ビットに変換したうえで、前述の方法により生成したモノクロ形式の方向規定画像Imagecを合成し表示する。具体的には、DICOM規格のWindow Width(ウィンドウ幅:WW)、Window Level(ウィンドウレベル:WL)を設定し、上限値Lmax=WL+WW/2、下限値Lmin=WL-WW/2に変換し、以下のようにMIP画像ImageMIP(x、y)を8ビットに変換する。
ImageMIP‘(x、y)=(ImageMIP(x、y)-Lmin)・255/(Lmax-Lmin)
ImageMIP‘(x、y)<0の場合、ImageMIP‘(x、y)=0とする。
ImageMIP‘(x、y)>255の場合、ImageMIP‘(x、y)とする。
(11.MPR画像の生成処理)
図14のステップS16において実行される、MPR画像を生成し表示する処理について説明する。
断層画像群Doの信号値が16ビットの場合((式1)参照)には、制御部11は、断層画像群Doを8ビットに変換したうえで、MPR像を生成し表示する。具体的には、断層画像群Do(-32768≦Do(x、y、z)≦32767、0≦x≦Sx-1、0≦y≦Sy-1、0≦z≦Sz-1;3方向の変倍率(Scx、Scy、Scz))に対して、DICOM規格のWindow Width(ウィンドウ幅:WW)、Window Level(ウィンドウレベル:WL)を設定し、上限値Lmax=WL+WW/2、下限値Lmin=WL-WW/2に変換し、以下のように断層画像群Doを8ビットに変換する。
Do(x、y、z)=(Do(x、y、z)-Lmin)・255/(Lmax-Lmin)
Do(x、y、z)<0の場合、Do(x、y、z)=0とする。
Do(x、y、z)>255の場合、Do(x、y、z)=255とする。
そして、制御部11は、8ビットの断層画像群Doに基づいて、任意断面の画像を生成し表示する。例えば、図25に示すように、XY平面に平行な体軸断面(アキシャル(Axial)断面)の場合、指定されたスライス位置zにおけるXY平面上のボクセルに対して(Scx、Scy)変倍を加えながら各画素(x、y)を取得して2次元画像を再構成する。XZ平面に平行な冠状断面(コロナル(Coronal)断面)の場合、指定されたスライス位置yにおけるXZ平面上のボクセルに対して(Scx、Scz)変倍を加えながら各画素(x、z)を取得して2次元画像を再構成する。ZY平面に平行な矢状断面(サジタル(Sagittal)断面)の場合、指定されたスライス位置xにおけるZY平面上のボクセルに対して(Scz、Scy)変倍を加えながら各画素(z、y)を取得して2次元画像を再構成する。このようにして3方向のMPR像を生成する。
また、XYZ空間を斜めに切断した斜断面(オブリーク(Oblique)断面)のMPR像を生成する場合は、3方向のMPR像のいずれかを2次元上で回転させながら3次元空間における回転を指示し、生成される回転行列に基づいて前記8ビットの断層画像群Doに対して3次元空間で回転を加えた上で、各2次元画像の再構成を行う。更に、スラブ厚を指定して体軸断面(アキシャル(Axial)断面)のMPR像を生成する場合は、指定されたスライス位置zの近傍で指定された厚み(スライス枚数)だけスライス位置を微小に移動させて、XY平面上のボクセルに対して(Scx、Scy)変倍を加えながら各画素(x、y)を複数通り取得して、各画素が複数個の信号値の代表信号値で構成される2次元画像を再構成する。複数個の信号値から代表信号値を算出する方法として、前述のMIP像を生成する場合と同様に、最大値(MIP)、最小値(MinIP)、平均値(RaySum)のいずれかを設定できる。
以上、本実施の形態について説明した。本実施の形態によれば、ボクセル空間Rの上下左右前後を規定する方向規定オブジェクトDobjに基づいて方向規定画像Imagecを生成し、この方向規定画像Imagecを3次元再構成像(例えばボリュームレンダリング画像ImageVRやMIP画像ImageMIP)に合成し表示する。これにより、3次元再構成像において被写体の向きを容易に把握することができるようになる。
[断層画像群の方向補正の具体的な実施の形態]
(式1)で示されるDICOM形式で収納されている断層画像群に対して、(式1-2)に示す被写体のXYZ座標系になるように、必要に応じて断層画像群Do(3次元ボクセル)のデータの並び方向を補正する方法について以下述べる。
図26(a)は、X線CT撮影における断層画像群Doの標準的なデータの並び方向(収納方向)を示す。図に示すように、標準的なCT画像の場合、足(F)から頭(H)の方向に見たアキシャル像(左右逆転)が、頭(H)から足(F)の方向(図の「収納方向」)に収納される。この場合、ボクセル座標系は、図26(a)のような右手座標系で表される。しかし、例えば撮影方向(スキャン方向)を逆転した場合などには、図26(b)に示すように、Z軸のデータの並び方向(収納方向)が逆転してしまい、Z軸が反転してしまうことがある(左手座標系となる)。この場合、図26(a)の標準的な座標系に基づいて3次元再構成像を生成すると、3次元再構成像が左右反転してしまう。
またMRIの場合は、サジタル方向や斜め方向など読影がしやすい方向で断層撮影を行うことができ、この場合にも、断層画像群Doのデータの並び方向が標準的なCT画像のデータの並び方向とは異なったものとなり、図26(a)の標準的な座標系(右手座標系)に基づいて3次元再構成像を生成すると、正面方向のアングルを指示してもレンダリング画像が斜め方向を向いたり、レンダリング画像が左右反転してしまう場合がある。
このように、断層画像群Doのデータの並び方向によっては、左右の臓器が逆転して映像化されてしまう虞がある。しかしながら、3次元再構成像の外観だけでは被写体の表示が誤っていることに気付きにくい。例えば、頭部はほとんど左右対称なため、左右の眼、耳、歯が逆に映像化されても不自然さを感じず、そのまま誤って読影し、健康なほうの臓器を治療してしまう医療事故につながる可能性がある。
そこで、DICOM形式で収納されている断層画像群Doに対して、各断層画像に付与されているDICOMタグより断層画像の横方向ベクトル・縦方向ベクトルと、断層画像間のスキャン方向ベクトル(2つの断層画像におけるImagePosition情報の差分)を抽出し、これら抽出した情報に基づいて、断層画像群Doのデータの並び方向が標準的なCT画像のデータの並び方向となるように座標軸の入れ替えや座標軸を反転させる補正(以下、「方向補正」と呼ぶ)をし、3次元ボクセルを作成する。これにより、臓器が逆転して映像化されることなどを防止する。MRI画像(主にMRA)では斜め方向にスキャンされる場合があり、その場合は3次元空間上で回転処理を施さないと標準的なCT画像のデータの並び方向に補正することはできない。しかし、回転処理を伴う補正を加えると、3次元再構成像が劣化する可能性があるため、本願実施形態の方向補正では、医療過誤の原因になる左右反転だけは引き起こさないように、座標軸の入れ替えや座標軸を反転させる補正に限定する。
図27は、3次元再構成像表示装置1の全体の流れを示すフローチャートである。これは、図14の構成におけるステップS2の後段に、断層画像群Doの方向補正を行う処理(ステップS2a)が加えたものである。
図28は、ステップS2aにおいて実行される、断層画像群Doの方向補正を行う処理を示すフローチャートである。
まず、制御部11は、撮影データ等が格納されたフォルダ内から、断層画像群Do(DICOMファイル)の総数(スライス数Sz)を取得する(図28のステップS201)。具体的には、制御部11は、フォルダ内のDICOMファイルを判別することで取得する(フォルダ内にはDICOMファイル以外にも種々のデータが通常格納されている)。例えば、制御部11は、ファイル名や拡張子に基づいてフィルタをかけ、DICOMファイルを判別する。ただし、DICOMファイルの拡張子“.dcm”がない場合があるため、制御部11は、フォルダ内の各ファイルの先頭8バイトを読み込み、5~8バイト目が“D”、“I”、“C”、“M”という4文字であるファイルをDICOMファイルとして判別することが望ましい。
続いて、制御部11は、代表的な断層画像(DICOMファイル)を1つ読み込み(例えば中央に位置するファイルを読み込み)、以下のタグ情報および画像データを取得する(図28のステップS202)。
[タグ情報]
(1)Rows(行)、Columns(縦):画像の縦横方向のサイズSx、Sy
(2)PixelSpacing(画素間隔、単位mm):画像の縦横方向の解像度Rxy=1.0/(画素間隔)
(3)RescaleIntercept、RescaleSlope:信号値の算出係数
(4)ImageOrientation:横方向ベクトルH(Xh、Yh、Zh)、縦方向ベクトルV(Xv、Yv、Zv)
横方向ベクトルとは、画像の横方向が3次元空間のどの方向に対応するかを示すベクトルであり、縦方向ベクトルとは、画像の縦方向が3次元空間のどの方向に対応するかを示すベクトルである。
[画像データ]
(5)PixelData:Sx×Syサイズの16ビットの画像データ
・JPEGロスレスなど圧縮形式の場合は、非圧縮形式に復号化
・RescaleIntercept、RescaleSlopeの指定がある場合は、以下のように、各画素値をRescale変換
(16ビット信号値)=RescaleSlope・(ソースの16ビット画素値)+RescaleIntercept
(6)信号値の最大値Dmaxと最小値Dmin(8ビット階調圧縮処理を行う場合)
ここで、断層画像(DICOMファイル)のファイル名には、ファイル保存時にファイル番号が自動付番されるが、ファイル番号の順番とスライスの並び順(スライス順位)は必ずしも整合していない。
図29は、ファイル番号順に並べた断層画像群Do(頭部CT画像)の例を示す。図に示すように、断層画像の並び順が順不同であり、スライス順位どおりに並んでいないことが分かる。このため、断層画像群Doをファイル番号順にデータ格納(積層)すると、正しい再構成結果が得られない。
そこで、制御部11は、断層画像群Doの方向補正を行う前に、断層画像(DICOMファイル)のタグ情報に基づいて、断層画像群Doが正しい並び順(スライスの並び順)となるように並び替え(スライスソート)を行う。
まず、制御部11は、フォルダ内から全ての断層画像(DICOMファイル)をファイル番号(ファイル保存時にファイル名に自動付番される)の順番に順次読み込み、以下に示すように、各断層画像(DICOMファイル)のタグ情報(InstanceNumner(スライス順位)、ImagePosition(スライス位置))、および画像データ(PixelData)を配列に順次格納していく(図28のステップS203)。
[タグ情報]
(1)InstanceNumber(スライス順位)を取得し、Szサイズの1次元配列Ins(z)(値は1~Szの整数値、zはファイル番号)に順次格納
(2)ImagePosition(スライス位置の3次元座標(単位mm))を取得し、Szサイズの1次元配列Pos(d、z)(d=0(X)、1(Y)、2(Z)、値は3次元の実数座標値、zはファイル番号)に順次格納
[画像データ]
(3)PixelData(Sx×Syサイズの16ビットの画像データ)を取得し、DICOMファイル番号zの順にSx×Sy×Szサイズの3次元配列Do(x、y、z)に順次格納
・JPEGロスレスなど圧縮形式の場合は、非圧縮形式に復号化したうえで格納
・RescaleIntercept、RescaleSlopeの指定がある場合は、以下のように、各画素値をRescale変換したうえで格納
(16ビット信号値)=RescaleSlope・(ソースの16ビット画素値)+RescaleIntercept
・8ビット階調圧縮処理を行う場合は、信号値を16→8ビットに変換したうえで格納
続いて、制御部11は、以下に示すように、1次元配列Pos(z)(スライス位置)および3次元配列Do(x、y、z)(断層画像群)をスライス順位Ins(z)に基づいて並び替え(スライスソート)をする(図28のステップS204)。
(1)1次元配列Pos(z)(スライス位置)をスライス順位Ins(z)(1≦Ins(z)≦Sz)に基づき並び替え
0≦z≦Sz-1に対して、
Pos’(d、Ins(z)-1)=Pos(d、z)(0≦d≦2)
(2)3次元配列Do(x、y、z)のZ方向のスライス画像をスライス順位Ins(z)(1≦Ins(z)≦Sz)に基づき並び替え
0≦z≦Sz-1に対して、
Do’(x、y、Ins(z)-1)=Do(x、y、z)(0≦x≦Sx-1、0≦y≦Sy-1)
以上により、図30に示すように、断層画像群Do(DICOMファイル)が、スライス順位Ins(z)に基づいて、正しい順序に並び替えられる。
図31は、図29の断層画像群Doをスライス順位Ins(z)に基づいて並び替えた断層画像群Doを示す。図に示すように、断層画像群Doが正しいスライス順位に従って並んでいることが分かる。
そして、制御部11は、以降の処理により、断層画像群Doの方向補正を行う。
まず、制御部11は、以下のように、スキャン方向ベクトルおよびZ方向解像度を算出する(図28のステップS205)。
(1)2箇所のスライスz1、z2(z1<z2、例.z1=0、z2=1)における並び替え後の1次元配列Pos(d、z)の差分ベクトルZdir(d)=Pos(d、z2)-Pos(d、z1)をスキャン方向ベクトルとして算出する。ここで、Zdir(d)の3成分の中で絶対値が最大となる方向をdm(0≦dm≦2、0:X,1:Y,2:Z)とする。
(2)Z軸方向解像度をRz=(z2-z1)/|Zdir(d)|により算出し、Z軸方向変倍率をScz=Rxy/Rzとする。|Zdir(d)|は、3次元ベクトルZdir(d)のノルムとする。
また、X軸方向変倍率Scx、Y軸方向変倍率Scyも定義し、Scx=Scy=1.0とする。
そして、制御部11は、ステップS202で取得した横方向ベクトルH、縦方向ベクトルV(ImageOrientation)と、ステップS205で算出したスキャン方向ベクトルZdirに基づいて、3次元再構成像が逆転して映像化される危険性を判断し、危険性がある場合には警告表示を行う(図28のステップS206)
具体的には、制御部11は、横方向ベクトルH、縦方向ベクトルV、およびスキャン方向ベクトルZdirの各々3つの成分の中で絶対値が最大である座標値を抽出し、抽出した3つの座標値の中でXYZ成分のいずれか2つ以上重複するものがあるかを確認する。(1)重複するものがある場合は、方向補正は実行できないため、生成される3次元再構成像に問題が発生する場合がある旨を警告表示する。(2)重複するものが無く、横方向ベクトルHの最大の座標値がX座標の正値で、縦方向ベクトルVの最大の座標値がY座標の正値で、スキャン方向ベクトルZdirの最大の座標値がZ座標の負値である場合は、標準CT画像の形式であるため、方向補正が不要である旨を表示する。(3)重複するものが無く、抽出した3つの座標値の積が「負」の場合は、3次元再構成像が逆転して表示される危険性は無いが、方向補正を実行することが推奨されるため、方向補正を行うか否かをユーザに照会する。(4)重複するものが無く、抽出した3つの座標値の積が「正」の場合は、3次元再構成像が逆転して表示される危険性があると判断し、警告表示を行い、断層画像群Doの方向補正(被写体の方向補正)を行うことをユーザに促す(図28のステップS206)。
図32は、警告表示の例を示す図である。図の3次元再構成像は、横方向ベクトルH(1、0、0)、縦方向ベクトルV(0、1、0)、スキャン方向ベクトルZdir=(0、0、正値)の場合(すなわち、各ベクトルから抽出される各成分の積が「正」の場合)のボリュームレンダリング画像であり、左右が逆転して映像化されている。この場合、図に示すように、画面上に「映像が反転して表示されている可能性があります。映像の方向を補正しますか?」などのメッセージ320を表示することで、警告表示を行い、断層画像群Doの方向補正を促す。
続いて、制御部11は、ステップS202で取得した横方向ベクトルH、縦方向ベクトルVと、ステップS205で算出したスキャン方向ベクトルZdirに基づいて、Sx×Sy×Szサイズの3次元配列Do(x、y、z)のデータの並び方向の補正(座標軸の反転や座標軸の入れ替え)を行う(図28のステップS207)。
例えば、図32に示すように、横方向ベクトルH(1、0、0)、縦方向ベクトルV(0、1、0)、かつスキャン方向ベクトルZdir=(0、0、正値)の場合(各ベクトルから抽出される各成分の積が「正」の場合)、Z軸が反転しているため、制御部11は、Do(x、y、z)のZ軸方向のデータの並び順を逆転(座標軸を反転)させ、断層画像群のデータの並び方向を標準的なCT画像のデータの並び方向(図26(a)参照)となるように補正する。これにより、図33に示すように、映像の反転表示(図33(a)参照)が解消され、被写体が正しい方向で表示(図33(b)参照)されるようになる。
また、図34のように、横方向ベクトルH(0、1、0)、縦方向ベクトルV(0、0、-1)かつスキャン方向ベクトルZdir=(正値、0、0)の場合(座標軸の反転はないが、座標軸が標準CT形式の座標系に従っていない場合)、制御部11は、Do’(z、x、y)=Do(x、y、z)のように座標軸の入れ替えを行い、断層画像群のデータの並び方向を標準的なCT画像のデータの並び方向(図26(a)参照)となるように補正する。併せて、制御部11は、Sx’=Sz、Sy’=Sx、Sz’=Sy、Scx’=Scz、Scy’=1.0、Scz’=1.0と更新する。すなわち、3次元配列Do(x、y、z)の並び替えに伴い、Sx、Sy、Sz、Scx、Scy、Sczの各パラメータも入れ替え更新が行われる。
なお、横方向ベクトルH(1、0、0)、縦方向ベクトルV(0、1、0)かつスキャン方向ベクトルZdir=(0、0、負値)の場合は、図26(a)の標準的CT形式の座標系となっているため、並び替えは行わない。
図35は、横方向ベクトルH・縦方向ベクトルV(ImageOrientation)とスキャン方向ベクトルのパターンに応じた、補正後の画像サイズ、補正後の変倍率、座標系の関係を表す図である。1番目が標準的なCT画像における横方向ベクトルH・縦方向ベクトルV(ImageOrientation)とスキャン方向ベクトルのパターンである。2番目は、各ベクトルから抽出される各成分の積が「正」となるパターンである。このパターンでは、断層画像群Doの方向補正(座標軸の反転)をしないと、図32のように3次元再構成像が反転して表示されてしまう。3番目以降のパターンは、標準的なCT画像の座標系とは異なるため、座標軸の入れ替えが行われるが、標準的なCT画像と同様に各ベクトルから抽出される各成分の積が「負」となるため、3次元再構成像の反転は生じない。
以上、DICOM形式の断層画像群に対する方向補正の具体的な実施の形態について説明した。本実施の形態によれば、断層画像群Doに対して、各断層画像に付与されているDICOMタグより断層画像の横方向ベクトルHと縦方向ベクトルVと断層画像間のスキャン方向ベクトルZdirを抽出し、これら抽出した情報に基づいて、断層画像群Doのデータの並び方向を標準的なCT画像のデータの並び方向となるように方向補正(座標軸の入れ替えや座標軸の反転)を行う。これにより、臓器が逆転して映像化されることなどを防止し、被写体を正しい方向で表示することができる。また、被写体の方向を明示する方向規定画像Imagecを併せて表示されることにより、方向補正が適切に実行されているかを容易に把握することができる。
以上、添付図面を参照しながら、本開示に係る好適な実施形態について説明したが、本開示はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本開示の技術的範囲に属するものと了解される。
1: 3次元再構成像表示装置
Do: 断層画像群
R: ボクセル空間
Cmap: カラーマップ
Sα: 補正テーブル
ROI: クリッピング領域
Mask: マスクデータ
Vr: 有効ボクセル領域
Image: レンダリング画像
ImageVR: ボリュームレンダリング画像
ImageMIP:MIP画像
Dobj: 方向規定オブジェクト
Imagec: 方向規定画像
H: 横方向ベクトル
V: 縦方向ベクトル
Zdir: スキャン方向ベクトル
Ins: スライス順位

Claims (30)

  1. 複数の断層画像をXYZの座標軸が既定されたボクセル空間に配置して構成される3次元ボクセルに基づいて3次元再構成像を生成し表示する3次元再構成像表示装置であって、
    前記3次元ボクセルを所定の方向から見た画像である3次元再構成像を生成する3次元再構成像生成手段と、
    前記XYZの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する3次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定手段と、
    前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成手段と、
    前記3次元再構成像に前記方向規定画像を合成し表示する合成表示手段と、
    を備え
    前記方向規定オブジェクトは直方体であり、
    前記直方体の各面には、互いに異なる表示情報が設定され、
    前記表示情報は、各面に対応した色情報を含む、
    3次元再構成像表示装置。
  2. 複数の断層画像をXYZの座標軸が既定されたボクセル空間に配置して構成される3次元ボクセルに基づいて3次元再構成像を生成し表示する3次元再構成像表示装置であって、
    前記3次元ボクセルを所定の方向から見た画像である3次元再構成像を生成する3次元再構成像生成手段と、
    前記XYZの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する3次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定手段と、
    前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成手段と、
    前記3次元再構成像に前記方向規定画像を合成し表示する合成表示手段と、
    を備え
    前記方向規定オブジェクトは直方体であり、
    前記直方体の各面には、互いに異なる表示情報が設定され、
    前記表示情報は、上下左右前後が前記各面に対応するように設定されている頭部のイラストである、
    3次元再構成像表示装置。
  3. 複数の断層画像をXYZの座標軸が既定されたボクセル空間に配置して構成される3次元ボクセルに基づいて3次元再構成像を生成し表示する3次元再構成像表示装置であって、
    前記3次元ボクセルを所定の方向から見た画像である3次元再構成像を生成する3次元再構成像生成手段と、
    前記XYZの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する3次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定手段と、
    前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成手段と、
    前記3次元再構成像に前記方向規定画像を合成し表示する合成表示手段と、
    を備え
    前記方向規定オブジェクトは直方体であり、
    前記直方体の3次元方向のサイズの比率は、前記3次元ボクセルの3次元方向のサイズの比率に応じて設定される、
    3次元再構成像表示装置。
  4. 複数の断層画像をXYZの座標軸が既定されたボクセル空間に配置して構成される3次元ボクセルに基づいて3次元再構成像を生成し表示する3次元再構成像表示装置であって、
    前記3次元ボクセルを所定の方向から見た画像である3次元再構成像を生成する3次元再構成像生成手段と、
    前記XYZの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する3次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定手段と、
    前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成手段と、
    前記3次元再構成像に前記方向規定画像を合成し表示する合成表示手段と、
    を備え
    前記方向規定オブジェクトは、少なくとも上下左右前後が視認可能な生物、キャラクター、または車両のオブジェクトである、
    3次元再構成像表示装置。
  5. 複数の断層画像をXYZの座標軸が既定されたボクセル空間に配置して構成される3次元ボクセルに基づいて3次元再構成像を生成し表示する3次元再構成像表示装置であって、
    前記3次元ボクセルを所定の方向から見た画像である3次元再構成像を生成する3次元再構成像生成手段と、
    前記XYZの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する3次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定手段と、
    前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成手段と、
    前記3次元再構成像に前記方向規定画像を合成し表示する合成表示手段と、
    を備え
    前記合成表示手段は、前記3次元再構成像に、前記方向規定画像のうち前記方向規定オブジェクトが投影された画像領域のみを合成する、
    3次元再構成像表示装置。
  6. 複数の断層画像をXYZの座標軸が既定されたボクセル空間に配置して構成される3次元ボクセルに基づいて3次元再構成像を生成し表示する3次元再構成像表示装置であって、
    前記3次元ボクセルを所定の方向から見た画像である3次元再構成像を生成する3次元再構成像生成手段と、
    前記XYZの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する3次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定手段と、
    前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成手段と、
    前記3次元再構成像に前記方向規定画像を合成し表示する合成表示手段と、
    を備え
    前記断層画像に、当該断層画像の横方向と縦方向が3次元空間のどの方向に対応するかを示す横方向ベクトルと縦方向ベクトル、および当該断層画像の撮影位置の情報が付与されている場合、
    前記断層画像の横方向の各画素を前記横方向ベクトルに基づいて前記ボクセル空間のXYZ軸方向いずれかの座標軸方向1の方向に所定の間隔Wxyで配置し、
    前記断層画像の縦方向の各画素を前記縦方向ベクトルに基づいて前記ボクセル空間のXYZ軸方向いずれかの座標軸方向2の方向に所定の間隔Wxyで配置し、
    前記断層画像の撮影方向の各画素を前記撮影位置から算出される撮影方向を示すスキャン方向ベクトルに基づいて前記ボクセル空間のXYZのいずれかの座標軸方向3の方向に所定の間隔Wzで配置するように、前記3次元ボクセルを作成するボクセル作成手段、を更に備える、
    3次元再構成像表示装置。
  7. 前記断層画像に、当該断層画像のファイル名に示される順位と異なるスライス順位が付与されている場合、
    前記ボクセル作成手段は、前記断層画像を前記ボクセル空間の前記座標軸方向3の方向に配置する際、前記スライス順位の順番に基づいて配置する、
    請求項に記載の3次元再構成像表示装置。
  8. 前記ボクセル作成手段は、2つの前記断層画像を抽出し、スライス順位が後方の前記断層画像の撮影位置から、スライス順位が前方の前記断層画像の撮影位置を減算することで、前記スキャン方向ベクトルを算出する、請求項または請求項に記載の3次元再構成像表示装置。
  9. 前記ボクセル作成手段は、前記スキャン方向ベクトルのノルムを前記2つの前記断層画像のスライス順位の差分の絶対値で除算した値を前記間隔Wzとする、請求項に記載の3次元再構成像表示装置。
  10. 前記ボクセル作成手段は、前記横方向ベクトルのXYZ3成分の中で絶対値が最大の値をもつ座標成分1の方向を前記座標軸方向1に設定し、前記縦方向ベクトルのXYZ3成分の中で絶対値が最大の値をもつ座標成分2の方向を前記座標軸方向2に設定し、前記スキャン方向ベクトルのXYZ3成分の中で絶対値が最大の値をもつ座標成分3の方向を前記座標軸方向3に設定する、
    請求項から請求項のいずれかに記載の3次元再構成像表示装置。
  11. 前記ボクセル作成手段は、前記座標成分1と前記座標成分2と前記座標成分3の積が正値になる場合、警告表示を行う、
    請求項10に記載の3次元再構成像表示装置。
  12. 前記3次元再構成像生成手段は、前記3次元再構成像の各画素に対してレイキャスティング処理を実行し、前記3次元再構成像としてボリュームレンダリング画像またはMIP画像を生成する、
    請求項1から請求項11のいずれかに記載の3次元再構成像表示装置。
  13. 前記3次元再構成像の表示中に、当該3次元再構成像に対する表示変更イベントが発生すると、
    記3次元再構成像手段は、当該3次元再構成像の一部の画素に対して前記レイキャスティング処理を実行する、
    請求項12に記載の3次元再構成像表示装置。
  14. 前記3次元再構成像生成手段は、前記3次元再構成像として、MPR画像を生成する、
    請求項から請求項11のいずれかに記載の3次元再構成像表示装置。
  15. 複数の断層画像をXYZの座標軸が既定されたボクセル空間に配置して構成される3次元ボクセルに基づいて3次元再構成像を生成し表示する3次元再構成像表示方法であって、
    コンピュータが、
    前記3次元ボクセルを所定の方向から見た画像である3次元再構成像を生成する3次元再構成像生成ステップと、
    前記XYZの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する3次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定ステップと、
    前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成ステップと、
    前記3次元再構成像に前記方向規定画像を合成し表示する合成表示ステップと、
    を実行し、
    前記方向規定オブジェクトは直方体であり、
    前記直方体の各面には、互いに異なる表示情報が設定され、
    前記表示情報は、各面に対応した色情報を含む、
    3次元再構成像表示方法。
  16. 複数の断層画像をXYZの座標軸が既定されたボクセル空間に配置して構成される3次元ボクセルに基づいて3次元再構成像を生成し表示する3次元再構成像表示方法であって、
    コンピュータが、
    前記3次元ボクセルを所定の方向から見た画像である3次元再構成像を生成する3次元再構成像生成ステップと、
    前記XYZの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する3次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定ステップと、
    前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成ステップと、
    前記3次元再構成像に前記方向規定画像を合成し表示する合成表示ステップと、
    を実行し、
    前記方向規定オブジェクトは直方体であり、
    前記直方体の各面には、互いに異なる表示情報が設定され、
    前記表示情報は、上下左右前後が前記各面に対応するように設定されている頭部のイラストである、
    3次元再構成像表示方法。
  17. 複数の断層画像をXYZの座標軸が既定されたボクセル空間に配置して構成される3次元ボクセルに基づいて3次元再構成像を生成し表示する3次元再構成像表示方法であって、
    コンピュータが、
    前記3次元ボクセルを所定の方向から見た画像である3次元再構成像を生成する3次元再構成像生成ステップと、
    前記XYZの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する3次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定ステップと、
    前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成ステップと、
    前記3次元再構成像に前記方向規定画像を合成し表示する合成表示ステップと、
    を実行し、
    前記方向規定オブジェクトは直方体であり、
    前記直方体の3次元方向のサイズの比率は、前記3次元ボクセルの3次元方向のサイズの比率に応じて設定される、
    3次元再構成像表示方法。
  18. 複数の断層画像をXYZの座標軸が既定されたボクセル空間に配置して構成される3次元ボクセルに基づいて3次元再構成像を生成し表示する3次元再構成像表示方法であって、
    コンピュータが、
    前記3次元ボクセルを所定の方向から見た画像である3次元再構成像を生成する3次元再構成像生成ステップと、
    前記XYZの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する3次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定ステップと、
    前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成ステップと、
    前記3次元再構成像に前記方向規定画像を合成し表示する合成表示ステップと、
    を実行し、
    前記方向規定オブジェクトは、少なくとも上下左右前後が視認可能な生物、キャラクター、または車両のオブジェクトである、
    3次元再構成像表示方法。
  19. 複数の断層画像をXYZの座標軸が既定されたボクセル空間に配置して構成される3次元ボクセルに基づいて3次元再構成像を生成し表示する3次元再構成像表示方法であって、
    コンピュータが、
    前記3次元ボクセルを所定の方向から見た画像である3次元再構成像を生成する3次元再構成像生成ステップと、
    前記XYZの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する3次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定ステップと、
    前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成ステップと、
    前記3次元再構成像に前記方向規定画像を合成し表示する合成表示ステップと、
    を実行し、
    前記合成表示ステップは、前記3次元再構成像に、前記方向規定画像のうち前記方向規定オブジェクトが投影された画像領域のみを合成する、
    3次元再構成像表示方法。
  20. 複数の断層画像をXYZの座標軸が既定されたボクセル空間に配置して構成される3次元ボクセルに基づいて3次元再構成像を生成し表示する3次元再構成像表示方法であって、
    コンピュータが、
    前記3次元ボクセルを所定の方向から見た画像である3次元再構成像を生成する3次元再構成像生成ステップと、
    前記XYZの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する3次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定ステップと、
    前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成ステップと、
    前記3次元再構成像に前記方向規定画像を合成し表示する合成表示ステップと、
    を実行し、
    前記断層画像に、当該断層画像の横方向と縦方向が3次元空間のどの方向に対応するかを示す横方向ベクトルと縦方向ベクトル、および当該断層画像の撮影位置の情報が付与されている場合、
    前記断層画像の横方向の各画素を前記横方向ベクトルに基づいて前記ボクセル空間のXYZ軸方向いずれかの座標軸方向1の方向に所定の間隔Wxyで配置し、
    前記断層画像の縦方向の各画素を前記縦方向ベクトルに基づいて前記ボクセル空間のXYZ軸方向いずれかの座標軸方向2の方向に所定の間隔Wxyで配置し、
    前記断層画像の撮影方向の各画素を前記撮影位置から算出される撮影方向を示すスキャン方向ベクトルに基づいて前記ボクセル空間のXYZのいずれかの座標軸方向3の方向に所定の間隔Wzで配置するように、前記3次元ボクセルを作成するボクセル作成ステップ、を更に実行する、
    3次元再構成像表示方法。
  21. コンピュータを、複数の断層画像をXYZの座標軸が既定されたボクセル空間に配置して構成される3次元ボクセルに基づいて3次元再構成像を生成し表示する3次元再構成像表示装置として機能させるプログラムであって、
    前記コンピュータを、
    前記3次元ボクセルを所定の方向から見た画像である3次元再構成像を生成する3次元再構成像生成手段、
    前記XYZの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する3次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定手段、
    前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成手段、
    前記3次元再構成像に前記方向規定画像を合成し表示する合成表示手段、
    として機能させるプログラムであって、
    前記方向規定オブジェクトは直方体であり、
    前記直方体の各面には、互いに異なる表示情報が設定され、
    前記表示情報は、各面に対応した色情報を含む、
    プログラム
  22. コンピュータを、複数の断層画像をXYZの座標軸が既定されたボクセル空間に配置して構成される3次元ボクセルに基づいて3次元再構成像を生成し表示する3次元再構成像表示装置として機能させるプログラムであって、
    前記コンピュータを、
    前記3次元ボクセルを所定の方向から見た画像である3次元再構成像を生成する3次元再構成像生成手段、
    前記XYZの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する3次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定手段、
    前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成手段、
    前記3次元再構成像に前記方向規定画像を合成し表示する合成表示手段、
    として機能させるプログラムであって、
    前記方向規定オブジェクトは直方体であり、
    前記直方体の各面には、互いに異なる表示情報が設定され、
    前記表示情報は、上下左右前後が前記各面に対応するように設定されている頭部のイラストである、
    プログラム
  23. コンピュータを、複数の断層画像をXYZの座標軸が既定されたボクセル空間に配置して構成される3次元ボクセルに基づいて3次元再構成像を生成し表示する3次元再構成像表示装置として機能させるプログラムであって、
    前記コンピュータを、
    前記3次元ボクセルを所定の方向から見た画像である3次元再構成像を生成する3次元再構成像生成手段、
    前記XYZの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する3次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定手段、
    前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成手段、
    前記3次元再構成像に前記方向規定画像を合成し表示する合成表示手段、
    として機能させるプログラムであって、
    前記方向規定オブジェクトは直方体であり、
    前記直方体の3次元方向のサイズの比率は、前記3次元ボクセルの3次元方向のサイズの比率に応じて設定される、
    プログラム
  24. コンピュータを、複数の断層画像をXYZの座標軸が既定されたボクセル空間に配置して構成される3次元ボクセルに基づいて3次元再構成像を生成し表示する3次元再構成像表示装置として機能させるプログラムであって、
    前記コンピュータを、
    前記3次元ボクセルを所定の方向から見た画像である3次元再構成像を生成する3次元再構成像生成手段、
    前記XYZの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する3次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定手段、
    前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成手段、
    前記3次元再構成像に前記方向規定画像を合成し表示する合成表示手段、
    として機能させるプログラムであって、
    前記方向規定オブジェクトは、少なくとも上下左右前後が視認可能な生物、キャラクター、または車両のオブジェクトである、
    プログラム
  25. コンピュータを、複数の断層画像をXYZの座標軸が既定されたボクセル空間に配置して構成される3次元ボクセルに基づいて3次元再構成像を生成し表示する3次元再構成像表示装置として機能させるプログラムであって、
    前記コンピュータを、
    前記3次元ボクセルを所定の方向から見た画像である3次元再構成像を生成する3次元再構成像生成手段、
    前記XYZの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する3次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定手段、
    前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成手段、
    前記3次元再構成像に前記方向規定画像を合成し表示する合成表示手段、
    として機能させるプログラムであって、
    前記合成表示手段は、前記3次元再構成像に、前記方向規定画像のうち前記方向規定オブジェクトが投影された画像領域のみを合成する、
    プログラム
  26. コンピュータを、複数の断層画像をXYZの座標軸が既定されたボクセル空間に配置して構成される3次元ボクセルに基づいて3次元再構成像を生成し表示する3次元再構成像表示装置として機能させるプログラムであって、
    前記コンピュータを、
    前記3次元ボクセルを所定の方向から見た画像である3次元再構成像を生成する3次元再構成像生成手段、
    前記XYZの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する3次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定手段、
    前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成手段、
    前記3次元再構成像に前記方向規定画像を合成し表示する合成表示手段、
    として機能させるプログラムであって、
    前記断層画像に、当該断層画像の横方向と縦方向が3次元空間のどの方向に対応するかを示す横方向ベクトルと縦方向ベクトル、および当該断層画像の撮影位置の情報が付与されている場合、
    前記断層画像の横方向の各画素を前記横方向ベクトルに基づいて前記ボクセル空間のXYZ軸方向いずれかの座標軸方向1の方向に所定の間隔Wxyで配置し、
    前記断層画像の縦方向の各画素を前記縦方向ベクトルに基づいて前記ボクセル空間のXYZ軸方向いずれかの座標軸方向2の方向に所定の間隔Wxyで配置し、
    前記断層画像の撮影方向の各画素を前記撮影位置から算出される撮影方向を示すスキャン方向ベクトルに基づいて前記ボクセル空間のXYZのいずれかの座標軸方向3の方向に所定の間隔Wzで配置するように、前記3次元ボクセルを作成するボクセル作成手段、として更に機能させる、
    プログラム
  27. 複数の断層画像をXYZの座標軸が既定されたボクセル空間に配置して構成される3次元ボクセルを所定の方向から見た画像である3次元再構成像に合成される、当該3次元再構成像の表示方向を示すための画像を生成する画像生成方法であって、
    コンピュータが、
    前記XYZの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する3次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定ステップと、
    前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成ステップと、
    を実行し、
    前記方向規定オブジェクトは直方体であり、
    前記直方体の各面には、互いに異なる表示情報が設定され、
    前記表示情報は、各面に対応した色情報を含む、
    画像生成方法。
  28. 複数の断層画像をXYZの座標軸が既定されたボクセル空間に配置して構成される3次元ボクセルを所定の方向から見た画像である3次元再構成像に合成される、当該3次元再構成像の表示方向を示すための画像を生成する画像生成方法であって、
    コンピュータが、
    前記XYZの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する3次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定ステップと、
    前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成ステップと、
    を実行し、
    前記方向規定オブジェクトは直方体であり、
    前記直方体の各面には、互いに異なる表示情報が設定され、
    前記表示情報は、上下左右前後が前記各面に対応するように設定されている頭部のイラストである、
    画像生成方法。
  29. 複数の断層画像をXYZの座標軸が既定されたボクセル空間に配置して構成される3次元ボクセルを所定の方向から見た画像である3次元再構成像に合成される、当該3次元再構成像の表示方向を示すための画像を生成する画像生成方法であって、
    コンピュータが、
    前記XYZの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する3次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定ステップと、
    前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成ステップと、
    を実行し、
    前記方向規定オブジェクトは直方体であり、
    前記直方体の3次元方向のサイズの比率は、前記3次元ボクセルの3次元方向のサイズの比率に応じて設定される、
    画像生成方法。
  30. 複数の断層画像をXYZの座標軸が既定されたボクセル空間に配置して構成される3次元ボクセルを所定の方向から見た画像である3次元再構成像に合成される、当該3次元再構成像の表示方向を示すための画像を生成する画像生成方法であって、
    コンピュータが、
    前記XYZの座標軸が既定されたボクセル空間に、当該ボクセル空間における少なくとも上下左右前後を規定する3次元オブジェクトである方向規定オブジェクトを配置し設定するオブジェクト設定ステップと、
    前記方向規定オブジェクトを前記所定の方向と同一の方向から見た画像である方向規定画像を生成する方向規定画像生成ステップと、
    を実行し、
    前記方向規定オブジェクトは、少なくとも上下左右前後が視認可能な生物、キャラクター、または車両のオブジェクトである、
    画像生成方法。
JP2018239609A 2018-12-21 2018-12-21 3次元再構成像表示装置、3次元再構成像表示方法、プログラム、及び画像生成方法 Active JP7247577B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018239609A JP7247577B2 (ja) 2018-12-21 2018-12-21 3次元再構成像表示装置、3次元再構成像表示方法、プログラム、及び画像生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018239609A JP7247577B2 (ja) 2018-12-21 2018-12-21 3次元再構成像表示装置、3次元再構成像表示方法、プログラム、及び画像生成方法

Publications (2)

Publication Number Publication Date
JP2020101988A JP2020101988A (ja) 2020-07-02
JP7247577B2 true JP7247577B2 (ja) 2023-03-29

Family

ID=71139633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018239609A Active JP7247577B2 (ja) 2018-12-21 2018-12-21 3次元再構成像表示装置、3次元再構成像表示方法、プログラム、及び画像生成方法

Country Status (1)

Country Link
JP (1) JP7247577B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112036259A (zh) * 2020-08-10 2020-12-04 晶璞(上海)人工智能科技有限公司 一种基于图像处理与深度学习相结合的表格矫正与识别的方法
CN114863017A (zh) * 2022-04-27 2022-08-05 青岛海信医疗设备股份有限公司 一种数据处理方法、设备及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013025486A (ja) 2011-07-19 2013-02-04 Toshiba Corp 画像処理装置、画像処理方法及び医用画像診断装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1153577A (ja) * 1997-07-31 1999-02-26 Shimadzu Corp 3次元医用画像処理装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013025486A (ja) 2011-07-19 2013-02-04 Toshiba Corp 画像処理装置、画像処理方法及び医用画像診断装置

Also Published As

Publication number Publication date
JP2020101988A (ja) 2020-07-02

Similar Documents

Publication Publication Date Title
US7924278B2 (en) Real-time GPU rendering of piecewise algebraic surfaces
US10692272B2 (en) System and method for removing voxel image data from being rendered according to a cutting region
US7893940B2 (en) Super resolution contextual close-up visualization of volumetric data
US20050143654A1 (en) Systems and methods for segmented volume rendering using a programmable graphics pipeline
US8217939B1 (en) Method and system for calculating visually improved edge voxel normals when converting polygon data to voxel data
US8659602B2 (en) Generating a pseudo three-dimensional image of a three-dimensional voxel array illuminated by an arbitrary light source by a direct volume rendering method
US20040183801A1 (en) Rasterization of primitives using parallel edge units
US7129941B2 (en) Sample replication mode with depth value calculation
JPH08138078A (ja) 画像処理装置
JP2007222629A (ja) 仮想切開を用いたインコンテキストボリューム視覚化のためのシステムおよび方法
KR101589172B1 (ko) 입체 영상 데이터의 처리 방법
WO2005106799A1 (en) Method and system for multi-object volumetric data visualization
US9846973B2 (en) Method and system for volume rendering color mapping on polygonal objects
JP7247577B2 (ja) 3次元再構成像表示装置、3次元再構成像表示方法、プログラム、及び画像生成方法
US20220343589A1 (en) System and method for image processing
JP7275669B2 (ja) マスク生成装置、3次元再構成像生成装置、マスク生成方法、及びプログラム
JP4376944B2 (ja) 中間画像生成方法および装置ならびにプログラム
US7952592B2 (en) System and method for view-dependent cutout geometry for importance-driven volume rendering
JP5065740B2 (ja) 画像処理方法および装置並びにプログラム
US6184889B1 (en) Method and apparatus for supporting non-power-two texture sizes for volume rendering
JP7205189B2 (ja) レンダリング装置、レンダリング方法、及びプログラム
JP2019207450A (ja) ボリュームレンダリング装置
US20230138291A1 (en) Storage, rendering, and display of information of meshes through tessellation with serialized values
CA2011101C (en) Method and apparatus for the rendering of geometric volumes
Arbelaiz et al. Deployment of Volume Rendering Interactive Visualizations in Web Platforms With Intersected 3D Geometry.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211025

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221031

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: 20230214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230227

R150 Certificate of patent or registration of utility model

Ref document number: 7247577

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150