JP6253053B2 - データ探索装置、データ探索装置の制御方法およびデータ探索装置の制御プログラム - Google Patents

データ探索装置、データ探索装置の制御方法およびデータ探索装置の制御プログラム Download PDF

Info

Publication number
JP6253053B2
JP6253053B2 JP2013247017A JP2013247017A JP6253053B2 JP 6253053 B2 JP6253053 B2 JP 6253053B2 JP 2013247017 A JP2013247017 A JP 2013247017A JP 2013247017 A JP2013247017 A JP 2013247017A JP 6253053 B2 JP6253053 B2 JP 6253053B2
Authority
JP
Japan
Prior art keywords
physical quantity
data
division
divided
dimensional model
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
JP2013247017A
Other languages
English (en)
Other versions
JP2015106228A (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.)
Fujitsu Ltd
University of Tokyo NUC
Original Assignee
Fujitsu Ltd
University of Tokyo NUC
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 Fujitsu Ltd, University of Tokyo NUC filed Critical Fujitsu Ltd
Priority to JP2013247017A priority Critical patent/JP6253053B2/ja
Priority to US14/539,261 priority patent/US20150154282A1/en
Publication of JP2015106228A publication Critical patent/JP2015106228A/ja
Application granted granted Critical
Publication of JP6253053B2 publication Critical patent/JP6253053B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/322Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2264Multidimensional index structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/50ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for simulation or modelling of medical disorders

Description

