(57)【要約】【課題】  固体材料内部に存在する気孔の球形度を定量的に求める。【解決手段】  Ｘ線ＣＴ技術を用いた固体材料内部の撮影画像から、固体材料に存在する気孔に相当する空白域（空白格子４０の集合）とそれ以外の領域（非空白格子５０の集合）に再構成された再構成ボリュームデータ２２ａを生成し、この再構成ボリュームデータ２２ａを用い、空白域に対して球６０をその径の大きなものから順に詰め込んでいき、その詰め込んだ球６０の数や大きさを基に、その空白域がどれほど真球に近似しているか、その球形度を計算によって定量的に求める。これにより、固体材料に存在する個々の空間について、その球形度が定量的に求められる。【選択図】  図１
2005326173.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに空間の球形度を計算する処理を実行させる球形度計算プログラムにおいて、
コンピュータを、固体材料に存在する空間のうち特定の空間について、前記特定の空間がどれほど真球に近似しているかを示す球形度を計算により定量的に求める球形度計算手段として機能させることを特徴とする球形度計算プログラム。
【請求項２】
前記球形度計算手段は、前記特定の空間を仮想球で埋める計算処理を行うことによって前記球形度を求めることを特徴とする請求項１記載の球形度計算プログラム。
【請求項３】
前記球形度計算手段は、前記特定の空間を大きな仮想球から順に埋めていくことを特徴とする請求項２記載の球形度計算プログラム。
【請求項４】
前記球形度計算手段は、前記特定の空間を１個または２個以上の前記仮想球で埋める計算処理を行い、前記特定の空間を埋める前記仮想球が複数ある場合には、複数の前記仮想球の大きさおよび複数の前記仮想球の度数分布を計算することによって前記球形度を求めることを特徴とする請求項２記載の球形度計算プログラム。
【請求項５】
前記球形度計算手段は、前記球形度と共に前記特定の空間の体積を計算し、前記固体材料に存在するすべての前記空間についての前記球形度および前記体積の分布を計算することを特徴とする請求項１記載の球形度計算プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は球形度計算プログラムに関し、特に固体材料内部に存在する気孔の球形度を計算するための球形度計算プログラムに関する。
【背景技術】
【０００２】
現在、発泡アルミニウムなど、内部に気孔を形成した発泡金属がその軽さや強度等の面から様々な用途に用いられるようになってきている。このような発泡金属をはじめ内部に気孔が存在する各種固体材料は、その気孔率のほか、個々の気孔の形状によってもその強度が変化し、一般に、気孔形状が真球に近ければ近いほど、その強度が高くなる傾向がある。
【０００３】
近年では、内部に気孔が存在する各種固体材料の構造解析にコンピュータトモグラフィ（Computed Tomography，ＣＴ）技術が利用されるようになってきている。ＣＴ技術を用いることで、以前は物理的にスライスして観察しなければ把握できなかった固体材料内部の気孔率や気孔形状も、Ｘ線や中性子線を用いた非破壊の材料断面撮影によって二次元的、三次元的に把握することが可能になってきている。
【０００４】
なお、非破壊の固体材料の構造解析法としては、従来、比重測定法が広く用いられてきたが、そのほか、超音波を利用する方法なども提案されている（例えば、特許文献１参照。）。この提案では、セラミックス等の固体材料表面に送受信兼用の超音波センサを配置し、そこから発振した超音波が固体材料底面で反射して戻ってくるまでの伝播時間を基に、その固体材料の気孔率、気孔形状および弾性率を求める試みがなされている。
【特許文献１】特開平８−１８９９２３号公報（段落番号〔００１０〕〜〔００３１〕，図１〜図３）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、これまで固体材料の構造解析に関する上記のようないくつかの方法が提案されているものの、未だ以下に示すような課題も残されている。
例えば、ＣＴ技術を利用する場合には、Ｘ線等を用いて材料断面を撮影し、コンピュータグラフィックス（Computer Graphics，ＣＧ）によってモニタ上に三次元形状を再現するとともに、それを任意の断面でスライスするといった仮想操作も行うことができるようになる。しかしながら、それによって得られるのは固体材料内部の視覚的情報、すなわち気孔が多いか少ないか、気孔が大きいか小さいか、気孔が真球に近いか近くないかといった情報のみであり、気孔の形状を数値化して定量的に評価することは行われていなかった。
【０００６】
また、上記の比重測定法や超音波法の場合には、固体材料の平均値データが得られるのみであり、さらに、気孔の形状そのものは観察することができない。超音波法によって求められるのは、いわば気孔形状の複雑さであって、個々の気孔が三次元的にどのような形状をしているかといった情報は得ることができない。
【０００７】
前述のように固体材料の強度はその気孔率や気孔形状で変化する。その一方、これまで固体材料の気孔形状を定量的に表すことができなかったために、その解析結果は客観性に欠け、また、その解析結果を以後の材料開発・製造に十分に反映させることができない場合もあった。
【０００８】
本発明はこのような点に鑑みてなされたものであり、固体材料内部に存在する気孔の形状を定量的に評価するため、個々の気孔の球形度を計算によって求める球形度計算プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明では上記課題を解決するために、コンピュータに空間の球形度を計算する処理を実行させる球形度計算プログラムにおいて、コンピュータを、固体材料に存在する空間のうち特定の空間について、前記特定の空間がどれほど真球に近似しているかを示す球形度を計算により定量的に求める球形度計算手段として機能させることを特徴とする球形度計算プログラムが提供される。
【００１０】
このような球形度計算プログラムによれば、図１に示すように、固体材料内部を例えばＣＴ技術を利用して画像に表し、球形度計算手段が、実際の固体材料に存在する特定の空間が画像上に表された特定の空白域を例えば仮想の球６０で埋めることによって、その空白域がどれほど真球に近似しているか、その球形度を定量的に求める。これにより、固体材料に存在する各空間について、その球形度が定量的に求められる。
【発明の効果】
【００１１】
本発明の球形度計算プログラムは、固体材料に存在する各空間の球形度を定量的に求めることができるので、空間の形状や大きさの解析結果の精度およびその客観性が増し、解析結果を以後の材料開発・製造に反映させることが可能になり、このような材料を用いた製品の高品質化を図ることが可能になる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態を、Ｘ線ＣＴ技術を用いて固体材料の内部に存在する気孔の球形度を計算する球形度計算システムを例に、図面を参照して詳細に説明する。
図２は球形度計算システムの構成例を示す図である。
【００１３】
図２の球形度計算システム１は、コンピュータ２０を備えたＸ線ＣＴ装置１０を用いて構成することができる。
Ｘ線ＣＴ装置１０は、固体材料の試料３０にＸ線を照射するＸ線源１１、および試料３０のＸ線透過像を撮影するＸ線ＣＣＤ（Charge Coupled Device）カメラ１２を有している。Ｘ線ＣＣＤカメラ１２で撮影された試料３０のＸ線透過像は、撮影画像２１としてコンピュータ２０が有する記憶装置等に格納され、蓄積される。
【００１４】
コンピュータ２０は、撮影画像２１を用い、公知の画像再構成理論に従って再構成ボリュームデータ２２を生成し、この再構成ボリュームデータ２２を基に、試料３０内部の気孔の球形度計算に必要な空白域情報テーブル２３および球形度情報テーブル２４を生成する機能を有している。
【００１５】
ここで、再構成ボリュームデータ２２は、試料３０の二次元または三次元の撮影画像２１の中で、気孔に相当する部分とそれ以外の部分をコンピュータ２０によって画素ごとに識別可能にしたデータである。また、空白域情報テーブル２３には、撮影画像２１における気孔を空白域とした場合にその各空白域の形状や位置に関する情報が記録される。球形度情報テーブル２４には、各気孔（空白域）の球形度に関する情報が記録される。なお、これら再構成ボリュームデータ２２、空白域情報テーブル２３および球形度情報テーブル２４のデータ構造については後述する。
【００１６】
また、コンピュータ２０は、球形度情報テーブル２４に記録されているデータを用いて、試料３０の気孔の球形度に関する情報を所定の形態で表示装置等に表示する球形度情報表示部２５を有している。
【００１７】
次に、このような球形度計算システム１を用いた試料３０の気孔球形度の計算原理について説明する。気孔球形度の計算では、まず、撮影画像２１から得られる再構成ボリュームデータ２２の気孔に相当する部分を空白域とし、この空白域を仮想の球で埋める。
【００１８】
図１は空白域を球で埋めた状態の一例である。ただし、図１では、便宜上、試料３０の気孔の一部を二次元で図示して説明する。また、図３は空白域を球で埋めたときの球の度数分布の一例である。
【００１９】
試料３０の気孔球形度の計算では、まず、図１に示すように、撮影画像２１が、試料３０の気孔に相当する空白域（空白格子４０が連続的に集合する領域をいう。）のデータとそれ以外の領域（空白格子４０以外の格子（非空白格子）５０が連続的に集合する領域をいう。）のデータに再構成された再構成ボリュームデータ２２ａを用いる。コンピュータ２０は、この再構成ボリュームデータ２２ａを用い、撮影画像２１に含まれていた個々の空白域に対して球６０をその径の大きなものから順に詰め込んでいき、各空白域を埋める球６０の数や大きさを基に、空白域情報テーブル２３および球形度情報テーブル２４を生成する。
【００２０】
そして、生成した空白域情報テーブル２３や球形度情報テーブル２４に記録されている情報を用いて、例えば図３に示すように、横軸に球６０の半径、縦軸に度数をとり、空白域を埋める球６０の数や大きさから、その空白域がどの程度真球に近いかを求める。このような計算結果は、必要に応じ、球形度情報表示部２５に表示される。
【００２１】
この球形度計算では、（イ）空白域を埋める最大球の数が１であること、（ロ）空白域を埋める最大球と２番目に大きな球の半径の差が大きいこと、（ハ）空白域を埋める最大球以外の球の数が少ないこと、（ニ）空白域を埋める最大球以外の球の数が小さい球の側に偏っていること、等の要件をより多く満たすものほど空白域、すなわちその気孔が真球に近いと判定することができる。
【００２２】
なお、球形度計算システム１の各種処理を実行するコンピュータ２０は、次の図４に例示するようなハードウェア構成を有している。
図４はコンピュータのハードウェア構成例である。
【００２３】
コンピュータ２０は、ＣＰＵ（Central Processing Unit）２０ａ、ＲＯＭ（Read Only Memory）２０ｂ、ＲＡＭ（Random Access Memory）２０ｃ、ＨＤＤ（Hard Disk Drive）２０ｄ、グラフィック処理部２０ｅ、入力Ｉ／Ｆ（Interface）２０ｆ、通信Ｉ／Ｆ２０ｇ等によって構成され、これらはバス２０ｈを介して接続されている。
【００２４】
ここで、ＣＰＵ２０ａは、ＨＤＤ２０ｄに格納されているプログラムや再構成ボリュームデータ２２、空白域情報テーブル２３または球形度情報テーブル２４のデータに応じた処理を実行する。ＲＯＭ２０ｂは、ＣＰＵ２０ａが実行する基本的なプログラムやデータを記録する。ＲＡＭ２０ｃは、ＣＰＵ２０ａが実行途中のプログラムやデータを記録する。ＨＤＤ２０ｄには、ＣＰＵ２０ａが実行するＯＳ（Operating System）やアプリケーションプログラム、Ｘ線ＣＴ装置１０で撮影された撮影画像２１、再構成ボリュームデータ２２、空白域情報テーブル２３や球形度情報テーブル２４の内容等が記録される。
【００２５】
グラフィック処理部２０ｅには、ディスプレイなどの表示装置２０ｉが接続され、グラフィック処理部２０ｅは、ＣＰＵ２０ａからの描画命令に従って表示装置２０ｉの画面上に操作情報や球形度の計算結果等の画像を表示する。入力Ｉ／Ｆ２０ｆには、マウス２０ｊやキーボード２０ｋが接続され、これらによってユーザが入力した情報を受信し、バス２０ｈを介してＣＰＵ２０ａに送信する。通信Ｉ／Ｆ２０ｇは、必要に応じ、他のコンピュータとの間のＬＡＮ（Local Area Network）接続やインターネット接続のためのインタフェースである。
【００２６】
また、コンピュータ２０は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等の記録媒体に格納されたプログラムを必要に応じて読み取り、実行することも可能になっている。
【００２７】
このようなハードウェア構成を有するコンピュータ２０を用いることによって球形度計算システム１における各処理機能が実現され、コンピュータ２０は、各処理を実行して気孔等の空間の球形度を計算によって定量的に求める球形度計算手段として機能する。
【００２８】
次に、球形度計算システムの処理について説明する。
図５は球形度計算システムの処理フローの概略説明図である。
球形度計算システム１では、まず、Ｘ線ＣＴ装置１０によって試料３０の必要数のＸ線透過像が撮影され（ステップＳ１）、その撮影画像２１は、コンピュータ２０のＨＤＤ２０ｄ等の記憶装置に格納され、蓄積される（ステップＳ１０）。
【００２９】
コンピュータ２０では、まず、撮影画像２１に対し、公知の画像再構成処理が施され（ステップＳ１１）、格子状に並んだ画素の格子パターンを空白域とそれ以外の領域に区別する２値データで表現した再構成ボリュームデータ２２が生成される（要すれば、「放射線医療技術学叢書（１９）ＳＰＥＣＴ画像技術の基礎」（日本放射線技術学会出版）参照。）。
【００３０】
ここで、再構成ボリュームデータのデータ構造について説明する。
図６は再構成ボリュームデータのデータ構造の説明図である。また、図７は再構成ボリュームデータの一例である。
【００３１】
図６に示すように、再構成ボリュームデータ２２は、Ｉ，Ｊ，Ｋ方向の各格子数のデータと、Ｉ，Ｊ，Ｋ方向の格子数を掛け合わせた個数の２値データによって構成されて、コンピュータ２０上で取り扱われる。
【００３２】
例えば、撮影画像２１から得られるＩ，Ｊ方向の格子の１段目と２段目がそれぞれ図７に示すような格子パターン２２ｂ，２２ｃになっている場合、その再構成ボリュームデータ２２ｄは、図６に従い、Ｉ方向の格子数「６」、Ｊ方向の格子数「４」、Ｋ方向の格子数「２」、および空白格子４０と非空白格子５０をそれぞれ「０」，「１」で表した２値データで構成される。
【００３３】
なお、格子パターンは、再構成ボリュームデータを概念的に表現するものである。
図５に戻り、生成された再構成ボリュームデータには、それに含まれている個々の空白域ごとにラベリングを行う処理が施される（ステップＳ１２）。さらに、再構成ボリュームデータ２２は、そのラベリングデータを用いて、個々の空白域を包含する最小の空白域ボリュームデータにそれぞれ分割される。この空白域ボリュームデータのデータ構造は、後述の図９に示すように、分割によりそれに含まれる格子数が異なることを除き、上記図６に示した再構成ボリュームデータ２２のデータ構造と同じになる。
【００３４】
そして、空白域ボリュームデータの生成後、各空白域について、どのような球がどの程度詰め込まれるかといった球データが生成され（ステップＳ１３）、球データとともに空白域情報テーブル２３が生成される。
【００３５】
ここで、球データおよび空白域情報テーブルのデータ構造について説明する。
図８は球データのデータ構造の説明図、図９は空白域情報テーブルのデータ構造の説明図である。
【００３６】
図８に示すように、球データ２６は、個々の空白域の空白格子４０の数およびその空白域を埋める球の半径別の個数、そして空白域を埋める球の半径とその個数を１組とした各データによって構成されている。したがって、球の半径とその個数の組は、空白域を埋める球の半径別の個数分だけ記録される。
【００３７】
また、図９に示すように、空白域情報テーブル２３は、空白域を特定する通し番号、空白域を含んで分割された空白域ボリュームデータ２２０へのポインタ、球データ２６へのポインタ、および空白域ボリュームデータ２２０の格子（Ｉ，Ｊ，Ｋ）＝（０，０，０）の再構成ボリュームデータ２２における位置の各データによって構成されている。
【００３８】
図５に戻り、図９に示したような空白域情報テーブル２３のデータを用い、個々の空白域がどの程度真球に近いか、その球形度を計算する処理が実行され（ステップＳ１４）、球形度情報テーブル２４が生成される。
【００３９】
図１０は球形度情報テーブルのデータ構造の説明図である。
球形度情報テーブル２４は、空白域を特定する通し番号であって空白域情報テーブル２３の通し番号に対応したもの、空白域を埋める球の中の最大球が空白域全体に占める体積割合を示す気孔形状係数、空白域を埋める最大球と２番目に大きな球の半径比、最大球と各球の体積比の平均値の各データによって構成されている。
【００４０】
以下、球形度計算システム１の処理フローをより具体的に説明する。ただし、図５の処理フローにおいて、ステップＳ１，Ｓ１０，Ｓ１１の各処理は公知であるので、ここではステップＳ１２のラベリング処理、ステップＳ１３の球データ生成処理およびステップＳ１４の球形度計算処理について詳細に説明する。
【００４１】
まず、ラベリング処理について説明する。
図１１はラベリング処理フローの説明図である。また、図１２から図１５はラベリング処理のデータ遷移図である。ただし、図１２から図１５では、説明の便宜上、Ｉ，Ｊ，Ｋ三次元データの一部のＩ，Ｊ二次元データを図示している。
【００４２】
ラベリング処理では、まず、その前の画像再構成処理によって生成された、例えば図１２に示すような２つの空白域を有する再構成ボリュームデータ２２ｅに対し、隣り合う同種の格子同士を次々連結していくという方法で各空白域をラベリングする（ステップＳ２０）。
【００４３】
すなわち、図１２に示した二次元の再構成ボリュームデータ２２ｅの場合、格子パターンのＩ方向の格子数は２２個、Ｊ方向の格子数は１０個であり、この領域に含まれる空白格子４０と非空白格子５０がそれぞれ「０」，「１」で表されている。ラベリング処理では、この再構成ボリュームデータ２２ｅの隣り合う「０」同士を連結し、また、隣り合う「１」同士を連結する。
【００４４】
図１２に示した再構成ボリュームデータ２２ｅに対してラベリング処理を実行した結果を図１３に示す。ここでは、２つの空白域のうち、一方の空白域の空白格子４０が「１」でラベリングされ、もう一方の空白域の空白格子４０が「２」でラベリングされており、また、空白域以外の非空白格子５０については「０」でラベリングされている。このように、ラベリング処理では、図１２に示した再構成ボリュームデータ２２ｅから図１３に示したようなラベリングデータ２２ｆが生成される。
【００４５】
このラベリングデータ２２ｆは、各空白域をそれぞれ含んだ最小の空白域ボリュームデータに分割される（ステップＳ２１）。図１４には、ラベリングデータ２２ｆから分割される空白域ボリュームデータの格子パターン２２１ｂ，２２２ｂを点線で図示している。ここでは図１３に示したＩ，Ｊ方向の格子数がそれぞれ２２個，１０個のラベリングデータ２２ｆから、Ｉ，Ｊ方向の格子数がそれぞれ１１個，９個の空白域ボリュームデータと、Ｉ，Ｊ方向の格子数がそれぞれ１０個，１０個の空白域ボリュームデータに分割される。実際には、空白域のＫ方向の格子数も考慮され、三次元の空白域ボリュームデータに分割される。
【００４６】
そして、図１５に示すように、各空白域ボリュームデータ２２１，２２２は、再び空白格子４０と非空白格子５０がそれぞれ「０」と「１」で２値化される。さらに、各空白域ボリュームデータ２２１，２２２の格子（Ｉ，Ｊ，Ｋ）＝（０，０，０）の再構成ボリュームデータ２２ｅにおける位置が求められる。このようにして得られる空白域ボリュームデータ２２１，２２２へのポインタ、および格子（０，０，０）の位置の各情報（空白域ボリュームデータ２２１，２２２に関する情報）が空白域情報テーブル２３の各通し番号の該当欄に記録される（ステップＳ２２）。図１４に例示した二次元データの場合、図１５に示したように、空白域ボリュームデータ２２１、２２２へのポインタとともに、それぞれの格子（Ｉ，Ｊ）＝（０，０）の再構成ボリュームデータ２２ｅにおける位置Ｐ（０，１），Ｑ（１２，０）（図１４参照）が空白域情報テーブル２３の該当欄に記録される。
【００４７】
なお、このラベリング処理時点では、まだ球データ２６に関するデータが取得されていないため、図１５に示したように、空白域情報テーブル２３の球データ２６へのポインタの欄は、データなし（ＮＵＬＬ）の状態になる。
【００４８】
続いて、球データ生成処理について説明する。
図１６は球データ生成処理フローの説明図である。また、図１７から図２３は球データ生成処理のデータ遷移図である。ただし、図１７から図２３では、説明の便宜上、Ｉ，Ｊ，Ｋ三次元データの一部のＩ，Ｊ二次元データを図示している。
【００４９】
球データ生成処理では、まず、空白域情報テーブル２３から１つ分、例えば空白域ボリュームデータ２２１が抽出される（ステップＳ３０）。そして、図１７に示すように、抽出された空白域ボリュームデータ２２１についてその空白格子４０の数が求められ、求められた空白格子４０の数が球データ２６に記録される（ステップＳ３１）。上記ラベリング処理後の二次元データの場合、図１５に示したように空白域ボリュームデータ２２１の空白格子４０の数は７１個であり、これが球データ２６に記録される。球データ２６へのポインタは、空白域情報テーブル２３に記録される。
【００５０】
次いで、抽出された空白域ボリュームデータ２２１に対し、格子を更にメッシュ状に細分化する（ステップＳ３２）。ここで、格子を細分化するメッシュ細分化処理について説明する。
【００５１】
図２４はメッシュ細分化処理フローの説明図である。
空白域ボリュームデータ２２１の各格子をｎ（ｎ≧２，整数）倍に細分化する場合、抽出された空白域ボリュームデータ２２１に対し、まず、Ｉ，Ｊ，Ｋ方向の格子数をｎ倍し、それに応じたデータ記録領域を確保する（ステップＳ５０）。
【００５２】
次いで、この空白域ボリュームデータ２２１からＩ方向１列分のデータを抽出し（ステップＳ５１）、１つずつ同じデータ値をｎ個コピーしてＩ方向の格子数がｎ倍されたデータを生成する（ステップＳ５２）。さらに、Ｉ方向にｎ倍されたデータをｎ回繰り返して先のデータ記録領域に書き込み、Ｊ方向に格子数がｎ倍されたデータを生成する（ステップＳ５３）。このステップＳ５１〜Ｓ５３を空白域ボリュームデータ２２１のＩ方向２列目以降のデータについて同様に繰り返す。
【００５３】
次いで、Ｉ方向１列分のデータについての（Ｉ×ｎ）×（Ｊ×ｎ）個のデータ集合をｎ回繰り返してコピーし、Ｋ方向の格子数がｎ倍されたデータを生成する（ステップＳ５４）。そして、ステップＳ５１〜Ｓ５４を空白域ボリュームデータ２２１のＩ方向２列目以降のデータについて同様に繰り返す。これにより、Ｉ，Ｊ，Ｋ方向のそれぞれの格子数がｎ倍に細分化された空白域ボリュームデータ（「細分化空白域ボリュームデータ」という。）が生成される。図１８には、元の空白域ボリュームデータ２２１について、その格子数が５倍に細分化された細分化空白域ボリュームデータ２２１ａを図示している。
【００５４】
図１６の球データ生成処理フローに戻り、ステップＳ３２の空白域ボリュームデータ２２１のメッシュ細分化処理後は、その空白域を埋める球の大きさとその位置を求める（ステップＳ３３）。ここで、球の大きさと位置を求める処理について説明する。
【００５５】
図２５は球の大きさと位置を求める処理フローの説明図である。
球の大きさとその位置を求める処理では、まず、細分化された所定数の格子の集合からなる球、例えば最小球を生成し（ステップＳ６０）、その球を、細分化空白域ボリュームデータ２２１ａの格子（０，０，０）の位置から細分化された１格子分ずつ移動させる（ステップＳ６１）。そして、この球が、細分化空白域ボリュームデータ２２１ａの空白域内に完全に収まる領域があるか否かが判定される（ステップＳ６２）。
【００５６】
ステップＳ６２において、球が細分化空白域ボリュームデータ２２１ａの空白域内に収まる領域があると判定された場合には、この球を、細分化された１格子分だけ大きくし（ステップＳ６３）、ステップＳ６１に戻る。そして、この１格子分だけ大きくした球を再び細分化空白域ボリュームデータ２２１ａの格子（０，０，０）の位置から１格子分ずつ移動させ、空白域内に収まる領域があるか否かが判定される。このようにステップＳ６２において球が細分化空白域ボリュームデータ２２１ａの空白域内に収まる領域があると判定される間は、ステップＳ６１〜Ｓ６３の処理が繰り返される。
【００５７】
ステップＳ６２において、球が細分化空白域ボリュームデータ２２１ａの空白域内に収まる領域がないと判定された場合には、この球よりも１格子分だけ小さい球を、この処理の実行時点におけるその空白域内に収まる最大の球とする（ステップＳ６４）。
【００５８】
この処理の実行時点における空白域内に収まる最大の球を求めた後は、再びステップＳ６１と同様にして、この球を格子（０，０，０）から１格子分ずつ移動させ、この球が収まる空白域内の１または２以上の位置を特定する（ステップＳ６５）。
【００５９】
なお、上記のステップＳ６０，Ｓ６３において、所定の格子サイズの仮想球は次のようにして生成される。
図２６は球の生成方法の説明図である。
【００６０】
１格子当たりの長さを１とし、球の直径格子サイズをｍとすると、その中心座標は（ｍ／２，ｍ／２，ｍ／２）になり、半径はｍ／２になる。したがって、（ｘ，ｙ，ｚ）を格子の中心座標として、（ｘ−ｍ／２）2＋（ｙ−ｍ／２）2＋（ｚ−ｍ／２）2＜（ｍ／２）2の関係を満たす細分化ボリュームデータ内の格子４１にフラグを立て、このフラグの立てられた格子４１の集合を球とする。なお、図２６にはｍ＝８とした場合を例示している。そして、上記の球の大きさと位置を求める処理においては、このフラグの立てられた格子４１のすべてが、例えば細分化空白域ボリュームデータ２２１ａの空白域内に収まるか否かを判定する。
【００６１】
図１６の球データ生成処理フローに戻り、ステップＳ３３の球の大きさと位置を求める処理後は、その処理時点における空白域の空白格子４０に合致する最大の球が複数あったか否かが判定される（ステップＳ３４）。
【００６２】
ステップＳ３４において、空白域に収まる最大の球が１つと判定された場合で、例えばその最大の球がその空白域を埋める最初の球である場合には、図１９に示すように、その最大球６１の半径（ここでは３．４７）および個数（ここでは１）が球データ２６の該当する欄に記録される（ステップＳ３５）。なお、この場合、球データ２６の空白域を埋める球の半径別の個数は１になる。そして、さらに、その最大球６１でその空白域を埋める（ステップＳ３６）。図１９の場合、空白域内の最大球６１の格子を、非空白格子５０の細分化された格子と同様、「１」で表し、空白域内に残る空白格子４０の細分化された格子と区別している。
【００６３】
そして、埋める球の大きさが所定サイズ以下になるまで、ステップＳ３３に戻ってそれ以降の処理を実行する（ステップＳ３７）。すなわち、ステップＳ３６で空白域を埋めた最大球６１が所定サイズ以下でなければ、ステップＳ３３に戻り、その最大球６１が埋められてその時点で空白域内になお残る空白域内に収まる２番目に大きな球が求められる。これを繰り返すことで、図２０に示すように、最大球６１、２番目に大きな球６２（半径１．９１，個数１）というように、空白域が大きな球から順に埋められていくようになる。
【００６４】
また、ステップＳ３４において、ステップＳ３３の処理時点で空白域内に収まる最大の球が複数あったと判定された場合には、それらが互いに重なる位置であるか否かが判定され（ステップＳ３８）、互いに重ならない位置であれば、それらをすべて最大の球としてステップＳ３５に進む。その場合、球データ２６の球の個数として２以上の値が記録されることになる。
【００６５】
ステップＳ３８において、ステップＳ３３の処理時点で複数あった最大の球が互いに重なる位置であると判定された場合には、空白域内にいずれの最大球を選択して配置するのが適切であるかを決定する配置決定処理が行われる（ステップＳ３９）。ここで、配置決定処理について説明する。
【００６６】
図２７は配置決定処理フローの説明図である。
配置決定処理では、まず、球データ生成処理を実行している細分化空白域ボリュームデータ２２１ａがコピーされ、作業用データが生成される（ステップＳ７０）。そして、この作業用データの空白域が、互いに重なる複数の球から選択されたいずれか１つによって埋められる（ステップＳ７１）。ただし、このステップＳ７１では、ステップＳ３６においてすでに埋められることが確定している球がある場合には、その球と、互いに重なる複数の球から選択された１つによって埋められる。その後、前述の球の大きさとその位置を求める処理の場合と同様にして、作業用データの残る空白域を埋めるその次に大きな球が求められる（ステップＳ７２）。このステップＳ７０〜Ｓ７２の処理が、互いに重なる複数の球についてそれぞれ実行される。
【００６７】
次いで、互いに重なる複数の球についてそれぞれ求めたその次に大きな球のうち、いちばん大きなものを検索し（ステップＳ７３）、このいちばん大きなものが１つだけであれば（ステップＳ７４）、その大きさと位置を戻り値に設定し（ステップＳ７５）、この配置決定処理を終了してステップＳ３５に進む。また、ステップＳ７３において、いちばん大きな球が複数見つかった場合には（ステップＳ７４）、この作業用データおよび複数見つかったその球の大きさと位置を用い、配置決定処理を再帰呼び出しする（ステップＳ７６）。そして、最終的には、複数の球のうちの１つの大きさと位置を戻り値に設定し（ステップＳ７７）、この配置決定処理を終了してステップＳ３５に進む。
【００６８】
この配置決定処理の具体例を図２１を参照して具体的に説明する。
例えば、図２１に示したように、空白域に最大球６１と２番目に大きな球６２に続いて３番目に大きな球を配置するときに、異なる位置に配置される３つの３番目に大きな球６３ａ，６３ｂ，６３ｃがある場合を想定する。
【００６９】
この場合、まず、ステップＳ７０に従い、細分化空白域ボリュームデータ２２１ａの作業用データが生成される。そして、ステップＳ７１，Ｓ７２に従い、作業用データの空白域が最大球６１および２番目に大きな球６２と、例えば３番目に大きな球６３ａによって埋められ、この状態で残る空白域に埋められる４番目に大きな球６４が求められる。球６３ｂ，６３ｃについても同様に、空白域が４番目に大きな球６４で埋められる。
【００７０】
ここで、４番目に大きな球６４は同じサイズであり、ステップＳ７３のいちばん大きな球が複数存在することになるので、ステップＳ７４，Ｓ７６に従って配置決定処理の再帰呼び出しが行われる。そして、同様にして４番目に大きな球６４に続く５番目に大きな球６５ａ，６５ｂ，６５ｃの配置が求められる。その場合、３番目に大きな球６３ａを選択したときの５番目に大きな球６５ａが、３番目に大きな球６３ｂ，６３ｃを選択したときの５番目に大きな球６５ｂ，６５ｃよりも大きくなる。したがって、ステップＳ７７では、３番目に大きな球６３ａを配置することが確定され、その大きさと位置が戻り値として設定されることになる。
【００７１】
図１６の球データ生成処理フローに戻り、このようにして球を大きいものから次々求め、ステップＳ３６，Ｓ３７に従い、球データ２６に記録し、図２２，図２３に示すように、最大球６１、２番目に大きな球６２、３番目に大きな球６３というように、大きなものから順に求めた各球で空白域を埋めていく。これを細分化空白域ボリュームデータ２２１ａの空白域を埋める球が所定サイズ以下となるまで行う。最終的に得られる球データ２６については、空白域情報テーブル２３にそのポインタが記録される。
【００７２】
細分化空白域ボリュームデータ２２１ａの空白域を埋める球が所定サイズ以下となったときは、空白域情報テーブル２３に記録されている他のすべての空白域ボリュームデータ２２２等についてステップＳ３０〜Ｓ３９の処理を実行する（ステップＳ４０）。このようにして、すべての空白域ボリュームデータについての球データ２６、空白域情報テーブル２３が生成される。
【００７３】
続いて、球形度計算処理について説明する。
図２８は球形度計算処理フローの説明図である。
球形度計算処理では、各空白域がどれほど真球に近似しているか、その球形度を求めるため、まず、空白域情報テーブル２３の各空白域ボリュームデータについて、球データ２６の最大球および２番目に大きな球を検索し、最大球の体積を計算するとともに（ステップＳ８０）、最大球と２番目に大きな球との半径比を計算する（ステップＳ８１）。また、最大球以外の球の合計数を求める（ステップＳ８２）。
【００７４】
ステップＳ８２において、最大球以外の球の合計数が０である場合（ステップＳ８３）、すなわち空白域が最大球のみで埋められている場合には、その気孔形状係数を１とし（ステップＳ８４）、その値が球形度情報テーブル２４に記録される（ステップＳ８５）。この場合、その空白域ボリュームデータの空白域、すなわちその空白域に対応する気孔は、ほぼ真球とみなすことができる。
【００７５】
ステップＳ８２において、最大球以外の球が１つでもある場合には、ステップＳ８０で求めた最大球の体積を空白域全体の体積で除した値が計算される（ステップＳ８６）。これにより、対応する気孔がどれほど真球から離れているかを評価する。さらに、各球と最大球との体積比が計算され、それらの平均値が求められる（ステップＳ８７）。最大球の体積を空白域全体の体積で除した値および各球と最大球との体積比の平均値は、球形度情報テーブル２４に記録される（ステップＳ８５）。
【００７６】
以上のステップＳ８０〜Ｓ８６の処理が、空白域情報テーブル２３の各空白域ボリュームデータについて行われる。
次いで、球形度計算システム１における球形度表示処理について説明する。
【００７７】
図２９は球形度表示処理フローの説明図である。また、図３０および図３１は球形度表示画面の表示例である。
計算で得られた球形度に関する情報は、ユーザによるコンピュータ２０に対する指令に応じ、または球形度計算処理終了後に自動的に、球形度情報表示部２５により、例えば図３０や図３１に示すように画面１００，１０１上に表示することができる。この場合、球形度表示処理では、まず、球形度情報テーブル２４を用い、試料３０全体について、再構成ボリュームデータ２２に含まれていたすべての気孔の数、すなわち空白域の数（あるいは通し番号の数）を表示する（ステップＳ９０）。
【００７８】
さらに、気孔形状係数の度数分布、最大球と２番目に大きな球の半径比の度数分布、最大球と各球の体積比の平均値の度数分布をそれぞれ表示する（ステップＳ９１，Ｓ９２，Ｓ９３）。
【００７９】
また、ユーザは、コンピュータ２０に対し、試料３０に存在する気孔のうち個別の気孔のデータを表示させるための指令を入力することもでき、ユーザによって個別のデータ表示の指令があった場合には、球データ２６および球形度情報テーブル２４を用いて、指定された番号の気孔の体積やそれを埋める総球数、気孔形状係数、最大球と２番目に大きな球の半径比、最大球と各球の体積比の平均値をそれぞれ表示する（ステップＳ９４）。さらに、空白域情報テーブル２３を用い、その空白域を埋める球の度数分布を表示する（ステップＳ９５）。
【００８０】
また、図３１に示すように、試料３０に存在する気孔の形状を立体的に表示することもできる（ステップＳ９６）。この場合、気孔を単色で表示する場合には、各気孔の試料３０内での位置関係を把握することが可能である。また、気孔の球形度に応じて各気孔を色分けするなど互いの表示方法を変えて表示するようにしてもよく、例えば図３１に示したように気孔形状係数の大きさの違いに基づいて表示することも可能である。気孔形状係数のほか、最大球と２番目に大きな球の半径比や最大球と各球の体積比の平均値に基づいて表示することも可能であり、また、これらの表示を任意に切り替えられる構成とすることもできる。
【００８１】
なお、以上の説明において、上記処理機能はコンピュータ２０によって実現され、球形度計算システム１が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータ２０で実行することにより、上記処理機能がコンピュータ２０上で実現される。処理内容を記述したプログラムは、コンピュータ２０で読み取り可能な記録媒体に記録しておくことができる。コンピュータ２０で読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープ等がある。光ディスクには、ＤＶＤ(Digital Versatile Disc)、ＤＶＤ−ＲＡＭ(Random Access Memory)、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)、ＣＤ−Ｒ(Recordable)／ＲＷ(ReWritable)等がある。光磁気記録媒体には、ＭＯ(Magneto-Optical disk)等がある。
【００８２】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータからコンピュータ２０にそのプログラムを転送することもできる。
【００８３】
プログラムを実行するコンピュータ２０は、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータ２０は、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータ２０は、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータ２０は、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することも可能である。
【００８４】
また、以上の説明では試料３０内部に存在する気孔の三次元空間を仮想球で埋めていく場合について述べたが、勿論、球形度を求める対象となる空間は気孔に限定されるものではない。また、本発明は、二次元領域を仮想的な円で埋めていき、その領域の真円度を求める場合にも同様に適用可能である。
【００８５】
（付記１）  コンピュータに空間の球形度を計算する処理を実行させる球形度計算プログラムにおいて、
コンピュータを、固体材料に存在する空間のうち特定の空間について、前記特定の空間がどれほど真球に近似しているかを示す球形度を計算により定量的に求める球形度計算手段として機能させることを特徴とする球形度計算プログラム。
【００８６】
（付記２）  前記球形度計算手段は、前記特定の空間を仮想球で埋める計算処理を行うことによって前記球形度を求めることを特徴とする付記１記載の球形度計算プログラム。
（付記３）  前記球形度計算手段は、前記特定の空間を大きな仮想球から順に埋めていくことを特徴とする付記２記載の球形度計算プログラム。
【００８７】
（付記４）  前記球形度計算手段は、前記特定の空間を１個または２個以上の前記仮想球で埋める計算処理を行い、前記特定の空間を埋める前記仮想球が複数ある場合には、複数の前記仮想球の大きさおよび複数の前記仮想球の度数分布を計算することによって前記球形度を求めることを特徴とする付記２記載の球形度計算プログラム。
【００８８】
（付記５）  前記球形度計算手段は、前記特定の空間を埋める前記仮想球のうち最大のものが前記特定の空間に占める体積割合を計算することによって前記球形度を求めることを特徴とする付記２記載の球形度計算プログラム。
【００８９】
（付記６）  前記球形度計算手段は、前記球形度と共に前記特定の空間の体積を計算し、前記固体材料に存在するすべての前記空間についての前記球形度および前記体積の分布を計算することを特徴とする付記１記載の球形度計算プログラム。
【００９０】
（付記７）  コンピュータに空間の球形度を計算する処理を実行させる球形度計算プログラムを記録した球形度計算プログラム記録媒体において、
コンピュータを、固体材料に存在する空間のうち特定の空間について、前記特定の空間がどれほど真球に近似しているかを示す球形度を計算により定量的に求める球形度計算手段として機能させることを特徴とする球形度計算プログラムを記録した球形度計算プログラム記録媒体。
【００９１】
（付記８）  空間の球形度を計算する球形度計算システムにおいて、
固体材料に存在する空間のうち特定の空間について、前記特定の空間がどれほど真球に近似しているかを示す球形度を計算により定量的に求める球形度計算手段を有することを特徴とする球形度計算システム。
【００９２】
（付記９）  空間の球形度を計算する球形度計算方法において、
固体材料に存在する空間のうち特定の空間について、前記特定の空間がどれほど真球に近似しているかを示す球形度を計算により定量的に求めることを特徴とする球形度計算方法。
【図面の簡単な説明】
【００９３】
【図１】空白域を球で埋めた状態の一例である。
【図２】球形度計算システムの構成例を示す図である。
【図３】空白域を球で埋めたときの球の度数分布の一例である。
【図４】コンピュータのハードウェア構成例である。
【図５】球形度計算システムの処理フローの概略説明図である。
【図６】再構成ボリュームデータのデータ構造の説明図である。
【図７】再構成ボリュームデータの一例である。
【図８】球データのデータ構造の説明図である。
【図９】空白域情報テーブルのデータ構造の説明図である。
【図１０】球形度情報テーブルのデータ構造の説明図である。
【図１１】ラベリング処理フローの説明図である。
【図１２】ラベリング処理のデータ遷移図（その１）である。
【図１３】ラベリング処理のデータ遷移図（その２）である。
【図１４】ラベリング処理のデータ遷移図（その３）である。
【図１５】ラベリング処理のデータ遷移図（その４）である。
【図１６】球データ生成処理フローの説明図である。
【図１７】球データ生成処理のデータ遷移図（その１）である。
【図１８】球データ生成処理のデータ遷移図（その２）である。
【図１９】球データ生成処理のデータ遷移図（その３）である。
【図２０】球データ生成処理のデータ遷移図（その４）である。
【図２１】球データ生成処理のデータ遷移図（その５）である。
【図２２】球データ生成処理のデータ遷移図（その６）である。
【図２３】球データ生成処理のデータ遷移図（その７）である。
【図２４】メッシュ細分化処理フローの説明図である。
【図２５】球の大きさと位置を求める処理フローの説明図である。
【図２６】球の生成方法の説明図である。
【図２７】配置決定処理フローの説明図である。
【図２８】球形度計算処理フローの説明図である。
【図２９】球形度表示処理フローの説明図である。
【図３０】球形度表示画面の表示例（その１）である。
【図３１】球形度表示画面の表示例（その２）である。
【符号の説明】
【００９４】
１  球形度計算システム
１０  Ｘ線ＣＴ装置
１１  Ｘ線源
１２  Ｘ線ＣＣＤカメラ
２０  コンピュータ
２０ａ  ＣＰＵ
２０ｂ  ＲＯＭ
２０ｃ  ＲＡＭ
２０ｄ  ＨＤＤ
２０ｅ  グラフィック処理部
２０ｆ  入力Ｉ／Ｆ
２０ｇ  通信Ｉ／Ｆ
２０ｈ  バス
２０ｉ  表示装置
２０ｊ  マウス
２０ｋ  キーボード
２１  撮影画像
２２，２２ａ，２２ｄ，２２ｅ  再構成ボリュームデータ
２２ｂ，２２ｃ，２２１ｂ，２２２ｂ  格子パターン
２２ｆ  ラベリングデータ
２２０，２２１，２２２  空白域ボリュームデータ
２２１ａ  細分化空白域ボリュームデータ
２３  空白域情報テーブル
２４  球形度情報テーブル
２５  球形度情報表示部
２６  球データ
３０  試料
４０  空白格子
４１  格子
５０  非空白格子
６０  球
６１  最大球
６２  ２番目に大きな球
６３ａ，６３ｂ，６３ｃ，６３ｄ，６３ｅ，６４ａ，６４ｂ，６４ｃ，６４ｄ，６４ｅ，６５ｄ，６５ｅ  球
【図１】
2005326173.tif 000003
【図２】
2005326173.tif 000004
【図３】
2005326173.tif 000005
【図４】
2005326173.tif 000006
【図５】
2005326173.tif 000007
【図６】
2005326173.tif 000008
【図７】
2005326173.tif 000009
【図８】
2005326173.tif 000010
【図９】
2005326173.tif 000011
【図１０】
2005326173.tif 000012
【図１１】
2005326173.tif 000013
【図１２】
2005326173.tif 000014
【図１３】
2005326173.tif 000015
【図１４】
2005326173.tif 000016
【図１５】
2005326173.tif 000017
【図１６】
2005326173.tif 000018
【図１７】
2005326173.tif 000019
【図１８】
2005326173.tif 000020
【図１９】
2005326173.tif 000021
【図２０】
2005326173.tif 000022
【図２１】
2005326173.tif 000023
【図２２】
2005326173.tif 000024
【図２３】
2005326173.tif 000025
【図２４】
2005326173.tif 000026
【図２５】
2005326173.tif 000027
【図２６】
2005326173.tif 000028
【図２７】
2005326173.tif 000029
【図２８】
2005326173.tif 000030
【図２９】
2005326173.tif 000031
【図３０】
2005326173.tif 000032
【図３１】
2005326173.tif 000033