LRTKレフィクシア株式会社

CT画像のボクセル数から体積計算する6ステップ

CT画像から体積計算する仕組み

CT画像を利用すると、外側からは確認しにくい対象物の内部構造を断面画像として観察できます。さらに、連続する断面画像を三次元的に扱えば、部品、空洞、欠陥、試料、組織などの体積計算も可能です。CT画像を使った体積計算の基本は、対象物に含まれるボクセル数を求め、その個数に1ボクセル当たりの実寸体積を掛けることです。

一般的な二次元画像は、縦横に並んだ画素で構成されています。この画素をピクセルと呼びます。CT画像では、縦方向と横方向に加えて、連続する断面画像の並びによる奥行き方向があります。そのため、画像を三次元データとして扱う際の最小単位は、平面上の正方形ではなく、奥行きを持つ小さな直方体になります。この三次元の最小単位がボクセルです。

ボクセルの横幅をX方向の画素間隔、高さをY方向の画素間隔、奥行きをZ方向のスライス間隔とすると、1ボクセルの体積は次の式で求められます。

1ボクセルの体積 = X方向の画素間隔 × Y方向の画素間隔 × Z方向のスライス間隔

対象物に含まれるボクセル数が分かれば、対象物の体積は次の式で計算できます。

対象物の体積 = 対象ボクセル数 × 1ボクセルの体積

たとえば、X方向とY方向の画素間隔がそれぞれ0.5ミリメートル、Z方向のスライス間隔が1.0ミリメートルであれば、1ボクセルの体積は0.25立方ミリメートルです。対象物に該当するボクセルが20万個ある場合、対象物の体積は5万立方ミリメートルとなります。これを立方センチメートルに換算すると50立方センチメートルです。

計算式自体は単純ですが、実務ではボクセル数を数える前の準備が重要です。画像の画素間隔を取り違えたり、スライス厚とスライス間隔を混同したりすると、計算式が正しくても誤った体積が算出されます。また、対象領域の境界をどこに設定するかによって、対象ボクセル数も変化します。

CT画像による体積計算は、医療分野に限らず、工業製品の内部欠陥、鋳造品の空隙、樹脂成形品の気泡、岩石や土壌の空隙、植物や食品の内部構造など、幅広い対象に応用できます。ただし、対象や目的によって必要な精度、画像の解像度、領域抽出の方法は異なります。

実務で信頼できる体積を求めるには、計算目的の定義、画像情報の確認、ボクセル体積の算出、対象領域の抽出、体積への換算、結果の検算という順序で作業を進めることが大切です。ここからは、CT画像のボクセル数から体積計算を行う流れを6つのステップに分けて解説します。

ステップ1 体積計算の目的と対象範囲を定義する

最初に行うのは、何の体積を、何のために求めるのかを明確にする作業です。対象範囲が曖昧なまま画像処理を始めると、同じCT画像を使っていても、作業者によって抽出結果が変わる可能性があります。

たとえば、内部に空洞を持つ部品を解析する場合、部品の外形で囲まれた全体積を求めるのか、材料が存在する部分だけの体積を求めるのか、内部の空洞だけを求めるのかによって、選択するボクセルが異なります。複数の空洞がある場合には、微小な空隙も含めて合計するのか、一定以上の大きさを持つ空洞だけを対象にするのかも決める必要があります。

対象物の外形体積を求める場合は、内部の穴や空洞を含めた輪郭全体を領域として扱います。一方、材料の実体積を求める場合は、内部の空隙を除外します。同じ対象物でも、計算目的によって得られる体積が異なるため、数値を記録するときには、どの範囲を体積として定義したかも残しておくことが重要です。

撮影範囲に対象物全体が収まっているかも確認します。対象物の上端や下端が画像範囲の外に出ている場合、算出できるのは撮影された部分の体積だけです。対象物の一部が切れているにもかかわらず、全体積として扱うと、結果の解釈を誤ります。

CT画像には、同じ対象を異なる条件で再構成した複数の画像群が含まれる場合があります。画素間隔、スライス間隔、撮影範囲、画像処理条件などが異なる画像を途中で混在させると、ボクセルの実寸がそろわなくなります。体積計算には、原則として同一条件で連続して作成された一つの画像シリーズを使用します。

