JP6555408B1 - レンダリング装置 - Google Patents

レンダリング装置 Download PDF

Info

Publication number
JP6555408B1
JP6555408B1 JP2018166559A JP2018166559A JP6555408B1 JP 6555408 B1 JP6555408 B1 JP 6555408B1 JP 2018166559 A JP2018166559 A JP 2018166559A JP 2018166559 A JP2018166559 A JP 2018166559A JP 6555408 B1 JP6555408 B1 JP 6555408B1
Authority
JP
Japan
Prior art keywords
image
coordinate
divided
voxel
value
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
JP2018166559A
Other languages
English (en)
Other versions
JP2020038589A (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 JP2018166559A priority Critical patent/JP6555408B1/ja
Application granted granted Critical
Publication of JP6555408B1 publication Critical patent/JP6555408B1/ja
Publication of JP2020038589A publication Critical patent/JP2020038589A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Apparatus For Radiation Diagnosis (AREA)
  • Image Generation (AREA)
  • Image Analysis (AREA)

Abstract

【課題】計算負荷を抑制し、計算時間がを短縮できるボリュームレンダリング像の作成方法を提供する。【解決手段】2次元投影画像の生成領域をN個の分割生成領域に分割し、複数の2次元の断層画像と各画素を対応させたボクセル画像に対して、分割生成領域の各画素より視線方向に仮想光線を照射し、各仮想光線が交差するボクセル画像のボクセルを複数抽出し、抽出された複数のボクセルの信号値を基に代表信号値を算出し、代表信号値を仮想光線が照射された分割生成領域の画素の画素値として与えることにより、各分割生成領域に対して、分割画像を生成する2次元投影画像生成手段70を有し、2次元投影画像生成手段70は、N個の分割生成領域に対して分割画像を生成する処理を並行して実行し2次元投影画像を生成する。【選択図】図3

Description

本開示は、二次元の断層画像を複数枚用いて、3次元的に可視化するためのレンダリング技術に関する。
従来、CT、MRI、PETなど医療画像診断機器(モダリティ)により所定のスライス間隔で連続的に撮像され、DICOM形式等でPACS(Picture Archiving and Communication Systems)等の医療情報システムに保管されている複数の断層画像を基に、臓器等を3次元的に可視化することが行われている。
3次元の情報を2次元に投影した2次元投影画像として可視化した画像の1つに、MIP(Maximum Intensity Projection)画像がある。MIP画像は、MIP(MPRのMIP表示モードと区別するため3D−MIPともいう)というボリュームレンダリングの一手法であり、レイキャスティング法と同様なアルゴリズムで生成される。このMIP画像を始めとするボリュームレンダリング像の作成は、、計算負荷が高く、計算時間が長くなるという問題がある。
これに対して、生成するMIP画像をxy軸方向に所定の間隔で間引きながらMIP画素を探索し、間引きされた画素に対しては、近傍で既に探索されたMIP画素の深さ方向の位置を中心に限定した範囲でMIP画素を探索することにより、高速化する手法が提案されている(特許文献1参照)。また、MIP画像を回転表示させるにあたり、任意のアングルで再計算する方法をとると、リアルタイムな表示が行えないため、8方向に限定し、正八面体に投影した像をあらかじめ算出しておき、ユーザ指定により、8方向のいずれかにリアルタイムに回転させ、併せて表示像のアングルを提示する手法も提案されている(特許文献2参照)。
特開2005−46207号公報 特開2001−229399号公報
特許文献1、特許文献2に記載の技術では、MIP画素を探索する範囲を狭くする方法をとっているため、MIP表示モードでは問題が生じにくいが、RaySumのようにレイ方向に配列している全ボクセルの平均値を算出するという表示モードを実現できないという問題がある。即ち、特許文献1では、演算抑制の効果はMIPモードに限定され、RaySumモードやMinIPモードでは演算抑制の効果が働かない。また、特許文献2に記載の技術では、8方向以外のアングルでは再計算が必要になるため、任意の角度にアングルを微調整したいという要望に応えられないという問題がある。即ち、特許文献2では、演算抑制の効果は特定のアングルに限定され、任意の角度にアングルを微調整する場合、演算抑制の効果が働かない。
要するに、特許文献1、特許文献2に記載の技術では、適用される表示方法が限定されてしまう。
本開示は、上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、
対象物に対して所定の間隔で撮影され、各画素に信号値が付与された複数の2次元の断層画像に基づいて、視線方向を通過する各画素の信号値を基に算出された代表信号値で構成される2次元投影画像を生成するためのレンダリング装置であって、
前記2次元投影画像を生成する領域である生成領域をN個の分割生成領域に分割し、前記分割生成領域を構成する各画素より、前記視線方向に仮想光線を照射し、
前記複数の2次元の断層画像を構成する各画素を対応させたボクセル画像と各仮想光線が交差する前記ボクセル画像のボクセルを複数抽出し、抽出された複数のボクセルの信号値を基に単一の代表信号値を算出し、算出された代表信号値を当該仮想光線が照射された前記分割生成領域の画素の画素値として与えることにより、各分割生成領域に対応する分割画像を生成する2次元投影画像生成手段を有し、
前記2次元投影画像生成手段は、前記N個に分割された分割生成領域に対して分割画像を生成する処理を並行して実行し前記2次元投影画像を生成する。
また、本開示は、
対象物に対して所定の間隔で撮影され、各画素に信号値が付与された複数の2次元の断層画像に基づいて、視線方向を通過する各画素の信号値を基に算出された代表信号値で構成されるモノクロ画像を生成するため、
コンピュータを、
前記モノクロ画像の生成領域をN個の分割生成領域に分割し、前記複数の2次元の断層画像と各画素を対応させたボクセル画像に対して、前記分割生成領域の各画素より視線方向に仮想光線を照射し、各仮想光線が交差する前記ボクセル画像のボクセルを複数抽出し、抽出された複数のボクセルの信号値を基に単一の代表信号値を算出し、算出された代表信号値を当該仮想光線が照射された前記分割生成領域の画素の画素値として与えることにより、各分割生成領域に対して、分割画像を生成するモノクロ画像生成手段として機能させ、
前記モノクロ画像生成手段は、前記N個に分割された分割生成領域に対して分割画像を生成する処理を並行して実行し、得られた分割画像を統合して前記モノクロ画像を生成するプログラムを提供する。
本開示によれば、複数の断層画像を用いて3次元的に可視化するための2次元投影画像の生成処理の速度を向上させることが可能となる。
複数の断層画像と、生成されるモノクロの2次元投影画像であるMIP画像を示す図である。 本開示の一実施形態に係るレンダリング装置100のハードウェア構成図である。 本実施形態に係るレンダリング装置の構成を示す機能ブロック図である。 本実施形態に係るレンダリング装置の処理動作を示すフローチャートである。 MIP画像生成の詳細を示すフローチャートである。 座標変換の概念図である。 図5のステップS540における分割画像生成処理を示すフローチャートである。 図7のステップS620における代表信号値Vmの算出処理を示すフローチャートである。 起点座標探索手段77が各画素において起点座標を探索する処理を示すフローチャートである。 生成されたMIP画像の例を示す図である。 コンピュータによりレンダリング装置100を実現する場合の並列化処理を示す図である。 コンピュータによりレンダリング装置100を実現する場合の並列化処理のソフトウェアによる流れを示す図である。 プログレッシブレンダリングの処理手順を示すフローチャートである。 プログレッシブレンダリングにより表示された画面例を示す図である。 生成領域を複数の分割生成領域に分割する場合の様々な態様を示す図である。 各処理スレッドの終了ごとに表示処理を行う場合の並列化処理のソフトウェアによる流れを示す図である。
以下、本開示の好適な実施形態について図面を参照して詳細に説明する。
本開示は、複数の断層画像に基づいて、所定の値をもつ2次元投影画像であるMIP画像を生成するものである。図1は、複数の断層画像と、生成される2次元投影画像であるMIP画像を示す図である。図1(a)は複数の断層画像、図1(b)は1枚の断層画像、図1(c)は2次元投影画像である。図1(a)(b)に示す断層画像は、DICOM形式のものを示している。図1(a)は、370枚の断層画像群であり、図1(b)は、そのうちの1枚を拡大したものである。後述する実施形態のレンダリング装置では、図1(a)に示したような複数の断層画像に対してレンダリング処理を実行して、図1(c)に示したような1枚の2次元投影画像を生成する。図1(c)に示した2次元投影画像は、広義のMIP画像と呼ばれ、各画素が単一の信号値を有している。広義のMIP画像は、単一の信号値として最大値を記録した「狭義のMIP」、単一の信号値として最小値を記録したMinIP、単一の信号値として平均値を記録したRaySumを含んでいる。以降、本明細書では、何らかの単一の信号値を記録した2次元投影画像である広義のMIP画像を、単にMIP画像と呼ぶことにする。なお、本実施形態で生成する2次元投影画像はモノクロのMIP画像であるが、モノクロ画像以外の2次元投影画像を生成することもできる。また、本開示におけるレンダリング装置におけるレンダリング処理は、「狭義のMIP」、「MinIP」、「RaySum」等に限定されず、レイキャスティング等、他のレンダリング処理にも適用される。
<1.装置構成>
図2は、本開示の一実施形態に係るレンダリング装置100のハードウェア構成図である。本実施形態に係るレンダリング装置100は、汎用のコンピュータで実現することができ、図2に示すように、CPU(Central Processing Unit)1と、コンピュータのメインメモリであるRAM(Random Access Memory)2と、CPU1が実行するプログラムやデータを記憶するためのハードディスク、SSD(Solid State Drive)、フラッシュメモリ等の大容量の記憶装置3と、キーボード、マウス等の指示入力I/F(インターフェース)4と、データ記憶媒体等の外部装置とデータ通信するためのデータ入出力I/F(インターフェース)5と、液晶ディスプレイ等の表示デバイスである表示部6と、グラフィックスに特化した演算処理部であるGPU(Graphics Processing Unit)7と、表示部6に表示する画像を保持するフレームメモリ8と、を備え、互いにバスを介して接続されている。GPU7による演算結果はフレームメモリ8に書き込まれるため、GPU7とフレームメモリ8は、表示部6へのインタフェースを備えたビデオカードに搭載されて汎用のコンピュータにバス経由で装着されていることが多い。
本実施形態において、CPU1は、マルチコアCPUであり、複数のCPUコアを有し、並列処理が可能となっている。図2の例では、RAM2が1つだけ示されているが、CPU1の各CPUコアが、1つのRAM2にアクセスするように構成されている。なお、CPU1は複数であってもよい。またマルチコアCPUは、論理的に複数のCPUコアを有するCPUであってもよい。
図3は、本実施形態に係るレンダリング装置の構成を示す機能ブロック図である。図3において、10は断層画像読込手段、15は座標変換パラメータ入力手段、20はROIクリッピング設定手段、25はマスク設定手段、30はボクセル画像作成手段、70は2次元投影画像生成手段、80は画像出力手段である。
断層画像読込手段10は、CT、MRI、PETなどの医用画像診断機器により収集および蓄積されたPACSから、記憶媒体や入力部を経由して、複数の断層画像を読み込む手段である。断層画像は、対象物に対して所定の間隔で撮影されて得られたものであり、各画素に信号値が付与された2次元の断層画像である。座標変換パラメータ入力手段15は、座標変換のためのパラメータを入力する手段である。ROIクリッピング設定手段20は、読み込んだ複数の断層画像のうち、ボクセル画像の作成対象を、関心領域であるROIとして設定する手段である。マスク設定手段25は、読み込んだ複数の断層画像のうち、表示させない領域をマスク設定する手段である。ボクセル画像作成手段30は、複数の2次元の断層画像を所定の間隔でz軸方向に配置し、断層画像の各画素を三次元に配置した各ボクセルに対して、断層画像の各画素の画素値である信号値をもたせたボクセル画像を作成する手段である。
2次元投影画像生成手段70は、ボクセル画像を用いてモノクロのボリュームレンダリング像であるMIP画像を生成する手段である。2次元投影画像生成手段70は、2次元投影画像であるMIP画像として、狭義のMIP、MInIP、RaySumの3種類を生成可能となっている。画像出力手段80は、生成されたMIP画像を所定の態様で出力する手段である。通常は、表示部6等に表示出力が行われる。
断層画像読込手段10は、CPU1が補助しながら、主にデータ入出力I/F5において実現される。座標変換パラメータ入力手段15は、CPU1が補助しながら、主に指示入力I/F4において実現される。ROIクリッピング設定手段20は、CPU1が補助しながら、主に指示入力I/F4において実現される。マスク設定手段25は、CPU1が補助しながら、主に指示入力I/F4および表示部6において実現される。2次元投影画像生成手段70は、マルチコアCPUであるCPU1が、プログラムを実行することにより実現される。このプログラムは、MIP画像の生成領域を複数の分割生成領域に分割し、各コアに各分割生成領域を割り当てて、各コアがMIP画像の分割画像を生成する処理を並行して行う。画像出力手段80は、CPU1が補助しながら、主にフレームメモリ8と表示部6において実現される。
図3に示した各構成手段は、現実には図2に示したように、コンピュータおよびその周辺機器等のハードウェアに専用のプログラムを搭載することにより実現される。すなわち、コンピュータが、専用のプログラムに従って各手段の内容を実行することになる。本実施形態においては、CPUがマルチコアCPUであることが好ましい。CPUが、マルチコアCPUでなくても、複数のCPUで構成されるマルチプロセッサ構成などプログラムを並行して実行可能な並列処理を可能とする構成である必要がある。なお、本明細書において、コンピュータとは、CPU、GPU等の演算処理部を有し、データ処理が可能な装置を意味し、パーソナルコンピュータなどの汎用コンピュータだけでなく、マルチコアCPUを搭載するタブレットなどの携帯端末や様々な装置に組み込まれたコンピュータも含む。
<2.処理動作>
次に、図2、図3に示したレンダリング装置の処理動作について説明する。図4は、本実施形態に係るレンダリング装置の処理動作を示すフローチャートである。まず、断層画像読込手段10が、複数の断層画像を読み込む。複数の断層画像は、図1(a)に示したような態様のものである。本実施形態では、DICOM形式の断層画像群Do(x,y,z)(−32768≦Do(x,y,z)≦32767,0≦x≦Sx−1,0≦y≦Sy−1,0≦z≦Sz−1; 解像度:Rxy,Rz)を読み込むものとする。断層画像群Do(x,y,z)は1画素が16ビットで記録されるため、−32768〜32767の信号値Do(x,y,z)が記録されている。断層画像群Do(x,y,z)は、x座標のサイズ(画素数)がSx、y座標のサイズ(画素数)がSyの断層画像が、Sz枚積層されたものである。図1(b)における1枚の断層画像の左右方向がx軸、上下方向がy軸に対応し、図1(a)に示した複数の断層画像を重ねた場合の積層方向がz軸に対応する。
DICOM形式の複数の断層画像を読み込んだら、ROIクリッピング設定手段20が、ROIクリッピング設定を行う(ステップS10)。ROIとはRegion of Interestの略であり、本願明細書では3次元空間における関心領域を意味する(学術的には、ROIは2次元領域を指し、3次元領域の場合、VOI(Volume of Interest)と称するが、医用画像業界では3次元領域でもROIが多用される)。ここでは、MIP画像およびボクセル画像の作成対象とする領域を示す。ROIを設定することにより、3次元的に任意の位置で被写体を断裁したMIP画像を生成することができ、体表や骨に隠れた臓器や臓器の内部を描出するのに用いられる。ステップS20以降の処理において、所定の範囲にボクセル画像作成対象が限定されるように、ステップS10においてROIを設定する。
読み込んだ各断層画像のx軸方向の左端に対応する座標をXso、x軸方向の右端に対応する座標をXeo、y軸方向の上端に対応する座標をYso、y軸方向の下端に対応する座標をYeo、第1スライスの断層画像に対応する座標をZso、最終スライスの断層画像に対応する座標をZeoとすると、Xso≦Xs<Xe≦Xeo、Yso≦Ys<Ye≦Yeo、Zso≦Zs<Ze≦Zeoを満たす[Xs,Xe]、[Ys,Ye]、[Zs,Ze]の6つの座標による直方体で定義される領域をROIと定義し処理対象として特定する。ステップS10におけるROIクリッピング設定の結果、処理対象の画素数が(Xeo−Xso+1)×(Yeo−Yso+1)×(Zeo−Zso+1)画素から、(Xe−Xs+1)×(Ye−Ys+1)×(Ze−Zs+1)画素に削減されることになる。ROIクリッピング設定手段20によるステップS10のROIクリッピング設定を行うことにより、観察対象の臓器を露出させたMIP画像が得られるという効果に加え、処理対象の画素が減って処理負荷を抑え応答性を向上させることができるという二重のメリットがあるため、設定される場合が多いが、必須の処理ではなく省略することも可能である。尚、ステップS10のROIクリッピング設定の段階では、ROIクリッピングを適用する範囲を定義するだけで、具体的なクリッピング処理は、ステップS20以降の各処理で実行される。各々の処理において、ボクセル画像のROI範囲に限定して演算が行われることにより処理負荷が軽減され、ステップS70のMIP画像生成処理でクリッピング(断裁)されたレンダリング像が生成される。
ROIクリッピング設定手段20により、ROIクリッピング設定が行われたら、次に、マスク設定手段25が、マスク設定を行う(ステップS15)。マスク設定とは、断層画像の各画素を表示させるか否かの設定である。マスク設定の手法は、特に限定されないが、本実施形態では、ステップS10において読み込んだ断層画像群をMPR画像(アキシャル・コロナル・サジタルの3画面)として画面表示するとともに、本願明細書に記載の方法に基づいて作成されるMIP画像または公知の手法により作成されるボリュームレンダリング像を表示させ、これら2次元投影された複数の画像の中から最も指示がしやすい画像を選択し、選択した画像の2次元領域を指示しながら、マスクして表示させない範囲とマスクせずに表示させる領域を特定する。
また、MIP画像の場合、公知のボリュームレンダリング像のようにカラーマップにより特定の信号領域を透明にするなどの制御ができないため、何も手を加えないと、骨領域だけが鮮明に映り他の臓器がボケてしまう。そこで本実施形態では、公知の骨除去手法を適用し、骨領域をマスクしたマスクデータを自動的に生成する機能も搭載している。このマスク設定により、断層画像群に対応した3次元空間におけるマスクデータが得られる。マスクデータMask(x,y,z)は、断層画像群Do(x,y,z)の各画素に対応して“0”か“1”かのいずれかの値が設定されたものである。MIP画像の場合、マスクデータを使用しないと、骨領域だけが鮮明に映り他の臓器がボケてしまうため、このような3次元マスクを作成する処理は必須の処理に近いが、省略することも可能である。
観察対象の臓器を描出する方法として、上述のROIクリッピングもあるが、3次元マスクに比べ操作が簡便であり、処理負荷も減少するため、ROIクリッピング処理も併用される頻度が多い。ROIクリッピング設定手段20、マスク設定手段25により表示させるべき特定の領域が設定されることになるが、両手段で設定されている場合は、いずれも表示すべき領域として設定された領域が有効領域となり、いずれか一方が設定されている場合は、その結果、表示すべき領域として設定された領域が有効領域となる。ROIクリッピング設定手段20、マスク設定手段25のどちらにも設定されない場合は、読み込まれた断層画像群の全領域が有効領域となる。
次に、ボクセル画像作成手段30が、ボクセル画像作成処理を行う(ステップS20)。ボクセル画像とは、断層画像の各画素が三次元空間にボクセルとして配置されたボクセル構造体である。ステップS20における具体的な処理としては、クリッピング設定、マスク設定後の断層画像の有効領域(ROI、マスクにより特定)に含まれる各画素の信号値を、対応する各ボクセルに付与し、ボクセル画像を作成する。
ステップS20においては、ボクセル画像作成手段30が、複数の断層画像のXs≦x≦XeかつYs≦y≦YeかつZs≦z≦Zeの領域に対応する各画素(x,y,z)における信号値を取得する。複数(Sz)枚の断層画像における全ての画素に対して、この処理を行うことにより、複数枚の断層画像に対応した三次元のボクセル画像V(x,y,z)が得られる。本実施形態では、DICOM形式の断層画像群Do(x,y,z)の信号値をそのままボクセル値として与えているため、ボクセル画像V(x,y,z)の各画素は、1画素が16ビットで記録され、−32768〜32767の値をとる。このボクセル画像は、不揮発性の記憶装置3に記憶する必要はなく、RAM2上に一時的に作成すればよい。
次に、2次元投影画像生成手段70がMIP画像の生成を行う(ステップS70)。モノクロの2次元投影画像であるMIP画像は、視線方向を通過する各画素の信号値を基に算出された代表信号値で構成される。図5は、MIP画像生成の詳細を示すフローチャートである。まず、生成するMIP画像のサイズ(画素数)の設定を行う(ステップS510)。レンダリング像であるMIP画像は、2次元投影画像であるため、サイズとしては、x座標のサイズとy座標のサイズが設定され、断層画像のサイズと同一に設定されることが多いが、任意に設定することができる。本実施形態では、x座標のサイズとy座標のサイズを同一とし、Sizeとしている。
次に、生成する座標変換パラメータの設定を行う(ステップS520)。2次元投影画像生成手段70は、以後のステップにおいて座標変換を実施する際に共通に用いるパラメータである座標変換パラメータを設定する。座標変換パラメータの設定は、ボクセルに対して仮想光を照射する際、ボクセル単位に逐次座標変換処理を円滑に行うことができるようにするために、視点を基準とする視点座標系における3次元座標を基にボクセル画像が定義されているボクセル座標系の3次元座標に変換し、ボクセル座標系において対応するボクセルの信号値を取得するための処理である。
ここで、座標変換の概念図と座標変換パラメータの具体例については説明する。図6は、座標変換の概念図である。レンダリングにより得られるMIP画像は視点から見た画像であるので、MIP画像の各画素(x,y)の基準となる視点座標系は必ずしもボクセル座標系とは一致していない。そこで2次元投影画像生成手段70は、ボクセル座標系に定義されているボクセル画像を視点座標系に変換する必要がある。すなわち、本来は、図6(a)に示すように、投影面の各点からボクセル画像に対して任意の方向に仮想光線(レイ)を発射し、仮想光線が交差するボクセル画像内の指定範囲における信号値を複数抽出し、抽出された複数のボクセルの信号値を基に単一の代表信号値(最大値・最小値・平均値)を算出する。しかし、計算を簡単にするため、ボクセル画像に座標変換を施し、図6(b)に示すように、投影面の各点よりz軸負方向に指定範囲における代表信号値(最大値・最小値・平均値)を算出する。
座標変換を実施する際には、様々な座標変換パラメータを用いる。視点座標系とボクセル座標系の位置関係が同じであれば、座標変換パラメータも同じであると考えられる。即ち、2次元投影画像生成手段70において、視点座標系で参照される全てのボクセルに対して、ボクセル座標系に座標変換を実施するための座標変換パラメータは同一である。そこで2次元投影画像生成手段70は、ステップS520において座標変換パラメータをあらかじめ算出し、以後のステップにおいてはその座標変換パラメータを共通の座標変換パラメータとして流用する。座標変換パラメータとしては例えば以下のようなものが挙げられる。
・所定の3次元座標系における回転を定義した3×3行列(逆方向に投影変換が行われるため、指示入力I/F4により指示され定義された3×3行列の逆行列)
・xyz軸方向のオフセット値:Xoff、Yoff、Zoff(単位:ボクセル)
・拡大又は縮小倍率:Scale(xyz各軸について同じ値を用いる。)
・z軸方向変倍率:Scz=Rxy/Rz(xy軸方向の解像度Rxyとz軸方向の解像度Rzの間の比率)
・仮想光線のサブサンプリング倍率:Sray(通常は1以上の整数、値が大きいと粗くなる、1未満の実数も指定可)
MIP画像のサイズと、座標変換パラメータが設定されたら、設定されたサイズと座標変換パラメータに基づいて、MIP画像の生成を行う。MIP画像の生成は、設定されたサイズにより定まる生成領域を複数に分割し、得られた各分割生成領域について並行して処理を行って分割画像を生成することにより行う。まず、2次元投影画像生成手段70は、並列処理を行うための分割する分割生成領域を初期設定する(ステップS530)。本実施形態では、x座標については分割せず、y座標についてN個に分割する。具体的には、各分割生成領域のy座標の先頭座標をY1、末尾座標をY2とし、先頭座標Y1、末尾座標Y2に、設定されたサイズで特定される全体のMIP画像の分割生成領域を割り当てていく。初期値として、Y1=0、Y2=Size/N−1が設定される。
分割生成領域が設定されたら、次に、MIP画像の分割画像の生成処理を行う(ステップS540)。上述のように、MIP画像は、y座標においてのみN個に分割されているため、分割画像のx座標の画素数はSizeであり、分割画像のy座標の画素数は(Y2−Y1+1)となる。したがって、ステップS540においては、Size×(Y2−Y1+1)画素の分割画像を生成することになる。このステップS540の処理については後述する。
ステップS540の処理は、複数のCPUコアにより並行して行われる。このため、最初の分割範囲について分割画像の生成処理を1つのCPUコアに割り当てて実行処理を起動したら、処理終了を待たずに次の分割生成領域を設定および生成処理の起動を進める(ステップS550)。具体的には、Y1、Y2の値をそれぞれSize/Nだけ増加し、次の分割生成領域におけるy座標の先頭座標Y1、末尾座標Y2を新たに設定する。
ステップS550において新たな分割生成領域を設定した後、新たな分割生成領域がMIP画像全体のサイズを超えている場合、すなわち、ここでは、Y2>Size−1を満たす場合は、全ての分割生成領域について設定および分割画像生成の処理の起動を終えたとして、図5に示すステップS70の処理を終了する。ただし、この段階ではステップS540における個々の分割画像生成の処理が終了している訳ではない。ステップS550において新たな分割生成領域を設定した後、新たな分割生成領域がMIP画像のサイズを超えていない場合、すなわち、ここでは、Y2≦Size−1を満たす場合は、全ての分割生成領域について処理を終えていないため、ステップS540に戻って、他のCPUコアに割り当て、分割画像の生成を起動する処理を繰り替えす。
ステップS540の処理について説明する。図7は、図5のステップS540における分割画像生成処理を示すフローチャートである。上述のように、分割画像生成処理においては、x軸方向については、画素数Sizeの全範囲、y軸方向については、先頭座標Y1、末尾座標Y2までの範囲で処理が行われる。まず、生成する分割画像の各画素の初期値を全て0とする(Image(x,y)=0)。また、代表信号値算出モードmode (0:MIP, 1:MinIP, 2:RaySum)を設定する。そして、各2次元座標(x,y)(0≦x≦Size−1,Y1≦y≦Y2)に対して図7のフローチャートに従った処理を実行する。
まず、処理対象とする画素の初期設定を行う(ステップS610)。最初は、x座標、y座標の値がともに最小であるy=Y1、x=0を処理対象の画素とする。次に、処理対象とされた画素に与えるべき代表信号値Vmの算出を行う(ステップS620)。このステップS620の処理については後述する。
ステップS620における処理により、代表信号値Vmが算出されたら、処理対象の画素(x,y)の値として代表信号値Vmを与えて記録する。具体的には、Image(x,y)=Vmとする処理を行う(ステップS630)。処理対象とする画素に対応する代表信号値を記録したら、処理対象の画素を変更する。具体的には、x座標の値を1だけインクリメントする(ステップS640)。ステップS640において処理対象の画素を変更した結果、処理対象の画素がx座標のサイズ内である場合、すなわち、ここでは、x<Sizeを満たす場合は、ステップS620に戻って代表信号値Vmの算出を行う。ステップS640において処理対象の画素を変更した結果、処理対象の画素がx座標のサイズを超える場合、すなわち、ここでは、x≧Sizeを満たす場合は、y座標の値を1だけインクリメントする(ステップS650)。ステップS650において処理対象の画素を変更した結果、処理対象の画素がy座標のサイズ内である場合、すなわち、ここでは、y≦Y2を満たす場合は、ステップS620に戻って代表信号値Vmの算出を行う。ステップS650において処理対象の画素を変更した結果、処理対象の画素がy座標のサイズを超える場合、すなわち、ここでは、y>Y2を満たす場合は、割り当てられた分割範囲について処理を終えたとして、図7に示すステップS540の処理を終了する。
次に、図7のステップS620の処理について詳細に説明する。図8は、図7のステップS620における代表信号値Vmの算出処理を示すフローチャートである。まず、変数の初期化を行う(ステップS710)。具体的には、代表信号値Vm、カウンタCnt、Zsの初期化を行う。Zsは、Zs=Size/Sray−1として初期値が算出される。代表信号値Vmは、モードにより異なる。3種類のモードのうち、mode=0の場合Vm=−32768、mode=1の場合Vm=32767、mode=2の場合Vm=0として初期化される。カウンタCntは、mode=2の場合のみ使用され、Cnt=0として初期化される。
次に、起点座標の探索を行う(ステップS720)。ステップS720の処理については、図9を用いて説明する。図9は、起点座標探索手段77が各画素において起点座標を探索する処理を示すフローチャートである。起点座標探索手段77は、各対象画素(x,y)について図9に示したフローチャートに従った処理を実行する。
起点座標探索手段77は、起点座標を探索する対象画素(x,y)、視点座標系の3次元座標(x,y,z)をセットする(ステップS301)。探索開始座標であるz座標の初期値はz=Zs(上限値)とする。z座標の下限値は0、上限値はZsである。上限値であるZsは視点のz座標である。
起点座標探索手段77は、3次元座標(x,y,z)について、座標変換を実施して対応するボクセル画像のボクセルの信号値Vsを算出する(ステップS302)。座標変換は、視点座標系をボクセル座標系に変換する操作であり、GUI側の変換操作とは逆になる。GUI側ではROIによるクリッピング、スケーリング、z軸方向変倍処理、回転、オフセット(xyz軸方向同時)の順に行うものと仮定し、与えられた視点座標系の3次元座標(x,y,z)(整数値)に対応するDICOM形式の複数の断層画像Do(x,y,z)の各画素に1対1で対応するボクセル画像のボクセルに対応する実数の座標(xr,yr,zr)を算出する。
具体的には、まず、整数値である視点座標系の3次元座標(x,y,z)を実数値(xx,yy,zz)に変換する。視点座標系は、Size×Size×Size/Srayの直方体であり、Sx×Sy×Szのボクセル構造体とは独立して定義される。DICOM形式の断層画像のサイズSx×Syは、通常Sx=Sy=512であるため、Size=512とすることが多い。
視点座標系のz軸方向は仮想光線サブサンプル(1/Sray)倍(Sray>1)に縮小されていることを考慮して、最初に、以下の〔数式1〕に従った処理を実行してxyz軸方向同時にオフセット処理を行う。
〔数式1〕
xx=x−Size/2+Xoff
yy=y−Size/2+Yoff
zz=z・Sray−Size/2+Zoff
続いて、生成された3×3回転逆行列を用いて、以下の〔数式2〕に従った処理を実行して回転処理を行う。
〔数式2〕
xx´=R11・xx+R12・yy+R13・zz
yy´=R21・xx+R22・yy+R23・zz
zz´=R31・xx+R32・yy+R33・zz
回転処理後の座標として(xx´,yy´,zz´)が得られる。続いて、以下の〔数式3〕に従った処理を実行して、スケーリング、z軸方向変倍処理を同時に行う。
〔数式3〕
xr=xx/Scale+Sx/2
yr=yy/Scale+Sy/2
zr=zz/(Scale・Scz)+Sz/2
このようにしてボクセル座標系の座標(xr,yr,zr)が算出される。この座標(xr,yr,zr)は実数値である。次に、起点座標探索手段77は、算出されたボクセル座標系の座標(xr,yr,zr)を整数値化する。具体的には、以下の〔数式4〕に従った処理を実行して、整数値化を行う。
〔数式4〕
xi=INT[xr+0.5]
yi=INT[yr+0.5]
zi=INT[zr+0.5]
〔数式4〕において、INTは[]内の数値の小数点以下を切り捨てて整数化することを意味する。したがって、〔数式4〕に従った処理により、実数値の座標(xr,yr,zr)の各値は、四捨五入されて、整数値の座標(xi,yi,zi)が得られる。
このようにして、視点座標系の座標(x,y,z)に対応するボクセル座標系の座標(xi,yi,zi)が得られたら、ROIおよびマスクデータMaskを用いて、以下の〔数式5〕に従った処理を実行して、ボクセル座標系の座標(xi,yi,zi)に対応するボクセル信号値Vsを求める。
〔数式5〕
Mask(xi,yi,zi)=0(マスクされる箇所)、または、xi<Xsまたはxi>Xeまたはyi<Ysまたはyi>Yeまたはzi<Zsまたはzi>Ze(ROIの外)の場合(すなわち有効領域でない場合):Vs=−99999(無効値)
上記以外の場合(すなわち有効領域である場合):Vs=V(xi,yi,zi)
〔数式5〕において、マスクされる箇所、またはROIの外である場合は、Vsに−99999を設定しているが、信号値が有効範囲の外であって無効であることを示すことができる値であれば、どのような値であってもよい。
ここで、有効領域とは、マスクデータによりマスクされておらず(Mask(xi,yi,zi)=1)、かつROI内である領域を示している。すなわち、ROIクリッピング、マスク設定のいずれにおいても、表示すべき領域として設定された領域が有効領域となる。また、有効範囲とは、画素がとり得る信号値の範囲であり、16ビットの場合、−32768〜32767が有効範囲となる。上記〔数式5〕では、変換後の座標が有効領域でない場合、有効範囲外の値を無効値として設定している。
Vsが−32768より小さければステップS303へ進み、Vsが−32768以上であればステップS305へ進む。この“−32768”は、ボクセルの16ビットの信号値がとり得る下限値である。すなわち、Vsが無効値であればステップS303へ進み、Vsが有効値であればステップS305へ進む。
ステップS303において、起点座標探索手段77は、z軸方向に所定個数のボクセルをスキップする。具体的には現在のz座標から所定数m2(例えばm2=8)を減算する。なお、ステップS740、S760で用いられる所定数m1と比較すると、m2>m1である。本実施形態ではm1=1である。減算した結果、z座標が0以上である場合はステップS302へ戻って同様の処理を繰り返す。z座標が0未満になった場合は、ステップS304へ進む。
ステップS304において、起点座標探索手段77は、現在の対象画素(x,y)に対応するz座標に対して、起点座標が見つからなかった旨を示す値(zの本来の下限値が0である場合、例えば−1などの負値)をセットして起点座標の探索処理を終了する。
ステップS305に進んだ場合、起点座標探索手段77は、変数iを初期化した後(ステップS305)、m1だけ加算する(ステップS306)。iがm2まで到達した場合、または現在のz座標にiを加算すると視点z座標である上限値Zsに達する場合は、ステップS308に進み、z座標に対して、現在のz座標にm1を加算する前のiを加算した値をセットする。iがm2まで到達しておらず、かつ現在のz座標にiを加算しても視点z座標である上限値Zsまで達しない場合は、ステップS307へ進む。
ステップS307において、起点座標探索手段77は、3次元座標(x,y,z+i)について、座標変換を実施して対応するボクセルの信号値Vsを算出する。算出手順はステップS302と同じである。Vsが−32768以上であればステップS306へ戻ってiにm1を加算して同様の処理を繰り返す。Vsが−32768より小さければステップS308へ進む。
ステップS308において、起点座標探索手段77は、現在の対象画素(x,y)に対応して、ステップS307の1つ手前のz座標(z+i−m1)をセットして起点座標の探索を終了する。
結局、起点座標探索手段77は、図9に示した処理に従い、z座標を所定の上限値より所定の下限値の範囲で前記所定数m1より大きい所定数m2(m2>m1)で減算させて、各3次元座標に対して、座標変換を行ってボクセルの信号値を算出し(S302)、所定数m2の減算後のz座標におけるボクセルの信号値が有効範囲に含まれる場合(S305)は、減算後のz座標より所定数m1を増加させて(S306)各3次元座標(x,y,z)に対して、座標変換を行ってボクセルの信号値を算出している(S307)。この処理は、MIPモードに限定されず、RaySumモードやMinIPモードにおいても利用可能であり、演算抑制の効果が得られる。
図9に示した処理を実行して、起点座標zが探索されたら、図8に示すステップS720の処理を終えたことになる。得られた起点座標zがz<0である場合は、有効ボクセルが存在しなかったことを意味するので、ステップS770に進む。得られた起点座標zがz≧0である場合は、3次元座標(x,y,z+i)を座標変換してボクセル信号値Vsを取得する(ステップS730)。
具体的には、ステップS302、S308における〔数式1〕〜〔数式3〕に従った処理を実行して、与えられた視点座標系の3次元座標(x,y,z)(整数値)に対応するDICOM形式の複数の断層画像Do(x,y,z)の各画素に1対1で対応するボクセル画像のボクセルに対応する実数の座標(xr,yr,zr)を算出する。
次に、算出されたボクセル座標系の座標(xr,yr,zr)を整数値化する。ステップS302、S308の処理とは異なり、まず、小数点以下を切り捨て整数化した座標を(xia,yia,zia)とし、切り捨てた小数点以下の端数を(wx,wy,wz)とする。すなわち、xr=xia+wx,yr=yia+wy,zr=zia+wzとなる。
次に、ROIおよびマスクデータMaskを用いて、以下の〔数式6〕に従った処理を実行して、ボクセル座標系の座標(xia,yia,zia)に対応するボクセル信号値Vsを求める。以下の〔数式6〕においては、3通りに分けて処理が行われる。
〔数式6〕
1)Mask(xia,yia,zia)=0(マスクされる箇所)、または、xia<Xsまたはxia>Xeまたはyia<Ysまたはyia>Yeまたはzia<Zsまたはzia>Ze(ROI範囲外)の場合:Vs=−99999(無効値)
2)上記1)を満たさず、xia+1>Xeまたはyia+1>Yeまたはzia+1>Zeの場合、補間処理を実行せずにVs=V(xia,yia,zia)
3)上記1)2)を満たさない場合、以下の補間処理を実行
Vs=(1−wz)(1−wy)(1−wx)・V(xia,yia,zia)
+(1−wz)(1−wy)・wx・V(xia+1,yia,zia)
+(1−wz)・wy・(1−wx)・V(xia,yia+1,zia)
+(1−wz)・wy・wx・V(xia+1,yia+1,zia)
+wz・(1−wy)(1−wx)・V(xia,yia,zia+1)
+wz・(1−wy)・wx・V(xia+1,yia,zia+1)
+wz・wy・(1−wx)・V(xia,yia+1,zia+1)
+wz・wy・wx・V(xia+1,yia+1,zia+1)
〔数式6〕の3)においては、補間処理を行う際に、実数値のボクセル座標(xr,yr,zr)の近傍に位置する整数値のボクセル座標(xia,yia,zia)等を8個取得し、この値を用いて、各信号値に所定の重みwx、wy、wz、(1−wx)、(1−wy)、(1−wz)を掛けながら加算した値を、3次元座標に対応するボクセルの信号値Vsとして与えている。〔数式6〕において、マスクされる箇所またはROIの外である場合、すなわち有効領域の外である場合は、Vsに−99999を設定しているが、無効であることを示すことができる値であれば、どのような値であってもよい。
Vsが−32768より小さければステップS740へ進み、Vsが−32768以上であればステップS750へ進む。この“−32768”は、ボクセルの16ビットの信号値がとり得る下限値である。すなわち、Vsが無効値であればステップS740へ進み、Vsが有効値であればステップS750へ進む。
ステップS740において、起点座標探索手段77は、視点の座標を所定数m1だけ減じる。この所定数m1は整数である。上述のように、本実施形態では、m1=1であり、m1<m2である。そして、ステップS720へ戻って同様の処理を繰り返す。
ステップS750において、起点座標探索手段77は、代表信号値Vmを設定する。ステップS750においては、設定されているモードにより処理が異なる。具体的には、以下の〔数式7〕に従った処理を実行して、代表信号値Vmを設定する。
〔数式7〕
mode=0(MIPmode):Vs>VmならばVm=Vs
mode=1(MinIPmode):Vs<VmならばVm=Vs
mode=2(RaySummode):Vm←Vm+Vs,cnt←cnt+1
代表信号値Vmが設定されたら、次に、zを所定数m1だけ減じる(ステップS760)。本実施形態では、m1=1であり、m1<m2である。そして、zが0以上であれば、ステップS730へ戻って同様の処理を繰り返す。zが0未満であれば、対象とするボクセルがなくなるので、ステップS770へ進む。〔数式1〕の第3式に示したように、ステップS302におけるオフセット処理の際、zは仮想光線のサブサンプリング倍率Srayと乗じられる。そのため、実質的には、z軸方向においては、所定の参照間隔(m1・Sray)ごとにボクセルが参照されてボクセル信号値Vsが取得されることになる。したがって、(m1・Sray)>1であれば、z軸方向に対しては、全てのボクセルを参照して処理するのではなく、間引いたボクセルを参照して処理を行うことになる。そのため、z軸方向に対して処理するボクセル数が少なくなり効率化が図られる。本実施形態では、m1=1であるため、Sray>1であることが好ましい。また、Sray≦1である場合は、(m1・Sray)>1となるような値になるようにm1を設定することが好ましい。参照間隔(m1・Sray)は、(m1・Sray)=1であってもよいが、(m1・Sray)≧2であることがより好ましい。
ステップS770、S780では、モードに応じた処理を行う。まず、ステップS770では、mode=2であるか否かを判定する。そして、mode=2でない場合、すなわち、mode=0または1である場合は、処理を終了する。mode=2である場合、Vmをcntで除算して、新たなVmを得る(ステップS780)。そして、処理を終了する。
以上のようにして代表信号値Vmを得る処理を、N個の各CPUが、図5に示したステップS540の処理を、N個に分割された各分割画像に対して実行し、得られた分割画像を統合することにより、設定されたSize×Sizeのモノクロの2次元投影画像であるMIP画像が生成される。なお、必ずしも設定されたSize×Sizeの2次元投影画像に統合する必要はなく、各分割画像を順次表示する場合には、分割画像の統合は行わない。
MIP画像が生成されたら、次に、MIP画像の表示処理を行う。MIP画像の表示を行う表示機器は、1画素8ビットであることが多い。そのため、1画素16ビットで記録されたMIP画像を表示する場合は、表示部6のビット数に合わせるため、MIP画像の階調を落として表示処理を行う必要がある。具体的には、以下の〔数式8〕に従った処理を実行することにより、MIP画像の階調を8ビットに変換する。
〔数式8〕
Image´(x,y)=(Image(x,y)−Lmin)・255/(Lmax−Lmin)
Image´(x,y)>255の場合:Image´(x,y)=255、Image´(x,y)<0の場合:Image´(x,y)=0
〔数式8〕の第2式に示すように、信号値が上限値Lmaxを超える場合は255、下限値Lminを下回る場合は0として、下限値Lminから上限値Lmaxの範囲を0から255に線形変換する。
なお、〔数式8〕において用いる下限値Lminと上限値Lmax については、表示中にGUIを通じてユーザが任意に変更・調整できるようにしている。医療分野では、下限値Lminと上限値Lmax の代わりに、DICOM規格のWindow Width(ウィンドウ幅:WW)、Window Level(ウィンドウレベル:WL)を使用する習慣があるため、GUIもこれに基づいて設計される。WL=(Lmax+Lmin)/2, WW=Lmax −Lminで定義されていることから、WL、WWが与えられた場合、Lmax=WL+WW/2, Lmin=WL−WW/2と設定される。
図10は、生成されたMIP画像の例を示す図である。いずれもROIとして、x:0-511, y:170-250 (0-511), z:0-369とした例を示しており、後述する8ビットに圧縮した階調圧縮断層画像に基づいて生成された8ビット階調のMIP画像である。図10(a)は、MIP(mode=0)のMIP画像、図10(b)は、MinIP(mode=1)のMIP画像、図10(c)は、RaySum(mode=2)のMIP画像を示している。図10(a)のMIP画像では、8ビット階調で50−180の範囲(16ビット階調換算では、Lmin=−406、Lmax=574、WL=84、WW=980)を256段階で表示する態様としている。図10(b)のMIP画像では、8ビット階調で0−120の範囲(16ビット階調換算では、Lmin=−784、Lmax=121、WL=―331、WW=905)を256段階で表示する態様としている。図10(c)のMIP画像では、8ビット階調で0−130の範囲(16ビット階調換算では、Lmin=−784、Lmax=196、WL=−294、WW=980)を256段階で表示する態様としている。
上述のように、本実施形態に係るレンダリング装置100では、2次元投影画像生成手段70が、マルチコアCPUであるCPU1が、プログラムを実行することにより実現される。このプログラムは、MIP画像の生成領域を複数に分割し、各コアに各分割生成領域を割り当てて、各コアがMIP画像の部分画像を生成する処理を並行して行う。レンダリング装置100を、汎用的なコンピュータであるパソコンで実現した場合について説明する。図11は、コンピュータによりレンダリング装置100を実現する場合の並列化処理を示す図である。図11に示すように、2次元投影画像生成手段70が、アプリケーションプログラムにより実現され、例えばN=4個にMIP画像を分割する場合、アプリケーションプログラムは、4個の各分割生成領域に対する処理を4つの処理スレッド♯n1〜処理スレッド♯n4に分割する。そして、2次元投影画像生成手段70(アプリケーションプログラム)が稼働するマルチタスク・オペレーティングシステムのジョブスケジューラが、複数のCPUコアが有するCPUスレッド#1〜CPUスレッド#8に割り当てる。
図12は、コンピュータによりレンダリング装置100を実現する場合の並列化処理のソフトウェアによる流れを示す図である。図12に示すように、2次元投影画像生成手段70を実現するアプリケーションプログラムは、4個の各分割生成領域に対する処理を4つの処理スレッド♯n1〜処理スレッド♯n4に分割した後、それぞれ並列処理関数を起動する。そうすると、マルチタスク・オペレーティングシステムのジョブスケジューラが、4つのスレッド♯n1〜スレッド♯n4を複数のCPUコアが有するCPUスレッド#3、CPUスレッド#5、CPUスレッド#7、CPUスレッド#2、にそれぞれ割り当てる。このようにして、オペレーティングシステムにより空いているCPUコアのCPUスレッドに、処理すべき処理スレッドが割り当てられるため、並列処理が可能となる。図12の例では、アプリケーションプログラムが各CPUスレッドからの終了メッセージを待ち、全てのCPUスレッドから終了メッセージが得られたら、生成された分割画像を統合した画像を生成し、一括して表示部6に出力し、表示を行う。4コア構成のCPU(Intel CORE-i7)が実装されているWindows10/64bitsのパーソナルコンピュータで実測した結果、図12の構成ではシングルスレッド実行時(512×512のフル解像度画像の生成時間:約1.6sec)の3倍弱程度の処理速度しか得られず(同生成時間:約0.6sec)、一部のCPUスレッドに処理待ちが生じていた。そこで、MIP画像生成処理の分割数をN=8に上げて、8処理スレッドで並列処理を行ったら、シングルスレッド実行時のほぼ4倍の処理性能が得られ(同生成時間:約0.4sec)、N>8に上げても処理性能は殆ど変化せず4倍で頭打ちであった。
図12に示した例は、全ての処理スレッドの終了を待って、生成された分割画像を統合して表示処理を開始する場合の例であるが、各処理スレッドの終了ごとに、分割画像を統合せずに表示処理を行う流れとすることもできる。図16は、各処理スレッドの終了ごとに表示処理を行う場合の並列化処理のソフトウェアによる流れを示す図である。図12に示した例と同様、2次元投影画像生成手段70を実現するアプリケーションプログラムは、4個の各分割生成領域に対する処理を4つの処理スレッド♯n1〜処理スレッド♯n4に分割した後、それぞれ並列処理関数を起動する。そうすると、マルチタスク・オペレーティングシステムのジョブスケジューラが、4つの処理スレッド♯n1〜処理スレッド♯n4を複数のCPUコアが有するCPUスレッド#3、CPUスレッド#5、CPUスレッド#7、CPUスレッド#2、にそれぞれ割り当てる。図16の例では、アプリケーションプログラムが各CPUスレッドからの終了メッセージを待ち、各CPUスレッドから終了メッセージが得られたら、生成された分割画像ごとに表示部6に出力し、表示を行う。
<3.プログレッシブレンダリング>
次に、本実施形態に係るレンダリング装置を用いて、プログレッシブレンダリングを行う処理について説明する。図13は、プログレッシブレンダリングの処理手順を示すフローチャートである。まず、指示入力機器であるマウスボタンのプレス操作に基づいて、マウス座標およびxy回転角の初期設定を行う(ステップS810)。具体的には、所定の位置にマウス座標を設定し、xy回転角(x軸中心の回転角およびy軸中心の回転角、z軸中心の回転角は直接指定できないがxy回転操作を繰り返すことで変更可)を所定角度に設定し、3次元座標系における回転を定義した3×3行列を生成する。そして、生成された3×3行列に基づいて座標変換パラメータを設定し、x軸方向、y軸方向それぞれに1/4ずつ間引いてMIP画像を生成し、表示部6に表示出力する(ステップS820)。すなわち、x軸方向、y軸方向それぞれに1/4間引かれたMIP画像が初期画像として表示されることになる。ステップS820においては、図5のフローチャートに従った処理を実行して、MIP画像を生成する。ただし、全ての画素に対して実行するのではなく、x軸方向、y軸方向それぞれに1/4、全体としては1/16の画素に対して、レンダリングによる画素値の算出処理を行い。残りの15/16の画素に対しては、レンダリングにより得られた画素を補間することにより画素値を求める。図5のフローチャートに従った処理を実行する際には、ステップS810で初期設定されたxy回転角をステップS520において取得し、3次元座標系における回転を定義した3×3行列を生成した上で、座標変換パラメータを設定する。
マウスのドラッグ操作(ボタンを押しながら移動)が行われると、マウス座標の移動量に基づき、xy回転角の更新を行う(ステップS830)。具体的には、所定のタイミングでマウス移動が検知された場合、取得されたマウス座標の、前回取得されたマウス座標からの移動量を求め、x座標の移動量を基にy軸中心の回転角を更新し、y座標の移動量を基にx軸中心の回転角を更新する。そして、更新されたxy回転角に基づいて3×3行列を更新し、更新された3×3行列に基づいて座標変換パラメータを設定し、x軸方向、y軸方向それぞれに1/4ずつ間引いてMIP画像を生成し、表示部6に表示出力する(ステップS840)。この時、MIP画像の生成はフル解像度の生成時間(4コアCPUの場合、約0.4秒)の約1/16で実行されるため、マウスのドラッグ操作に追従して、間引き表示されているMIP画像がリアルタイムに更新されるため、利用者から見れば、マウスのドラッグ操作を行うことにより、アングル(回転角)の変更指示を行っていることになる。ステップS840における処理は、ステップS820と同様にして行われる。ステップS830、ステップS840の処理は、マウスボタンがプレスした状態で、ドラッグ操作が継続している間、繰り返し実行される。したがって、利用者がマウスを用いてドラッグ操作を続けている間、表示部6の画面には、x軸方向、y軸方向それぞれに1/4に間引きされたMIP画像が角度を変えながら表示され続けることになる。
マウスボタンのリリース操作が行われると、マウス座標の移動量に基づき、xy回転角の更新を行う(ステップS850)。具体的には、マウスボタンのリリース時において取得されたマウス座標の、前回取得されたマウス座標からの移動量を求め、x座標の移動量を基にy軸中心の回転角を更新し、y座標の移動量を基にx軸中心の回転角を更新する。そして、更新されたxy回転角に基づいて3×3行列を更新し、更新された3×3行列に基づいて座標変換パラメータを設定し、間引きを行わずにMIP画像を生成し、表示部6に表示出力する(ステップS860)。すなわち、図5のフローチャートに従った処理を実行して、全ての画素について画素値を算出し、MIP画像を生成し、表示する。このため、マウスのドラッグ操作を中止し、マウスボタンをリリースした際には、表示部6の画面には、静止した状態で間引きされていないフル解像度のMIP画像が表示されることになる。したがって、利用者から見れば、マウスボタンのリリース操作を行うことにより、アングル(回転角)の確定指示を行っていることになる。
図14は、プログレッシブレンダリングにより表示された画面例を示す図である。図14(a)は、ステップS820、S840における表示の際の画面であり、図14(b)は、ステップS860における表示の際の画面である。マウスのドラッグ操作時には、間引き表示を行っているため、図14(a)に示すように、画像は粗くなるが、マウスの移動操作に追従して回転角度が異なる画像を次々にリアルタイムに表示することができる。そして、マウスのドラッグ操作を終えて回転角度が確定された際には、図14(b)に示すように、高精細な画像を表示することができる。
<4.断層画像の階調落とし>
上記実施形態では、各画素が16ビットの信号値を記録した断層画像をそのまま用いてボクセル画像を作成するようにしたが、断層画像を8ビットに階調変換して階調低下画像を作成した後、ボクセル画像を作成するようにしてもよい。断層画像を8ビットに階調変換することにより、各画素の処理における負荷を削減することができ、MIP画像の高速な生成に寄与する。
この場合、断層画像階調変換手段を更に設け、断層画像読込手段10が単一の断層画像を読み込むごとに、階調変換を行う。具体的には、一連のDICOM形式の断層画像Do(x,y,z)(−32768≦Do(x,y,z)≦32767,0≦x≦Sx−1,0≦y≦Sy−1,0≦z≦Sz−1; 解像度:Rxy,Rz)の中で、Sz/2番目の中間の断層画像Do(x,y,z/2)を最初に読み込み、同断層画像における全ての画素の最小値をDmin、最大値をDmaxとする。DminとDmaxは全ての断層画像より最小値と最大値を求める方法をとっても良いが、中間の断層画像だけで決定する方法をとると、大容量の16ビットの原断層画像の全てのスライス分を読み込んでメモリ上に保持することなく、階調低下画像である階調圧縮断層画像D8(x,y,z)だけをメモリ上に直接構築できる。続いて、以下の〔数式9〕に従った処理を実行して、下限値Lmin および上限値Lmaxを算出する。下限値Lmin および上限値Lmaxは、〔数式8〕において用いる下限値Lminと上限値Lmax と同様な作用をするが、〔数式8〕と異なり固定的に与える。
〔数式9〕
下限値Lmin=(Dmax−Dmin)・γ+Dmin
上限値Lmax=(Dmax−Dmin)・(1−γ)+Dmin
〔数式9〕において、γは階調圧縮画像のコントラスト調整幅で、0に近いほどコントラストが増大するが輝度が小さくなる。γは0.3未満の実数値であるが、通常はγ=0.1に設定する。MIP画像の輝度コントラストはGUI側において後述する〔数式10〕と同様な計算式で調整できるので、γは固定で良い。そして、下限値Lminおよび上限値Lmaxの範囲を256段階に圧縮して階調圧縮断層画像D8(x,y,z)を得る。具体的には、階調圧縮断層画像D8(x,y,z)(0≦D8(x,y,z)≦255,0≦x≦Sx−1,0≦y≦Sy−1,0≦z≦Sz−1; 解像度:Rxy,Rz)としたとき、以下の〔数式10〕に従った処理を実行して、階調圧縮断層画像D8(x,y,z) を算出する。
〔数式10〕
D8(x,y,z)=(Do(x,y,z)−Lmin)・255/(Lmax−Lmin)
D8(x,y,z)>255の場合:D8(x,y,z)=255、D8(x,y,z)<0の場合:D8(x,y,z)=0
〔数式10〕の第2式に示すように、信号値が上限値Lmaxを超える場合は255、下限値Lminを下回る場合は0として、下限値Lminから上限値Lmaxの範囲を0から255に線形変換する。算出された階調圧縮断層画像D8(x,y,z)に対して、図5に基づく処理を実行すると階調が8ビットのMIP画像が生成される。そのため、原理的には〔数式8〕に従った処理を行わずに表示処理を行うことができる。しかし、MinIPやRaySumモードでは256階調の下側に画素値が集中することが多く、適切なコントラストで表示することが難しい。そこで、16ビット階調のMIP画像を表示する場合と同様に、GUI側でWindow Width(ウィンドウ幅:WW)、Window Level(ウィンドウレベル:WL)を調整し、256階調の範囲で下限値Lminと上限値Lmaxを設定し、〔数式8〕に従った処理を行うことが多い。前述の図10は3つとも8ビットのMIP画像の生成例で、図10(a)はLmin=50,Lmax=180に、図10(b)はLmin=0,Lmax=120に、図10(c)はLmin=0,Lmax=130に、各々設定して〔数式8〕に従った処理を行って表示したものである。
上記実施形態では、MIP画像の生成領域をy軸方向のみに複数に分割するようにしたが、複数の領域に分割することができれば、分割の態様は特に限定されない。図15に、生成領域を複数の分割生成領域に分割する場合の様々な態様を示す図である。図15において、矩形は、画像の生成領域を示し、左右方向がx軸、上下方向がy軸である。また、図15においては、いずれもN=4として、4個の分割生成領域R1〜R4に分割する例を示している。図15(a)は、y軸方向のみに複数に分割した例を示している。上記実施形態では、図15(a)のような分割態様を想定して説明した。図15(b)は、x軸方向のみに複数に分割した例を示している。図15(c)は、x軸方向、y軸方向ともに分割した例を示している。図15(a)〜図15(c)の例では、いずれも、1つの分割生成領域は1つの連続した領域となっている。
図15(a)〜図15(c)に示した例の中では、図15(b)に示したように、x軸方向のみに複数に分割することが好ましく、次に図15(a)に示したように、y軸方向のみに複数に分割することが好ましい。通常、CPUは、スクリーン(表示画面)のy軸方向は、正面アングルでは、ボクセル画像のz軸方向に対応し、各分割生成領域はz軸方向に飛び飛びのアドレスでボクセル画像にアクセスすることになる。この際、x軸方向のみに分割すれば、各分割生成領域について殆ど同一のz座標でボクセル画像にアクセスすることになり、アクセス時間が短縮する。このため、使用頻度の高い正面アングルにおいて最も高速化できるx軸方向のみに分割するようにしてもよい。また、アングルに応じて分割する方向を切り替えるようにしてもよい。
図15(d)の例では、1つの分割生成領域が1つの連続した領域となっておらず、1つの分割生成領域が離れた態様となった例を示している。図15(d)の例においても、N=4であり、4つの分割生成領域R1〜R4に分割されるが、さらに各分割生成領域R1〜R4が4つのブロックに分割されている。このように、1つの分割生成領域を複数のブロックに分けて処理を行う場合、各CPUスレッドが、1つの連続する領域を処理するのではなく、離れた複数のブロックを処理することになる。
図12を用いて説明したように、全ての処理スレッドの終了を待って、表示処理を開始する場合は、1つの分割生成領域が1つの連続した領域となっていても、1つの分割生成領域が複数のブロックに分かれていても変わりはない。しかし、図16を用いて説明したように、各処理スレッドの終了ごとに表示処理を行う場合は、表示の態様に違いが生じる。図15(a)〜図15(c)の例のように1つの分割生成領域が連続している場合は、CPUスレッドが処理されるごとに画像の表示出力を行うと、偏った一部分から先に表示されることになる。例えば、分割生成領域R1の処理だけが先に終わると、上だけ、左だけ、左上だけが先に表示される。これに対して、図15(d)の例のように1つの分割生成領域が複数のブロックに分かれている場合は、全体にバランスよく表示が行われることになる。例えば、分割生成領域R1の処理だけが先に終わったとしても、4箇所の離れたブロックが表示される。
更に、図15(d)の例の分割区画を更に細かくし、R1〜R4の各分割生成領域を1画素にする構成をとることもできる。即ち、2×2画素の隣接する4画素に、異なる処理スレッドで実行させる方法である。この方法は、いずれか1つの処理スレッドの実行が終了すれば、1つ置きに間引かれた画像が完成し、処理途上で完成像を概ね確認できるというメリットがある。
以上、本開示の好適な実施形態について説明したが、本開示は上記実施形態に限定されず、種々の変形が可能である。本開示の趣旨を逸脱しない範囲で変更された態様は、本開示の技術的範囲に含まれる。
また、上記実施形態では、各分割画像の生成を、各CPUコアに割り当てるようにしたが、1つのCPUコアが複数の処理を並行して実行できる場合、1つのCPUコアに複数の分割画像の生成を割り当てるようにしてもよい。
1・・・CPU(Central Processing Unit)
2・・・RAM(Random Access Memory)
3・・・記憶装置
4・・・指示入力I/F
5・・・データ入出力I/F
6・・・表示部
7・・・GPU
8・・・フレームメモリ
10・・・断層画像読込手段
15・・・座標変換パラメータ入力手段
20・・・ROIクリッピング設定手段
25・・・マスク設定手段
30・・・ボクセル画像作成手段
70・・・2次元投影画像生成手段
77・・・起点座標探索手段
80・・・画像出力手段
100・・・レンダリング装置