本発明は、データを探索するデータ探索装置、データ探索装置の制御方法およびデータ探索装置の制御プログラムに関する。
近年、大規模な計算機を用いて、さまざまなシミュレーションが行われている。例えば患者の心臓の動きを再現する、心臓シミュレータが開発されている。心臓シミュレータによる心臓の動きの解析は、臨床現場における心臓の診断支援に役立つものと考えられる。
心臓のシミュレーションのような、生体に関するシミュレーションは、空間を構造格子または非構造格子で分割して行われる。構造格子とは、解析において計算の対象となる計算点としての節点を、座標系に沿って配置するものである。非構造格子とは、節点を、座標系によらずに不規則に配置するものである。形状が複雑で且つ動きを伴う心臓のシミュレーションにおいては、非構造格子が使用されることが一般的である。なお生体のシミュレーションでは、複数の節点間を接続して形成される多面体の要素が定義され、その要素内の物理量が計算される。
例えば心臓のシミュレーションでは、心筋にかかる圧力などの物理量が、要素または節点ごとに算出される。算出された物理量を、例えば統計的に解析することで、心臓の状態変化を把握することができる。
またシミュレーション対象物上の特定の位置を指定して、その位置における物理量を表示したい場合がある。特に心臓の動きを正確に再現する必要がある心臓シミュレータの場合、各要素に一つの心筋細胞が定義されることがある。心筋細胞の収縮と共に、各要素の位置における物理量がどのような値となるのかを確認することは、シミュレーション結果の観察や、シミュレータのデバッグの観点から重要である。
特定の位置の物理量を表示する場合、例えばユーザは、心臓の3次元モデル上で、特定の位置を指定する操作入力を行う。するとコンピュータで、指定された位置に対応する要素または節点が検索される。要素または節点の検索時間は、要素数や節点数が多くなるにつれて長くなる。このように、位置を指定した物理量の表示は、インタラクティブな操作によりほぼリアルタイムに行われる。そのため、物理量の確認の効率化を図るには、検索を高速化することが重要となる。
例えばマウスにより指定された座標点から、該当する要素を選択し、さらに物理値を表示するためには、データがメモリ上に構造化して保持される。検索をしやすいデータ構造によりデータを保持することで、検索の高速化が可能となる。検索しやすいデータ構造としては、8分木による方法が知られている。8分木でデータを保持することで、マウスで指定された座標点から、まずは大きな領域が選択され、その内部の要素から、次に細かい分割領域が選択されるということが繰り返される。その結果、マウスの座標点と要素の重心や節点との距離を全探索する必要がなく、短い時間で抽出可能となる。
特開2013−162921号公報 特開2004−334640号公報 特開2005−250767号公報 国際公開第2009/031200号
しかし、心臓のような生体物の場合、8分木のような手法で空間のサイズが均等になるように分割すると、分割後の領域それぞれに内包する、要素や節点などの物理量が設定された位置の数に偏りが生じる。すると、物理量の確認位置として指定された位置を包含する、領域内の物理量が設定された位置の数量の違いにより、検索時間も変動する。その結果、指定された位置を包含する領域が、他の領域よりも多くの位置に物理量が設定されている場合、指定された位置と、物理量が設定された位置との距離の計算回数が多くなり、検索時間が長期化してしまう。
1つの側面では、本発明は、物理量を確認する位置の違いによる検索時間の長期化を抑止することを目的とする。
1つの案では、記憶部、分割部、および検索部を有するデータ探索装置が提供される。記憶部は、3次元モデル内に配置された複数の物理量設定点それぞれについての位置情報と物理量とを記憶する。分割部は、3次元モデルを包含する第1の領域を、各領域内に含まれる物理量設定点数が均等になるように分割した複数の第2の領域のそれぞれに対応する分割データを生成する。検索部は、3次元モデル内の位置が指定された場合、複数の第2の領域のうち、指定された位置を含む第2の領域に対応する分割データが含む物理量設定点の中から、指定された位置に対応する物理量設定点の物理量を記憶部から取得する。
1態様によれば、物理量を確認する位置の違いによる検索時間の長期化を抑止することができる。
第1の実施の形態に係るデータ探索装置の機能の一例を示す図である。 8分木による空間の分割例を示す図である。 第2の実施の形態に用いるコンピュータのハードウェアの一構成例を示す図である。 第2の実施の形態に係るコンピュータの機能を示すブロック図である。 非構造格子データ記憶部のデータ構造の一例を示す図である。 心臓の3次元モデルの一例を示す図である。 シミュレーション結果記憶部のデータ構造の一例を示す図である。 8分木分割データ生成処理の手順の一例を示すフローチャートである。 領域分割処理の手順の一例を示すフローチャートである。 8分割処理の手順を示すフローチャートである。 8分木の生成例を示す図である。 8分木記憶部のデータ構造の一例を示す図である。 検索処理の手順の一例を示すフローチャートである。 物理量の表示例を示す図である。 キータイムステップの一例を示す図である。 第3の実施の形態における領域分割処理の手順の一例を示すフローチャートである。
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
図1は、第1の実施の形態に係るデータ探索装置の機能の一例を示す図である。データ探索装置10は、記憶部11、分割部12、および検索部14を有する。
記憶部11は、3次元モデル内に配置された複数の物理量設定点それぞれの位置情報と、その物理量設定点における物理量とを記憶する。物理量設定点は、例えば3次元モデルが複数の要素の集合体の場合における、各要素の位置である。3次元モデルを構成する要素は、例えば四面体である。要素の位置は、例えばその要素の重心である。また各要素の形状を定義する際に使用される節点を物理量設定点に含めることもできる。例えば4面体の要素であれば、その要素の頂点を示す4つの節点を、物理量設定点とすることができる。
なお、記憶部11は、データ探索装置10の外部に設けられていてもよい。例えばデータ探索装置10にネットワークを経由して接続されている装置内に記憶部11が設けられていてもよい。
分割部12は、記憶部11を参照し、3次元モデルを包含する第1の領域13aを、各領域内に含まれる物理量設定点数が均等になるように、複数の第2の領域13cに分割する。第1の領域13aは、例えば3次元モデルのバウンディングボックスである。バウンディングボックスは、3次元モデルに外接する直方体である。さらに分割部12は、分割して得られた複数の第2の領域13cそれぞれに対して、第2の領域に含まれる物理量設定点の識別情報を対応付けた分割データ13を生成する。
分割部12は、例えば、第1の領域13aを所定数に分割すると共に、分割で得られた領域それぞれをさらに所定数に分割する処理を繰り返す。そして分割部12は、上位の領域の下位に、その領域から分割された領域を接続した木構造を生成する。1つの領域を分割する際の分割数が8つであれば、生成される木構造は、8分木である。分割部12は、木構造の葉となる複数の領域を、複数の第2の領域13cとする。
分割データ13を木構造で表した場合、木構造の根となるノードに、第1の領域13aが割り当てられる。また木構造の節となるノードに、第2の領域が生成されるまでの過程で生成される、第1・第2の領域以外の中間の領域13bが割り当てられる。そして木構造の葉となるノードに、第2の領域が割り当てられる。木構造の各ノードには、対応する領域が空間に占める範囲を示す情報が設定される。また葉のノードには、対応する領域に含まれる物理量設定点のリストが設定される。
検索部14は、3次元モデル内の位置が指定されると、分割データ13に示される複数の第2の領域13cのうち、指定された位置を含む第2の領域を特定する。例えば分割データ13が木構造で表されている場合、検索部14は、木構造の根のノードから下位に向かって、指定された位置を含む領域を検索していく。そして検索部14は、のノードに達した場合、そのノードの対応する領域が、指定された位置を含む第2の領域であると特定する。
そして検索部14は、分割データ13において、特定された第2の領域に対応付けられている物理量設定点の中から、指定された位置の物理量を示す物理量設定点を検索する。例えば検索部14は、記憶部11を参照し、特定された第2の領域に対応付けられている各物理量設定点の位置を取得する。そして検索部14は、指定された位置と、各物理量設定点の位置との距離を計算し、指定された位置に最も近い物理量設定点を、指定された位置の物理量設定点と判断する。検索部14は、指定された位置の物理量設定点を検索すると、例えば、その物理量設定点の物理量の値を記憶部11から取得し、取得した値を出力する。
このようなデータ探索装置10によれば、分割部12により、各領域内に含まれる物理量設定点数が均等な複数の第2の領域13cそれぞれに対して、第2の領域に含まれる物理量設定点の識別情報を対応付けた分割データ13が生成される。そして、3次元モデル内の位置が指定されると、検索部14により、分割データ13において、特定された第2の領域に対応付けられている物理量設定点の中から、指定された位置にある物理量設定点が検索される。
ここで、複数の第2の領域13cは、各領域内に含まれる物理量設定点数が均等である。そのため、指定された位置が、複数の第2の領域13cのうちのどの領域に含まれていたとしても、指定された位置を含む第2の領域からの物理量設定点を検出するときの、検出候補となる物理量設定点数に変動はない。その結果、指定された位置の違いによる検索時間の長期化が抑止される。
なお、分割部12と検索部14とは、例えばデータ探索装置10が有するプロセッサにより実現することができる。また、記憶部11は、例えばデータ探索装置10が有するメモリにより実現することができる。分割部12と検索部14とをプロセッサで実現する場合、分割部12と検索部14とが実行する処理を記述した、データ探索装置10の制御プログラムが用意される。プロセッサが制御プログラムを実行し、データ探索装置10を制御することで、データ探索装置10内で分割部12と検索部14との機能が実現される。
また、図1に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、心臓の動きをシミュレーションした結果を表示する際に、指定された点の物理量を、指定された位置に依存せずに、迅速に表示できるようにしたものである。
心臓を3次元モデルで表すと、心室内のように、心筋が存在しない空間が存在する。そのため、例えば、心筋における物理量を求めた場合、物理量が算出された位置に、空間的な偏りが生じる。なお、物理量は、3次元モデルを構成する要素ごと、または各要素の形状や位置を定義するための節点ごとに求められる。
第2の実施の形態では、心臓の3次元モデルに含まれる要素や節点に対し、バウンディングボックス内の要素および節点数が均等となるように、8分木が作成される。
図2は、8分木による空間の分割例を示す図である。図2には、心臓の3次元モデル31を内包するバウンディングボックス32を8分木で分割する場合の、2つの分割例が示されている。図2の左側は、分割して得られる各領域のサイズが均等になるようにバウンディングボックス32を分割した例である。図2の右側は、分割して得られる各領域に含まれる要素・節点数が均等になるようにバウンディングボックス32を分割した例である。図2に示すように、分割後の各領域に含まれる要素・節点数が均等になるようにバウンディングボックス32を分割すると、分割後の各領域のサイズは不均一となる。
バウンディングボックス32が8分木により複数の領域に分割されると、各領域の位置およびサイズを定義するデータと、その領域に含まれる要素および節点を示すデータとが生成される。作成された8分木に関するデータは、例えば上位の構造のデータはメモリ内に保持し、任意のレベルより下の構造のデータについてはストレージに保存することができる。
また、心臓のモデルに含まれる要素および節点の空間内での分布は、シミュレーション上のタイムステップが近接するデータ間では、あまり変化がない。そこで、第2の実施の形態では、キーとなるタイムステップを変化量に応じて決定し、キーのタイムステップでの分割データをコピーすることで、それ以外のタイムステップのデータを構造化する。
また、心臓は複雑な形状をしており、シミュレーション結果の確認については左心室の心尖部と僧帽弁の弁領域中心を結ぶ心軸に直する断面での観察が多くおこなわれる。よって、心臓外側を包む領域の1辺を心軸と平行になるように設定することでより短時間で物理値を抽出可能とする。
図3は、第2の実施の形態に用いるコンピュータのハードウェアの一構成例を示す図である。コンピュータ100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101の機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
メモリ102は、コンピュータ100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に必要な各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
バス109に接続されている周辺機器としては、HDD(Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、コンピュータ100の補助記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの不揮発性の半導体記憶装置を使用することもできる。
グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
機器接続インタフェース107は、コンピュータ100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示したデータ探索装置10も、図3に示したコンピュータ100と同様のハードウェアにより実現することができる。
コンピュータ100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。コンピュータ100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、コンピュータ100に実行させるプログラムをHDD103に格納しておくことができる。プロセッサ101は、HDD103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。またコンピュータ100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、HDD103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
図4は、第2の実施の形態に係るコンピュータの機能を示すブロック図である。コンピュータ100は、非構造格子データ記憶部110、心臓シミュレータ120、シミュレーション結果記憶部130、領域分割部140、8分木記憶部150、および検索部160を有する。
非構造格子データ記憶部110は、心臓の形状を3次元で表す非構造格子データを記憶する。非構造格子データでは、例えば複数の4面体の要素によって心臓の形状が表される。その場合、心臓が存在する空間に、多数の節点が設けられる。そして4つの節点を頂点とする多数の4面体が定義される。1つの4面体が、例えば心臓の心筋細胞を表す要素である。非構造格子データ記憶部110としては、例えばメモリ102またはHDD103の記憶領域の一部が使用される。
心臓シミュレータ120は、心臓の3次元モデルに基づいて、拍動を含む心臓の動きをシミュレーションする。そして心臓シミュレータ120は、シミュレーション結果を、シミュレーション結果記憶部130に格納する。例えば心臓シミュレータ120は、シミュレーション上の時刻を所定時間ずつ進行させ、その都度、3次元モデルの節点の位置、および要素や節点における物理量を算出する。各時刻での節点の位置や物理量は、その前の時刻における節点の位置や物理量に基づいて算出される。心臓シミュレータ120は、シミュレーション上の時刻における所定のタイミングで、その時点での節点の位置、および要素や節点における物理量を、シミュレーション結果として出力する。
シミュレーション結果記憶部130は、シミュレーション結果を記憶する。シミュレーション結果記憶部130としては、例えばメモリ102またはHDD103の記憶領域の一部が使用される。
領域分割部140は、シミュレーション結果を検索しやすいように、心臓の3次元モデルを含む空間を、8分木によって複数の領域に分割する。そして領域分割部140は、分割後の領域ごとに、その領域に属する要素および節点のリストを作成する。領域分割部140は、8分木により生成した領域と、各領域に属する要素および節点のリストを、8分木分割データとして、8分木記憶部150に格納する。
8分木記憶部150は、8分木分割データを記憶する。例えばメモリ102の記憶領域の一部と、HDD103の記憶領域の一部とが、8分木記憶部150として使用される。その場合、8分木の上位の構造を格納する領域がメモリ102内に設けられ、下位の構造を格納する領域がHDD103内に設けられる。
検索部160は、3次元モデル上の任意の位置の指定を受けて、その位置の物理量を検索する。例えば検索部160は、シミュレーション上の時刻の指定を受けると、シミュレーション結果記憶部130に示される各節点の位置に基づいて、指定された時刻における心臓の3次元モデルを再現し、表示する。次に検索部160は、再現した3次元モデル上の任意の位置の指定を受けると、シミュレーション結果記憶部130から、指定された位置に最も近い要素または節点を検索する。そして検索部160は、該当する要素または節点の物理量を表示する。
なおシミュレーション結果記憶部130は、図1に示した記憶部11の一例である。領域分割部140は、図1に示した分割部12の一例である。検索部160は、図1に示した検索部14の一例である。
なお、図4に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図4に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
次に、非構造格子データ記憶部110のデータ構造例について説明する。
図5は、非構造格子データ記憶部のデータ構造の一例を示す図である。非構造格子データ記憶部110には、例えば節点情報テーブル111と要素情報テーブル112とが含まれる。節点情報テーブル111と要素情報テーブル112とによって、非構造格子データが構成される。節点情報テーブル111には、節点ごとに、節点番号と、節点の位置を示す座標とが設定されている。なお、節点情報テーブル111に設定されている各節点の座標は、シミュレーション開前の節点の位置を示しており、シミュレーションにより心臓の拍動が再現されると、節点の位置も変化する。要素情報テーブル112には、要素ごとに、要素番号と、4面体の要素の頂点となる節点の節点番号とが設定されている。
図5に示した非構造格子データ記憶部110に格納されたデータに基づいて、心臓の3次元モデルが生成できる。
図6は、心臓の3次元モデルの一例を示す図である。図6の例では、3次元モデル31は、4面体の要素の集合体である。このような3次元モデル31に対して、心筋の収縮や拡張の動作に関する条件を与えることで、心臓の動きのシミュレーションが可能となる。シミュレーションが行われると、シミュレーション結果が、シミュレーション結果記憶部130に格納される。
図7は、シミュレーション結果記憶部のデータ構造の一例を示す図である。シミュレーション結果記憶部130には、1回分のシミュレーション結果の記録時点を1タイムステップとし、タイムステップごとの心筋データ131,132,133,・・・が格納されている。心筋データ131,132,133,・・・は、タイムステップのときの心臓の状態を示す情報である。
例えば心筋データ131,132,133,・・・には、要素・節点IDに対応付けて、要素または節点の位置、および1または複数の物理量の値が設定されている。なお要素の位置は、例えば4面体の要素の重心位置である。また1つの物理量に関し、要素と節点の両方に値が設定されていてもよく、要素または節点の一方にのみ値が設定されていてもよい。
このようなタイムステップごとの心筋データ131,132,133,・・・に基づいて、心臓の3次元モデル31の存在する空間が、8分木により、複数の領域に分割される。
図8は、8分木分割データ生成処理の手順の一例を示すフローチャートである。
[ステップS101]領域分割部140は、心筋データ131,132,133,・・・が格納されたタイムステップの先頭から順に、処理対象とするタイムステップを選択する。
[ステップS102]領域分割部140は、選択したタイムステップにおける心筋データについて、領域分割処理を行う。領域分割処理の詳細は後述する(図9参照)。
[ステップS103]領域分割部140は、すべてのタイムステップについて、領域分割処理を行ったか否かを判断する。すべてのタイムステップの領域分割処理が完了していれば、処理が終了する。未処理のタイムステップがあれば、処理がステップS101に進められる。
次に、領域分割処理の詳細について説明する。
図9は、領域分割処理の手順の一例を示すフローチャートである。
[ステップS111]領域分割部140は、選択されたタイムステップの心筋データをシミュレーション結果記憶部130から取得する。
[ステップS112]領域分割部140は、取得した心筋データに基づいて、心軸を抽出する。例えば領域分割部140は、取得した心筋データと、非構造格子データ記憶部110内の非構造格子データとに基づいて、指定されたステップにおける心臓の形状を把握する。そして領域分割部140は、左心室の心尖部と僧帽弁の弁領域中心とを結ぶ直線を、心軸とする。この場合、例えば左心室の心尖部の位置を示す情報と、僧帽弁の弁領域の位置を示す情報とを、予め非構造格子データ記憶部110に格納しておく。
[ステップS113]領域分割部140は、心軸に平行な座標軸を持つローカル座標系を設定する。例えば領域分割部140は、心軸と平行なy軸と、y軸に直交するx軸およびz軸を有する直交座標系を設定する。
[ステップS114]領域分割部140は、分割の終了条件が満たされたか否かを判断する。例えば領域分割部140は、分割された領域のうちz方向の大きさが最も大きい領域のz方向の大きさが、所定値以下の場合に、分割の終了条件が満たされたと判断する。また領域分割部140は、8分木による分割のレベル(8分割による細分化の回数)が、所定のレベルに達した場合に、終了条件が満たされたと判断してもよい。分割終了条件が満たされた場合、処理がステップS119に進められる。分割終了条件が満たされていなければ、処理がステップS115に進められる。
[ステップS115]領域分割部140は、分割対象となる領域のレベルを設定する。例えば領域分割部140は、心臓すべてを包含するバウンディングボックスを生成し、そのバウンディングボックスで囲われる領域のレベルを「レベル0」とする。そして領域分割部140は、最初に、「レベル0」を分割対象のレベルとする。「レベル0」の領域を8分割して得られた8つの領域のレベルが「レベル1」となる。そこで、次に領域分割部140は、「レベル1」を分割対象のレベルとする。このように、領域分割部140は、あるレベルの領域の分割により生成された領域のレベルが、次に分割対象とする領域のレベルとなる。
[ステップS116]領域分割部140は、分割対象のレベルの領域のうちの、未分割の領域を1つ選択する。
[ステップS117]領域分割部140は、選択した領域を8分割する。なお、8分割処理の詳細は後述する(図10参照)。
[ステップS118]領域分割部140は、分割対象のレベルのすべての領域に対する8分割が終了したかどうかを判断する。該当レベルの分割が終了した場合、処理がステップS114に進められる。分割対象のレベルのすべての領域の中に、未分割の領域があれば、処理がステップS116に進められる。
[ステップS119]領域分割部140は、分割終了条件が満たされると、8分木分割データを出力する。例えば領域分割部140は、分割によって生成された領域を示す情報を、8分木記憶部150に格納する。
このような手順で、心臓全体を包含する領域から、8分割を繰り返すことで、8分木分割データが生成される。次に8分割処理について詳細に説明する。
図10は、8分割処理の手順を示すフローチャートである。
[ステップS121]領域分割部140は、選択する要素または節点の順番を示す変数iに1を設定する。
[ステップS122]領域分割部140は、iの値が、分割対象の領域内の要素と接点との合計数(max_node)以下か否かを判断する。iの値がmax_node以下であれば、処理がステップS123に進められる。iの値がmax_nodeを超えていれば、処理がステップS124に進められる。
[ステップS123]領域分割部140は、要素および節点を並べたときのi番目の要素または節点のx方向の座標値を、メモリ102に保存する。なお、要素の位置とは、例えば要素の重心である。領域分割部140は、座標値を保存したら、変数iの値をインクリメント(1を加算)し、処理をステップS122に進める。
[ステップS124]iの値がmax_nodeを超えた場合、領域分割部140は、保存したx座標値を、値の大きさでソートする。
[ステップS125]領域分割部140は、x軸方向の要素および節点数を2分割する位置を、領域のx方向の分割位置とする。例えばmax_nodeが偶数であれば、領域分割部140は、ソート後のx座標値の「max_node/2」番目の値と「(max_node/2)+1」番目の値との中点を、分割位置とする。また、max_nodeが奇数であれば、領域分割部140は、ソート後のx座標値の「(max_node+1)/2」番目の値を、分割位置とする。
[ステップS126]領域分割部140は、変数iに1を設定する。
[ステップS127]領域分割部140は、iの値が、分割対象の領域内の要素と接点との合計数(max_node)以下か否かを判断する。iの値がmax_node以下であれば、処理がステップS128に進められる。iの値がmax_nodeを超えていれば、処理がステップS129に進められる。
[ステップS128]領域分割部140は、要素および節点を並べたときのi番目の要素または節点のy方向の座標値を、メモリ102に保存する。領域分割部140は、座標値を保存したら、変数iの値をインクリメント(1を加算)し、処理をステップS127に進める。
[ステップS129]iの値がmax_nodeを超えた場合、領域分割部140は、保存したy座標値を、値の大きさでソートする。
[ステップS130]領域分割部140は、y軸方向の要素および節点数を2分割する位置を、領域のy方向の分割位置とする。例えばmax_nodeが偶数であれば、領域分割部140は、ソート後のy座標値の「max_node/2」番目の値と「(max_node/2)+1」番目の値との中点を、分割位置とする。また、max_nodeが奇数であれば、領域分割部140は、ソート後のy座標値の「(max_node+1)/2」番目の値を、分割位置とする。
[ステップS131]領域分割部140は、選択する要素または節点の順番を示す変数iに1を設定する。
[ステップS132]領域分割部140は、iの値が、分割対象の領域内の要素と接点との合計数(max_node)以下か否かを判断する。iの値がmax_node以下であれば、処理がステップS133に進められる。iの値がmax_nodeを超えていれば、処理がステップS134に進められる。
[ステップS133]領域分割部140は、要素および節点を並べたときのi番目の要素または節点のz方向の座標値を、メモリ102に保存する。なお、要素の位置とは、例えば要素の重心である。領域分割部140は、座標値を保存したら、変数iの値をインクリメント(1を加算)し、処理をステップS132に進める。
[ステップS134]iの値がmax_nodeを超えた場合、領域分割部140は、保存したz座標値を、値の大きさでソートする。
[ステップS135]領域分割部140は、z軸方向の要素および節点数を2分割する位置を、領域のz方向の分割位置とする。例えばmax_nodeが偶数であれば、領域分割部140は、ソート後のz座標値の「max_node/2」番目の値と「(max_node/2)+1」番目の値との中点を、分割位置とする。また、max_nodeが奇数であれば、領域分割部140は、ソート後のz座標値の「(max_node+1)/2」番目の値を、分割位置とする。
[ステップS136]領域分割部140は、x方向、y方向、およびz方向に設定した分割位置で、分割対象の領域を8分割する。例えば領域分割部140は、まず、x方向の分割位置を通る、y−z平面に平行な平面により、分割対象の領域を2分割する。次に領域分割部140は、y方向の分割位置を通る、z−x平面に平行な平面により、2分割して得られた2つの領域それぞれを2分割する。最後に領域分割部140は、z方向の分割位置を通る、x−y平面に平行な平面により、2度の2分割で得られた4つの領域それぞれを2分割する。これにより、分割対象の領域を8分割した、8つの領域が得られる。
図9、図10に示した処理により、心臓を包含する領域が繰り返し8分割され、8分木分割データが生成される。
図11は、8分木の生成例を示す図である。バウンディングボックス32で囲われた領域内には、入れ子構造の多数の領域が含まれている。入れ子構造を木構造で表すと、8分木33で表される。8分木の各ノードは、領域を表している。8分木33のルートのノードは、心臓全体を包含するバウンディングボックス32である。バウンディングボックス32で囲われた領域のレベルを、例えば「レベル0」とする。「レベル0」の領域を8分割して、8つの領域が得られる。この領域のレベルは「レベル1」である。「レベル1」の領域それぞれを8分割して、64個の領域が得られる。この領域のレベルは「レベル2」である。さらに「レベル2」の領域それぞれを8分割すれば、512個の領域が得られる。この領域のレベルは「レベル3」である。
8分木33を示す8分木分割データを格納する場合、メモリ102とHDD103とに分けて格納することができる。例えば、レベル2より上位の構造を示すデータはメモリ102に格納され、レベル3より下位の構造を示すデータは、例えば領域ごとにファイルに纏められ、HDD103に格納される。
図12は、8分木記憶部のデータ構造の一例を示す図である。8分木記憶部150は、メモリ102の記憶領域とHDD103の記憶領域とを含んでいる。8分木記憶部150のメモリ102内の領域は、タイムステップごとの8分木データ領域151a,152a,153a,・・・が設けられている。各8分木データ領域151a,152a,153a,・・・には、例えば領域識別子に対応付けて、領域の最小値、最大値、および下位構造が設定されている。領域の最小値は、その領域における、ローカル座標系の原点に最も近い角の座標である。領域の最大値は、その領域における、ローカル座標系の原点から最も遠い角の座標である。下位構造は、領域を8分割して得られた各領域の識別子である。
8分木記憶部150のHDD103内の領域には、例えばタイムステップごとのディレクトリ151b,152b,153b,・・・が設けられている。各ディレクトリ151b,152b,153b,・・・には、対応するタイムステップにおける8分木の下位の構造の領域ごとの8分木データファイル151cが格納されている。8分木データファイル151cには、例えば、対応する領域の最小値、最大値、および要素・節点インデックスが含まれる。要素・節点インデックスは、対応する領域の領域内の要素の識別番号と、その領域内の節点の識別番号とのリストである。
このような8分木分割データに基づいて、3次元モデル上でユーザが任意に指定した位置の要素または節点を検索し、物理量を表示することができる。以下、検索処理について詳細に説明する。
図13は、検索処理の手順の一例を示すフローチャートである。
[ステップS141]検索部160は、物理量を表示させる位置を指定する入力を受け付ける。例えば検索部160は、非構造格子データ記憶部110に格納されている非構造格子データと、所定のステップにおける心筋データとに基づいて、心臓の3次元モデルをモニタ21に表示する。ユーザは、例えばマウス23を用いて、物理量を知りたい3次元モデル上の位置を指定する。指定された位置は、画面上での2次元の値(X値,Y値)である。検索部160は、指定された位置に表示されている心臓の3次元モデルの位置を判断し、該当する位置のローカル座標系での3次元の値を得る。
[ステップS142]検索部160は、視線ベクトルに基づいて、モニタ21の画面上で手前側の領域を判定する。例えば図11に示したバウンディングボックス32であれば、「A1」〜「A7」の各領域は手前側の領域であるが、「A8」は他の領域の後ろ隠れているため、手前側の領域ではない。
[ステップS143]検索部160は、まず、検索対象とする領域のレベルjを「1」に設定する。
[ステップS144]検索部160は、jの値が、8分木で生成されたレベルの最大値(max_level)以下か否かを判断する。jの値がmax_level以下であれば、処理がステップS145に進められる。jの値がmax_levelを超えていれば、処理がステップS151に進められる。
[ステップS145]検索部160は、レベルjの判定対象の領域の数を、変数「max_regions」に設定する。例えば検索部160は、j=1の場合、心臓を包含するバウンディングボックス32で示される領域を分割して得られた領域のうちの、視線ベクトルに対して手前側の領域を、レベルjの判定対象の領域とする。また検索部160は、j>1の場合、ステップS146の処理で最後に選択された領域を分割して得られた領域のうちの、視線ベクトルに対して手前側の領域を、レベルjの判定対象の領域とする。
[ステップS146]検索部160は、レベルjの領域の判定対象の領域に番号を振る。そして検索部160は、選択領域を示す変数kに1を設定し、k番目の領域を選択する。
[ステップS147]検索部160は、kの値がmax_regions以下か否かを判断する。kの値がmax_regions以下であれば、処理がステップS148に進められる。kの値がmax_regionsを超えた場合、指定された位置が、心臓のバウンディングボックス32外であると判断され、処理が終了する。
[ステップS148]検索部160は、選択した領域(レベルjのk番目の領域)内に、ユーザから指定された位置が含まれるか否かを判断する。例えば検索部160は、k番目の領域の最小値から最大値で示される範囲内に、指定された位置の座標が含まれるか否かを判断する。選択した領域内に指定された位置が含まれる場合、処理がステップS150に進められる。選択した領域内に指定された位置が含まれない場合、処理がステップS149に進められる。
[ステップS149]検索部160は、変数kの値をインクリメント(1を加算)して、処理をステップS147に進め、次の領域に対する処理を行う。
[ステップS150]検索部160は、レベルjの領域から、指定された位置を含む領域を検出した場合、jの値をインクリメント(1を加算)して、処理をステップS144に進める。
[ステップS151]検索部160は、最後に選択した領域内の要素または節点から、指定された位置に最も近い要素または節点を検索する。例えば検索部160は、最後に選択した領域の8分木データファイル151c(図12参照)に基づいて、その領域内に要素と節点とを認識する。次に検索部160は、表示されている心の3次元モデルの状態を示す心筋データに基づいて、最後に選択した領域内の要素および節点の位置を認識する。さらに検索部160は、指定された位置と、要素および節点それぞれとの距離を計算し、最も近い要素または節点を特定する。そして検索部160は、処理対象ステップの心筋データを参照し、特定した要素または節点の物理量を、モニタ21に表示する。
なお、ユーザによって表示する物理量の種別が指定されている場合、検索部160は、指定された物理量を表示する。また、要素または節点の一方にしか設定されていない物理量が表示対象として指定されている場合も考えられる。その場合には、検索部160は、最後に選択した領域内の要素または節点のうち、指定された物理量が設定された方から、指定された位置に最も近い要素または節点を検索する。
このようにして、ユーザが指定した位置の物理量が、モニタ21に表示される。
図14は、物理量の表示例を示す図である。モニタ21の画面40には、3次元モデル31が表示されている。その3次元モデル31内の任意の位置(指定位置41)がユーザによって指定されると、その位置の物理量42が表示される。図14の例では、指定位置41に最も近い要素または節点の識別子と、その要素または節点について計算された単位体積当たりのエネルギー量が表示されている。
以上説明したように、第2の実施の形態では、心臓を包含するバウンディングボックス32について、同じレベルの領域間で、内包する要素および節点の数が均等となるように、8分木で分割している。これにより、ユーザが指定した位置が、分割後のどの領域内の位置であっても、その領域に含まれる要素および節点の数は同じとなる。その結果、指定した位置が属する領域の違いによる検索時間の変動が抑止される。すなわち、ユーザが物理量を表示する位置を指定したら、常に同程度の時間で、物理量が表示される。その結果、あるときだけ物理量の表示に長い時間がかかる、といった事態が抑止される。
なお心臓は複雑な形状をしており、シミュレーション結果の確認については左心室の心尖部と僧帽弁の弁領域中心を結ぶ心軸に直行する断面での観察が多く行われる。第2の実施の形態では、ローカル座標系の1軸が、心軸と並行となるように、ローカル座標系が定義されている。すなわち、心臓外側を包む領域の1辺が、心軸と平行になるように設定されている。これにより、心軸に直交する断面を観察中は、視線ベクトルの手前に位置する領域の数が最小限の数に抑えられる。その結果、物理量の表示を短時間で行うことができる。
また、第2の実施の形態では、8分木分割データのうち、木構造の上位レベルについては、メモリ102に保存したため、ユーザから指定された位置を含む領域の絞り込みを高速に行うことができる。
〔第3の実施の形態〕
次に第3の実施の形態について説明する。第3の実施の形態は、8分木分割データの生成処理の効率化を図ったものである。以下、第3の実施の形態における、第2の実施の形態との相違点を説明する。
近接するタイムステップ間では、3次元モデルの形状にあまり変化がない。3次元モデルを包含するバウンディングボックスを8分木で分割する構造化処理の時間を考えると、すべてのタイムステップで構造化処理を行うのは非効率である。そのため第3の実施の形態では、キーとなるタイムステップが変化量に応じて決定され、キーのタイムステップでの8分木分割データが生成される。そしてキーとなっていないタイムステップについては、キーのタイムステップの8分木分割データがコピーされる。
図15は、キータイムステップの一例を示す図である。例えば、先頭のタイムステップが、まずキータイムステップ51として設定される。その後の各タイムステップにおける心臓の3次元モデルの、キータイムステップ51からの空間的な変化が確認される。空間的な変化は、例えば、8分木の構造を作成する際に用いるバウンディングボックスのサイズの変化で判断される。また空間的な変化を、バウンディングボックスの分割位置の変化で判断することもできる。空間的な変化は、例えば変化率で表される。その場合、直前のキータイムステップと比較したタイムステップの変化率が任意の割合を超えたとき、そのタイムステップはキータイムステップとして設定される。図15の例では、複数のキータイムステップ51〜54が設定されている。
なおキータイムステップ51〜54間の間隔の広さは、3次元モデルの形状の変化の度合いに応じて変わる。変化が大きいと、キータイムステップ間の間隔が狭くなる。他方、変化が小さいと、キータイムステップ間の間隔が広くなる。
8分木を構成する処理を全要素・節点を対象に行う。それ以外のタイムステップでは、自分の前側のキータイムステップの空間分割を引き継ぎ、コピーを行う。
第3の実施の形態では、領域分割処理の詳細が第2の実施の形態と異なる。
図16は、第3の実施の形態における領域分割処理の手順の一例を示すフローチャートである。図16に示した処理のうち、ステップS201〜203,S208〜S213の各処理は、図9に示したステップS111〜S119の処理と同様である。以下、図9と異なるステップS204〜S207について説明する。
[ステップS204]領域分割部140は、心臓全体を包含するバウンディングボックスの8分割処理を行う。8分割処理の詳細は、図10に示した通りである。
[ステップS205]領域分割部140は、直前のタイムステップからの変化の度合いを示す評価値を算出する。例えば領域分割部140は、直前のタイムステップの8分木分割データにおける、心臓全体を包含するバウンディングボックスを8分割して得られた各領域と、ステップS204で生成された各領域とを比較して、類似度を求める。
類似度の計算方法としては、例えば分割位置を比較する方法が考えられる。この場合、領域分割部140は、選択中のタイムステップ(time step n+1)と直前のタイムステップ(time step n)とのそれぞれについて、心臓全体を包含するバウンディングボックスを8分割した際のx方向の分割位置Xdivを算出する。そして、領域分割部140は、以下の式(1)で評価値を計算する。
|Xdiv_n−Xdiv_n+1|/Xdiv_n ・・・(1)
ここで、「Xdiv_n」は、直前のタイムステップ(time step n)のx方向の分割位置である。「Xdiv_n+1」は、選択中のタイムステップ(time step n+1)のx方向の分割位置である。式(1)は、原点から分割位置までの長さの違いを、原点から直前のタイムステップにおける分割位置までの長さに対する比で表したものである。式(1)の計算結果が、評価値となる。この場合、式(1)の値が大きいほど、直前のタイムステップから選択中のタイムステップまでの心臓の形状の変化が大きいことを表している。
[ステップS206]領域分割部140は、評価値が閾値未満か否かを判断する。例えば、以下の式(2)の真偽が判定される。
|Xdiv_n−Xdiv_n+1|/Xdiv_n<α ・・・(2)
ここでαは、0より大きく1より小さい定数である。評価値が閾値未満であれば、処理がステップS207に進められる。また評価値が閾値以上であれば、処理がステップS208に進められる。
[ステップS207]領域分割部140は、直前のタイムステップ(time step n)の8分木分割データをコピーし、選択中のタイムステップ(time step n+1)の8分木分割データとする。例えばαが0.01であれば、直前のタイムステップにおけるx方向の分割位置に対する、選択中のタイムステップのx方向の分割位置のずれが、原点から分割位置までの長さの1%未満であれば、8分木分割データがコピーされる。すなわち選択中のタイムステップの8分木分割データは、直前のタイムステップと同じ分割位置により分割した8分木分割データとなる。その後、処理がステップS213に進められる。
このようにして、シミュレーションによって得られた心臓の形状の変化が少ない場合には、既に作成されている8分木分割データをコピーすることで、処理の効率化を図ることができる。なお図16の例では、直前のタイムステップの8分木分割データと比較しているが、例えば直近のキータイムステップの8分木分割データと比較してもよい。
なお、第2および第3の実施の形態では、8分木による領域分割を行っているが、4分木などの他の木構造への分割を行ってもよい。
また第2・第3の実施の形態では、心臓のシミュレーション結果として得られた物理量を表示しているが、心臓以外の臓器のシミュレーション結果についても、同様に表示することができる。さらに第2・第3の実施の形態と同様の検索により、臓器または臓器以外の3次元モデル内の任意の位置に設定された各種情報を表示することもできる。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
10 データ探索装置
11 記憶部
12 分割部
13 分割データ
14 検索部

Claims (7)

  1. 3次元モデル内に配置された複数の物理量設定点それぞれについての位置情報と物理量とを記憶する記憶部と、
    前記複数の物理量設定点の数がN(Nは1以上の整数)のとき、3次元の複数の座標軸それぞれについて、前記複数の物理量設定点を座標軸方向に座標値でソートしたときの、N/2番目の物理量設定点とN/2+1番目の物理量設定点との中点、または(N+1)/2番目の物理量設定点の位置を、分割位置に決定し、前記3次元モデルを包含する第1の領域を、前記複数の座標軸それぞれの前記分割位置を通る、前記分割位置に対応する座標軸に垂直な平面により、複数の第2の領域に分割し、前記複数の第2の領域のそれぞれに対応し、対応する第2の領域の内の物理量設定点を含む分割データを生成する分割部と、
    前記3次元モデル内の位置が指定された場合、前記複数の第2の領域のうち指定された位置を含む第2の領域に対応する分割データが含む物理量設定点の中から、指定された位置に対応する物理量設定点を検索し、該物理量設定点の物理量を前記記憶部から取得する検索部と、
    を有するデータ探索装置。
  2. 前記分割部は、
    前記第1の領域を分割すると共に、分割された領域それぞれをさらに分割する処理を繰り返し、分割対象の領域に分割された領域を接続した木構造を生成し、生成された前記木構造の葉となる複数の領域を、前記複数の第2の領域とすることを特徴とする請求項1記載のデータ探索装置。
  3. 前記データ索装置は、
    主記憶装置を有するとともに補助記憶装置に接続され、
    前記分割部は、
    前記木構造のうち、前記第1の領域側の上位から所定範囲を前記主記憶装置に格納し、前記木構造のうち、前記所定範囲を除いた部分を前記補助記憶装置に格納することを特徴とする請求項2記載のデータ探索装置。
  4. 3次元モデルの形状を変化させることにより生成される複数の形状それぞれについて、前記3次元モデル内に配置された複数の物理量設定点それぞれの位置情報と物理量とを記憶する記憶部と、
    前記3次元モデルを包含する第1の領域を、各領域内に含まれる物理量設定点数が均等になるように分割した複数の第2の領域のそれぞれに対応する分割データを、前記複数の形状それぞれについて生成する分割部と、
    一形状の前記3次元モデル内の位置が指定された場合、前記一形状の前記複数の第2の領域のうち、指定された位置を含む第2の領域に対応する分割データが含む物理量設定点の中から、指定された位置に対応する物理量設定点の物理量を前記記憶部から取得する検索部と、
    を有するデータ探索装置。
  5. 前記分割部は、既に分割データを作成した第1の形状と、分割データの作成対象である第2の形状との違いが所定の範囲内の場合、前記第1の形状の分割データのコピーを、前記第2の形状の分割データとすることを特徴とする請求項4記載のデータ探索装置。
  6. 3次元モデル内に配置された複数の物理量設定点それぞれについての位置情報と物理量とを記憶する記憶部を有するデータ探索装置の制御方法において、
    前記データ探索装置が有する分割部が、前記複数の物理量設定点の数がN(Nは1以上の整数)のとき、3次元の複数の座標軸それぞれについて、前記複数の物理量設定点を座標軸方向に座標値でソートしたときの、N/2番目の物理量設定点とN/2+1番目の物理量設定点との中点、または(N+1)/2番目の物理量設定点の位置を、分割位置に決定し、前記3次元モデルを包含する第1の領域を、前記複数の座標軸それぞれの前記分割位置を通る、前記分割位置に対応する座標軸に垂直な平面により、複数の第2の領域に分割し、前記複数の第2の領域のそれぞれに対応し、対応する第2の領域の内の物理量設定点を含む分割データを生成し、
    前記データ探索装置が有する検索部が、前記3次元モデル内の位置が指定された場合、前記複数の第2の領域のうち、指定された位置を含む第2の領域に対応する分割データが含む物理量設定点の中から、指定された位置に対応する物理量設定点の物理量を前記記憶部から取得するデータ探索装置の制御方法。
  7. 3次元モデル内に配置された複数の物理量設定点それぞれについての位置情報と物理量とを記憶する記憶部を有するデータ探索装置の制御プログラムにおいて、
    前記データ探索装置が有する分割部に、前記複数の物理量設定点の数がN(Nは1以上の整数)のとき、3次元の複数の座標軸それぞれについて、前記複数の物理量設定点を座標軸方向に座標値でソートしたときの、N/2番目の物理量設定点とN/2+1番目の物理量設定点との中点、または(N+1)/2番目の物理量設定点の位置を、分割位置に決定させ、前記3次元モデルを包含する第1の領域を、前記複数の座標軸それぞれの前記分割位置を通る、前記分割位置に対応する前記座標軸に垂直な平面により、複数の第2の領域に分割させ、複数の第2の領域のそれぞれに対応し、対応する第2の領域の内の物理量設定点を含む分割データを生成させ、
    前記データ探索装置が有する検索部に、前記3次元モデル内の位置が指定された場合、前記複数の第2の領域のうち指定された位置を含む第2の領域に対応する分割データが含む物理量設定点の中から、指定された位置に対応する物理量設定点を検索させ、該物理量設定点の物理量を前記記憶部から取得させるデータ探索装置の制御プログラム。
JP2013247017A 2013-11-29 2013-11-29 データ探索装置、データ探索装置の制御方法およびデータ探索装置の制御プログラム Active JP6253053B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013247017A JP6253053B2 (ja) 2013-11-29 2013-11-29 データ探索装置、データ探索装置の制御方法およびデータ探索装置の制御プログラム
US14/539,261 US20150154282A1 (en) 2013-11-29 2014-11-12 Data search apparatus and method for controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013247017A JP6253053B2 (ja) 2013-11-29 2013-11-29 データ探索装置、データ探索装置の制御方法およびデータ探索装置の制御プログラム

Publications (2)

Publication Number Publication Date
JP2015106228A JP2015106228A (ja) 2015-06-08
JP6253053B2 true JP6253053B2 (ja) 2017-12-27

Family

ID=53265530

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013247017A Active JP6253053B2 (ja) 2013-11-29 2013-11-29 データ探索装置、データ探索装置の制御方法およびデータ探索装置の制御プログラム

Country Status (2)

Country Link
US (1) US20150154282A1 (ja)
JP (1) JP6253053B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6802702B2 (ja) * 2016-12-13 2020-12-16 日本ユニシス株式会社 形状変形装置および形状変形用プログラム
JP7167489B2 (ja) * 2018-05-30 2022-11-09 富士通株式会社 解析モデル表示処理プログラム、解析モデル表示処理方法および情報処理装置
JP7309656B2 (ja) * 2020-05-08 2023-07-18 ヤフー株式会社 配置プログラム、配置装置及び配置方法
KR102409398B1 (ko) * 2020-09-15 2022-06-15 김학민 입체도형을 이용한 삼차원 공간 위치 좌표화 방법

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07104855B2 (ja) * 1985-03-28 1995-11-13 インターナショナル・ビジネス・マシーンズ・コーポレーション 数値シミュレーション装置
JPH0293859A (ja) * 1988-09-30 1990-04-04 Toshiba Corp データ検索方法及び検索装置
US5379225A (en) * 1992-06-24 1995-01-03 Intel Corporation Method for efficient calculation of vertex movement for three-dimensional topography simulation
JP3598183B2 (ja) * 1996-10-16 2004-12-08 株式会社東芝 多次元データ管理方法、多次元データ管理装置、多次元データ管理プログラムを記録した媒体
EP1406187A4 (en) * 2001-07-11 2007-05-02 Riken METHOD FOR STORING ENTITY DATA INCORPORATING FORM AND PHYSICAL QUANTITY AND STORAGE PROGRAM
US7689021B2 (en) * 2005-08-30 2010-03-30 University Of Maryland, Baltimore Segmentation of regions in measurements of a body based on a deformable model
WO2007122677A1 (ja) * 2006-04-13 2007-11-01 Osaka University 熱対流場・物質拡散場の設計支援方法、設計支援システム、および設計支援用プログラム
JP4745133B2 (ja) * 2006-05-30 2011-08-10 株式会社東芝 超音波診断装置、医用画像処理装置及び医用画像処理プログラム
EP2187326A4 (en) * 2007-09-04 2014-09-17 Fujitsu Ltd DATA RECORDING PROGRAM, DATA RECORDING DEVICE, DATA RECORDING METHOD, AND RECORDING MEDIUM
KR101420237B1 (ko) * 2008-02-25 2014-07-17 삼성전자주식회사 이웃 포인트의 탐색이 용이한 3d 영상 처리 방법
US8538103B2 (en) * 2009-02-10 2013-09-17 Hitachi Medical Corporation Medical image processing device, medical image processing method, medical image diagnostic apparatus, operation method of medical image diagnostic apparatus, and medical image display method
WO2010134512A1 (ja) * 2009-05-20 2010-11-25 株式会社 日立メディコ 医用画像診断装置とその関心領域設定方法
JP5558931B2 (ja) * 2010-06-16 2014-07-23 日立アロカメディカル株式会社 超音波診断装置
WO2012026383A1 (ja) * 2010-08-24 2012-03-01 旭硝子株式会社 計算用データ生成装置、計算用データ生成方法及び計算用データ生成プログラム
JP5972569B2 (ja) * 2011-12-26 2016-08-17 東芝メディカルシステムズ株式会社 超音波診断装置、超音波画像処置装置、医用画像診断装置及び超音波画像処理プログラム
JP5984114B2 (ja) * 2012-07-18 2016-09-06 富士通株式会社 モデル作成プログラム、モデル作成方法、およびモデル作成装置
US20140207005A1 (en) * 2013-01-24 2014-07-24 The Board Of Regents For Oklahoma State University System and method for real-time three dimensional modeling of cardiovascular dynamics and the heart using electrocardiogram signals
JP2015050482A (ja) * 2013-08-29 2015-03-16 株式会社東芝 画像処理装置、立体画像表示装置、画像処理方法およびプログラム

Also Published As

Publication number Publication date
JP2015106228A (ja) 2015-06-08
US20150154282A1 (en) 2015-06-04

Similar Documents

Publication Publication Date Title
Ganovelli et al. A multiresolution model for soft objects supporting interactive cuts and lacerations
JP6787661B2 (ja) 工作物の機械加工のシミュレート
US11328103B2 (en) Inverse simulating a plurality of fibers
JP6888484B2 (ja) 検索プログラム、検索方法、及び、検索プログラムが動作する情報処理装置
JP5830004B2 (ja) 3次元モデル生成装置、3次元モデル生成方法及び3次元モデル生成プログラム
Thomas et al. Symmetry in scalar field topology
JP6253053B2 (ja) データ探索装置、データ探索装置の制御方法およびデータ探索装置の制御プログラム
CN110033519A (zh) 基于隐式函数的三维建模方法、装置、系统及存储介质
JP6863926B2 (ja) データ分析システム及びデータ分析方法
JP6518517B2 (ja) 点群データモデル化装置
US10824775B2 (en) Simulation method and device for determining collision between objects
Gao et al. Multiresolutional similarity assessment and retrieval of solid models based on DBMS
EP2924599A1 (en) Computing program, computing apparatus and computing method
Lock et al. Visual analytics of single cell microscopy data using a collaborative immersive environment
JP2018180707A (ja) 流脈線可視化装置、流脈線可視化方法、および流脈線可視化プログラム
JP3928016B2 (ja) 最大角度法を用いた三角形メッシュ生成方法及びプログラム
US11449566B2 (en) Methods and systems for processing geospatial data
JP6915237B2 (ja) 情報処理装置、シミュレータ結果表示方法、及びシミュレータ結果表示プログラム
JP2020004311A (ja) 解析装置、解析方法及び解析プログラム
CN105869213B (zh) 一种多阶fdtd网格建模方法
TWI824727B (zh) 用於深度學習的三維建模軟體之幾何模型資料預處理方法及系統
JP6132671B2 (ja) クエリ処理システム、及び、クエリ処理方法
CN109036567B (zh) 一种基于子空间凝聚算法的软组织形变仿真方法
US11892387B2 (en) Information processing apparatus and method and system for particle simulation
US10529444B1 (en) System that rapidly generates a solvent-excluded surface

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160706

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170801

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170929

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171121

R150 Certificate of patent or registration of utility model

Ref document number: 6253053

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150