画像シリーズを選定するときは、対象物が最初から最後まで連続して写っているかを確認します。途中の画像が欠けている場合、その区間の形状を正しく再現できません。同じ位置の画像が重複している場合は、その範囲を二重に数える可能性があります。画像枚数だけで判断せず、各画像の位置情報を確認することが大切です。

時系列で体積の変化を比較する場合は、比較する画像同士の条件もできるだけそろえます。前回は薄い間隔で再構成し、今回は厚い間隔で再構成していると、細部の表現や境界の見え方が変化します。実際の対象物に変化がなくても、画像条件の違いによって体積差が生じる可能性があります。

対象範囲の定義では、周辺物との接触部分も問題になります。対象と別の物体が同程度の画像値を持ち、画像上でつながって見える場合は、どの位置で分離するかを決めなければなりません。分離位置を作業者の感覚だけで決めると、再解析時に同じ結果を得にくくなります。

この段階では、対象の名称、計算目的、対象に含める部分、除外する部分、使用する画像シリーズ、出力単位、比較対象、必要な精度を記録します。後工程で判断に迷った場合は、この定義に立ち返ることで処理方針を統一できます。

体積計算の目的が数量把握なのか、異常の評価なのか、時間変化の確認なのかによって、必要な作業も変わります。概算でよい場合と、わずかな変化を比較する場合では、求められる領域抽出の精度や検算の方法が異なります。まず目的を固定し、その目的に必要な処理を選ぶことが、安定した体積計算の出発点です。

ステップ2 CT画像の画素間隔とスライス間隔を確認する

対象範囲を決めたら、ボクセルの実寸を確認します。CT画像の縦横の画素数だけでは、実際の長さや体積を求めることはできません。1画素が実空間で何ミリメートルに相当するかを示す画素間隔が必要です。

X方向とY方向の寸法には、画像データに記録されている画素間隔を使用します。横方向が512画素、縦方向が512画素であっても、撮影範囲が異なれば1画素の大きさは変わります。したがって、画像の縦横の画素数が同じであることは、実寸の解像度が同じであることを意味しません。

たとえば、横方向の撮影範囲が256ミリメートルで、画像が512画素で構成されている場合、単純計算では1画素の横幅は0.5ミリメートルです。ただし、画像の切り出し、再配置、拡大縮小などが行われている可能性もあるため、撮影範囲から推定するよりも、画像データに保存された画素間隔を直接確認する方法が確実です。

X方向とY方向の画素間隔は同じ値であることが多いものの、必ず同じとは限りません。体積計算では、それぞれを個別に確認して使用します。X方向が0.4ミリメートル、Y方向が0.5ミリメートルであれば、1画素の面積は0.2平方ミリメートルです。

Z方向については、連続するCT画像のスライス間隔を確認します。ここで注意したいのが、スライス厚とスライス間隔の違いです。スライス厚は断面画像を生成する際の厚みを示す値であり、スライス間隔は隣り合う画像の中心位置の距離を示します。

スライス厚とスライス間隔が同じ画像もありますが、常に一致するとは限りません。たとえば、スライス厚が1.0ミリメートルで、0.5ミリメートル間隔に画像が作成されている場合、隣り合う画像の情報には重なりがあります。この画像群に対して、画像枚数ごとに1.0ミリメートルの厚みを掛けると、同じ空間を重複して数える可能性があります。

反対に、スライス厚が1.0ミリメートルで、画像間隔が2.0ミリメートルであれば、画像中心間には広い間隔があります。この場合、表示されていない区間で対象物の断面がどのように変化しているかを正確に把握することは難しくなります。

Z方向の間隔を確実に調べるには、各画像に記録された位置情報を利用します。隣り合う画像の位置の差を求めることで、実際のスライス間隔を確認できます。単純な撮影では間隔は一定ですが、画像の欠落、重複、不規則な再構成がある場合には、途中だけ間隔が変わっていることがあります。

シリーズの先頭にある2枚だけを確認して、全画像が同じ間隔だと判断するのは避けます。画像シリーズ全体について位置の差を確認し、異常に広い区間、同じ位置の重複、並び順の逆転がないかを調べます。

画像が斜めの断面として作成されている場合は、単一の座標値だけを引き算するのではなく、画像面に垂直な方向の距離を考慮する必要があります。一般的な解析環境では位置と向きの情報を基に画像を三次元空間へ配置できますが、書き出しや変換の過程で情報が失われると、正しい間隔を再現できない場合があります。