Claims (16)

  1. 所定の対象物について所定の間隔で撮影された複数の2次元の断層画像を、所定の視線方向から観察した状態を表す2次元投影画像を生成するためのレンダリング装置であって、
    前記2次元投影画像を生成する領域である生成領域をN個の分割生成領域に分割して前記視線方向と交差する領域として視点座標系に定義し、
    前記分割生成領域を構成する各画素より、前記視線方向に仮想光線を照射し、
    前記視点座標系において、前記分割生成領域の各画素より、前記視線方向において所定の参照間隔で、前記複数の2次元の断層画像を構成する各画素を対応させたボクセル画像の対応する複数のボクセルの信号値を抽出し、抽出された複数のボクセルの信号値を基に単一の代表信号値を算出し、算出された代表信号値を当該仮想光線が照射された前記分割生成領域を構成する各画素の画素値として与えることにより、各分割生成領域に対応する分割画像を生成する2次元投影画像生成手段を有し、
    前記2次元投影画像生成手段は、
    前記分割生成領域の所定の画素において、前記視線方向の座標値が上限値である座標を探索開始座標として、信号値が有効範囲に含まれる座標の中で前記視線方向のうち座標値が最大となる座標を探索し探索結果の座標を起点座標とする起点座標探索手段を備え、前記起点座標探索手段により探索された起点座標より座標値が下限値である座標に向けて所定数m2で前記視線方向における座標を減じながら、視点座標系の3次元座標ごとにボクセル座標系への座標変換を行って前記ボクセル画像の対応するボクセルの信号値を算出するようにしており、
    前記2次元投影画像生成手段は、前記N個に分割された分割生成領域に対応する分割画像を生成する処理を並行して実行し、前記2次元投影画像を生成するレンダリング装置。
  2. 前記生成領域を一方の軸と他方の軸が互いに直交する2次元の領域とした場合、
    前記N個の分割生成領域は、前記一方の軸方向のみまたは前記他方の軸方向のみに分割されたものであり、
    各分割生成領域は、1つの連続した領域である請求項1に記載のレンダリング装置。
  3. 所定の対象物について所定の間隔で撮影された複数の2次元の断層画像を、所定の視線方向から観察した状態を表す2次元投影画像を生成するためのレンダリング装置であって、
    前記2次元投影画像を生成する領域であって一方の軸と他方の軸が互いに直交する2次元の領域である生成領域を、各分割生成領域が互いに連続しない複数のブロックで構成される、N個の分割生成領域に分割し、
    前記分割生成領域を構成する各画素より、前記視線方向に仮想光線を照射し、
    前記複数の2次元の断層画像を構成する各画素を対応させたボクセル画像と前記仮想光線が交差する前記ボクセル画像のボクセルを複数抽出し、抽出された複数のボクセルの信号値を基に単一の代表信号値を算出し、算出された代表信号値を当該仮想光線が照射された前記分割生成領域を構成する各画素の画素値として与えることにより、各分割生成領域に対応する分割画像を生成する2次元投影画像生成手段を有し、
    前記2次元投影画像生成手段は、前記N個に分割された分割生成領域に対応する分割画像を生成する処理を並行して実行し、前記2次元投影画像を生成するレンダリング装置。
  4. 前記2次元投影画像生成手段は、前記代表信号値として前記抽出された複数のボクセルの信号値の最大値、最小値または平均値のいずれかを算出するようにしている請求項1から請求項3のいずれか一項に記載のレンダリング装置。
  5. 前記2次元投影画像生成手段は、
    前記分割生成領域の所定の画素に対して、前記視線方向の座標において算出されたボクセルの信号値が前記有効範囲に含まれ、前記所定数m2を減じた後の前記視線方向の座標において算出されたボクセルの信号値が前記有効範囲に含まれない場合、
    前記起点座標探索手段は、前記所定数m2を減じた後の前記視線方向の座標を探索開始座標として、前記有効範囲に含まれる起点座標を探索するようにしている請求項1または請求項2に記載のレンダリング装置。
  6. 前記起点座標探索手段は、
    前記視線方向の座標を所定の上限値より所定の下限値の範囲で前記所定数m2で減算させて、各3次元座標に対して、前記座標変換を行ってボクセルの信号値を算出し、
    前記所定数m2の減算後の前記視線方向の座標におけるボクセルの信号値が前記有効範囲に含まれる場合は、前記減算後の前記視線方向の座標より前記所定数m2より小さい所定数m1(m2>m1)を増加させて各3次元座標に対して、前記座標変換を行ってボクセルの信号値を算出する請求項1、2、5のいずれか一項に記載のレンダリング装置。
  7. 前記所定数m1の増加後の前記視線方向の座標における3次元座標に対応するボクセルの信号値が前記有効範囲に含まれない場合は、前記所定数m1の増加後の前記視線方向の座標からm1だけ減算した値を前記起点座標として与えるようにする請求項6に記載のレンダリング装置。
  8. 前記所定数m2の減算後の前記視線方向の座標におけるボクセルの信号値のいずれもが前記有効範囲に含まれない場合は、前記起点座標として前記視線方向の座標の下限値より小さい値を与えるようにしている請求項6または請求項7に記載のレンダリング装置。
  9. 前記起点座標探索手段は、
    前記座標変換を行って実数値のボクセル座標を算出し、算出された実数値のボクセル座標の各値を四捨五入して整数値のボクセル座標を取得し、
    前記取得した整数値のボクセル座標が所定の有効領域に含まれる場合、前記整数値のボクセル座標に対応する前記ボクセル画像の画素値を前記3次元座標に対応するボクセルの信号値として与え、
    前記整数値のボクセル座標が前記有効領域に含まれない場合は、前記3次元座標に対応するボクセルの信号値として、前記有効範囲に含まれない値を与える請求項8に記載のレンダリング装置。
  10. 前記2次元投影画像生成手段は、
    前記座標変換を行って実数値のボクセル座標を算出し、算出された実数値のボクセル座標の近傍に位置する整数値のボクセル座標を複数個取得し、
    取得された複数の整数値のボクセル座標の中で、所定の有効領域に含まれる整数値のボクセル座標に対応する前記ボクセル画像の複数のボクセルを特定し、特定した複数のボクセルの各信号値に所定の重みを掛けながら加算した値を、前記3次元座標に対応するボクセルの信号値として与えるようにしている請求項1、2、5から9のいずれか一項に記載のレンダリング装置。
  11. 前記ボクセル画像は3次元座標系に第1の軸と第2の軸が互いに直交する2次元の断層画像が第3の軸方向に複数枚配置されているとき、前記断層画像における第1の軸方向の一端に対応する座標をXso、前記断層画像における第1の軸方向の他端に対応する座標をXeo、前記断層画像における第2の軸方向の一端に対応する座標をYso、前記断層画像における第2の軸方向の他端に対応する座標をYeo、第3の軸方向において断層画像が配置される一端に対応する座標をZso、第3の軸方向において断層画像が配置される他端に対応する座標をZeoとすると、Xso≦Xs<Xe≦Xeo、Yso≦Ys<Ye≦Yeo、Zso≦Zs<Ze≦Zeoを満たす、6つの座標Xs,Xe,Ys,Ye,Zs,Zeが定義されている場合、
    前記有効領域は、前記6つの座標Xs,Xe,Ys,Ye,Zs,Zeに囲まれた領域である請求項9または請求項10に記載のレンダリング装置。
  12. 前記ボクセル画像に対応して、0(表示しない)または1(表示する)の値をもつマスクデータMaskがあらかじめ定義されている場合、前記有効領域は、Mask=1である請求項9から請求項11のいずれか一項に記載のレンダリング装置。
  13. 前記座標変換のパラメータを入力する座標変換パラメータ入力手段と、前記2次元投影画像生成手段により生成される2次元投影画像を表示出力する画像出力手段を更に備え、
    外部より回転角の変更指示が行われている場合には、
    前記座標変換パラメータ入力手段により、座標変換パラメータの入力を行い、
    所定の間隔で間引きながら、前記2次元投影画像の画素に対して、前記2次元投影画像生成手段を実行し、残りの画素に対しては、前記2次元投影画像生成手段が実行された画素を基に補間するようにして生成された2次元投影画像を、前記画像出力手段は表示するようにし、
    前記回転角の確定指示がなされた場合には、
    前記座標変換パラメータ入力手段により、座標変換パラメータの入力を行い、
    前記2次元投影画像の全ての画素に対して、前記2次元投影画像生成手段が実行され生成された2次元投影画像を、前記画像出力手段は表示するようにしている請求項9から請求項12のいずれか一項に記載のレンダリング装置。
  14. 前記2次元投影画像生成手段により生成された2次元投影画像の各画素値が8ビットを超える階調をもつ場合に、あらかじめ定義された階調の下限値Lminと階調の上限値Lmaxを用い、
    前記画素値Image(x,y)がLmin≦Image(x,y)≦Lmaxの場合、前記画素値を(Image(x,y)´=(Image(x,y)−Lmin)・255/(Lmax−Lmin)とし、
    前記画素値Image(x,y)がImage(x,y)>Lmaxの場合、前記画素値をImage´(x,y)=255とし、
    前記画素値Image(x,y)がImage(x,y)<Lminの場合、前記画素値をImage´(x,y)=0として、
    前記各画素値を8ビットの階調に変換して表示するようにしている請求項13に記載のレンダリング装置。
  15. 所定の対象物について所定の間隔で撮影された複数の2次元の断層画像を、所定の視線方向から観察した状態を表す2次元投影画像を生成するため、
    コンピュータを、
    前記2次元投影画像を生成する領域である生成領域をN個の分割生成領域に分割して前記視線方向と交差する領域として視点座標系に定義し、前記分割生成領域の各画素より前記視線方向に仮想光線を照射し、前記視点座標系において、前記分割生成領域の各画素より、前記視線方向において所定の参照間隔で、前記複数の2次元の断層画像を構成する各画素を対応させたボクセル画像の対応する複数のボクセルの信号値を取得し、取得された複数のボクセルの信号値を基に単一の代表信号値を算出し、算出された代表信号値を当該仮想光線が照射された前記分割生成領域を構成する各画素の画素値として与えることにより、各分割生成領域に対応する分割画像を生成する2次元投影画像生成手段として機能させ、
    前記2次元投影画像生成手段は、
    前記分割生成領域の所定の画素において、前記視線方向の座標値が上限値である座標を探索開始座標として、信号値が有効範囲に含まれる座標の中で前記視線方向のうち座標値が最大となる座標を探索し探索結果の座標を起点座標とする起点座標探索手段を備え、前記起点座標探索手段により探索された起点座標より座標値が下限値である座標に向けて所定数m2で前記視線方向における座標を減じながら、視点座標系の3次元座標ごとにボクセル座標系への座標変換を行って前記ボクセル画像の対応するボクセルの信号値を算出するようにしており、
    前記2次元投影画像生成手段は、前記N個に分割された分割生成領域に対応する分割画像を生成する処理を並行して実行し前記2次元投影画像を生成するプログラム。
  16. 所定の対象物について所定の間隔で撮影された複数の2次元の断層画像を、所定の視線方向から観察した状態を表す2次元投影画像を生成するため、
    コンピュータを、
    前記2次元投影画像を生成する領域であって一方の軸と他方の軸が互いに直交する2次元の領域である生成領域を、各分割生成領域が互いに連続しない複数のブロックで構成される、N個の分割生成領域に分割し、
    前記分割生成領域を構成する各画素より、前記視線方向に仮想光線を照射し、
    前記複数の2次元の断層画像を構成する各画素を対応させたボクセル画像と前記仮想光線が交差する前記ボクセル画像のボクセルを複数抽出し、抽出された複数のボクセルの信号値を基に単一の代表信号値を算出し、算出された代表信号値を当該仮想光線が照射された前記分割生成領域を構成する各画素の画素値として与えることにより、各分割生成領域に対応する分割画像を生成する2次元投影画像生成手段として機能させ、
    前記2次元投影画像生成手段は、前記N個に分割された分割生成領域に対応する分割画像を生成する処理を並行して実行し、前記2次元投影画像を生成するプログラム。
JP2018166559A 2018-09-06 2018-09-06 レンダリング装置 Active JP6555408B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018166559A JP6555408B1 (ja) 2018-09-06 2018-09-06 レンダリング装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018166559A JP6555408B1 (ja) 2018-09-06 2018-09-06 レンダリング装置

Publications (2)

Publication Number Publication Date
JP6555408B1 true JP6555408B1 (ja) 2019-08-07
JP2020038589A JP2020038589A (ja) 2020-03-12

Family

ID=67539854

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018166559A Active JP6555408B1 (ja) 2018-09-06 2018-09-06 レンダリング装置

Country Status (1)

Country Link
JP (1) JP6555408B1 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4467267B2 (ja) * 2002-09-06 2010-05-26 株式会社ソニー・コンピュータエンタテインメント 画像処理方法、画像処理装置、および画像処理システム
JP2006000126A (ja) * 2004-06-15 2006-01-05 Fuji Photo Film Co Ltd 画像処理方法および装置並びにプログラム

Also Published As

Publication number Publication date
JP2020038589A (ja) 2020-03-12

Similar Documents

Publication Publication Date Title
JP7098710B2 (ja) 中心窩ジオメトリテッセレーション
US11361479B2 (en) Enhancements for displaying and viewing tomosynthesis images
TWI616846B (zh) 利用以空間及/或時間方式改變取樣圖案之增強型消鋸齒的一種圖形子系統、電腦實施方法及電腦裝置
JP2009034521A (ja) 医学的な画像診断におけるデータを体積レンダリングするシステムと方法ならびにコンピュータ読み出し可能記憶媒体
US20050237336A1 (en) Method and system for multi-object volumetric data visualization
US8379955B2 (en) Visualizing a 3D volume dataset of an image at any position or orientation from within or outside
JP2006055213A (ja) 画像処理装置、及びプログラム
US7893938B2 (en) Rendering anatomical structures with their nearby surrounding area
JP2006526834A (ja) ボリューム・レンダリング用の適応画像補間
US9035945B1 (en) Spatial derivative-based ray tracing for volume rendering
JPH0773337A (ja) 対話的ボリューム・レンダリング方法及び装置
JP6555408B1 (ja) レンダリング装置
JP7131080B2 (ja) ボリュームレンダリング装置
JP7123798B2 (ja) 画像処理装置、画像処理方法、画像処理プログラム、画像処理システム
JP7223312B2 (ja) ボリュームレンダリング装置
JP2006000126A (ja) 画像処理方法および装置並びにプログラム
US7656412B2 (en) Texture resampling with a processor
JP6443574B1 (ja) レイキャスティングプログラム、探索制御データ、探索制御データ生成方法、レイキャスティング装置
JP5524458B2 (ja) 器官表面画像の表示装置及び方法
JP7167699B2 (ja) ボリュームレンダリング装置
JP7206846B2 (ja) ボリュームレンダリング装置
Gallo et al. High‐Fidelity Visualization of Large Medical Datasets on Commodity Hardware
JP2013255665A (ja) 三次元画像表示装置及び三次元画像表示方法
JP2002342777A (ja) 画像処理装置および画像処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180920

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180920

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190419

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190624

R150 Certificate of patent or registration of utility model

Ref document number: 6555408

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150