(57)【特許請求の範囲】
【請求項１】
スキャンデータを可視化する方法であって、
複数のロー密度アレイから第１の処理された密度アレイを形成し、前記第１の処理された密度アレイ及び前記ロー密度アレイの各々が、複数のアレイ要素を持つ３次元アレイであり、前記複数のロー密度アレイの各々の各要素が、被写体のスキャン部分の密度を表し、
前記第１の処理された密度アレイを平面上に投影して、複数のピクセル位置に複数の第１ピクセル値を形成し、前記投影を行うことは、
各ピクセルについてベクトルを形成し、該ベクトルは、前記第１の処理された密度アレイの前記複数のアレイ要素のうちの、前記平面に対して垂直であり且つそのピクセル位置を通る直線、に沿ったアレイ要素に対応し、
各ベクトルについて複数の統計を計算し、前記複数の統計は少なくともベクトル標準偏差を含み、
各ベクトルについて、前記複数の統計の統計値の加重和として、前記第１ピクセル値を計算する、
ことを有し、そして、
対応する前記第１ピクセル値に等しい第１の値を各ピクセルが持つ複数のピクセルを有する画像を表示する、
ことを有する方法。
【請求項２】
前記複数の統計は更に、ベクトル平均、及び／又はベクトル最大を含み、
当該方法は更に、
前記複数のロー密度アレイから第２の処理された密度アレイを形成し、
前記第２の処理された密度アレイを前記平面上に投影して、前記複数のピクセル位置に複数の第２ピクセル値を形成し、
前記複数のロー密度アレイから第３の処理された密度アレイを形成し、
前記第３の処理された密度アレイを前記平面上に投影して、前記複数のピクセル位置に複数の第３ピクセル値を形成する、
ことを有し、
前記画像を表示することは、前記画像の各ピクセルを、対応する前記第１ピクセル値に比例する第１色強度、対応する前記第２ピクセル値に比例する第２色強度、及び対応する前記第３ピクセル値に比例する第３色強度で表示することを有する、
請求項１に記載の方法。
【請求項３】
前記複数のロー密度アレイから前記第１の処理された密度アレイを形成することは、前記複数のロー密度アレイのうちの第１のロー密度アレイを、前記複数のロー密度アレイのうちの第２のロー密度アレイから減算することを有し、
前記複数のロー密度アレイから前記第２の処理された密度アレイを形成することは、前記第１のロー密度アレイを、前記複数のロー密度アレイのうちの第３のロー密度アレイから減算することを有し、
前記複数のロー密度アレイから前記第３の処理された密度アレイを形成することは、前記第１のロー密度アレイを、前記複数のロー密度アレイのうちの第４のロー密度アレイから減算することを有する、
請求項２に記載の方法。
【請求項４】
前記第１のロー密度アレイは、前記被写体への造影剤の導入前に行われたスキャンの結果であり、
前記第２のロー密度アレイは、前記被写体への造影剤の導入後に第１の時間間隔で行われたスキャンの結果であり、
前記第３のロー密度アレイは、前記被写体への造影剤の導入後に第２の時間間隔で行われたスキャンの結果であり、
前記第４のロー密度アレイは、前記被写体への造影剤の導入後に第３の時間間隔で行われたスキャンの結果であり、
前記第２の時間間隔は前記第１の時間間隔よりも長く、前記第３の時間間隔は前記第２の時間間隔よりも長い、
請求項３に記載の方法。
【請求項５】
前記複数のロー密度アレイから前記第１の処理された密度アレイを形成することは、
前記複数のロー密度アレイのうちの第１のロー密度アレイを、前記複数のロー密度アレイのうちの第２のロー密度アレイから減算して、第３の処理された密度アレイを形成し、
前記第３の処理された密度アレイを、前記第１のロー密度アレイの前記３次元のうちの１つに対して平行な軸の周りで第１の角度にわたって回転させて、第４の処理された密度アレイを形成する、
ことを有する、請求項１に記載の方法。
【請求項６】
前記軸は前記平面に対して平行である、請求項５に記載の方法。
【請求項７】
前記第３の処理された密度アレイは、複数の２次元スライスで構成され、各スライスが、前記軸に対して垂直な２次元アレイであり、前記第３の処理された密度アレイの前記回転を行うことは、前記スライスの各々を前記第１の角度にわたって回転させて、前記第４の処理された密度アレイの対応するスライスを形成することを有する、請求項５に記載の方法。
【請求項８】
前記第３の処理された密度アレイのスライスの前記回転を行うことは、前記第３の処理された密度アレイの該スライスの複数の要素から、前記第４の処理された密度アレイの対応するスライスの要素の値を補間することを有する、請求項７に記載の方法。
【請求項９】
前記補間することは双一次補間法を用いることを有する、請求項８に記載の方法。
【請求項１０】
各ベクトルが、前記第１の処理された密度アレイの１次元サブアレイであり、前記平面は、前記アレイの前記３次元のうちの第１の次元に垂直であり、前記１次元サブアレイは前記第１の次元に沿っている、請求項１に記載の方法。
【請求項１１】
前記第１の処理された密度アレイの前記形成を行うことは、
第１のロー密度アレイを第２のロー密度アレイから減算することによって第３の処理された密度アレイを形成し、該第３の処理された密度アレイは、複数の２次元スライスで構成され、各スライスが、前記平面に対して垂直な２次元アレイであり、
各スライスの各要素に、前記スライスと同じ次元を持つ前方照明アレイの対応する要素を乗算し、前記平面に対して垂直な直線に沿って前記第３の処理された密度アレイから離隔された仮想観察点に近い方の前記前方照明アレイの第１のアレイ要素は、前記仮想観察点から遠い方の前記前方照明アレイの第２のアレイ要素の値よりも大きい値を持つ、
ことを有する、請求項１に記載の方法。
【請求項１２】
前記前方照明アレイの要素のうち連続したサブセット内で、前記前方照明アレイの前記要素の各々が、該要素の第１座標の二乗に比例する値を持ち、前記第１座標は、前記平面に対して垂直な方向における座標である、請求項１１に記載の方法。
【請求項１３】
前記前方照明アレイの要素のうち第１の連続したサブセット内で、前記前方照明アレイの前記要素の各々が、該要素の第１座標の４乗に比例する値を持ち、前記第１座標は、前記平面に対して垂直な方向における座標である、請求項１１に記載の方法。
【請求項１４】
前記前方照明アレイの要素のうち前記第１の連続したサブセットを含む前記前方照明アレイの要素の第２の連続したサブセット内で、閾値を超える第１座標を持つ前記前方照明アレイの前記要素の各々が、ゼロの値を持つ、請求項１３に記載の方法。
【請求項１５】
被写体の内部を見たものを生成するシステムであって、
透過性放射線で前記被写体をスキャンして、前記被写体中の前記透過性放射線の透過率を測定するスキャナと、
プロセッシング回路と、
ディスプレイと、
を有し、
前記プロセッシング回路は、
複数のロー密度アレイから第１の処理された密度アレイを形成し、前記第１の処理された密度アレイ及び前記ロー密度アレイの各々が、複数のアレイ要素を有する３次元アレイであり、前記複数のロー密度アレイの各々の各要素が、スキャンされた被写体の密度を表し、
前記第１の処理された密度アレイを平面上に投影して、複数のピクセル位置に複数の第１ピクセル値を形成し、前記投影を行うことは、
各ピクセルについてベクトルを形成し、該ベクトルは、前記第１の処理された密度アレイの前記複数のアレイ要素のうちの、前記平面に対して垂直であり且つそのピクセル位置を通る直線、に沿ったアレイ要素に対応し、
各ベクトルについて複数の統計を計算し、前記複数の統計は少なくともベクトル標準偏差を含み、
各ベクトルについて、前記複数の統計の統計値の加重和として、前記第１ピクセル値を計算する、
ことを有し、そして、
対応する前記第１ピクセル値に等しい第１の値を各ピクセルが持つ複数のピクセルを有する画像を表示する、
ように構成されている、
システム。
【請求項１６】
前記複数の統計は更に、ベクトル平均及び／又はベクトル最大を含み、
前記複数のロー密度アレイからの前記第１の処理された密度アレイの前記形成を行うことは、
前記複数のロー密度アレイのうちの第１のロー密度アレイを、前記複数のロー密度アレイのうちの第２のロー密度アレイから減算して、第３の処理された密度アレイを形成し、
前記第３の処理された密度アレイを、前記第１のロー密度アレイの前記３次元のうちの１つに対して平行な軸の周りで第１の角度にわたって回転させて、第４の処理された密度アレイを形成する、
ことを有する、
請求項１５に記載のシステム。
【請求項１７】
前記第３の処理された密度アレイは、複数の２次元スライスで構成され、各スライスが、前記軸に対して垂直な２次元アレイであり、前記第３の処理された密度アレイの前記回転を行うことは、前記スライスの各々を前記第１の角度にわたって回転させて、前記第４の処理された密度アレイの対応するスライスを形成することを有する、請求項１６に記載のシステム。
【請求項１８】
前記第１の処理された密度アレイの前記形成を行うことは、
第１のロー密度アレイを第２のロー密度アレイから減算することによって第３の処理された密度アレイを形成し、該第３の処理された密度アレイは、複数の２次元スライスで構成され、各スライスが、前記平面に対して垂直な２次元アレイであり、
各スライスの各要素に、前記スライスと同じ次元を持つ前方照明アレイの対応する要素を乗算し、前記平面に対して垂直な直線に沿って前記第３の処理された密度アレイから離隔された仮想観察点に近い方の前記前方照明アレイの第１のアレイ要素は、前記仮想観察点から遠い方の前記前方照明アレイの第２のアレイ要素の値よりも大きい値を持つ、
ことを有する、請求項１５に記載のシステム。
【請求項１９】
前記前方照明アレイの要素のうち連続したサブセット内で、前記前方照明アレイの前記要素の各々が、該要素の第１座標の二乗に比例する値を持ち、前記第１座標は、前記平面に対して垂直な方向における座標である、請求項１８に記載のシステム。
【請求項２０】
被写体の内部を見たものを生成するシステムであって、
プロセッシング回路と、
ディスプレイと、
を有し、
前記プロセッシング回路は、
複数のロー密度アレイから第１の処理された密度アレイを形成し、前記第１の処理された密度アレイ及び前記ロー密度アレイの各々が、複数のアレイ要素を有する３次元アレイであり、前記複数のロー密度アレイの各々の各要素が、スキャンされた被写体の密度を表し、
前記第１の処理された密度アレイを平面上に投影して、複数のピクセル位置に複数の第１ピクセル値を形成し、前記投影を行うことは、
各ピクセルについてベクトルを形成し、該ベクトルは、前記第１の処理された密度アレイの前記複数のアレイ要素のうちの、前記平面に対して垂直であり且つそのピクセル位置を通る直線、に沿ったアレイ要素に対応し、
各ベクトルについて複数の統計を計算し、前記複数の統計は少なくともベクトル標準偏差を含み、
各ベクトルについて、前記複数の統計の統計値の加重和として、前記第１ピクセル値を計算する、
ことを有し、そして、
対応する前記第１ピクセル値に等しい第１の値を各ピクセルが持つ複数のピクセルを有する画像を表示する、
ように構成されている、
システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明に従った実施形態の１つ以上の態様は、撮像に関し、より具体的には、被写体の内部構造を表す画像を表示することに関する。
【背景技術】
【０００２】
コンピュータアキシャル断層撮影（computerized  axial  tomography；ＣＡＴ）スキャンは、例えば患者などの被写体の内部構造についての情報を取得するために使用され得る診断手順である。ＣＡＴスキャンは、がんの徴候を検出するために用いられることがある。例えば膵臓など一部の臓器におけるがんは、体内での臓器の位置と周囲組織の均一性とに起因して、ＣＡＴスキャンで検出することが困難であり得る。これらの特徴は、ＣＡＴスキャン画像内で認知可能な細部を減少させてしまい得る。
【０００３】
故に、ＣＡＴスキャンからのデータを処理するための改良されたシステム及び方法が望まれる。
【発明の概要】
【０００４】
本開示の実施形態の態様は、例えば透過性放射線を用いて、１つ以上の３次元スキャンを実行することによって取得されたデータを可視化するシステム及び方法に向けられる。スキャンから、各ロー（未加工）密度アレイが３次元アレイである複数のロー密度アレイが形成される。例えば２つのロー密度アレイ間の差分を取ることといった１つ以上の処理によって、処理された密度アレイが形成され、処理された密度アレイが回転され、処理された密度アレイに前方照明（front-lighting）アレイが乗算され、そして、処理された密度アレイが平面上に投影されて、画像が形成される。この投影を行うことは、各々が画像のピクセルに対応する一組のベクトルの各々について、複数の統計のうちの１つ以上を計算することを含み、該複数の統計は、ベクトル平均、ベクトル最大、及びベクトル標準偏差を含む。
【０００５】
本発明の一実施形態によれば、スキャンデータを可視化する方法が提供され、当該方法は、複数のロー密度アレイから第１の処理された密度アレイを形成し、前記第１の処理された密度アレイ及び前記ロー密度アレイの各々が、複数のアレイ要素を持つ３次元アレイであり、前記複数のロー密度アレイの各々の各要素が、被写体のスキャン部分の密度を表し、前記第１の処理された密度アレイを平面上に投影して、複数のピクセル位置に複数の第１ピクセル値を形成し、前記投影を行うことは、各ピクセルについてベクトルを形成し、該ベクトルは、前記第１の処理された密度アレイの前記複数のアレイ素子のうちの、前記平面に対して垂直であり且つそのピクセル位置を通る直線、に沿ったアレイ素子に対応し、各ベクトルについて複数の統計を計算し、各ベクトルについて、前記複数の統計の統計値の加重和として、前記第１ピクセル値を計算する、ことを含み、そして、対応する前記第１ピクセル値に等しい第１の値を各ピクセルが持つ複数のピクセルを有する画像を表示する、ことを含む。
【０００６】
一実施形態において、前記複数の統計は、ベクトル平均、ベクトル最大、及びベクトル標準偏差からなる群から選択される２つの統計を含み、当該方法は更に、前記複数のロー密度アレイから第２の処理された密度アレイを形成し、前記第２の処理された密度アレイを前記平面上に投影して、前記複数のピクセル位置に複数の第２ピクセル値を形成し、前記複数のロー密度アレイから第３の処理された密度アレイを形成し、前記第３の処理された密度アレイを前記平面上に投影して、前記複数のピクセル位置に複数の第３ピクセル値を形成する、ことを含み、前記画像を表示することは、前記画像の各ピクセルを、対応する前記第１ピクセル値に比例する第１色強度、対応する前記第２ピクセル値に比例する第２色強度、及び対応する前記第３ピクセル値に比例する第３色強度で表示することを含む。
【０００７】
一実施形態において、前記複数のロー密度アレイから前記第１の処理された密度アレイを形成することは、前記複数のロー密度アレイのうちの第１のロー密度アレイを、前記複数のロー密度アレイのうちの第２のロー密度アレイから減算することを含み、前記複数のロー密度アレイから前記第２の処理された密度アレイを形成することは、前記第１のロー密度アレイを、前記複数のロー密度アレイのうちの第３のロー密度アレイから減算することを含み、前記複数のロー密度アレイから前記第３の処理された密度アレイを形成することは、前記第１のロー密度アレイを、前記複数のロー密度アレイのうちの第４のロー密度アレイから減算することを含む。
【０００８】
一実施形態において、前記第１のロー密度アレイは、前記被写体への造影剤の導入前に行われたスキャンの結果であり、前記第２のロー密度アレイは、前記被写体への造影剤の導入後に第１の時間間隔で行われたスキャンの結果であり、前記第３のロー密度アレイは、前記被写体への造影剤の導入後に第２の時間間隔で行われたスキャンの結果であり、前記第４のロー密度アレイは、前記被写体への造影剤の導入後に第３の時間間隔で行われたスキャンの結果であり、前記第２の時間間隔は前記第１の時間間隔よりも長く、前記第３の時間間隔は前記第２の時間間隔よりも長い。
【０００９】
一実施形態において、前記複数のロー密度アレイから前記第１の処理された密度アレイを形成することは、前記複数のロー密度アレイのうちの第１のロー密度アレイを、前記複数のロー密度アレイのうちの第２のロー密度アレイから減算して、第３の処理された密度アレイを形成し、前記第３の処理された密度アレイを、前記第１のロー密度アレイの前記３次元のうちの１つに対して平行な軸の周りで第１の角度にわたって回転させて、第４の処理された密度アレイを形成する、ことを含む。
【００１０】
一実施形態において、前記軸は前記平面に対して平行である。
【００１１】
一実施形態において、前記第３の処理された密度アレイは、複数の２次元スライスで構成され、各スライスが、前記軸に対して垂直な２次元アレイであり、前記第３の処理された密度アレイの前記回転を行うことは、前記スライスの各々を前記第１の角度にわたって回転させて、前記第４の処理された密度アレイの対応するスライスを形成することを含む。
【００１２】
一実施形態において、前記第３の処理された密度アレイのスライスの前記回転を行うことは、前記第３の処理された密度アレイの該スライスの複数の要素から、前記第４の処理された密度アレイの対応するスライスの要素の値を補間することを含む。
【００１３】
一実施形態において、前記補間することは双一次補間法を用いることを含む。
【００１４】
一実施形態において、各ベクトルが、前記第１の処理された密度アレイの１次元サブアレイであり、前記平面は、前記アレイの前記３次元のうちの第１の次元に垂直であり、前記１次元サブアレイは前記第１の次元に沿っている。
【００１５】
一実施形態において、前記第１の処理された密度アレイの前記形成を行うことは、第１のロー密度アレイを第２のロー密度アレイから減算することによって第３の処理された密度アレイを形成し、該第３の処理された密度アレイは、複数の２次元スライスで構成され、各スライスが、前記平面に対して垂直な２次元アレイであり、各スライスに、要素ごとに、前記スライスと同じ次元を持つ前方照明アレイを乗算し、前記平面に対して垂直な直線に沿って前記第３の処理された密度アレイから離隔された仮想観察点に近い方の前記前方照明アレイの第１のアレイ要素は、前記仮想観察点から遠い方の前記前方照明アレイの第２のアレイ要素の値よりも小さい値を持つ、ことを含む。
【００１６】
一実施形態において、前記前方照明アレイの要素のうち連続したサブセット内で、前記前方照明アレイの前記要素の各々が、該要素の第１座標の二乗に比例する値を持ち、前記第１座標は、前記平面に対して垂直な方向における座標である。
【００１７】
一実施形態において、前記前方照明アレイの要素のうち第１の連続したサブセット内で、前記前方照明アレイの前記要素の各々が、該要素の第１座標の４乗に比例する値を持ち、前記第１座標は、前記平面に対して垂直な方向における座標である。
【００１８】
一実施形態において、当該方法は、前記前方照明アレイの要素のうち前記第１の連続したサブセットを含み、閾値を超える第１座標を持つ前記前方照明アレイの前記要素の各々が、ゼロの値を持つ。
【００１９】
本発明の一実施形態によれば、被写体の内部を見たものを生成するシステムが提供され、当該システムは、透過性放射線で前記被写体をスキャンして、前記被写体中の前記透過性放射線の透過率を測定するスキャナと、プロセッシング回路と、ディスプレイと、を含み、前記プロセッシング回路は、複数のロー密度アレイから第１の処理された密度アレイを形成し、前記第１の処理された密度アレイ及び前記ロー密度アレイの各々が、複数のアレイ要素を含む３次元アレイであり、前記複数のロー密度アレイの各々の各要素が、スキャンされた被写体の密度を表し、前記第１の処理された密度アレイを平面上に投影して、複数のピクセル位置に複数の第１ピクセル値を形成し、前記投影を行うことは、各ピクセルについてベクトルを形成し、該ベクトルは、前記第１の処理された密度アレイの前記複数のアレイ素子のうちの、前記平面に対して垂直であり且つそのピクセル位置を通る直線、に沿ったアレイ素子に対応し、各ベクトルについて複数の統計を計算し、各ベクトルについて、前記複数の統計の統計値の加重和として、前記第１ピクセル値を計算する、ことを含み、そして、対応する前記第１ピクセル値に等しい第１の値を各ピクセルが持つ複数のピクセルを含む画像を表示する、ように構成される。
【００２０】
一実施形態において、前記複数の統計は、ベクトル平均、ベクトル最大、及びベクトル標準偏差からなる群から選択される２つの統計を含み、前記複数のロー密度アレイからの前記第１の処理された密度アレイの前記形成を行うことは、前記複数のロー密度アレイのうちの第１のロー密度アレイを、前記複数のロー密度アレイのうちの第２のロー密度アレイから減算して、第３の処理された密度アレイを形成し、前記第３の処理された密度アレイを、前記第１のロー密度アレイの前記３次元のうちの１つに対して平行な軸の周りで第１の角度にわたって回転させて、第４の処理された密度アレイを形成する、ことを含む。
【００２１】
一実施形態において、前記第３の処理された密度アレイは、複数の２次元スライスで構成され、各スライスが、前記軸に対して垂直な２次元アレイであり、前記第３の処理された密度アレイの前記回転を行うことは、前記スライスの各々を前記第１の角度にわたって回転させて、前記第４の処理された密度アレイの対応するスライスを形成することを含む。
【００２２】
一実施形態において、前記第１の処理された密度アレイの前記形成を行うことは、第１のロー密度アレイを第２のロー密度アレイから減算することによって第３の処理された密度アレイを形成し、該第３の処理された密度アレイは、複数の２次元スライスで構成され、各スライスが、前記平面に対して垂直な２次元アレイであり、各スライスに、要素ごとに、前記スライスと同じ次元を持つ前方照明アレイを乗算し、前記平面に対して垂直な直線に沿って前記第３の処理された密度アレイから離隔された仮想観察点に近い方の前記前方照明アレイの第１のアレイ要素は、前記仮想観察点から遠い方の前記前方照明アレイの第２のアレイ要素の値よりも小さい値を持つ、ことを含む。
【００２３】
一実施形態において、前記前方照明アレイの要素のうち連続したサブセット内で、前記前方照明アレイの前記要素の各々が、該要素の第１座標の二乗に比例する値を持ち、前記第１座標は、前記平面に対して垂直な方向における座標である。
【００２４】
本発明の一実施形態によれば、被写体の内部を見たものを生成するシステムが提供され、当該システムは、プロセッシング回路と、ディスプレイと、を含み、前記プロセッシング回路は、複数のロー密度アレイから第１の処理された密度アレイを形成し、前記第１の処理された密度アレイ及び前記ロー密度アレイの各々が、複数のアレイ要素を含む３次元アレイであり、前記複数のロー密度アレイの各々の各要素が、スキャンされた被写体の密度を表し、前記第１の処理された密度アレイを平面上に投影して、複数のピクセル位置に複数の第１ピクセル値を形成し、前記投影を行うことは、各ピクセルについてベクトルを形成し、該ベクトルは、前記第１の処理された密度アレイの前記複数のアレイ素子のうちの、前記平面に対して垂直であり且つそのピクセル位置を通る直線、に沿ったアレイ素子に対応し、各ベクトルについて複数の統計を計算し、各ベクトルについて、前記複数の統計の統計値の加重和として、前記第１ピクセル値を計算する、ことを含み、そして、対応する前記第１ピクセル値に等しい第１の値を各ピクセルが持つ複数のピクセルを含む画像を表示する、ように構成される。
【図面の簡単な説明】
【００２５】
特徴、態様、及び実施形態を、添付の図面とともに説明する。
【図１】本発明の一実施形態に従った、被写体の内部の画像を生成するシステムである。
【図２】本発明の一実施形態に従った、被写体の内部の画像を生成する方法のフローチャートである。
【発明を実施するための形態】
【００２６】
添付の図面に関連して以下に記載される詳細な説明は、本発明に従って提供される３次元撮像データを表示するシステム及び方法の例示的な実施形態の説明として意図したものであり、本発明が構築又は利用され得る最良の形態を表すことを意図したものではない。ここでの記載は、図示する実施形態に関連して本発明の特徴を説明する。しかしながら、理解されるべきことには、同じ又は等価な機能及び構造が、やはり本発明の精神及び範囲に包含されることが意図される異なる実施形態によって達成されてもよい。本明細書中の別のところに示されるように、似通った参照符号は、同様の要素又は機構を指し示すことを意図したものである。
【００２７】
コンピュータアキシャル断層撮影（ＣＡＴ）スキャンは、被写体（例えば、患者）が、放射線源からの透過性（例えば、Ｘ線）放射線で幾つかの方向から照射され、そして、各インスタンスにて、透過した放射線のロー（未加工）スキャン画像が検出器によって形成されて、各々が２次元アレイとして表され得る複数のロースキャン画像が形成される手順である。放射線は、異なる種類の物質内では異なる率で減衰され、従って、各画像内の各点は、放射線源から検出器へと放射線がそれに沿って進行した経路上の物質の組成の減衰率に依存した、透過した放射線強度に対応し得る。複数のロースキャン画像の組み合わせから、被写体の“密度”の３次元モデルが形成され得る。ここでＣＡＴスキャンに関して使用されるとき、“密度”は、透過性放射線の局所的な減衰率を指す。本開示においては、ヒト患者のＣＡＴスキャンの文脈で例が説明されるが、本発明は、それに限定されるものではなく、一部の実施形態では、例えば磁気共鳴撮像スキャン若しくは陽電子放出断層撮影スキャンなどの、３次元密度データを提供する他の種類のスキャン、又はヒト患者以外の被写体のスキャンが同様にして処理され得る。他の実施形態では、例えば、空間的にサブボクセルレベルまで３次元でレジストレーションされる複数のスキャンであって、それらのスキャンの値の間に、３色表示に役立つ差異が存在する複数のスキャン、を生成する別のスキャン方法が使用される。他の種類のスキャンの場合には、密度が然るべく定義され、例えば、陽電子放出断層撮影スキャンの場合、密度は、ベータプラス放出によって崩壊する核の密度とし得る。ここで使用されるとき、用語“被写体”は、スキャンされ得る如何なるものをも含み、限定することなく、ヒト患者、動物、植物、無生物、及びこれらの組み合わせを包含する。
【００２８】
撮像される被写体がヒト患者（又は他の生物）であるとき、一部の組織の密度を選択的に変化させるために造影剤が使用され（例えば、患者に注入され又は患者によって摂取され）得る。造影剤は、例えば、比較的不透明（すなわち、透過性放射線に対して比較的不透明）な物質を含み得る。結果として、造影剤を含む組織の密度が増加されることができ、それは、組織内の造影剤の濃度に依存する程度まで増加され得る。図１は、一実施形態に従った、スキャンを実行して結果を処理及び表示するシステムのブロック図を示している。このシステムは、スキャナ１１０と、プロセッシング回路１１５（更に詳細に後述する）と、画像を表示する又はムービーの形態で画像のシーケンスを表示するディスプレイ１２０と、システムを操作するため及び表示される画像の処理に影響を及ぼすパラメータを設定するためにオペレータ（例えば、放射線医）が使用し得る例えばキーボード又はマウスなどの１つ以上の入力装置１２５とを含んでいる。なお、プロセッシング回路１１５、ディスプレイ１２０、及び入力装置１２５は、単一システムの一部であってもよいし、あるいは、例えば、プロセッシング回路１１５が、ディスプレイ１２０及び入力装置１２５とは別個であって、それらに通信可能に結合されるなどの、分散システムであってもよい。一部の実施形態において、サーバが画像を格納し、クライアントが画像を呼び出し、画像処理が、サーバ上若しくはクライアント上、又はそれら双方で実行される。
【００２９】
複数のスキャンが実行され、一緒に分析され得る。例えば、造影剤が注入される前に最初のスキャンが実行され、そして、造影剤の注入後の様々な時点（例えば、一定間隔）で、造影剤の濃度が変化するにつれて、幾つかの後続スキャンが実行され得る。当初に造影剤の濃度が上昇する速さ、到達されるピーク濃度、及びその後に造影剤の濃度が低下する速さは全て、組織の種類に依存し得る。
【００３０】
一部の実施形態において、診断ツールとしてのＣＡＴスキャンの使用を支援するためにＣＡＴスキャンデータから画像を生成することには、様々な方法が使用され得る。例えば、４つのスキャンの組からカラームービーを形成するために、図２に示して以下で更に詳細に説明する一連のステップすなわち“アクト”が使用され得る。一部の実施形態では、４つよりも多数又は少数のスキャンが使用される。一部の実施形態において、３次元スキャンデータを含むアレイが、アクト２０５にて（スキャナ１１０から、ロースキャン画像をロー密度アレイへと変換するプロセッシング回路１１５の一部を介して、又は、プロセッシング回路１１５にて実行されてこの変換を行うプロセスを介して）受信され、アクト２１０にて、差分を形成するように減算され、アクト２１５にて、（オプションのバイアス付加の後に）フィルタリングされ、クリッピングされ得る。その結果が、次いで、アクト２２０にて回転され、アクト２２５にて前方照明プロセスにかけられ、そして、アクト２３０にて平面上に投影され得る。幾つかのそのような投影（例えば、３つの投影）が、アクト２３５にて組み合わされて、カラー画像（例えば、３つの投影がカラー画像の赤、緑、及び青の成分に対応する）を形成し得る。アクト２２０−２３０を繰り返すことによってカラー画像のシーケンス（各々が、例えば、僅かに異なる角度に回転されている）が形成され、次いで、アクト２４０にてムービー（例えば、スキャンされた被写体が回転していることを示すムービー）へと結合され得る。アクト２４５にて、このムービーがオペレータに表示され得る。アクト２０５−２４０は、プロセッシング回路１１５によって実行され得る。
【００３１】
リスト１にリスト化されるコードは、ムービーとして見られ得る画像のシーケンスを生成するためのＭＡＴＬＡＢ（登録商標）コードを示している。リスト１のコードは、入力として、複数のＣＡＴスキャンデータファイルを受信する。ｓａｍｐｌｅ＿ｐａｔｉｅｎｔ＿１＿ａ３＿ｎｏ＿ｆｉｌｔ．ｍａｔ、ｓａｍｐｌｅ＿ｐａｔｉｅｎｔ＿２＿ａ３＿ｎｏ＿ｆｉｌｔ．ｍａｔ、ｓａｍｐｌｅ＿ｐａｔｉｅｎｔ＿３＿ａ３＿ｎｏ＿ｆｉｌｔ．ｍａｔ、及びｓａｍｐｌｅ＿ｐａｔｉｅｎｔ＿４＿ａ３＿ｎｏ＿ｆｉｌｔ．ｍａｔというファイルの各々が、変数ａ３にて、ここで“ロー密度アレイ”（例えば、第１のロー密度アレイ、第２のロー密度アレイ、第３のロー密度アレイ、及び第４のロー密度アレイ）として参照している３次元アレイを規定する。各ロー密度アレイの各要素が、その要素の座標に対応する患者の物理的位置にある小さいボリュームすなわち“ボクセル”内の組織の密度を表す。
【００３２】
これらの（３次元）ロー密度アレイは、（２次元）ロースキャン画像から、例えば、スキャンされる被写体（例えば、患者）の密度を３次元で推測するためのデコンボリューションプロセスを用いて生成され得る（その後、アクト２０５で受信され得る）。１つめのファイルは、造影剤が患者に注入される前に実行されたスキャンからのデータを含み、残りの３つのファイルは、造影剤が患者に注入された後に２分間隔で実行されたスキャンからのデータを含み得る。しかしながら、理解されるべきことには、造影剤の使用は要求されるものではなく、及び／又は他のタイミング間隔又は画像数が使用されてもよい。例えば、単一のスキャンから、更に詳細に後述する方法を用いて、単色投影及び単色ムービーが形成されてもよい。リスト１の第３４−４１行は、４つのデータファイルを読み込んで、それぞれの３次元アレイを４つのそれぞれの変数ｓｃａｎ１、ｓｃａｎ２、ｓｃａｎ３、及びｓｃａｎ４にコピーする作用を持つ。リスト１の第４３−４５行にて、第１のスキャン（造影剤なしで撮影）が、他の３つのスキャンの各々から減算（例えば、要素ごとに減算）されて、３つの密度アレイすなわち“処理された”密度アレイを、それぞれ、変数ｓｃａｎ２１、ｓｃａｎ３１、及びｓｃａｎ４１に形成する。ここで使用されるとき、“処理された密度アレイ”は、１つ以上のロー密度アレイから直接的又は間接的に形成されて、画像上への投影を形成するため又は更なる処理によって他の処理された密度アレイを形成するために使用される任意の３次元密度アレイである。ロー密度アレイ又は他の処理された密度アレイを（一部はオプションとし得る１つ以上のプロセッシングステップによって）処理することから得られる処理された密度アレイは、それらを互いに区別するために、第１の処理された密度アレイ、第２の処理された密度アレイ、第３の処理された密度アレイ、第４の処理された密度アレイ、第５の処理された密度アレイ、第６の処理された密度アレイなどとして参照され得る。
【００３３】
上述のように、各密度アレイの各ボクセルは、被写体内（例えば、患者内）の或る物理的位置に対応し得る。その位置は、Ｘ、Ｙ、及びＺ軸を有する３次元（例えば、デカルト）座標系における座標によって特定され得る。従って、全てのボクセルが、座標系の原点（患者内のどこかとし得る）に対するその位置（例えば、センチメートル単位又はミリメートル単位）によって指定され得るＸ、Ｙ、及びＺ座標を持ち得る。密度アレイの各要素は、３つの整数のタプル（すなわち３タプル）によってインデックス付けされることができ、各要素はまた、それが対応するボクセルの座標（簡潔さのために、これをアレイ要素の座標として参照することがある）によって識別され得る。この３タプルは、（ｘ、ｙ、ｚ）と記述され得るとともに、１とＮｘとの間の範囲のｘインデックス、１からＮｙの範囲のｙインデックス、及び１からＮｚの範囲のｚインデックスを含むことができ、ここで、Ｎｘ、Ｎｙ、Ｎｚは、リスト１の第６４行で規定されて、ロー密度アレイのサイズを記述する整数である。
【００３４】
リスト１の第５０−５２行にて、３つの差分スキャンであるｓｃａｎ２１、ｓｃａｎ３１、及びｓｃａｎ４１の各々が、３次元メジアンフィルタでフィルタリングされる。このフィルタ出力の各ボクセルは、フィルタ入力における対応するボクセルの周りｍ×ｍ×ｍ近傍の中央値とすることができ、変数“ＮＭＥＤ”がスカラーｍを含む。なお、リスト１の関数ｍｅｄｆｉｌｔ３（）は、ＭＡＴＬＡＢ（登録商標）に組み込まれた同じ名前の関数ではなく、同様の作用を持つ別の関数である（ベクトルの代わりに、ＮＭＥＤのスカラー値を受け取る）。これら３つのフィルタ出力が、リスト１の後続部分での表示のために、それぞれの色に割り当てられる（変数ｒｅｄは赤に対応し、変数ｇｒｎは緑に対応し、変数ｂｌｕは青に対応する）。
【００３５】
第５５−５７行にて、カラー割り当てされたフィルタ出力のうち０未満の値を持つ要素がゼロに切り上げられ（すなわち“クリッピング”され）、第６０−６２行にて、３つの新たなアレイが（処理速度のため及び過剰なメモリ使用を回避するために単精度数に）初期化される。フィルタ及びカラー割り当てステップにおけるコントラストを調整するためにバイアス（可変バイアス）が使用されてもよく、例えば、クリッピング処理の前に負バイアスを加えることによって、低めの強度値がゼロに設定され得るようにすることができ、コントラストが上昇される。バイアスは、リスト１では−１０５０に設定されており、一部の実施形態において、バイアスは、例えば入力装置１２５を用いて、オペレータによって設定され、あるいは、使用される造影剤又は撮像される身体部分に基づき得る。
【００３６】
例えば、ヒト患者の縦軸（すなわち、高さ軸）はＺ軸として、前後軸はＸ軸として、そして、左右軸はＹ軸として規定され得る。次いで、可変量だけ回転された３次元アレイの平面上への一連の投影として、一連の画像が形成され得る。各投影が、上記平面に対して垂直な直線（“模擬された観察方向”）に沿って患者から離隔される“仮想観察点”に位置する“仮想観察者”が、患者の内部の臓器が見えるように患者が部分的に透明であった場合に見ることができるものを近似し得る。例えば、組織密度を表すアレイが、Ｚ軸を中心に回転されてＹ−Ｚ平面上に投影されることで、患者が部分的に透明であった場合に、且つＸ軸に沿う模擬された観察方向から仮想観察者が患者を見ていて、回転プラットフォーム上で患者が仮想観察者の前に立っているとした場合に、仮想観察者が見ることができるものに対応する一連の画像を生成し得る。他の実施形態において、３次元アレイの回転軸は、Ｚ軸の代わりにＸ軸又はＹ軸であってもよく、模擬された方向はＹ軸又はＺ軸に沿っていてもよい。
【００３７】
リスト１では、（ｉ）組織密度を表すアレイがその周りで回転される軸と、（ｉｉ）仮想観察者の観察方向との異なる組み合わせを特定するために、定数ＲＯＴＸＹ、ＲＯＴＸＺ及びＲＯＴＹＺが使用されている。一部の実施形態において、模擬された観察方向は、回転軸に対して垂直であるように選択され（すなわち、処理された密度行列がその上に投影される平面が、回転軸に対して平行であるように選択され）、その結果、密度アレイが回転されるときに一部の臓器が他の臓器の前又は後ろを通るようになる。上記平面は、計算の容易さのために、システムの軸のうち１つに対して（及び処理された密度アレイの次元のうち１つに対して）垂直であるように選択され得る。この場合、投影は、一度に、処理された密度アレイの１つのベクトルに対して作用することができ、各ベクトルは、上記平面に対して垂直な１次元サブアレイである。他の実施形態において、上記平面は、上記平面に垂直であり且つ或るピクセル位置を通り抜ける各直線が、処理された密度アレイの３つの次元のいずれとも整列されることがないような任意の角度にあり、そのような場合、直線が通り抜けるピクセルへの投影を実行する前に、そのような直線の各々に沿った密度値のベクトルを形成するために補間が使用され得る。
【００３８】
各投影において、例えば特定の臓器などの特定の特徴又は例えば腫瘍などの異常の可視性を高めるために、重み付けが使用されてもよい。例えば、前面視において、高い密度を持ち得るが仮想観察者からいっそう遠くにある脊椎が、仮想観察者にいっそう近くにある臓器を覆い隠してしないで済むように、仮想観察者の近くにある特徴が強調され得るとともに、より遠くにある特徴が抑圧され得る。
【００３９】
リスト１の第７０−７２行は、組織密度を表すアレイがＺ軸周りに回転されてＹ−Ｚ平面上に投影される場合に対応する。回転軸がＺ軸であり且つ模擬された観察方向がＸ軸に沿っているときに、仮想観察者のいっそう近くにある被写体部分を強調するために、変数ｆｒｏｎｔ＿ｌｉｇｈｔｉｎｇ（前方照明）の重み付けアレイが使用され得る。例えば、第７１及び７２行は、Ｘインデックスの値の或る範囲（Ｘ方向の最初の１２０個の要素及び最後の５０個の要素を除く範囲）にわたってＸインデックスの４乗として変化し且つそれ以外ではゼロである（すなわち、Ｘ方向の最初の１２０個の要素及び最後の５０個の要素はゼロである）ものであるＸ−Ｙ平面内の２次元アレイ（すなわち、Ｘ方向に関連付けられた第１の座標及びＹ方向に関連付けられた第２の座標を有する）を形成している。斯くして、例えば、前面視において、脊椎が仮想観察者から最も離れた５０個の要素内に完全に入る場合、回転された３次元アレイにアレイｆｒｏｎｔ＿ｌｉｇｈｔｉｎｇが乗算された後には、脊椎は投影から完全に除去されることができる。同様に、これまた高い密度と、それに対応した、内部器官を覆い隠す高い可能性とを有し得るものである患者の肋骨の一部が、仮想観察者に最も近い１２０個の要素内に配置されることがあるが、それも、第７１及び７２行のｆｒｏｎｔ＿ｌｉｇｈｔｉｎｇアレイの使用によって除去され得る。他の類似のｆｒｏｎｔ＿ｌｉｇｈｔｉｎｇアレイ（これは４乗としての代わりに２乗で変化する）が、Ｙ軸周りの回転（第６７行）又はＸ軸周りの回転（第６９行）でＺ方向に沿って観察するために形成されている。リスト１では、ＲＯＴＸＺ及びＲＯＴＹＺの場合に２乗重み付けが使用され、ＲＯＴＸＹの場合に４乗重み付けが使用されているが、他の実施形態では、回転軸及び模擬観察方向の任意の組み合わせとともに、どちらの種類の重み付け（又は例えば３条重み付けといった他の種類の重み付け）が使用されてもよい。
【００４０】
第８７−１６９行は、各々が処理された密度アレイの異なる回転角度に関する（及び患者を通る異なる観察方向を模擬する）各繰り返し（イテレーション）で、一連の画像のうちの１つの画像を生成するループ（ここでは“角度ループ”として参照する）を規定している。角度の範囲及び角度の増分（インクリメント）は、第７５−８０行に規定されている。
【００４１】
各角度において、３つの処理された密度アレイ（赤、緑、及び青に対応する）の各々が、スライスインデックスｎをインデックスとして第８９−１２３行まで延びるｆｏｒループ（ここでは“スライスループ”として参照する）にて、一度に１つのスライスで処理される。各スライスは、回転軸に沿った或る位置に対応するインデックスｎの１つの値での、回転軸に対して垂直な２次元アレイである。例えば、Ｙ軸周りの回転（第９１−９４行）の場合、ＸＺ平面に対して平行なスライスが、処理された密度アレイｒｅｄ＿ｔｅｍｐ、ｇｒｎ＿ｔｅｍｐ、及びｂｌｕ＿ｔｅｍｐの各々から抽出される。
【００４２】
次いで、これらのスライスの各々が、第１０６−１０８行での対応したｉｍｒｏｔａｔｅ（）の呼び出しにて、現在の角度だけ回転される。ＭＡＴＬＡＢ（登録商標）関数ｉｍｒｏｔａｔｅ（）は、関数の第１引数である２次元アレイを、第２引数で指定される角度にわたって、第３引数で指定されて、第４引数で指定されるサイズを持つ補間方法を用いて回転させる。第１０６−１０８行のコード例では、双一次（バイリニア）補間が指定されているとともに、値“ｃｒｏｐ”が、この関数から返されるアレイが、第１引数としてこの関数に渡されるアレイと同じサイズであることを指定している。
【００４３】
第１１０−１２２行にて、これらのスライスから３つの新たな３次元アレイが組み立てられるとともに、仮想観察者に近い方にある３次元アレイの部分を強調するために前方照明が適用される。前方照明は、回転された各スライスに、（上述のように）仮想観察者の方で大きめの値を含み得るものであるアレイｆｒｏｎｔ＿ｌｉｇｈｔｉｎｇを乗算することによって遂行される。このアレイも、上述のように、一部の要素に値０を含むことができ、これは、スライスのゼロ領域（例えば、観察者から最も遠いボクセル群のストライプ内にあるもの、及び／又は、仮想観察者に最も近いボクセル群のストライプ内にあるもの）を設定する効果を有し得る。
【００４４】
３つの“単色（モノクロ）”アレイｒｅｄ＿ｉｍ、ｇｒｎ＿ｉｍ、及びｂｌｕ＿ｉｍが、第１２８−１３０行（Ｚ軸に対して平行な観察方向の場合、すなわち、ＲＯＴＸＺ又はＲＯＴＹＺのいずれかの場合）又は第１５０−１５２行（Ｘ軸に対して平行な観察方向の場合、すなわち、ＲＯＴＸＺの場合）で形成される。各単色アレイの各ピクセルは、観察方向に対して平行であり且つそのピクセル位置を通り抜けるボクセルのベクトルの最大３つの統計の加重和に等しく設定され、上記３つの統計は、ベクトル平均、ベクトル最大、及びベクトル標準偏差である。例えば、第１２８行を参照するに、アレイｒｅｄ＿ｉｍの座標（２７，５２）にあるピクセル（ここでは例示の目的で、任意の値として座標２７及び５２を使用している）が、１からＮｚまでの範囲のインデックスｎで座標（２７，５３，ｎ）を持つボクセルのベクトルの３つの統計（すなわち、ベクトル平均、ベクトル最大、及びベクトル標準偏差）の加重和として形成される。ボクセルのこのベクトルは、観察方向に対して平行であるとともに、単色アレイｒｅｄ＿ｉｍを形成するために３次元アレイｒｅｄ１がその上に投影された平面に対して垂直である。ＭＡＴＬＡＢ（登録商標）関数ｍｅａｎ（）は、その第１引数であるアレイの平均をその第２引数である次元に沿って計算して、第１引数であるアレイよりも１つ少ない次元を持つアレイを返す。例えば、３次元アレイの場合、第３の次元（例えば、Ｚ次元）に沿った平均は２次元アレイであり、該２次元アレイの各要素は、上記３次元アレイ内での、Ｚ軸に対して平行な対応するベクトルの平均である。同様に、ＭＡＴＬＡＢ（登録商標）関数ｍａｘ（）及びｓｔｄ（）は、それぞれ、入力アレイ内のベクトルの最大値のアレイ又は入力アレイ内の対応するベクトルの標準偏差（例えば、サンプル標準偏差）のアレイを返す。重みｃ１、ｃ２、及びｃ３は、関心のある被写体部分の可視性を高めるため及び関心のない部分を抑圧するために、（例えば、システム設計者によって、システムによって自動的に、又は、操作中に好適なユーザインタフェースを介してユーザによって）選択され得る。例えば、ある特定の臓器が他の組織よりも速く造影剤を吸収することがあり、結果として、その臓器は、造影剤の注入後の最初のスキャンで、他の組織よりも有意に高い密度を持ち得る。これは、その臓器を通る抜けるベクトルに関して大きい値の標準偏差をもたらすことができ、そして、投影において標準偏差が重く重み付けられる場合（すなわち、ｃ３が比較的高く設定される場合）、その臓器は、各投影において、造影剤の注入後の最初のスキャンに対応する色にて、明るい領域として現れ得る。
【００４５】
第１３２−１４０行及び第１４４−１４７行は、（リスト１のコードに他の変更が加えられるときの）診断に使用されるコードの行であり、リスト１のコードの実行には影響を及ぼさない。
【００４６】
第１５７−１５９行にて、各ピクセルが第１ピクセル値（例えば、赤色強度）、第２ピクセル値（例えば、緑色強度）、及び第３ピクセル値（例えば、青色強度）を持つ複数のピクセルを有するカラー画像が形成される。カラー画像は、３次元アレイｃｏｌ＿ｉｍに組み立てられ、その最初の２つの次元はピクセル座標に対応し、その最後の次元（１、２、又は３の値をとる）は３つの色（例えば、それぞれ、赤、緑、及び青）に対応する。ｃｏｌ＿ｉｍの３つの色成分は、３つの“単色”アレイｒｅｄ＿ｉｍ、ｇｒｎ＿ｉｍ、ｂｌｕ＿ｉｍである。
【００４７】
リスト１の第１６１−１６７行は、現在のカラー画像を１つのフレームとしてムービーに追加し、該ムービーは、再生されるときに、角度ループによって生成された一連の画像を表示することになり、結果として、該ムービーは、スキャンされた被写体を回転軸周りで回転させて示すことになる。ｇａｉｎと名付けられた変数が、画像の（及びムービーの）明るさを調節する。この変数は、第１１行で設定されているが、他の実施形態では、例えば入力装置１２５を用いて、オペレータによって設定される。
【００４８】
リスト１
1    %  複数のＣＡＴスキャンを読み込み、それらのスキャンを積み重ねることによって３Ｄ画像を形成する
2    %  複数のスキャンをカラーで結合し、３Ｄ画像を２Ｄプロット上にレンダリングする
3    %  イニシャル画像をその他から減算して、望ましくないものの一部を除去する
4    %  例えば肋骨などを返す
5
6    clear
7    close  all
8
9    %  コントラスト設定
10    bias  =  -1050;
11    gain  =  0.3;
12
13    %  減算する第１の画像の量を選択する(0-1)
14    subtraction_fraction  =  0;
15
16    ROTXY  =  1;
17    ROTXZ  =  2;
18    ROTYZ  =  3;
19
20    %  このラン（run）での回転の方向を選択する
21    rot_axis  =  ROTXY;
22
23    %  ３Ｄ画像を２Ｄに投影するのに使用される統計に関する重みを選択する
24    c1  =  0;
25    c2  =  1;
26    c3  =  0;
27    c4  =  0;
28
29    %  メジアンフィルタ（３次元フィルタ）の幅を選択する
30    NMED  =  3;
31
32    %  スキャンを読み込む
33
34    load  sample_patient_1_a3_no_filt.mat
35    scan1  =  a3;
36    load  sample_patient_2_a3_no_filt.mat
37    scan2  =  a3;
38    load  sample_patient_3_a3_no_filt.mat
39    scan3  =  a3;
40    load  sample_patient_4_a3_no_filt.mat
41    scan4  =  a3;
42
43    scan21=scan2-subtraction_fraction*scan1;
44    scan31=scan3-subtraction_fraction*scan1;
45    scan41=scan4-subtraction_fraction*scan1;
46
47    [Nx,Ny,Nz]  =  size(scan21);
48
49    %  バイアスし、フィルタリングし、そして、色に割り当てる
50    red  =  medfilt3(scan21+bias,NMED);
51    grn  =  medfilt3(scan31+bias,NMED);
52    blu  =  medfilt3(scan41+bias,NMED);
53
54    %  ゼロ未満のものをクリッピング
55    red  =  max(red,0);
56    grn  =  max(grn,0);
57    blu  =  max(blu,0);
58
59    %  アレイを初期化
60    red1=zeros(size(red),'single');
61    grn1=zeros(size(grn),'single');
62    blu1=zeros(size(blu),'single');
63
64    [Nx,Ny,Nz]  =  size(red);
65
66    if  rot_axis  ==  ROTXZ
67        front_lighting  =  ones(Nx,1)  *  (1:Nz).^2;
68    elseif  rot_axis  ==  ROTYZ
69        front_lighting  =  ones(Ny,1)  *  (1:Nz).^2;
70    elseif  rot_axis  ==  ROTXY
71        front_lighting  =  [zeros(1,120)  (Nx-120-50:-1:1)  zeros(1,50)]'  *  ones(1,Ny);
72        front_lighting  =  front_lighting.^4  ./  Nx/Nx/Nx;
73    end
74
75    ANG_LIMIT  =  90;
76
77    ANG_STEP  =  round(  ANG_LIMIT/45);
78
79    ang_array  =  [(0:-ANG_STEP:-ANG_LIMIT),...
80        (-ANG_LIMIT+1:ANG_STEP:ANG_LIMIT),(ANG_LIMIT-1:-ANG_STEP:1)];
81
82    img_count  =  0;
83
84    %  多数の観察角度にわたってループさせて、３Ｄ画像が以下のように観察され得るようにする
85    %  多数の２Ｄ画像にてスクリーン上に投影される
86
87    for  ang  =  ang_array
88
89        for  n  =  1  :  Ny*(rot_axis==ROTXZ)  +  Nx*(rot_axis==ROTYZ)  +  Nz*(rot_axis==ROTXY)
90
91            if  rot_axis  ==  ROTXZ
92                red_temp  =  squeeze(  red(:,n,:)  );
93                grn_temp  =  squeeze(  grn(:,n,:)  );
94                blu_temp  =  squeeze(  blu(:,n,:)  );
95            elseif  rot_axis  ==  ROTYZ
96                red_temp  =  squeeze(  red(n,:,:)  );
97                grn_temp  =  squeeze(  grn(n,:,:)  );
98                blu_temp  =  squeeze(  blu(n,:,:)  );
99            elseif  rot_axis  ==  ROTXY
100                red_temp  =  squeeze(  red(:,:,n)  );
101                grn_temp  =  squeeze(  grn(:,:,n)  );
102                blu_temp  =  squeeze(  blu(:,:,n)  );
103            end
104
105            %  観察のために３つの軸のいずれかでスクリーン上で画像を回転させる
106            red_tempr  =  imrotate(red_temp,ang,'bilinear','crop');
107            grn_tempr  =  imrotate(grn_temp,ang,'bilinear','crop');
108            blu_tempr  =  imrotate(blu_temp,ang,'bilinear','crop');
109
110            if  rot_axis  ==  ROTXZ
111                red1(:,n,:)  =  red_tempr  .*  front_lighting;
112                grn1(:,n,:)  =  grn_tempr  .*  front_lighting;
113                blu1(:,n,:)  =  blu_tempr  .*  front_lighting;
114            elseif  rot_axis  ==  ROTYZ
115                red1(n,:,:)  =  red_tempr  .*  front_lighting;
116                grn1(n,:,:)  =  grn_tempr  .*  front_lighting;
117                blu1(n,:,:)  =  blu_tempr  .*  front_lighting;
118            elseif  rot_axis  ==  ROTXY
119                red1(:,:,n)  =  red_tempr  .*  front_lighting;
120                grn1(:,:,n)  =  grn_tempr  .*  front_lighting;
121                blu1(:,:,n)  =  blu_tempr  .*  front_lighting;
122            end
123        end
124
125        if  rot_axis  ==  ROTXZ  ||  rot_axis  ==  ROTYZ
126
127            %  統計を用いて画像を３Ｄから２Ｄへと投影
128            red_im  =
squeeze(c1*mean(red1,3)+c2*max(red1,[],3)+c3*std(red1,[],3));
129            grn_im  =
squeeze(c1*mean(grn1,3)+c2*max(grn1,[],3)+c3*std(grn1,[],3));
130            blu_im  =
squeeze(c1*mean(blu1,3)+c2*max(blu1,[],3)+c3*std(blu1,[],3));
131
132            col_im(:,:,1)  =  red_im;
133            col_im(:,:,2)  =  grn_im;
134            col_im(:,:,3)  =  blu_im;
135
136            if  rot_axis  ==  ROTXZ
137                image(max(0,min(1,gain*col_im/mean(red_im(:)))))
138            else
139                image(max(0,min(1,gain*col_im/mean(red_im(:)))))
140            end
141
142        elseif  rot_axis  ==  ROTXY
143
144            front_lighting1  =  zeros(size(red1));
145            for  z  =  1  :  Nz
146                front_lighting1(:,:,z)  =  front_lighting;
147            end
148
149            %  統計を用いて画像を３Ｄから２Ｄへと投影
150            red_im  =
squeeze(c1*mean(red1,1)+c2*max(red1,[],1)+c3*std(red1,[],1))';
151            grn_im  =
squeeze(c1*mean(grn1,1)+c2*max(grn1,[],1)+c3*std(grn1,[],1))';
152              blu_im  =
squeeze(c1*mean(blu1,1)+c2*max(blu1,[],1)+c3*std(blu1,[],1))';
153                     end
154
155        %  画像をMatlab  RGBアレイに入れる  1=red,  2=grn,  3=blu  in  3rd  dimension
156        %  imresizeを用いてスクリーン上で拡大する
157        col_im(:,:,1)  =  imresize(red_im,850/size(red_im,1),'bicubic');
158        col_im(:,:,2)  =  imresize(grn_im,850/size(red_im,1),'bicubic');
159        col_im(:,:,3)  =  imresize(blu_im,850/size(red_im,1),'bicubic');
160
161        image(max(0,min(1,gain*col_im/mean(red_im(:)))))
162        truesize
163        drawnow
164
165        img_count  =  img_count  +  1;
166
167        Mov(img_count)  =  getframe;
168
169    end
【００４９】
用語“プロセッシング回路”は、ここでは、データ又はデジタル信号を処理するために使用されるハードウェア、ファームウェア、及びソフトウェアの如何なる組み合わせをも含むように使用される。プロセッシング回路ハードウェアは、例えば、特定用途向け集積回路（ＡＳＩＣ）、汎用又は専用の中央演算処理ユニット（ＣＰＵ）、デジタル信号プロセッサ（ＤＳＰ）、グラフィックスプロセッシングユニット（ＧＰＵ）、及び例えばフィールドプログラマブルゲートアレイ（ＦＰＧＡ）などのプログラム可能なロジックデバイスを含み得る。プロセッシング回路においては、ここで使用されるとき、各機能は、その機能を実行するように構成されたハードウェア、すなわち、ハードワイヤードのハードウェア、又は、非一時的記憶媒体に格納された命令を実行するように構成された、例えばＣＰＵなどの、もっと汎用のハードウェア、のいずれかによって実行される。プロセッシング回路は、単一のプリント配線基板（ＰＷＢ）上に製造されてもよいし、幾つかの相互接続されたＰＷＢにわたって分散されてもよい。プロセッシング回路は、他の複数のプロセッシング回路を含んでいてもよく、例えば、プロセッシング回路は、ＰＷＢ上で相互接続されたＦＰＧＡ及びＣＰＵという２つのプロセッシング回路を含んでいてもよい。プロセッシング回路は、地理的に離隔されて、例えばインターネットなどのネットワークによって接続された、複数のプロセッシングユニットを含み得る。
【００５０】
理解されることには、ここでは用語“第１の”、“第２の”、“第３の”などが、様々な要素、コンポーネント、領域、アレイ、及び／又はセクションを記述するために使用されることがあるが、これらの要素、コンポーネント、領域、層、及び／又はセクションは、これらの用語によって限定されるべきでない。これらの用語は、単に、１つの要素、コンポーネント、領域、層又はセクションを、別の要素、コンポーネント、領域、アレイ又はセクションから区別するために使用される。故に、例えば、説明される第１の要素、コンポーネント、領域、アレイ又はセクションは、本発明概念の精神及び範囲から逸脱することなく、第２の要素、コンポーネント、領域、アレイ又はセクションと称されてもよい。
【００５１】
ここでは、３次元撮像データを表示するシステム及び方法の限られた実施形態を具体的に説明して図示したが、当業者には数多くの変更及び変形が明らかとなる。従って、理解されるべきことには、本発明の原理に従って使用される３次元撮像データを表示するシステム及び方法は、ここに具体的に記載したもの以外でも具現化され得る。本発明はまた、以下の請求項及びそれに均等なものにて定められる。
【図１】
0006854919.tif 000002
【図２】
0006854919.tif 000003