表示用に書き出した画像ファイルだけを使う場合も注意が必要です。元データに含まれていた画素間隔や画像位置が、表示用画像には保存されていないことがあります。単なる画像の縦横画素数だけから実寸を決めると、誤った体積になるおそれがあります。

単位も必ず確認します。画素間隔とスライス間隔がミリメートルで記録されている場合、それらを掛けて得られるボクセル体積の単位は立方ミリメートルです。メートルやセンチメートルの値が混在している場合は、計算前に一つの単位へ統一します。

ステップ3 1ボクセル当たりの体積を計算する

X方向、Y方向、Z方向の間隔が確認できたら、1ボクセル当たりの体積を求めます。CT画像のボクセルは、各方向の寸法を持つ小さな直方体として扱えます。

1ボクセルの体積は、次の式で計算します。

1ボクセルの体積 = X方向の画素間隔 × Y方向の画素間隔 × Z方向のスライス間隔

たとえば、X方向の画素間隔が0.4ミリメートル、Y方向の画素間隔が0.4ミリメートル、Z方向のスライス間隔が0.8ミリメートルであれば、計算は次のようになります。

0.4 × 0.4 × 0.8 = 0.128立方ミリメートル

この場合、画像内の1ボクセルは、実空間における0.128立方ミリメートルを表します。対象物として抽出されたボクセルが10万個であれば、体積は1万2800立方ミリメートルです。

X方向、Y方向、Z方向の間隔がすべて同じボクセルは、立方体に近い形状になります。一方、Z方向だけが長い場合には、薄い直方体または縦長の直方体となります。三方向の寸法が異なるボクセルでも、それぞれの実寸を正しく掛ければ体積計算は可能です。

ただし、Z方向の間隔が大きい画像では、斜めの境界や薄い構造を細かく表現しにくくなります。1ボクセルの体積を正しく計算できても、対象領域の形状そのものが粗く表現されているため、抽出結果に不確かさが生じます。

解析前に画像の間隔を変更し、三方向の寸法が同じになるよう再配置する処理が行われることもあります。この処理では、元の画像値を基に新しい格子上の値が補間されます。変換後の画像を使う場合は、変換後の画素間隔とスライス間隔からボクセル体積を計算しなければなりません。

元画像のボクセル数と、間隔を変更した後のボクセル数は通常一致しません。たとえば、Z方向の間隔を1.0ミリメートルから0.5ミリメートルへ変更すると、同じ範囲を表現するために必要な画像枚数は増えます。変換後のボクセル数に元画像のボクセル体積を掛けると、体積が過大になります。

変換前後で物理的な範囲が同じであれば、適切な間隔を使って計算した全体積は大きく変わらないはずです。ただし、補間後の画像に対してしきい値処理をやり直すと、境界付近の画像値が変化し、対象ボクセル数が増減する場合があります。

計算途中の数値は、必要以上に丸めないようにします。画素間隔が0.46875ミリメートルのような細かな値で記録されている場合、0.47ミリメートルに丸めてから計算すると、1ボクセル当たりの誤差は小さく見えても、多数のボクセルを合計した際に差が広がります。

内部計算では記録された値を十分な桁数で使用し、最終的な体積を報告するときに適切な桁数へ丸めます。画像解像度や境界抽出の不確かさを考慮すると、計算機上で表示できるすべての小数桁に実質的な意味があるわけではありません。

立方ミリメートルから立方センチメートルへ換算する場合は、1000で割ります。1センチメートルは10ミリメートルですが、体積は三方向の長さを掛けるため、1立方センチメートルは1000立方ミリメートルです。

立方ミリメートルからリットルへ換算する場合は、100万で割ります。単位換算の誤りは計算結果を桁単位で変えてしまうため、式の各段階に単位を併記して確認すると安全です。

ステップ4 対象領域を抽出してボクセル数を求める

1ボクセル当たりの体積が分かったら、CT画像から体積計算の対象となる領域を抽出します。この処理では、画像内の各ボクセルを、対象に含めるボクセルと対象外のボクセルに分類します。

対象領域を抽出する処理は、一般にセグメンテーションと呼ばれます。抽出結果は、対象ボクセルを1、対象外を0として表したマスクデータとして管理できます。このマスク内で1となっているボクセルの個数を数えれば、対象ボクセル数を求められます。

基本的な抽出方法は、画像値にしきい値を設定する方法です。対象物と背景の画像値が明確に異なる場合は、一定の値以上または一定の範囲内にあるボクセルを選択できます。

ただし、単一のしきい値だけで対象を完全に分離できるとは限りません。対象と背景の画像値が近い場合、不要な領域まで抽出されたり、対象の一部が除外されたりします。また、同じ物体でも位置や厚さによって画像値が変化し、内部の一部だけが抽出から漏れることがあります。

工業製品を撮影した画像では、対象物と同程度の画像値を持つ固定具や周辺部材が一緒に写る場合があります。しきい値だけを使うと、対象物から離れた位置にある周辺部材まで選択される可能性があります。この場合は、位置や連結性を利用し、指定した起点から連続する領域だけを残す方法が有効です。

対象物が複数の独立した部分に分かれている場合は、一つの起点からつながる領域だけでは全体を抽出できません。対象物の構造に応じて、複数の領域を選択するか、対象が存在する範囲をあらかじめ限定します。

内部の穴や空隙をどのように扱うかも、対象範囲の定義に従って決めます。外形で囲まれた体積を求めるのであれば、内部の穴を埋めて一つの領域として扱います。材料が存在する部分だけを求める場合は、空洞を対象外として残します。

小さな孤立領域を除去する処理を行う場合は、除去する大きさの基準に注意します。ノイズのように見える微小領域が、実際には重要な欠陥や構造である可能性もあります。一定以下の領域を機械的に削除する前に、計算目的と必要な検出範囲を確認します。

対象物の境界では、1ボクセルの中に対象と背景の両方が含まれることがあります。このようなボクセルは中間的な画像値を持ち、対象に含めるかどうかの判断が難しくなります。これが部分体積効果です。

二値のマスクでは、境界ボクセルを対象に含めるか除外するかのどちらかになります。そのため、しきい値を少し変えただけでも、対象物の表面に沿って多数のボクセルが増減することがあります。表面積の大きい対象や細い構造では、境界判定の影響が全体積に占める割合も大きくなります。

抽出結果は、1方向の断面だけで確認しないことが重要です。横断方向では正しく見えても、縦断方向では途中で領域が切れていたり、別の物体とつながっていたりすることがあります。複数方向の断面と三次元的な形状を確認し、不自然な欠損や連結がないかを調べます。

手動で輪郭を修正する場合は、どの断面をどの基準で修正したかを記録します。担当者が見た目だけで境界を決めると、同じ画像を再度処理した際に同じボクセル数を得ることが難しくなります。

自動処理を利用する場合も、出力された領域を無条件に採用するのは避けます。対象が現れ始める端部、形状が細くなる部分、周辺物と接触する部分、画像値が変化する部分などを重点的に確認します。

抽出後は、対象ボクセルの総数を求めます。複数の独立した領域がある場合には、全体の合計だけでなく、領域ごとのボクセル数を保存しておくと、最大領域、平均体積、空隙数などの追加分析にも利用できます。

ステップ5 ボクセル数から対象物の体積を算出する

対象ボクセル数が求められたら、1ボクセル当たりの体積を掛けて全体の体積を算出します。すべてのボクセルが同じ実寸を持つ画像では、次の式を使用できます。

対象物の体積 = 対象ボクセル数 × X方向の画素間隔 × Y方向の画素間隔 × Z方向のスライス間隔

対象ボクセル数が850万個、X方向とY方向の画素間隔がそれぞれ0.3ミリメートル、Z方向のスライス間隔が0.6ミリメートルである場合、1ボクセルの体積は次のようになります。

0.3 × 0.3 × 0.6 = 0.054立方ミリメートル

全体の体積は次のとおりです。

850万 × 0.054 = 45万9000立方ミリメートル

立方センチメートルへ換算する場合は1000で割るため、459立方センチメートルです。

計算結果を記録するときは、最終体積だけでなく、対象ボクセル数、各方向の間隔、計算時の単位も保存します。最終的な数値だけでは、後から単位換算や設定値の誤りを確認できません。

画像シリーズ全体でスライス間隔が一定でない場合は、すべての対象ボクセルに同一の体積を掛ける方法が適さないことがあります。この場合は、スライスごとの対象面積を求め、隣接するスライス間の距離を使って体積を積算します。

各スライスの対象面積は、次の式で求められます。

対象面積 = スライス内の対象画素数 × X方向の画素間隔 × Y方向の画素間隔

対象物の断面積がスライス間で緩やかに変化すると仮定できる場合は、隣接する2枚の断面積を平均し、その間隔を掛けて区間体積を求めます。

区間体積 = 前後の断面積の平均 × 画像間隔

各区間の体積を合計すれば、対象物全体の近似体積を求められます。この方法は、画像間隔が不規則な場合だけでなく、各断面で手動計測した面積から体積を求める場合にも利用できます。

ただし、スライス間隔が広く、その間で対象物の形状が急激に変化している場合は、前後の断面積を平均する近似だけでは実形状を十分に表せない可能性があります。細い突起、急な分岐、短い空洞などは、画像間に存在していても断面に現れないことがあります。

複数の独立した領域を計算する場合は、領域ごとのボクセル数に同じボクセル体積を掛けます。全領域の体積を合計すれば総体積になります。ただし、領域同士が細い部分でつながっていると、一つの領域として数えられる場合があります。

個数や個別体積を評価する場合は、どの程度の接触を同一領域とみなすかを統一します。接触判定の方法を変えると、合計体積はほぼ同じでも、領域の個数や最大体積が変化する可能性があります。

マスクに対象の割合を0から1までの連続値で保持する方法を使用する場合は、各ボクセルの割合を合計し、1ボクセルの体積を掛けることで体積を推定できます。この方法は境界ボクセルを部分的に扱えますが、その割合が適切に推定されていることが前提です。

一般的な二値マスクでは、対象ボクセル数は整数になります。一方、部分的な割合を使う方法では、実質的なボクセル数が小数になります。どちらの方法を使ったかによって結果の意味が異なるため、計算方法を明記します。

最終結果の表示桁数は、元画像の解像度と抽出精度に合わせます。ボクセル寸法が大きく、境界位置にも不確かさがあるのに、体積を小数点以下の細かな桁まで表示すると、実際以上に高精度な値であるように見える可能性があります。

ステップ6 計算結果を検算して再現性を確保する

体積の数値が得られたら、結果が妥当であるかを検算します。計算式に誤りがなくても、使用画像、間隔、対象領域、単位のいずれかが間違っていれば、体積は正しくありません。

最初に、元のCT画像へ抽出マスクを重ねて表示し、対象物と選択領域が一致しているかを確認します。対象物の中央部分だけでなく、上端、下端、細い部分、くぼみ、周辺物との接触部分を確認します。

対象領域が画像の端まで達している場合は、撮影範囲外へ続いていないかを調べます。対象物が途中で切れていれば、算出値は全体積ではなく部分体積です。結果を利用する際には、その範囲を明確にします。

次に、対象物の最大寸法から外接直方体の体積を求めます。対象物のX方向、Y方向、Z方向の最大長を掛けた外接直方体の体積は、対象物の体積より大きくなるのが通常です。CT画像から求めた体積が外接直方体を超えている場合は、画素間隔、スライス間隔、単位換算、ボクセル数のいずれかに誤りがある可能性があります。

対象物を単純な幾何形状に近似できる場合は、概算体積とも比較します。円柱に近い対象であれば直径と高さ、球に近い対象であれば直径から概算できます。実際の形状とは異なるため完全には一致しませんが、数倍または数桁の差がある場合は再確認が必要です。

同じ画像について、しきい値をわずかに変更した場合の体積も確認します。しきい値を少し上げた結果と下げた結果を比較すれば、境界判定によって体積がどの程度変動するかを把握できます。

わずかな条件変更で体積が大幅に変わる場合は、対象物と背景の境界が不明瞭である可能性があります。このとき、単一の体積だけを確定値として扱うのではなく、抽出条件に対する感度を考慮して結果を解釈します。

既知の体積を持つ基準物が同じ画像に含まれている場合は、その基準物を計算して処理全体を確認できます。ただし、対象物と基準物で画像値が大きく異なる場合は、同じ抽出条件を使用できないことがあります。

同一の担当者が時間を置いて再度抽出し、得られた体積を比較する方法もあります。さらに、別の担当者が同じ手順で抽出し、結果を比較すれば、作業者による差を確認できます。

担当者間の差が大きい場合は、対象範囲、境界、内部空隙、周辺物との分離位置などの定義が不足している可能性があります。単に担当者の技量差として処理するのではなく、誰が作業しても同じ判断ができるように条件を具体化します。

再現性を確保するには、元画像を上書きせず、抽出マスク、処理条件、ボクセル数、体積結果を関連付けて保存します。処理をやり直した場合は、以前の結果を削除せず、版を分けて管理します。

体積計算の結果を重要な判定に利用する場合は、画像から得られた数値だけで結論を出さず、目的に応じて他の測定結果や専門的な判断と照合します。CT画像による体積は有用な定量値ですが、画像の解像度、撮影条件、領域抽出方法に影響される測定結果です。

CT画像の体積計算で注意したい主な誤差

CT画像から体積を求めるときに起こりやすい誤りは、スライス厚をそのままボクセルの奥行きとして使用することです。スライス厚とスライス間隔が一致していれば問題になりにくいものの、画像が重なっている場合や間隔を空けて配置されている場合には、体積を過大または過小に算出する可能性があります。

画像の縦横画素数だけを見て実寸を判断することも誤差の原因です。同じ512画素四方の画像でも、撮影範囲が256ミリメートルの場合と512ミリメートルの場合では、1画素の幅が2倍異なります。1画素の面積は4倍になり、奥行きも含めたボクセル体積にはさらに大きな差が生じます。

単位換算の間違いも注意が必要です。ミリメートル単位の長さを3回掛けた結果は立方ミリメートルです。立方センチメートルへ換算するときに10で割るのではなく、1000で割らなければなりません。

画像の欠損や重複も計算結果に影響します。途中のスライスが欠けていると、その区間の形状を正しく表現できません。同じ位置の画像が重複している場合は、同じ空間を二重に数える可能性があります。

対象領域の抽出では、しきい値の設定が重要です。しきい値を高くすると境界部が除外され、体積が小さくなる場合があります。しきい値を低くすると背景や周辺物まで含まれ、体積が大きくなる可能性があります。

画像のノイズを減らすための平滑化処理も、境界位置を変化させます。処理によって微小な凹凸が減る一方、細い構造が消失したり、本来離れている領域がつながったりする場合があります。処理前後で対象領域と体積を比較することが重要です。

小さな対象では、1ボクセルの増減が全体積に与える割合が大きくなります。数百万ボクセルで構成される対象では数個の差は小さいものの、数十個のボクセルしかない対象では、数個の増減でも体積が大きく変わります。

薄い膜、細い管、鋭い先端など、ボクセル寸法と同程度の大きさしかない構造は、安定した抽出が難しくなります。構造が画像上で途切れたり、実際より太く表現されたりすることがあります。

金属などによる画像の乱れが発生している場合も、画像値に基づく抽出が不安定になります。対象物の周囲に実際には存在しない明暗が現れると、しきい値処理で誤った領域が選択される可能性があります。

画像の向きを変更して再構成したデータを使う場合は、補間の影響にも注意します。再構成後の画像では、新しい格子上に画像値が計算されます。元画像と見た目が似ていても、境界付近の値やボクセル数が変化することがあります。

誤差を完全になくすことは難しいため、どの要因が結果に影響するかを把握し、目的に合った範囲で管理することが重要です。体積の数値だけでなく、使用画像や抽出条件を保存することで、結果の不確かさを後から検討できます。

体積計算の精度を高めるデータ管理

CT画像による体積計算の精度を高めるには、画像の解像度だけでなく、作業条件とデータの管理方法を整える必要があります。同じ対象を同じ手順で処理できなければ、体積の比較や再計算が難しくなります。

計算を始める前に、使用する画像シリーズ、画像枚数、画素間隔、スライス間隔、撮影範囲、対象の識別情報を記録します。画像に欠損や重複がないことも確認します。

対象範囲は文章で明確にします。外形全体を求めるのか、材料部分を求めるのか、内部空隙を求めるのかを記載します。小さな領域を除外する場合は、その大きさの基準も決めます。

しきい値を使う場合は、設定値と適用範囲を保存します。画像ごとに担当者が見た目で調整すると、同じ対象でも異なる結果になります。時系列比較では、可能な限り同じ撮影条件と抽出条件を使用します。

手動修正が必要な場合は、修正する範囲と判断基準を限定します。全断面を自由に描き直す方法は柔軟ですが、作業者による差が大きくなります。基本となる抽出方法を決め、誤分類が発生しやすい部分だけを同じ基準で修正すると、再現性を確保しやすくなります。

処理を自動化する場合は、入力データの異常を検出できるようにします。途中でスライス間隔が変わっている、画像が欠けている、対象ボクセル数がゼロになっている、画像の大部分が対象として抽出されているといった状態を確認します。

計算結果には、最終体積だけでなく、対象ボクセル数と1ボクセル当たりの体積も保存します。この二つがあれば、体積の計算過程を後から再確認できます。

抽出マスクも保存します。マスクが残っていれば、同じ対象領域を使って別の単位へ換算したり、表面積や形状を追加分析したりできます。最終的な数値しか残っていない場合は、対象範囲が正しかったかを後から確認できません。

ファイル名や管理情報には、対象識別情報、撮影日、使用シリーズ、解析日、処理条件、担当者、版を含めます。処理を変更した際は上書きせず、変更前後のデータを区別して保存します。

時系列比較では、絶対的な体積差だけでなく、撮影条件と抽出条件の違いも確認します。体積が増減していても、その差が対象物の変化によるものなのか、画像条件や境界判定によるものなのかを切り分ける必要があります。

必要に応じて、しきい値を変えた複数の結果を作成し、体積の変動範囲を確認します。条件変更による差が小さければ比較的安定した結果と考えられます。差が大きい場合は、境界の不確かさが大きいことを考慮して利用します。

報告書には、体積の数値だけでなく、使用画像、対象範囲、画素間隔、スライス間隔、抽出方法、出力単位を記載します。これらの情報がそろっていれば、別の担当者が結果を確認しやすくなります。

実務上の体積計算では、細かな小数まで表示することよりも、同じ条件で再現できることが重要です。画像の解像度や抽出精度を超える桁数を示さず、目的に合った単位と桁数で結果を整理します。

まとめ

CT画像のボクセル数から体積計算を行う基本は、対象物に含まれるボクセル数に、1ボクセル当たりの実寸体積を掛けることです。1ボクセルの体積は、X方向の画素間隔、Y方向の画素間隔、Z方向のスライス間隔を掛けて求めます。

最初のステップでは、計算目的と対象範囲を明確にします。外形体積、材料部分、内部空隙など、何を対象とするかによって抽出するボクセルが変わります。

次に、画像データから画素間隔とスライス間隔を確認します。スライス厚とスライス間隔は必ずしも同じではないため、可能な限り画像位置を基に実際の間隔を確認します。

三方向の間隔が分かったら、1ボクセル当たりの体積を計算します。画像の間隔を変更したデータを使う場合は、変更後の間隔を使用します。計算途中では値を過度に丸めず、単位を統一します。

対象領域の抽出では、しきい値、位置、連結性などを利用して対象ボクセルを分類します。内部空隙、境界、周辺物との接触部分をどのように扱うかを事前に定義しておくことが重要です。

対象ボクセル数が得られたら、1ボクセル当たりの体積を掛けて全体積を算出します。スライス間隔が不規則な場合は、断面積と画像間隔を使って区間ごとの体積を積算します。

最後に、抽出マスクの重ね合わせ、外接寸法による概算、しきい値変更による感度確認などを行い、結果の妥当性を確認します。元画像、抽出マスク、処理条件、ボクセル数、体積を関連付けて保存すれば、再現性と追跡性を確保できます。

CT画像による体積計算は、計算式だけで完結する作業ではありません。画像の物理情報を正しく読み取り、対象範囲を統一し、境界抽出の不確かさを確認することで、実務に利用しやすい結果を得られます。

三次元データから実寸の体積を求める考え方は、CT画像だけでなく、屋外で取得した点群や現場の三次元計測データにも応用できます。施工現場や屋外対象物の体積計算へ活用範囲を広げる際は、LRTK Phoneによる三次元計測も確認してみてください。

現場を3Dで残して、あとから測る。
実際の画面と動画で使い方を確認できます。

LRTK Phoneの使い方・実例を見る
資料請求導入相談
現場をスマホで3DスキャンLRTK Phone実例を見る