(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-07
(45)【発行日】2024-08-16
(54)【発明の名称】OCTAデータ処理の方法、コンピュータプログラム、及び装置
(51)【国際特許分類】
A61B 3/10 20060101AFI20240808BHJP
A61B 3/12 20060101ALI20240808BHJP
G06T 1/00 20060101ALI20240808BHJP
【FI】
A61B3/10 100
A61B3/12 300
G06T1/00 290Z
【外国語出願】
(21)【出願番号】P 2022212215
(22)【出願日】2022-12-28
【審査請求日】2023-05-23
(32)【優先日】2022-03-28
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】509012991
【氏名又は名称】オプトス ピーエルシー
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】ガガーリン ヤイコム
【審査官】北島 拓馬
(56)【参考文献】
【文献】特開2019-180692(JP,A)
【文献】特表2019-511940(JP,A)
【文献】特開2021-180838(JP,A)
【文献】特開2021-074529(JP,A)
【文献】特開2018-000373(JP,A)
【文献】特開2020-146433(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A61B 3/00 - 3/18
(57)【特許請求の範囲】
【請求項1】
ハードウェア構成部(110)により、身体部分の撮像領域の脈管構造分布を表す、データ要素の列(212-1~212-W)の配列(210)から成る光干渉断層撮影アンギオグラフィ(OCTA)データ(200)を処理して、正面投影内の投影アーチファクトが前記OCTAデータ(200)に対して低減された補正OCTAデータ(300)を生成する方法であって、
前記列(212-1~212-W)の配列(210)の各列にある前記データ要素は、身体部分の前記撮像領域の繰り返しBスキャン(251,253,255,257)の組の各BスキャンにおけるAスキャン内の対応位置にあるOCTデータ(250)のデータ要素から生成されたものであり、
前記方法は、
前記ハードウェア構成部(110)が、
(i)OCTデータ(250)のデータ要素(d
OCT1(i,j),d
OCT2(i,j),d
OCT3(i,j),d
OCT4(i,j))の第1シーケンスであって、各Bスキャン(Bスキャン1~Bスキャン4)内の前記第1シーケンスの前記データ要素の各位置が、前記OCTAデータ(200)の前記列の配列(210)内の第1データ要素(d
OCTA(i,j))の位置に対応する、第1のシーケンスと、前記OCTデータ(250)のデータ要素(d
OCT1(i,k),d
OCT2(i,k),d
OCT3(i,k),d
OCT4(i,k))の第2シーケンスであって、前記各Bスキャン(Bスキャン1~Bスキャン4)内の前記第2シーケンスの前記データ要素の各位置は前記OCTAデータ(200)の前記列の配列内の第2データ要素の位置に対応し、前記第2データ要素は、前記OCTAデータ(200)の前記列(212-1~212-W)が延在する
前記OCTAデータ(200)の軸方向(z)に前記第1データ要素よりもさらに深部にある、第2のシーケンスと、の間の相関度合いを表す相関値を計算するステップ(S10)と、
(ii)前記第1データ要素と前記計算した相関値とを用いて、前記第2データ要素に対する補正を計算するステップ(S20)と、
(iii)前記計算した補正を前記第2データ要素に適用するステップ(S30)と、によって、前記OCTデータ(250)のデータ要素と前記OCTAデータ(200)のデータ要素を処理するステップと、を実行することを含み、
前記補正OCTAデータ(300)を生成するために、ステップ(i)~(iii)の各実行において、前記第1データ要素としての前記OCTAデータ(200)のデータ要素と、前記第2データ要素としての前記OCTAデータ(200)のデータ要素との異なる組み合わせを用いてステップ(i)~(iii)が前記ハードウェア構成部(110)により複数回実行される、OCTAデータ(200)処理の方法。
【請求項2】
前記OCTAデータ(200)の各列のデータ要素を処理するステップ(i)~(iii)の複数回実行の各回において、ステップ(i)の一部としてかつ前記相関値の計算の前に、
前記ハードウェア構成部(110)が、
前記OCTAデータ(200)の前記列内に開始データ要素から列の軸方向(z)に沿って順番に配置された複数の前記データ要素の各データ要素を、前記データ要素がOCTA信号閾値を超えるか否かを判定して、1つのデータ要素が前記OCTA信号閾値を超えると判定されるまで処理し、
前記OCTA信号閾値を超えると判定された前記データ要素を前記第1データ要素に設定する、
ことをさらに含む、請求項1に記載のOCTAデータ(200)処理の方法。
【請求項3】
前記ステップ(i)~(iii)の複数回の実行は、
前記ハードウェア構成部(110)が、最初にステップ(i)を実行し、次いでステップ(i)を繰り返して、前記ステップ(i)の実行における前記第1データ要素として、前記ステップ(i)の前記最初の回と各繰り返しとで、前記OCTAデータ(200)の前記列内の異なる各データ要素を設定することを含み、
前記OCTAデータ(200)の列内の複数の前記データ要素の内の1つのデータ要素を前記第1データ要素として設定するための、ステップ(i)の最初の実行においては、前記ハードウェア構成部(110)が前記OCTAデータ(200)の前記列内の所定のデータ要素を前記開始データ要素として使用し、
ステップ(i)の繰り返し実行のそれぞれにおいては、前記ハードウェア構成部(110)が、先行するステップ(i)の実行において前記第1データ要素として設定された、前記OCTAデータ(200)の各データ要素を、前記開始データ要素として使用する、
ことを含む、請求項2に記載のOCTAデータ(200)処理の方法。
【請求項4】
前記所定のデータ要素は、
前記OCTAデータ(200)の列の端のデータ要素、又は
脈管構造を含む前記身体部分の第1の部分を表す前記列のデータ要素の組のデータ要素であって、そのデータ要素の組と脈管構造を含まない前記身体部分の第2の部分を表す前記列内のデータ要素との間の境界に隣接するデータ要素、
のいずれかである、請求項3に記載のOCTAデータ(200)処理の方法。
【請求項5】
前記OCTAデータ(200)の各列のデータ要素を処理するステップ(i)~(iii)を複数回実行するその各回において、ステップ(i)の一部としてかつ前記相関値を計算する前に、前記ハードウェア構成部(110)が、前記OCTAデータ(200)の
前記列内に初期データ要素から前記軸方向に順番に配置された複数のデータ要素の各データ要素について、データ要素メトリック、これは前記繰り返しBスキャンの各Bスキャン内の位置が前記OCTAデータ(200)の列の前記配列内の前記データ要素の位置に対応するOCTデータ要素の、少なくともいくつかに基づくものであるが、そのデータ要素メトリックがOCT値閾値を超えるか否かの判定を、1つのデータ要素における前記データ要素メトリックが前記OCT値閾値を超えると判定されるまで行い、かつ前記データ要素メトリックが前記OCT値閾値を超えると判定された前記データ要素を第2データ要素として設定する処理をさらに含む、請求項1~請求項4のいずれか1項に記載のOCTAデータ(200)処理の方法。
【請求項6】
前記ステップ(i)~(iii)の複数回の実行が、前記ハードウェア構成部(110)が、最初にステップ(i)を実行し、次にステップ(i)を繰り返して、前記OCTAデータ(200)の前記列の中の異なる各データ要素を、前記最初及び各繰り返しのステップ(i)の実行における前記第2データ要素として設定することを含み、
前記OCTAデータ(200)内のその位置が、前記OCTAデータ(200)の列内の前記第1データ要素の位置に隣接する位置にある、前記OCTAデータ(200)の前記列内のデータ要素を設定するステップ(i)の最初の実行において、前記ハードウェア構成部(110)が前記第1データ要素を初期データ要素として使用し、
ステップ(i)の各繰り返しにおいて、前記ハードウェア構成部(110)が先行するステップ(i)の実行において前記第2データ要素として設定された前記OCTAデータ(200)の各データ要素を、初期データ要素として使用する、請求項5に記載のOCTAデータ(200)処理の方法。
【請求項7】
前記ハードウェア構成部(110)が、
(a)前記OCTAデータ(200)の前記列内に開始データ要素から前記列の第1方向に沿って順番に配置された複数の前記データ要素の各データ要素を、前記データ要素がOCTA信号閾値を超えるか否かの判定を、1つのデータ要素が前記OCTA信号閾値を超えると判定されるまで行い、前記OCTA信号閾値を超えると判定された前記データ要素を前記第1データ要素に設定するステップ(S110)と、
(b)前記OCTAデータ(200)の前記列内に初期データ要素から前記列の前記第1方向に順番に配置された1以上のデータ要素の各データ要素について、前記繰り返しBスキャンの各Bスキャン内の位置が前記OCTAデータの列の前記配列内の前記データ要素の位置に対応する前記OCTデータの要素の少なくともいくつかに基づくデータ要素メトリックがOCT値閾値を超えるか否かの判定を、1つのデータ要素のデータ要素メトリックが前記OCT値閾値を超えると判定されるまで行い、前記データ要素メトリックが前記OCT値閾値を超えると判定された前記データ要素を前記第2データ要素として設定する、ことによって処理するステップ(S130)と、
(c)相関値の計算ステップであって、
前記OCTデータ(250)のデータ要素の第1シーケンスであって、それぞれのBスキャン内の前記第1シーケンスの前記データ要素のそれぞれの位置が、前記OCTAデータ(200)の列の前記配列内の前記第1データ要素の位置に対応する、第1シーケンスと、
前記OCTデータ(250)のデータ要素の第2シーケンスであって、前記それぞれのBスキャン内の前記第2シーケンスの前記データ要素のそれぞれの位置が、前記OCTAデータ(200)の列の前記配列内の前記第2データ要素の位置に対応する、第2のシーケンスと、
の間の相関の度合いを示す相関値を計算するステップ(S10)と、
(d)前記第1データ要素と前記計算した相関値を用いて前記第2データ要素に対する補正を計算するステップ(S20)と、
(e)前記計算した補正を前記第2データ要素に適用するステップ(S30)と、
(f)ステップ(b)~(e)の反復ステップであって、
ステップ(b)の最初の実行において、前記初期データ要素は、前記列における前記第1データ要素の位置に隣接する位置にある、前記OCTAデータ(200)のデータ要素であり、
各繰り返しステップ(b)の前記初期データ要素は、ステップ(b)の先行する実行における前記第2データ要素として設定された前記列内のデータ要素であり、
ステップ(b)~(e)は、前記OCTAデータ(200)の前記列に、ステップ(b)で処理すべきデータ要素がそれ以上なくなるまで繰り返される、
ステップ(b)~(e)の反復ステップと、
(g)ステップ(a)~(f)の反復ステップであって、
ステップ(a)の最初の実行において、前記開始データ要素は前記OCTAデータ(200)の前記列内の所定のデータ要素であり、
各繰り返しステップ(a)の前記開始データ要素は、ステップ(a)の先行する実行における前記第1データ要素として設定された前記列内のデータ要素であり、
ステップ(a)~(f)が、ステップ(a)で処理すべき前記OCTAデータ(200)の前記列内のデータ要素が2つ以下となるまで繰り返される、
ステップ(a)~(f)の反復ステップと、
によって前記データ要素の複数の列の内の各列を、前記第1データ要素及び第2データ要素として前記列内の異なるデータ要素の組み合わせを用いてステップ(i)~(iii)を実行することにより個別に処理する、請求項1に記載のOCTAデータ(200)処理の方法。
【請求項8】
前記所定のデータ要素は、
前記OCTAデータ(200)の列の最後のデータ要素、又は
脈管構造を含む前記身体部分の第1の部分を表す前記列のデータ要素の組のデータ要素であって、そのデータ要素の組と、脈管構造を含まない前記身体部分の第2の部分を表す前記列内のデータ要素との間の境界に隣接するデータ要素、
のいずれかである、請求項7に記載のOCTAデータ(200)処理の方法。
【請求項9】
前記複数の列のデータ要素がステップ(a)~(g)によっ
て前記ハードウェア構成部(110)により並列に処理される、請求項7又は請求項8に記載のOCTAデータ(200)処理の方法。
【請求項10】
前記データ要素メトリックは、前記繰り返しBスキャンの各Bスキャンにおける位置が前記OCTAデータ(200)の前記列の配列における前記データ要素の位置に対応する、少なくともいくつかの前記OCTデータの要素の平均と、前記繰り返しBスキャンの各Bスキャンにおける位置が前記OCTAデータ(200)の前記列の配列における前記データ要素の位置に対応する、少なくともいくつかの前記OCTデータの要素の中央値との内の1つである、請求項5~請求項9のいずれか1項に記載のOCTAデータ(200)処理の方法。
【請求項11】
前記相関値は、ピアソンの相関係数値、スピアマンのランク相関係数値、及びケンドールのランク相関係数値の内の1つである、請求項1~請求項10のいずれか1項に記載のOCTAデータ(200)処理の方法。
【請求項12】
前記第2データ要素に対する補正は、前記第1データ要素、前記計算した相関値、及びスケール因子の積を評価することにより計算される、請求項1~請求項11のいずれか1項に記載のOCTAデータ(200)処理の方法。
【請求項13】
前記ハードウェア構成部(110)が、
前記補正OCTAデータ(300)の正面投影を生成するステップ(S60)と、
生成された正面投影を出力するステップ(S70)と、
を実行することをさらに含む、請求項1~請求項12のいずれか1項に記載のOCTAデータ(200)処理の方法。
【請求項14】
プロセッサ(620)によって実行されるとき、請求項1~請求項13の少なくとも1項に記載の方法を前記プロセッサ(620)に実行させる命令を含む、コンピュータプログラム(645)。
【請求項15】
身体部分の撮像領域の脈管構造分布を表す、データ要素の列の配列から成る光干渉断層撮影アンギオグラフィ(OCTA)データ(200)を処理して、正面投影内の投影アーチファクトが前記OCTAデータ(200)に対して低減された補正OCTAデータ(300)を生成するように構成された装置(100)であって、
前記列の配列の各列にある前記データ要素は、前記身体部分の前記撮像領域の繰り返しBスキャンの組の中の各BスキャンのAスキャン内の対応位置にあるOCTデータ(250)のデータ要素から生成されたものであり、
前記装置は、
ハードウェア構成部(110)であって、
(i)前記OCTデータ(250)のデータ要素の第1シーケンスであって、各Bスキャン内の前記第1シーケンスの前記データ要素の各位置が、前記OCTAデータ(200)の前記列の配列内の第1データ要素の位置に対応する、第1シーケンスと、前記OCTデータ(250)のデータ要素の第2シーケンスであって、前記各Bスキャン内の前記第2シーケンスの前記データ要素の各位置が前記OCTAデータ(200)の前記列の配列内の第2データ要素の位置に対応し、前記第2データ要素は、前記OCTAデータ(200)の前記列が延在する前記OCTAデータ(200)の軸方向に前記第1データ要素よりもさらに深部にある、第2のシーケンスと、の間の相関度合いを表す相関値を計算するステップと、
(ii)前記第1データ要素と前記計算した相関値とを用いて、前記第2データ要素に対する補正を計算するステップと、
(iii)前記計算した補正を前記第2データ要素に適用するステップと、
によって、前記OCTデータ(250)のデータ要素と前記OCTAデータ(200)のデータ要素とを処理することを含む方法を実行するように構成されたハードウェア構成部(110)であって、
前記補正OCTAデータ(300)を生成するために、ステップ(i)~(iii)の各実行ごとに前記第1データ要素としての前記OCTAデータ(200)のデータ要素と前記第2データ要素としての前記OCTAデータ(200)のデータ要素との異なる組み合わせを用いてステップ(i)~(iii)を複数回実行するように構成されたハードウェア構成部(110)と、
前記補正OCTAデータ(300)を出力するように構成された出力構成部(120)と、
を備える装置(100)。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書における例示的態様は、光干渉断層撮影アンギオグラフィ(OCTA)に関し、より具体的には、OCTA正面投影から投影アーチファクトを除去するための投影アーチファクト除去技術(PAR)に関する。
【背景技術】
【0002】
OCTAは、低コヒーレンス干渉計を使用して撮影部位の構造情報及び機能情報(血流)情報を同時に取得する非侵襲撮像システムである。OCTAは様々な医療分野で使用されてきた。例えば眼科分野においては、脈絡膜新生血管(CNV)、加齢黄斑変性症(AMD)、糖尿病網膜症、動静脈閉塞症、鎌状赤血球症、緑内障などの様々な疾患の診断にOCTAは使用されてきた。
【0003】
OCTAデータ生成アルゴリズムは、身体部分の共通のOCTスキャン領域の繰り返しBスキャン(すなわち異なる時刻で取得された、身体部分の同一OCT断面のBスキャン)間の後方散乱OCT信号の差異を比較して、OCTAの流れ信号を構成するOCTAボリュームを構築し、そこから撮影した身体部分の血流領域をマッピングするその正面投影を導出することができる。OCTAは、OCT領域のうちの移動する赤血球を含む部分が、血流を含まない部分すなわち静止した組織よりも、時間経過による後方散乱されたOCT信号の変動が大きくなるという原理に依拠している。
【0004】
これまでに何種類かのOCTA信号の抽出及び処理の方法が開発されている。そこでは繰り返しOCTスキャンが異なる方法で処理されて、そこに撮影された脈管構造がマッピングされる。例えば、スペクトル振幅分離非相関アンギオグラフィ(SSADA)、光学マイクロアンギオグラフィ(OMAG)、OCTアンギオグラフィ比率分析(OCTARA)などである。これらの種類のOCTAに関するレビューは、Turgutによる“光干渉断層撮影アンギオグラフィ-概論(Optical Coherence Tomography Angiography-A General View)”(Turgut,European Ophthalmic Review,2016;10(1):39-42)に掲載されており、参照によりその内容全体を本明細書に援用する。
【0005】
多くのOCTA施術において、OCTAボリュームの正面投影に投影アーチファクトが観察されることがしばしばある。これは深部網状組織のOCTA正面投影に血管の形で現れ、本物の血管と間違われることが多い。例えば、眼の網膜のOCTAでは、投影アーチファクトは、網膜色素上皮(RPE)などの高反射組織層において特に顕著となる傾向がある。この場合、投影アーチファクトは、網膜表皮層の脈管構造からの光子の散乱によって起きる。そのような表皮層の正面投影例を
図1Aに示す。これらの投影アーチファクトは、
図1Bの例に示すように、RPEなどの深部の高反射層の正面投影において偽のOCTAフロー信号として観察され得る。次に投影アーチファクトの原因を
図2を参照して簡単に説明する。
【0006】
図2に示すように、OCTAスキャナの光源(図示せず)が複数の光束2を放射して、配列されてBスキャンを形成する一連のAスキャンの各Aスキャンを生成する(そのようなビームを5本示す)。光束2は内境界膜(ILM)4を通って網膜に入り、光束2の光子が途中で遭遇する組織の反射特性および散乱特性に依存して、光子のあるものは後方へ反射され、あるものは散乱され、またあるものは深部層へ入射する。
図2に示すように、光子のあるものは血管8内の赤血球/細胞(RBC)によって散乱される。RBC6は運動しているので、RBC6によって生じる散乱パターンは血液の血管8内部での流れとともに、時間変化する。したがって、時間的に隔たったBスキャン、つまりこの例ではBスキャン1からBスキャン4を、網膜上の同じ位置で撮影すると、深層の高反射率層10での反射率の変動が観察される。OCTAフロー信号は反射率の変動を識別することで抽出されるので、運動しているRBC6による散乱で生じる変動は、深層10での偽の流れとして不正確に検出され得る。このように、散乱パターンの変動性がOCTAを基本的に可能とする一方で、それは、OCTAを用いた正確な診断を妨げる得る投影アーチファクトの原因ともなる。
【0007】
正面投影からこれらのアーチファクトを除去するために、OCTAでは投影アーチファクト除去(PAR)アルゴリズムが使用されることが多い。OCTAが臨床診断に用いられる場合に、投影アーチファクトが誤診を招き、それによって患者を危険にさらす可能性が増すために、PARは特に重要である。したがって、OCTAの結果がユーザに伝えられる前にこれらのアーチファクトが除去されることが絶対である。既知のPARアルゴリズムは典型的には、正面投影画像から投影アーチファクトを除去する画像処理技術を使用する。そうして、表示可能な最終的なアーチファクトなしの正面投影画像をユーザに提供する。この種のPARは、例えば眼科用OCTA装置の標準的機能である。
【発明の概要】
【0008】
本発明者は、本発明の第1の例示的態様に従って、身体部分の撮像領域の脈管構造分布を表す、データ要素列の配列から成るOCTAデータを処理して、正面投影内の投影アーチファクトがOCTAデータに対して低減された補正OCTAデータを生成するコンピュータ実装方法を考案した。ここで、列の配列の各列にあるデータ要素は、身体部分の撮像領域の繰り返しBスキャンの組の各BスキャンにおけるAスキャン内の対応位置にあるOCTデータのデータ要素から生成されたものである。この方法は、OCTデータのデータ要素とOCTAデータのデータ要素を以下のステップにより処理することを含む。
(i)OCTデータのデータ要素の第1シーケンスであって、各Bスキャン内の第1シーケンスのデータ要素の各位置がOCTAデータの列の配列内の第1データ要素の位置に対応する第1のシーケンスと、OCTデータのデータ要素の第2のシーケンスであって、各Bスキャン内の第2シーケンスのデータ要素の各位置がOCTAデータの列の配列内の第2データ要素の位置に対応し、第2データ要素はOCTAデータの列が延在するOCTAデータの軸方向に第1データ要素よりもさらに深部にある、第2のシーケンスと、の間の相関度合いを表す相関値を計算するステップ。
(ii)第1のデータ要素と計算した相関値とを用いて、前記第2のデータ要素に対する補正を計算するステップ。
(iii)計算した補正を第2データ要素に適用するステップ。
ここで、補正OCTAデータを生成するために、ステップ(i)~(iii)の各実行において、第1データ要素としてのOCTAデータのデータ要素と第2データ要素としてのOCTAデータのデータ要素との異なる組み合わせを用いてステップ(i)~(iii)が複数回実行される。
【0009】
本発明者はまた、本明細書の第2の例示的態様に従って、コンピュータによって実行されるとき、コンピュータに上に述べた第1の例示的態様による方法を実行させる、コンピュータ可読命令を含むコンピュータプログラムも考案した。このコンピュータプログラムは、非一時的なコンピュータ可読記憶媒体(例えば、コンピュータハードディスク、CD又はメモリスティック)に格納されてもよいし、信号(例えばインターネットダウンロード)によって伝送されてもよい。
【0010】
本発明者は、本発明の第3の例示的態様に従って、身体部分の撮像領域の脈管構造分布を表す、データ要素列の配列から成るOCTAデータを処理して、正面投影内の投影アーチファクトがOCTAデータに対して低減された補正OCTAデータを生成するように構成された装置もさらに考案した。ここで、列の配列の各列にあるデータ要素は、身体部分の撮像領域の繰り返しBスキャンの組の各BスキャンにおけるAスキャン内の対応位置にあるOCTデータのデータ要素から生成されたものである。この装置は、OCTデータのデータ要素とOCTAデータのデータ要素を以下のステップによって処理することを含む方法を実行するように構成されたハードウェア構成部を備える。
(i)OCTデータのデータ要素の第1シーケンスであって、各Bスキャン内の第1シーケンスのデータ要素の各位置がOCTAデータの列の配列内の第1データ要素の位置に対応する第1のシーケンスと、OCTデータのデータ要素の第2のシーケンスであって、各Bスキャン内の第2シーケンスのデータ要素の各位置がOCTAデータの列の配列内の第2データ要素の位置に対応し、第2データ要素はOCTAデータの列が延在するOCTAデータの軸方向に第1データ要素よりもさらに深部にある、第2のシーケンスと、の間の相関度合いを表す相関値を計算するステップ。
(ii)第1のデータ要素と計算した相関値とを用いて、第2のデータ要素に対する補正を計算するステップ。
(iii)計算した補正を第2データ要素に適用するステップ。
装置は、補正OCTAデータを生成するために、ステップ(i)~(iii)の各実行において第1データ要素としてのOCTAデータのデータ要素と第2データ要素としてのOCTAデータのデータ要素との異なる組み合わせを用いてステップ(i)~(iii)を複数回実行するように構成されている。この装置は、補正OCTAデータを出力するように構成された出力構成部も更に備える。
【0011】
次に、例示的実施形態を以下に記載の添付図面を参照して非限定的な例としてのみ説明する。異なる図面に現れる同様の参照符号は、特に断らない限り同一又は機能的に類似の要素を表すことができる。
【図面の簡単な説明】
【0012】
【
図1A】網膜の撮像領域における表層のOCTA正面投影の例である。
【
図1B】網膜の撮像領域におけるより深い高反射層のOCTA正面投影の例である。
【
図1C】本例示的実施形態の装置により生成された、網膜の撮像領域における上記のより深い高反射層のOCTA正面投影の例である。
【
図2】網膜の共通撮像領域のBスキャンを4回繰り返し取得するときの、網膜を通る光線の伝播の模試図である。
【
図3A】OCTAデータを処理して正面投影の投影アーチファクトの少ない補正OCTAデータを生成する、本明細書中の例示的実施形態の装置の模式図である。
【
図3B】OCTAデータを取得するように構成された撮像部品を有する撮像装置と、OCTAデータを処理して補正OCTAデータを生成するための例示的実施形態の装置の模式図である。
【
図4】OCTAデータ生成のためのOCTAデータ生成アルゴリズムによるOCTの繰り返しBスキャン処理の模式図である。
【
図5】例示的実施形態の装置を、プログラマブル信号処理装置に実装したハードウェア実装例を示す図である。
【
図6】例示的実施形態による、正面投影における投影アーチファクトがOCTAデータより少ない補正OCTAデータ生成のためのOCTAデータ処理方法を示すフロー図である。
【
図7】それぞれの繰り返しBスキャン内の対応する位置にあって、相関値の計算に使用されるOCTデータ要素の模式図である
【
図8A】例示的実施形態による、
図6のOCTAデータ処理方法の実装例を示すフロー図である。
【
図8B】例示的実施形態による、
図6のOCTAデータ処理方法の実装例を示すフロー図である。
【
図9】投影アーチファクト補正の強度を決定するスケール因子の異なる値を使用して例示的実施形態の装置によって生成された、補正OCTAデータのOCTA正面投影の第1の組を示す図である。
【
図10】異なるスケール因子の値を使用して例示的実施形態の装置によって生成された、補正OCTAデータのOCTA正面投影の第2の組を示す図である。
【発明を実施するための形態】
【0013】
以下にOCTA正面投影から投影アーチファクトを除去するためのボリューム軸基準処理アルゴリズムについて述べる。上で概要を述べた、既に生成された正面投影を画像処理してアーチファクトを除去する従来の投影アーチファクト除去アルゴリズムに比べて、本明細書に記載の投影アーチファクト除去技術は、正面投影を生成する前にOCTAボリュームのAスキャン内の偽信号を除去ないし低減し得るものである。記載の技術は、OCTAボリューム内にある関連の軸方向情報を使用して、網膜の解剖学的構造に起因する偽信号成分をOCTAボリュームのボクセル値から低減若しくは除去し、真のOCTA信号をより良好に反映する補正ボクセル値をもたらすことが可能である。最終正面画像からその場限りの方式でアーチファクトを除去して生成する正面投影に比べて、この方式ではアーチファクト除去後の投影正面画像はより自然な外観を表すことが可能である。これは補正軸方向信号の平均化によって、生成された正面画像内の急峻な変化を排除し得るからである。さらには、既に投影されたOCTA正面画像ではなく、OCTA画像のアーチファクトの源になるOCTA信号を補正するので、アーチファクト除去はより正確になり得る。
【0014】
図3Aは例示的実施形態による装置100の模式図であり、OCTAデータ200と関連するOCTAデータ250を処理して、OCTデータ200よりも正面投影中の投影アーチファクトが低減された補正OCTAデータ300、すなわちOCTAデータ200の正面投影よりも投影アーチファクトが少ないか、より目立たない正面投影となる補正OCTAデータ300を生成するように構成される。
【0015】
装置100は、データ処理専用のスタンドアロン装置(例えばデスクトップPCやラップトップコンピュータ)の形態で提供されてもよいし、本例示的実施形態のように、
図3Bに示すような撮像装置400の一部を構成してもよい。撮像装置400は、網膜(または他の身体部分)の領域を撮像し、その撮像領域における脈管構造分布を表すOCTAデータ200を取得するように構成された撮像構成部500を備える。撮像装置400は、取得したOCTAデータ200を処理してOCTAデータ200に対して正面投影の投影アーチファクトの少ない補正OCTAデータ300を生成するように構成された、例示的実施形態の装置100も有する。
【0016】
OCTAデータ200は、OCTデータ取得装置(図示せず)によって撮像された身体部分の領域にある脈管構造分布を表すデータ要素列の配列から構成される。本例示的実施形態においては、OCTAデータ200は撮像された身体部分の三次元領域における脈管構造分布を表すデータ要素(本明細書では「ボクセル」とも称する)の列の二次元配列から構成される。ただし、本明細書に記載の技術は、身体部分の撮像された二次元領域(スライス)にある脈管構造分布を表すデータ要素(本明細書においては「ピクセル」とも称する)の列の一次元配列の形をしたOCTAデータの処理にも適用可能である。各データ要素は後方散乱された(OCT)信号の変動性を示唆する個々の値を表し、血流領域と静止組織領域との区別に使用可能である。
【0017】
本例示的実施形態においては身体部分は眼の網膜の一部を含む。ただし、本明細書に記載の技術は、OCTA正面投影画像に投影アーチファクトが観察される傾向にある他の任意の身体部分から取得したOCTAデータの処理に一般的に適用できることを理解されたい。
【0018】
図4は、x軸に沿って配置されたE個のスキャン高さの1つにおけるOCTAデータ200のスライスを形成する、OCTAデータ要素の列212-1~212-Wの1次元配列210の模式表示である。ここで、一次元配列210を導出する、繰り返しBスキャン251、253、255、257がOCTデータ取得装置により取得されている。これらの繰り返しBスキャンはそのスキャン高さにおける撮像網膜の共通二次元領域を覆い、その領域は、眼の撮像された三次元領域内の網膜のほぼ平坦部(すなわち眼の硝子体に隣接する網膜の表面)の面内にあるように設定されたデカルト座標系の第1軸(y軸)と、網膜の深さ方向(すなわち、硝子体から脈絡膜と強膜へ至る網膜の深さに跨る方向)である軸方向(デカルト座標系のz軸)とに沿って延在する。
【0019】
図4に示すように、OCTデータ250の4つの繰り返しBスキャンは同一スキャン高さで異なる時間に撮影され(
図4の時間軸t方向の間隔で示すように)、OCTAデータ生成アルゴリズム230によって処理されてOCTAデータのスライス210が生成される。OCTAデータ300の列の配列210の各列212-1~212-W内のデータ要素は、当業者には周知の任意の種類のOCTAデータ生成アルゴリズム230を用いて、OCTデータ取得装置によって取得された身体部分の撮像領域に関する繰り返しBスキャン251、253、255、257の各BスキャンにおけるAスキャン252-1~252-W、254-1~254-W、256-1~256-W、258-1~258-Wの対応する位置にあるOCTデータ250のデータ要素から生成可能である。すなわち、列の配列210の各列212-1~212-Wの各要素は、網膜の撮像領域の繰り返しBスキャンの組のそれぞれのBスキャン251、253、255、257の対応する位置にあるAスキャンのOCTデータ250のデータ要素から生成される。一例として、配列210の列212-iのデータ要素d
OCTA(i,j)は、身体部分の撮像領域のそれぞれのBスキャン251、253、255、257のAスキャン252-i、254-i、256-i、258-i内の対応する位置にあるOCTデータ250のデータ要素d
OCT1(i,j)、d
OCT2(i,j)、d
OCT3(i,j)、d
OCT4(i,j)を基にして、OCTAデータ生成アルゴリズム230によって生成される。
【0020】
図3Aを再度参照すると、装置100はハードウェア構成部110を備え、これがOCTデータ250のデータ要素とOCTA
データ200のデータ要素に以下で説明する技術による処理を施して補正OCTAデータ300を生成するように構成されている。装置100はさらに出力構成部120を備え、これが、補正OCTAデータ300を、例えばハードウェア構成部110によって生成され得る補正OCTAデータ300の正面投影を、例えばコンピュータモニタなどのディスプレイ装置上に表示するように構成されている。
【0021】
ハードウェア構成部110は、以下に記載する例示的実施形態のOCTデータ250のデータ要素及びOCTAデータ200のデータ要素を処理する方法を実行するように構成された任意の種類のコンピュータハードウェアで構成され得る。ハードウェア構成部110は、本例示的実施形態におけるように、プロセッサと、そのプロセッサによって実行されるときにプロセッサにその方法を実行させる命令を格納するメモリを備え得る。あるいは、ハードウェア構成部110は、その方法を実行するように構成された特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、又はその他の電子回路であってよい。
【0022】
図5は、本明細書に記載の技術を用いてOCTAデータ200及び関連するOCTデータ250を処理するように構成され、かつ例示的実施形態のハードウェア構成部110及び出力構成部120として機能し得るプログラマブル信号処理ハードウェア600を模式的に示す図である。プログラマブル信号処理装置600は、OCTAデータ200及びOCTデータ250を受信し、生成された補正OCTAデータ300及び/又はその補正されたOCTAデータ300をコンピュータ画面などのディスプレイに表示するためのグラフィック表示を(例えば補正OCTAデータ300の正面投影の形で)出力する、通信インタフェース(I/F)610を備える。通信インタフェース(I/F)610はこのように出力構成部120の実装例を提供する。信号処理装置600はさらに、プロセッサ(例えば中央処理ユニットCPU、及び/又はグラフィック処理ユニットGPU)620、作業メモリ630(例えばランダムアクセスメモリ)、及びコンピュータ可読命令から成るコンピュータプログラム645を格納する命令記憶部640を備える。コンピュータ可読命令はプロセッサ620によって実行されると、本明細書に記載のハードウェア構成部110の機能を含む様々な機能をプロセッサ620に実行させる。作業メモリ630は、コンピュータプログラム645の実行時にプロセッサ620によって使用される情報を格納する。命令記憶部640は、コンピュータ可読命令が予め格納されたROM(例えば、電気的消去可能プログラム可能読取り専用メモリ(EEPROM)またはフラッシュメモリの形態)で構成されてもよい。あるいは、命令記憶部640はRAM又は類似の種類のメモリを備えてもよく、コンピュータプログラム645のコンピュータ可読命令を、CD-ROM、DVDROMなどの形態の、非一時的なコンピュータ可読記憶媒体650などのコンピュータプログラム製品から、又はコンピュータ可読命令を伝送するコンピュータ可読信号660から、そこに入力することができる。いずれにせよ、コンピュータプログラム645はプロセッサ620で実行されるとき、プロセッサ620に本明細書に記載の補正OCTAデータ300を生成する方法を実行させる。言い換えると、例示的実施形態の装置100は、コンピュータプロセッサ620とコンピュータ可読命令を格納するメモリ640とを含むことができ、コンピュータ可読命令はコンピュータプロセッサ620によって実行されると、以下で説明するようにOCTAデータ200とOCTデータ250を処理して、正面投影における投影アーチファクトをOCTAデータ200に比べて低減した補正OCTAデータ300を生成する処理方法をコンピュータプロセッサ620に実行させる。
【0023】
ただし、ハードウェア構成部110と出力構成部120の1つ又は両方は、構成部のそれぞれの機能を実行する、ASIC、FPGA、あるいはその他の専用集積回路で代替的に実装されてもよいことに留意されたい。
【0024】
図6は、本例示的実施形態の装置100が、OCTAデータ200を処理して正面投影中の投影アーチファクトがそのOCTAデータ200に比べて低減された補正OCTAデータ300を生成する方法を示すフロー図である。一般に、ハードウェア構成部110が、図に示すステップS10、S20、S30のシーケンスで定義される処理Pを繰り返し実行することによって、OCTデータ250のデータ要素とOCTAデータ200のデータ要素を処理する。この時、ステップS10、S20、S30のシーケンスの毎回の実行において、第1のデータ要素としてのOCTAデータ200のデータ要素と第2のデータ要素としてのOCTAデータ200のデータ要素の組み合わせを変える。この処理のシーケンスは、補正OCTAデータ300を生成するためにいくつかの異なる方法で反復されてもよい。補正OCTAデータ300の生成のための処理シーケンスの反復方法のいくつかの例を以下に示す。
【0025】
図6に示すように、処理シーケンスにはステップS10が含まれる。これは、ハードウェア構成部110が、(i)OCTデータ(250)のデータ要素の第1のシーケンスであって、各Bスキャン内のこの第1シーケンスのデータ要素の各位置が、(同じ配列の座標を有するという意味で)OCTAデータ(200)の列の配列内の第1データ要素の位置に対応する第1のシーケンスと、(ii)OCTデータ(250)のデータ要素の第2のシーケンスであって、各Bスキャン内のこの第2シーケンスのデータ要素の各位置がOCTAデータ(200)の列の配列内の第2データ要素の位置に対応し(同じ配列の座標を有するという意味で)、この第2データ要素は、OCTAデータ(200)の列が延在するOCTAデータ(200)の軸(すなわちz軸)方向の第1データ要素よりもさらに深いところにある、第2のシーケンスと、の間の相関度合いを表す相関値を計算する。三次元OCTAデータ配列の軸(z軸)方向に配列されたOCTAデータ200のデータ要素(ボクセル)は、網膜の対応する点から、網膜の深さ方向に、すなわちその光を受ける表面から網膜の内部に向かって、延在するOCTAデータを含む。このように、第2データ要素は、OCTAデータ200の列の配列において、列が延在するOCTAデータ配列の(z軸)方向で第1データ要素より下にあり、その結果、第2データ要素が、OCTAデータ200の列の配列内の第2データ要素よりも上のデータ要素の位置に対応する網膜内の位置からの光の散乱によって生じるデータ成分を含む可能性がある。このデータ成分がOCTAデータ200の正面投影にアーチファクトを生じさせる。第2OCTAデータ要素は、この例示的実施形態では、第1OCTAデータ要素と同じOCTAデータ200の列内にあってよい。第1シーケンスのデータ要素は、これらのデータ要素を含む各繰り返しBスキャンの取得順序と同じ順番で現れる。同様に、第2シーケンスのデータ要素は、これらのデータ要素を含む各繰り返しBスキャンの取得順序と同じ順番で現れる。
【0026】
図7は、それぞれの繰り返しBスキャン内に対応して位置し、それを基にハードウェア構成部110によって相関値が計算される、OCTデータ要素を模式的に示す図である。
この図では、データ要素の第1シーケンス(
図7に示すBスキャン1~4内のそのそれぞれの位置は、OCTAデータ300の列の配列210内のOCTAデータ要素d
OCTA(i,j)の位置に対応する)は、OCTデータ要素d
OCT1(i,j)、d
OCT2(i,j)、d
OCT3(i,j)及びdOCT
4(i,j)で表されている。さらに、データ要素の第2シーケンス(
図7に示すBスキャン1~4内のそのそれぞれの位置は、配列210内のOCTAデータ要素d
OCTA(i,k)の位置に対応する)は、OCTデータ要素d
OCT1(i,k)、d
OCT2(i,k)、d
OCT3(i,k)、d
OCT4(i,k)で表されている。ここで、i、j、kは整数であり、かつk>jである。
図7の右側に示すように、例示的な相関係数r
jkの形で示す相関値は、ステップS10においてOCTデータ要素の第1シーケンスと第2シーケンスを基にハードウェア構成部110によって計算される。この値は、OCTデータ要素の値が2つのシーケンス間で同じように変動する場合(例示値0.9997を取る)は、その変動が似ていない場合(例示値0.0028を取る)よりも高くなる。
【0027】
相関係数は、投影アーチファクトのもととなる偽のOCTA信号を補正可能としたまま、真のOCTA信号の誤った補正を防ぐためにステップS10で計算される。相関係数(その絶対値)は、OCTA信号の真偽を確率的に識別するものと考えることができる。ボクセルにおける偽信号の度合いは上部網膜層内の繰り返しボクセルの反射率のばらつきに相関があるので、この相関を補正重みとして使用可能である。したがって、相関が強いほど信号が偽信号である可能性が高く、またその逆も成り立つ。
【0028】
ハードウェアモジュール110で計算される列内のデータ要素jとデータ要素kとの間の相関値は、本例示的実施形態のように、繰り返しBスキャンで記録されたこれらのデータ要素の反射率が2つのランダム変数であると仮定して、列内のデータ要素jとkに対するピアソン相関係数rjk(ここで-1≦rjk≦1)として計算できる。これとは別に、相関値は、例えばスピアマンのρ又はケンドールのτであってもよい。これらは実の値ではなく値のランクを使用することがピアソンの相関係数rとの違いである。ランクの使用では状況によっては微妙な相関を検出できないことがあるので、ピアソンの相関係数rが有利であろう。
【0029】
再び
図6を参照すると、ステップS20においてハードウェア構成部110が第1のデータ要素d
OCTA(i,j)と計算した補正値r
jkを用いて、第2のデータ要素d
OCTA(i,k)に対する補正を計算する。ハードウェア構成部110は、本例示的実施形態におけるように、第1変数と第2変数の補正関数を評価することによって第2データ要素d
OCTA(i,k)に対する補正値を計算することができる。この補正関数は、第1データ要素d
OCTA(i,j)の値を第1変数の値とし、計算した補正値r
jkを第2変数の値としたときに、第1変数の値の増加、及び第2変数の値の増加と共に増加する。より具体的には、ハードウェア構成部110は本例示的実施形態におけるように、第1データ要素d
OCTA(i,j)と計算した補正値r
jkとスケール因子sとの積を評価することによって、第2データ要素に対する補正を計算することができる。このように前述の関数は本例示的実施形態においては第1変数と第2変数の積で構成されるが、これは単なる例示であり、関数の形態はこれに限るものではない。
【0030】
スケール因子は固定数であってもよいし、本例示的実施形態のようにユーザが調整可能であって、装置100のユーザが装置100(例えば
図5に示すプログラマブル信号処理ハードウェアの通信インタフェース(I/F)610)に接続されたユーザインタフェース(例えばマウス及び/又はキーボード)を介してスケール因子の値を設定可能であってもよい。スケール因子の調整については以下において
図10、11を参照してさらに議論する。
【0031】
図6のステップS30において、ハードウェア構成部110が計算した補正を第2データ要素d
OCTA(i,k)に適用する。具体的には、計算した補正値(あるいは計算した補正値に基づく値、例えば計算した補正値の分数)を第2データ要素d
OCTA(i,k)から引き算する。その結果がゼロより小さい場合には、第2データ要素d
OCTA(i,k)をゼロとする。
【0032】
図6のステップS40において、ハードウェア構成部110が所定の基準を満たしたかどうか、例えば補正OCTAデータ300の改良された正面投影を生成可能とするために、OCTAデータ200の複数の列のそれぞれにある所定数のOCTAデータ要素が補正されたか否かを判定する。
【0033】
ハードウェア構成部110が、ステップS40において所定の基準が満たされていないと判定した場合には、処理はステップS50を経由してS10に戻り、第1データ要素としてのOCTAデータ200のデータ要素と第2データ要素としてのOCTAデータ200のデータ要素との異なる組み合わせを用いて、ステップS10~S40を繰り返す。第1データ要素及び/又は第2データ要素がステップS50で変更されるために、第1データ要素としてのOCTAデータ200のデータ要素と第2データ要素としてのOCTAデータ200のデータ要素との新しい組み合わせが、一連のステップS10~S40の各繰り返しで使用され、その結果OCTAデータ200がさらに補正される。OCTAデータ200の少なくともいくつか(望ましくはすべて)の列がこのループで処理される。
【0034】
他方、ハードウェア構成部110が、ステップS40において所定の基準が満たされたと判定した場合には、処理は停止するか、または
図6に示すような任意選択のステップS60に進む。そこではハードウェア構成部110が補正OCTAデータ300の正面投影を生成する。次いで、ステップS70に進んで、出力構成部120が生成された正面投影を出力する。ステップS70では出力構成部120は例えば、ディスプレイ装置(例えばコンピュータ画面)上に正面投影を表示するか、あるいは、記憶装置(例えばコンピュータのハードディスク装置)に正面投影を格納する。
【0035】
ハードウェア構成部110によって実行されるこの方法は、本例示的実施形態のように、OCTAデータ200の各列のデータ要素を処理するステップS10、S20及びS30を複数回実行するその各回において、ステップS10の一部としてかつ相関値の計算の前に、OCTAデータ200の列内に開始データ要素から列の軸方向(z)に沿って順番に(即ち列内のそれぞれのデータ要素、あるいは列内のn番目ごと(nは2以上の整数とする)のデータ要素が1つずつ)配置された複数のデータ要素の各データ要素について、そのデータ要素がOCTA信号閾値を超えるか否かの判定を、1つのデータ要素がOCTA信号閾値を超えると判定されるまで処理する、という任意選択機能をさらに含む。
【0036】
OCTA信号の閾値は、本例示的実施形態のように、f-+τf×σfとして計算してもよい。ここで、f-はOCTAデータ200のOCTAデータ要素の値の平均であり、σfはOCTAデータ200内のOCTAデータ要素の値の分布を模したガウス分布の標準偏差であり、τfは、OCTA信号閾値を設定するためのパラメータであって、好ましくはユーザによって調整可能である。ただし、OCTA信号閾値はこのようにして計算される必要はない。f-とσfの値は、本例示的実施形態のようにOCTAデータ要素の値の分布をガウス関数にあてはめて取得してもよいし、あるいは、OCTAデータ200のOCTAデータ要素の値の分布のモデル化に使用される別の関数にあてはめて取得してもよいし、それ以外の方法で取得してもよい。
【0037】
OCTA信号閾値をどのように計算したかに拘わらず、OCTA信号閾値を超えると判定されたデータ要素は次に第1データ要素として設定される。
【0038】
上記の任意選択機能は、十分に大きな値を有するOCTAデータ要素を識別可能である。その要素は投影アーチファクトの重要な発生源に対応するものと考えられる。したがって、それはPAR処理で考慮されるべきものである。逆に言えば、値が小さく、したがって投影アーチファクトに大きく寄与する可能性の低い他のOCTAデータ要素は、PAR処理の結果にほとんど影響しない処理操作に計算リソースを費やすことを避けるために、無視する。
【0039】
上記の任意選択機能を有する例示的実施形態の装置100において、ステップS10、S20、S30の複数回の実行は、最初にステップS10を行い、次にステップS10を繰り返すことにより、OCTAデータ200の列内の異なる各データ要素を、最初のステップS10の実行及びステップS10の各繰り返しにおける第1データとして設定することを含んでもよい。この場合、OCTAデータ200の列内の複数のデータ要素の内の1つのデータ要素を第1のデータ要素として設定するための最初のステップS10の実行において、ハードウェア構成部110はOCTAデータ200の列内の所定のデータ要素を開始データ要素として使用するように構成されてもよい。さらに、ステップS10の繰り返し実行のそれぞれにおいてハードウェア構成部110は、先行するステップS10の実行において第1データ要素として設定されたOCTAデータ200の各データ要素を、開始データ要素として使用するように構成されてもよい。こうして、投影アーチファクトの重要な原因に対応すると考えられる十分に大きな値を有する列内のすべてのOCTAデータ要素を識別して、PAR処理に使用することができる。他方、そのほかの要素は廃棄されて、PAR処理の結果にほとんど影響を与えないと思われる処理操作に計算リソースを費やすことを避ける。
【0040】
所定のデータ要素は、OCTAデータ200の列の端にあるデータ要素であってもよい。あるいは所定のデータ要素は、脈管構造を含む身体部分の最初の部分を表す列内のデータ要素の組の内の1つのデータ要素であってもよい。このデータ要素は、そのデータ要素の組と、脈管構造を含まない身体部分である第2の部分を表す列内のデータ要素との間の境界に隣接する。所定のデータ要素は例えば、眼の網膜を表すデータ要素であってもよい。そのデータ要素は、網膜を表すデータ要素の組と、眼の硝子体を表す列のデータ要素との間の境界(いわゆる内境界膜(ILM)境界)に隣接する。そのようなデータ要素は、周知の網膜層セグメンテーションアルゴリズムを用いて、あるいは1以上のOCTのBスキャンの目視検査により見つけることができる。開始データ要素をILM境界に関係するデータ要素に設定することで、脈管構造を含まない眼の硝子体に関係するOCTAデータの処理を省くことができ、したがって、補正OCTAデータ300の生成をより効率的にすることができる。
【0041】
このハードウェア構成部110によって実行される方法には、本例示的実施形態のように、OCTAデータ200の各列におけるデータ要素を処理するステップS10~S30の複数回の実行の各実行において、ステップS10の一部としてあるいは相関値の計算の前に、OCTAデータ200の列の初期データ要素から順番に(すなわち、列内の各データ要素又は列内のn番目、ここでnは2以上の整数、のデータ要素ごとに1つずつ順番に)軸(Z)方向に配列された、複数のデータ要素の各データ要素を処理する任意選択機能が含まれてもよい。この処理は、OCTAデータ200の列の配列内のデータ要素位置に対応する繰り返しBスキャン251、253、255、257の各Bスキャンの位置にあるOCTデータ要素の少なくともいくつかに基づくデータ要素メトリックが、OCT値閾値を超えるか否かの判定を、そのデータ要素メトリックがOCT値閾値を超えると判定される1つのデータ要素が処理されるまで続けることにより行われる。データ要素メトリックがOCT値閾値を超えると判定されたデータ要素が、第2のデータ要素として設定される。
【0042】
データ要素メトリックは、繰り返しBスキャンの各Bスキャン内の位置がOCTAデータ200の列の配列内のデータ要素の位置に対応するOCTデータ要素の少なくともいくつか(好ましくはすべて)の平均値であってもよい。例えば
図7の例では、データ要素メトリックとして計算される平均は、OCTデータ250のデータ要素d
OCT1(i,k)、d
OCT2(i,k)、dOCT
3(i,k)、d
OCT4(i,k)の1以上(好ましくはすべて)の平均であってもよい。ただしデータ要素メトリックは違う形で、例えば、繰り返しBスキャンの各Bスキャン内の位置がOCTAデータ200の列の配列内のデータ要素の位置に対応するOCTデータ要素の少なくともいくつか(好ましくはすべて)の中央値として与えられてもよい。より一般的にはデータ要素メトリックは、繰り返しBスキャンの各Bスキャン内の位置が対象となっているOCTAデータ200の列の配列内のデータ要素の位置に対応するOCTデータ要素の任意の関数であってよく、その関数が、OCT信号の大きさの指標を返す。
【0043】
上記で設定したさらなる任選択機能は、列内で第1データ要素より下にあり、また、繰り返しBスキャンの組の各Bスキャン内の対応する位置にあって、網膜(又は他の身体部分)における比較的高反射率の領域から測定されたOCT信号値に対応するOCTデータ要素から得られる、OCTAデータ要素の識別を可能とする。そのような領域からのOCTAデータの正面投影は、低反射率領域からのOCTAデータの正面投影よりもより顕著な投影アーチファクトを示す傾向がある。そのように識別されたOCTAデータ要素は、より低反射領域からのOCTデータから得られる列内のその他のOCTAデータ要素よりも有意な「偽フロー」を含む可能性が高く、したがって、PAR処理において考慮に入れられるべきである。逆に言えば、低反射領域からのOCTデータから得られる列内のその他のOCTAデータ要素は、OCTAボリュームの正面投影中の投影アーチファクトへ寄与する可能性はあまりない。そして、PAR処理の結果にあまり影響しないと思われる処理操作に計算リソースを費やすことを避けるために無視される。
【0044】
上記の更なる任意選択機能を有する例示的実施形態の装置100において、ステップS10、S20、S30の複数回の実行は、最初にステップS10を行い、次いでステップS10を繰り返すことにより、OCTAデータ200の列内の異なる各データ要素を、最初のステップS10の実行及びステップS10の各繰り返しにおける第2データとして設定することを含んでもよい。この場合、OCTAデータ200の列内のデータ要素を第2データ要素として設定する最初のステップS10の実行において、ハードウェア構成部110は、OCTAデータ200の列内のその位置が第1データ要素を含むOCTAデータ200の列内の第1データ要素の位置に隣接する位置に対応するOCTAデータ200のデータ要素を初期データ要素として使用してもよい。さらに、ステップS10の各繰り返しにおいて、ハードウェア構成部110は、先行するステップS10の実行において第2データ要素として設定されていたOCTAデータ200の各データ要素を、初期データ要素として使用してもよい。こうして、網膜(又は他の身体部分)における比較的高反射率の領域で測定されたOCTデータ要素から得られる列内のすべてのOCTAデータ要素が識別されてPAR処理で使用可能である。他方それ以外は、PAR処理の結果にあまり影響しないと思われる処理操作に計算リソースを費やすことを避けるために廃棄される。
【0045】
図6の(ステップS10~S30のシーケンスで定義される)処理Pが、上記で規定した有利な任意選択機能を追加されて複数回の実行で補正OCTAデータ300を生成する例を、
図8A、8Bを参照して次に述べる。補正OCTAデータ300を生成するために、OCTAデータ200のデータ要素の複数の列の各列が、
図8A、8Bを参照して以下に説明する処理に従って、列内のデータ要素に対するステップS10~S30のシーケンスの各実行において、第1データ要素としてのOCTAデータ200のデータ要素と、第2データ要素としてのOCTAデータ200のデータ要素との異なる組み合わせを使用して、ハードウェア構成部110によって個別に処理される。OCTAデータ200のデータ要素の複数(好ましくはすべて)の列を、ハードウェア構成部110によって前述の方法で並列に(同時に)処理することができる。ここで、マルチスレッド又はマルチコアを有する計算リソースがマイクロプロセッサ及び/又はグラフィック処理ユニット(GPU)で使用可能であって、補正OCTAデータ300のより迅速な生成を可能とする。OCTAデータ200のデータ要素の複数の列は、これに代わって逐次的に処理することも、あるいは並列処理と逐次処理の組み合わせを使用することも可能である。
【0046】
図8AのステップS100において、ハードウェア構成部110がOCTAデータ200の所定データ要素に対して開始データ要素を設定する。本例示的実施形態において、所定のデータ要素はOCTAデータ200の列の端に現れるデータ要素であって、具体的には列の最初のデータ要素であり、そこから軸(z)方向に残りのデータ要素が配置される。あるいは、ハードウェア構成部110がOCTAデータ200の列の内のユーザ指定のデータ要素を開始データ要素として設定してもよいし、又はハードウェア構成部100か外部エンティティによって自動的に指定されたあとにハードウェア構成部110によって受信されたデータ要素であってもよい。所定のデータ要素は例えば、眼の網膜(あるいはより一般的には対象とする脈管構造を含む身体部分の第1の部分)を表す列内のデータ要素の組の内のデータ要素であってもよい。そのデータ要素は、網膜を表すデータ要素の組と、眼の硝子体(あるいはより一般的には脈管構造を含まない身体部分の第2の部分)を表す列のデータ要素との間の境界(いわゆる内境界膜(ILM)境界)に隣接する。そのようなデータ要素は、周知の網膜層セグメンテーションアルゴリズムを用いて、あるいは1以上のOCTのBスキャンの目視検査により見つけることができる。開始データ要素をILM境界に関係するデータ要素に設定することで、脈管構造を含まない眼の硝子体に関係するOCTAデータの処理を省くことができ、したがって、補正OCTAデータ300の生成をより効率的にすることができる。
【0047】
図8Aの(任意選択)ステップS110において、ハードウェア構成部110が、OCTAデータの列内に開始データ要素から順番に列の第1の(z軸又は「軸」)方向に沿って配置された複数のデータ要素の各データ要素について、データ要素がOCTA信号閾値を超えるか否かの判定処理を、1つのデータ要素がOCTA信号閾値を超えると判定されるまで行い、OCTA信号閾値を超えると判定されたデータ要素を第1のデータ要素に設定する。一例として、ハードウェア構成部110はしたがって列「i」のOCTAデータ要素d
OCTA(i,1)がOCTA信号閾値より大きいか否かを判定し、大きくなければOCTAデータ要素d
OCTA(i,2)がOCTA信号閾値より大きいか否かを判定する。OCTAデータ要素d
OCTA(i,2)がOCTA信号閾値より大きくなければ、ハードウェア構成部110はOCTAデータ要素d
OCTA(i,3)がOCTA信号閾値より大きいか否かを判定する。そしてOCTA信号閾値より大きいOCTAデータ要素を見つけるか、又はそのようなOCTAデータ要素を見つけられずに列の終わりに到達するまで、このサイクルを繰り返す。OCTA信号閾値より大きいOCTAデータ要素が見つかった場合には、OCTA信号閾値を越えたそのデータ要素に続くすべての後続データ要素に対して補正をかける必要がある。
【0048】
ステップS110は、十分に大きな値を有するOCTAデータ要素を識別する役割を果たす。その要素は投影アーチファクトの重要な発生源に対応するものと考えられ、したがって、PAR処理で考慮されるべきものである。逆に、値が小さく、したがって投影アーチファクトに大きく寄与する可能性の低い他のOCTAデータ要素は、PAR処理の結果にほとんど影響しない処理操作に計算リソースを費やすことを避けるために、本例示的実施形態においては無視する。
【0049】
ただし、ステップS110は変形プロセスで置き換えられることもある。そこでは、その変形処理内の任意の所与の実行における第1データ要素として指定されたOCTAデータ要素が、その変形プロセスの次の実行における次(あるいは1つ置いた次、2つ置いた次、など)のOCTAデータ要素で置き替えられる。そのような変形プロセスでは、投影アーチファクトの原因としてあまり寄与しないであろうOCTAデータ要素の寄与もまた考慮に入れられ、それにより大きな恩恵なしに計算リソースが消費される。
【0050】
図8AのステップS115において、ハードウェア構成部110が以下の条件すなわち、第1データ要素がステップS110で設定完了しており、列内に未処理のデータ要素が少なくとも1つ残っていること、が満たされているか否かを判定する。この条件が満たされていないと判定した(
図8AのS115に続く「No」の)場合には、ハードウェア構成部は処理を終了する。ただし、ハードウェア構成部110がこの条件が満たされている(
図8AのS115に続く「Yes」)と判定する場合には処理はステップS120に進む。ステップS115は同様に任意選択であって、本明細書で記述する変形例によってステップS110とステップS130が置き替えられる場合には、省略可能である。
【0051】
図8AのステップS120において、ハードウェア構成部110が、列内の第1データ要素に隣接するOCTAデータ200のデータ要素、すなわち列内で第1データ要素の軸方向の隣のデータ要素に、初期データ要素を設定する。
【0052】
図8Aの(任意選択)ステップS130において、ハードウェア構成部110が、OCTAデータ200の列内の初期データ要素から前記軸方向に順番に軸(z)方向に配置された1以上のデータ要素の各データ要素について、繰り返しBスキャンの各Bスキャン内の位置がOCTAデータ200の列の配列内のデータ要素の位置に対応するOCTデータ要素の少なくともいくつかに基づくデータ要素メトリックがOCT値閾値を超えるか否かを判定して、データ要素メトリックがOCT値閾値を超えるデータ要素を(もしあれば)第2データ要素として設定することによって処理する。OCTA値閾値は、本例示的実施形態のように、b
-+τ
b×σ
bとして計算してもよい。ここで、b
-はOCTAデータ250のOCTAデータ要素の値の平均であり、σ
bはOCTAデータ250内のOCTAデータ要素の値の分布を模したガウス分布の標準偏差であり、τ
bは、OCTA値閾値を設定するためのパラメータであって、好ましくはユーザによって調整可能である。ただし、OCT値閾値はこのように計算する必要はない。b
-とσ
bの値は、本例示的実施形態のようにOCTAデータ要素の値の分布をガウス関数にあてはめて取得してもよいし、あるいは、OCTAデータ250のOCTAデータ要素の値の分布のモデル化に使用される別の関数にあてはめて取得してもよいし、それ以外の方法で取得してもよい。
【0053】
データ要素メトリックは、本例示的実施形態のように、繰り返しBスキャンの各Bスキャン内の位置がOCTAデータ200の列の配列内のデータ要素の位置に対応するOCTデータ要素の少なくともいくつか(好ましくはすべて)の平均値であってもよい。例えば
図7の例では、データ要素メトリックとして計算される平均は、OCTデータ250のデータ要素d
OCT1(i,k)、d
OCT2(i,k)、d
OCT3(i,k)、d
OCT4(i,k)の1以上(好ましくはすべて)の平均であってもよい。ただしデータ要素メトリックは違う形で、例えば、繰り返しBスキャンの各Bスキャン内の位置がOCTAデータ200の列の配列内のデータ要素の位置に対応するOCTデータ要素の少なくともいくつか(好ましくはすべて)の中央値として与えられてもよい。より一般的にはデータ要素メトリックは、繰り返しBスキャンの各Bスキャン内の位置が対象となっているOCTAデータ200の列の配列内のデータ要素の位置に対応するOCTデータ要素の任意の関数であってよく、その関数が、それらのOCT信号の大きさの指標を返す。
【0054】
ステップS130は、列内で第1データ要素より下にあり、また、繰り返しBスキャンの組の各Bスキャンに対応する位置にあって、網膜における比較的高反射率の領域から測定されたOCT信号値に対応するOCTデータ要素から得られる、OCTAデータ要素を識別する役目を果たす。そのような領域からのOCTAデータの正面投影は、低反射率領域からのOCTAデータの正面投影よりもより顕著な投影アーチファクトを示す傾向がある。ステップS130で識別されたそのようなOCTAデータ要素は、より低反射の網膜層(又は複数の網膜層)領域からのOCTデータから得られる列内のその他のOCTAデータ要素よりも有意な「偽フロー」を含む可能性が高く、したがって、PAR処理において考慮に入れられるべきである。逆に、低反射の単層/複数層の網膜層からのOCTデータから得られる列内のその他のOCTAデータ要素は、OCTAボリュームの正面投影中の投影アーチファクトへ寄与する可能性はあまりない。そして、PAR処理の結果に少ししか影響しないと思われる処理操作に計算リソースを費やすことを避けるために本例示的実施形態では無視される。
【0055】
ただし、ステップS130は変形プロセスで置き換えることもできる。そこでは、その変形プロセスの任意の所与の実行における第2データ要素として指定されたOCTAデータ要素が、その変形プロセスの次の実行における次(又は1つ置いた次、2つ置いた次、など)のOCTAデータ要素で置き替えられる。そのような変形プロセスでは、投影アーチファクトの原因としてあまり寄与しないであろうOCTAデータ要素の寄与もまた考慮に入れられ、それにより大きな恩恵なしに計算リソースが消費される。
【0056】
図8BのステップS135において、ハードウェア構成部135がステップS130において第2データ要素が設定されたかどうかを判定する。ハードウェア構成部110が第2データ要素がステップS130においてまだ設定されていないと判定すると(
図8BのS135に続く「No」)、処理は終了する。ただし、ハードウェア構成部110が第2データ要素がステップS130で設定されていると判定すると(
図8BのS135に続く「Yes」)、処理はプロセスP(ステップS10、S20及びS30)に進む。これは
図6を参照して既に詳細に説明した。ステップS130が前述したその変形ステップで置き替えられる場合には、ステップS135は省略されてよい。
【0057】
図8BのステップS140において、ハードウェア構成部110が、先行するS130がOCTAデータ要素の列の少なくとも1つのOCTAデータ要素の処理を残して終了したか否かを判定する。先行するS130の実行が、OCTAデータ要素の列の少なくとも1つのOCTAデータ要素の処理を残して終了したとハードウェア構成部110が判定した場合(
図8BのS140に続く「Yes」)、処理はステップS150に進み、そこで、ハードウェア構成部110が、先行するS130の実行において決定された第2データ要素に初期データ要素を設定する。他方、ステップS140において、その前のS130の実行がOCTAデータ要素の列の少なくとも1つのOCTAデータ要素の処理を残して終了してはいないとハードウェア構成部110が判定した場合(
図8BのS140に続く「No」)、処理は
図8BのステップS160に進む。
【0058】
図8BのステップS160において、ハードウェア構成部110が、先行するS110の実行がOCTAデータ200の列の少なくとも2つのOCTAデータ要素の処理を残して終了したか否かを判定する。先行するS110の実行が、OCTAデータ200の列の少なくとも2つのOCTAデータ要素の処理を残して終了したとハードウェア構成部110が判定した場合(
図8BのS160に続く「Yes」)、処理は
図8AのステップS170を介してステップS110にループして戻り、そこで、ハードウェア構成部110が、開始データを先行するS110の実行において決定された第1データ要素に設定する。他方、ハードウェア構成部110が、先行するS110の実行においてOCTAデータ200の列内の少なくとも2つのデータ要素の処理を残して終了してはいないことを判定した場合(
図8BのS160に続く「No」)、列の処理は終了する。
【0059】
前述したように、補正OCTデータ300を生成するために、ステップS10~S30のシーケンスの各実行において、第1データ要素としてのOCTAデータ(200)のデータ要素と第2データ要素としてのOCTAデータ(200)のデータ要素との異なる組み合わせを用いてステップS10~S30のシーケンスが複数回実行される。言い換えれば、ステップS10~S30の各実行において第1データ要素及び第2データ要素として使用されるOCTAデータのデータ要素の組み合わせは、ステップS10~S30の他のすべての実行において第1データ要素と第2データ要素として使用されるOCTAデータのデータ要素の組み合わせとは異なる。
【0060】
図8Aと
図8Bの処理の実行におけるステップS20の各実行において、ハードウェア構成部110が、第1データ要素d
OCTA(i,j)と、計算した補正値r
jkとスケール因子sとの積として、第2データ要素d
OCTA(i,k)に対する補正を計算する。ここで、第1データ要素d
OCTA(i,j)は、処理中の列内のそれより上のOCTAデータ要素によってd
OCTA(i,j)に加えられた以前の補正を反映する。他方、第2データ要素d
OCTA(i,k)は、ステップS20の他の実行中に、d
OCTA(i,j)のみならず、列中のd
OCTA(i,j)より下でd
OCTA(i,k)より上のOCTAデータ要素を基にして補正される。
【0061】
上で述べたように、ステップS20において第2データ要素d
OCTA(i,k)に対する補正の計算に使用されるスケール因子sは、ユーザによって調整可能である。
図9と
図10は、本例示的実施形態の装置100によって生成された、補正OCTAデータ300のOCTA正面投影の例を示す。
図9と
図10のグリッドは、
図8A、8BのPARアルゴリズムを2つの各OCTAボリュームに適用した結果であり、各グリッドセルは、PARアルゴリズムにおいて図に示したスケール因子sの値を使用して得られる正面投影を表す。
図9に示すように、小さい値のs(例えば0.005と0.015)は、投影アーチファクトの十分な抑制を可能とせず、これらは正面投影画像中に「ゴースト」の脈管構造として残る。他方で、比較的高いsの値は、投影アーチファクトが効果的に抑制された結果をもたらすが、その代償として撮像された(真の)脈管構造の品質が劣化する。
図9の例において、sの値が0.075付近で、一方での効果的な投影アーチファクトの抑制と、他方での脈管構造の画像品質維持との間の良好なバランスが達成される。同様な傾向が
図10において観察される。ここでは、約0.075のスケール因子の値が同様に前述の競合する要求間の良好なバランスを達成する。
【0062】
これまでに述べた実施形態のいくつかを、以下の実施例E1~E16にまとめる。
【0063】
E1. 身体部分の撮像領域の脈管構造分布を表す、データ要素列の配列から成る光干渉断層撮影アンギオグラフィ(OCTA)データ(200)を処理して、正面投影内の投影アーチファクトがOCTAデータ(200)に対して低減された補正OCTAデータ(300)を生成するように構成された装置(100)
OCTAデータ(200)の列の配列の各列にあるデータ要素は、身体部分の撮像領域の繰り返しBスキャンの組の中の各BスキャンのAスキャン内の対応位置にあるOCTデータ(250)のデータ要素から生成されたものであり、この装置は、
ハードウェア構成部(110)であって、
(i)OCTデータ(250)のデータ要素の第1シーケンスであって、各Bスキャン内の第1シーケンスのデータ要素の各位置がOCTAデータ(200)の列の配列内の第1データ要素の位置に対応する第1のシーケンスと、OCTデータ(250)のデータ要素の第2のシーケンスであって、各Bスキャン内の第2シーケンスのデータ要素の各位置がOCTAデータ(200)の列の配列内の第2データ要素の位置に対応し、この第2データ要素はOCTAデータ(200)の列が延在するOCTAデータ(200)の軸方向に第1データ要素よりもさらに深部にある第2のシーケンスと、の間の相関度合いを表す相関値を計算するステップと、
(ii)第1のデータ要素と計算した相関値とを用いて、第2データ要素に対する補正を計算するステップと、
(iii)計算した補正を第2データ要素に適用するステップと、
によって、OCTデータ(250)のデータ要素とOCTAデータ(200)のデータ要素とを処理することを含む方法を実行するように構成され、補正OCTAデータ(300)を生成するために、ステップ(i)~(iii)の各実行ごとに第1データ要素としてのOCTAデータ(200)のデータ要素と第2データ要素としてのOCTAデータ(200)のデータ要素との異なる組み合わせを用いて、ステップ(i)~(iii)を複数回実行するように構成されたハードウェア構成部(110)と、
補正OCTAデータ(300)を出力するように構成された出力構成部(120)と、
を備える。
【0064】
E2. E1による装置(100)
上記の方法が、OCTAデータ(200)の各列のデータ要素を処理するステップ(i)~(iii)を複数回実行するその各回において、ステップ(i)の一部としてかつ相関値を計算する前に、
OCTAデータ(200)の列内に開始データ要素から列の軸方向に沿って順番に配置された複数のデータ要素の各データ要素を、そのデータ要素がOCTA信号閾値を超えるか否かを判定して、1つのデータ要素がOCTA信号閾値を超えると判定されるまで、処理し、
OCTA信号閾値を超えると判定されたデータ要素を第1のデータ要素に設定する、
ことをさらに含む。
【0065】
E3. E2による装置(100)
ステップ(i)~(iii)の複数回の実行が、
最初にステップ(i)を実行し、次いでステップ(i)を繰り返して、ステップ(i)の実行における第1のデータ要素として、ステップ(i)の最初の回と各繰り返しとで、OCTAデータ(200)の列内の異なる各データ要素を設定し、
OCTAデータ(200)の列内の複数のデータ要素の内の1つのデータ要素を第1データ要素として設定するためのステップ(i)の最初の実行においては、ハードウェア構成部(110)はOCTAデータ(200)の列内の所定のデータ要素を開始データ要素として使用するように構成され、
さらに、ステップ(i)の繰り返し実行のそれぞれにおいてハードウェア構成部(110)は、先行するステップ(i)の実行において第1データ要素として設定されたOCTAデータ200の各データ要素を、開始データ要素として使用するように構成される。
【0066】
E4. E3による装置(100)
所定のデータ要素は、OCTAデータ(200)の列の端のデータ要素、又は
脈管構造を含む身体部分の第1の部分を表す列のデータ要素の組のデータ要素であって、そのデータ要素の組と、脈管構造を含まない身体部分の第2の部分を表す列内のデータ要素との間の境界に隣接するデータ要素、
のいずれかである。
【0067】
E5. E1~E4のいずれかによる装置(100)
上記の方法が、OCTAデータ(200)の各列のデータ要素を処理するステップ(i)~(iii)を複数回実行するその各回において、ステップ(i)の一部としてかつ相関値を計算する前に、
OCTAデータ(200)の列内に初期データ要素から軸方向に順番に配置された複数のデータ要素の各データ要素について、データ要素メトリック、これは繰り返しBスキャンの各Bスキャン内の位置がOCTAデータ(200)の列の配列内のデータ要素の位置に対応するOCTデータ要素の少なくともいくつかに基づくものであるが、そのデータ要素メトリックがOCT値閾値を超えるか否かの判定を、1つのデータ要素におけるデータ要素メトリックがOCT値閾値を超えると判定されるまで行い、かつデータ要素メトリックがOCT値閾値を超えると判定されたデータ要素を第2のデータ要素として設定する処理をさらに含む。
【0068】
E6. E5に記載の装置(100)
ステップ(i)~(iii)の複数回の実行が、最初にステップ(i)を実行し、次いでステップ(i)を繰り返して、OCTAデータ(200)の列内の異なる各データ要素をステップ(i)の最初の実行とステップ(i)の各繰り返しとにおける第2データ要素として設定することを含み、
OCTAデータ(200)の列内のデータ要素を第2データ要素として設定するステップS10の最初の実行において、ハードウェア構成部(110)は、OCTAデータ(200)の列内のその位置が第1データ要素を含むOCTAデータ(200)の列内の第1データ要素の位置に隣接する位置に対応するOCTAデータ(200)のデータ要素を初期データ要素として使用するように構成され、
ステップ(i)の各繰り返しにおいてハードウェア構成部(110)は、先行するステップ(i)の実行において第2データ要素として設定されていたOCTAデータ(200)の各データ要素を初期データ要素として使用するように構成される。
【0069】
E8. E1による装置(100)
ハードウェア構成部(110)が、データ要素の複数の列の内の各列を、第1データ要素及び第2データ要素として列内の異なるデータ要素の組み合わせを用いてステップ(i)~(iii)を実行することにより個別に処理するように構成される。この処理は、以下のステップによる。
(a)OCTAデータ(200)の列内に開始データ要素から列の第1方向に沿って順番に配置された複数のデータ要素の各データ要素について、データ要素がOCTA信号閾値を超えるか否かの判定を、1つのデータ要素がOCTA信号閾値を超えると判定されるまで行い、OCTA信号閾値を超えると判定されたデータ要素を第1のデータ要素に設定するステップ。
(b)OCTAデータ(200)の列内に初期データ要素から列の第1方向に順番に配置された1以上のデータ要素の各データ要素について、繰り返しBスキャンの各Bスキャン内の位置がOCTAデータ(200)の列の配列内のデータ要素の位置に対応するOCTデータ要素の少なくともいくつかに基づくデータ要素メトリックがOCT値閾値を超えるか否かの判定を、1つのデータ要素のデータ要素メトリックがOCTA値閾値を超えると判定されるまで行い、データ要素メトリックがOCT値閾値を超えると判定されたデータ要素を第2データ要素として設定する、ことによって処理するステップ。
(c)OCTデータ(250)のデータ要素の第1シーケンスであって、
それぞれのBスキャン内の第1シーケンスのデータ要素のそれぞれの位置がOCTAデータ(200)の列の配列内の第1データ要素の位置に対応する、第1シーケンスと、
OCTデータ(250)のデータ要素の第2シーケンスであって、それぞれのBスキャン内の第2シーケンスのデータ要素のそれぞれの位置がOCTAデータ(200)の列の配列内の第2データ要素の位置に対応する、第2のシーケンスと、
の間の相関の度合いを示す相関値を計算するステップ。
(d)第1データと計算した相関値を用いて第2データ要素に対する補正を計算するステップ。
(e)計算した補正を第2データ要素に適用するステップ。
(f)ステップ(b)~(e)の反復ステップであって、
ステップ(b)の最初の実行において、初期データ要素は、列における第1データ要素の位置に隣接する位置にあるOCTAデータ(200)のデータ要素であり、
各繰り返しステップ(b)の初期データ要素は、ステップ(b)の先行する実行における第2データ要素として設定された列内のデータ要素であり、
ステップ(b)~(e)は、OCTAデータ(200)の列にステップ(b)で処理すべきデータ要素がそれ以上なくなるまで繰り返される、反復ステップ。
(g)ステップ(a)~(f)の反復ステップであって、
ステップ(a)の最初の実行において、前記開始データ要素はOCTAデータ(200)の列内の所定のデータ要素であり、
各繰り返しステップ(a)の開始データ要素は、ステップ(a)の先行する実行における第1データ要素として設定された列内のデータ要素であり、
ステップ(a)~(f)は、ステップ(a)で処理すべきOCTAデータ(200)の列内のデータ要素が2つ以下となるまで繰り返される、反復ステップ。
【0070】
E9. E8による装置(100)
所定のデータ要素は、OCTAデータ(200)の列の端のデータ要素、又は脈管構造を含む身体部分の第1の部分を表す列のデータ要素の組のデータ要素であって、そのデータ要素の組と、脈管構造を含まない身体部分の第2の部分を表す列内のデータ要素との間の境界に隣接するデータ要素、のいずれかである。
【0071】
E10. E8又はE9に記載の装置(100)
ハードウェア構成部(110)はデータ要素の複数の列を、ステップ(a)~(g)によって並列に処理するように構成される。
【0072】
E11. E8~E10のいずれかによる装置(100)
データ要素メトリックは、繰り返しBスキャンの各Bスキャンにおける位置がOCTAデータ(200)の列の配列におけるデータ要素の位置に対応する少なくともいくつかのOCTデータ要素の平均と、繰り返しBスキャンの各Bスキャンにおける位置がOCTAデータ(200)の列の配列におけるデータ要素の位置に対応する少なくともいくつかのOCTデータ要素の中央値との内の1つである。
【0073】
E12. E1~E11のいずれかに記載の装置(100)
相関値は、ピアソンの相関係数値、スピアマンのランク相関係数値、及びケンドールのランク相関係数値の内の1つである。
【0074】
E13. E1~E12のいずれかによる装置(100))
ハードウェア構成部110が、第1データ要素と計算した相関値とスケール因子との積を評価することによって、第2データ要素に対する補正を計算するように構成される。
【0075】
E14. E1~E13のいずれかに記載の装置(100)
ハードウェア構成部(110)がさらに、補正OCTAデータ(300)の正面投影を生成するように構成され、出力構成部(120)が生成した正面投影を出力するように構成される。
【0076】
E15. E14による装置(100)
出力構成部(120)が生成した正面投影をディスプレイ装置上に表示するように構成される。
【0077】
E16. 撮像装置(400)
身体部分の領域を撮像し、その身体部分の撮像領域の脈管構造分布を表す光干渉断層撮影アンギオグラフィ、OCTA、データ(200)を取得するように構成された撮像構成部(500)と、取得したOCTAデータ(200)を処理して、正面投影内の投影アーチファクトがOCTAデータ(200)に対して減少した補正OCTAデータ(300)を生成するように構成された、E1~E15のいずれかに記載の装置(100)と、を備える。
【0078】
OCTAデータ200の各列は、上述の例示的実施形態のように別々に処理して、1)マイクロプロセッサ及び/又はグラフィック処理ユニット(GPU)で複数のスレッドやコアを持つ計算リソースが利用できる場合、並列化を可能とし、2)処理中の列に対する近接する列内のボクセルによる影響を無視して補正方式を単純化する、ことが可能である。物理的な観点から実際のモデルは、近接する列に広がる網膜上皮層内の血管からの散乱を考慮することが可能である。他の例示的実施形態では、列a内で光源散乱特性を満たすすべてのボクセルvに対して、ボクセルvの下のaに近接するすべての列内の全標的ボクセルへの補正が適用可能である。ここで、近接度合いは、vに頂点又は頂端を有し、aに平行な軸を有する、aに関して定義される影響円錐内に列bがあるか否かによって定義される。ユーザは、幾何学的パラメータ(直円錐であるとして、高さ及び底面半径など)を用いて円錐形状を定義することができる。本明細書に記載の例示的実施形態では、影響円錐は実質的に同じ列aの幅だけに限定され、a内のvの下のボクセルのみが補正される。
【0079】
上記の説明においては、例示的態様をいくつかの例示的実施形態を参照して説明した。したがって本明細書は、制限的ではなく、例示的であるとみなされるべきである。同様に、例示的実施形態の機能及び利点を強調する図面に示す形状は、例示のみを目的として提示される。例示的実施形態のアーキテクチャは十分に柔軟かつ設定可能であり、添付図に示すもの以外の方法で利用可能である。
【0080】
例えば、
図8Aを参照して前述したステップS120において、ハードウェア構成部110は、列内の第1データ要素の軸(z軸)方向の隣のOCTAデータ200のデータ要素に初期データ要素を設定する。
次に
図8AのステップS130において、ハードウェア構成部110は、OCTAデータ200の列内に初期データ要素から軸(z)方向に順番に配置された1以上のデータ要素の各データ要素を処理する。ただし、ステップS130で処理される、列内の第1データ要素の直下のデータ要素の順番は、軸方向に沿うことに限るわけではなく、替わりにその反対方向であってもよい。すなわち、ハードウェア構成部110は代替的に、初期データ要素を、第1データ要素から最も遠い、列の下端にあるOCTAデータ200のデータ要素に設定してもよい。そうして、
図8AのステップS130の変形において、ハードウェア構成部110は、OCTAデータ200の列内に初期データ要素から第1データ要素に向かって軸(z軸)の反対方向に順番に配置された1以上のデータ要素の各データ要素を処理してもよい。こうして、列内のデータ要素が、
図8A及び8BのステップS120~ステップS150において、(例示的実施形態のように)列を下るのではなく列を上って処理することができる。
【0081】
本明細書に提示した実施例のソフトウェア実施形態は、命令又は命令のシーケンスを有する一つ又は複数のプログラムなどのコンピュータプログラム又はソフトウェアとして提供可能である。これらは一実施形態においては、機械でアクセス可能若しくは機械で読み取り可能な媒体、命令記憶部、又はコンピュータ可読記憶装置などの製品に含まれるか格納され、このそれぞれが非一時的であり得る。非一時的な機械アクセス可能媒体、機械可読媒体、命令記憶部、又はコンピュータ可読記憶装置上のプログラム又は命令は、コンピュータシステム又は他の電子デバイスをプログラムするのに使用可能である。機械可読媒体又はコンピュータ可読媒体、命令記憶部、及び記憶装置は、これに限らないが、フロッピディスク(登録商標)、光ディスク、及び光磁気ディスク、あるいは、電子的命令を格納若しくは送信するのに適した他の種類の媒体/機械可読媒体/命令記憶部/記憶装置が含まれ得る。本明細書に記載の技術はいかなる特定のソフトウェア構成にも限定されない。これらは任意のコンピューティング環境又は処理環境への適用性を見出し得る。本明細書に使用されている「コンピュータ可読」、「機械アクセス可能媒体」、「機械可読媒体」、「命令記憶部」及び「コンピュータ可読記憶装置」という用語は、機械、コンピュータ又はコンピュータプロセッサによって実行するために命令又は命令シーケンスを格納、コード化、又は送信することが可能で、かつ本明細書に記載の任意の方法を、機械/コンピュータ/コンピュータプロセッサに実行させる任意の媒体を含むものとする。さらに、当分野においてソフトウェアについては、ある形態又は別の形態(例えばプログラム、手順、プロセス、アプリケーション、モジュール、ユニット、ロジックなど)で、動作を起こし、結果をもたらすものを指すのが一般的である。そのような表現は、処理システムによるソフトウェアの実行が、プロセッサに動作を実行させて結果を生成させることの簡略的な言い方に過ぎない。
【0082】
いくつかの実施形態は、特定用途向け集積回路、フィールドプログラマブルゲートアレイを用意することによって、又は従来のコンポーネント回路の適切なネットワークを相互接続することによっても、実装することができる。
【0083】
いくつかの実施形態にはコンピュータプログラム製品が含まれる。コンピュータプログラム製品は、命令が格納された記憶媒体、命令記憶部、又は記憶装置であってよい。それを使用して、コンピュータ又はコンピュータプロセッサが本明細書に記載の例示的実施形態の任意の手順を実行することを制御し、又は実行させることができる。記憶媒体/命令記憶部/記憶装置には、これに限るものではないが一例として、光ディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリ、フラッシュカード、磁気カード、光カード、ナノシステム、分子メモリ集積回路、RAID、リモートデータストレージ/アーカイブ/ウェアハウジング、及び/又は命令及び/又はデータの格納に好適な他の任意の種類のデバイスが含まれ得る。
【0084】
コンピュータ可読媒体、命令記憶部又は記憶装置のいずれかに格納されたいくつかの実装には、システムのハードウェアを制御し、システム又はマイクロプロセッサに人間のユーザ又は本明細書に記載の例示的実施形態の結果を利用する他の機構との対話可能とする、ソフトウェアが含まれる。そのようなソフトウェアには、これに限らないが、デバイスドライバ、オペレーティングシステム、及びユーザアプリケーションが含まれ得る。究極的には、そのようなコンピュータ可読媒体又は記憶装置には、上で説明したような本発明の例示的態様を実行するためのソフトウェアが更に含まれる。
【0085】
プログラミング及び/又はシステムのソフトウェアには、本明細書に記載の手順を実行するためのソフトウェアモジュールが含まれる。本明細書のいくつかの例示的実施形態において、モジュールにはソフトウェアが含まれる。ただし本明細書の他の例示的実施形態ではモジュールにはハードウェア又はハードウェアとソフトウェアの組み合わせが含まれる。
【0086】
以上本発明の様々な例示的実施形態を述べたが、これらは例示のために提示したものであり、限定するためのものではないことを理解されたい。形式及び詳細において様々な変更をなし得ることは当業者には明らかであろう。したがって、本発明は上記のいかなる例示的実施形態によっても制限されるものではなく、以下に述べる特許請求の範囲及びその均等物によってのみ規定されるべきである。
【0087】
さらに、要約は、特許庁及び一般人、特に特許又は法律用語又は文体に精通していない科学者、技術者及び実務者が、大まかな調査で本出願の技術的開示の本質及び要点を迅速に判定できるようにすることを目的とするものである。要約は、いずれにしても本明細書に提示する例示的実施形態の範囲に関して制限的であることを意図するものではない。また、特許請求の範囲に説明される任意の手順は、必ずしも提示された順番で遂行されることを必要としないことも理解されたい。
【0088】
本明細書には多くの特定の実施形態の詳細が含まれているが、それらは任意の発明又は特許請求されるものの範囲を制限するものとみなすべきではなく、むしろ本明細書に記載の具体的な実施形態に固有の特徴の記述として理解されるべきである。本明細書において別々の実施形態の文脈で記載されている特定の特徴は、組み合わせて単一の実施形態に実装することもできる。その逆に、単一の実施形態の文脈で記載されている様々な特徴は、複数の実施形態に別々に、又は任意の適切な部分的な組み合わせにして実装することもできる。さらに、上記において特徴が特定の組み合わせで作用するものとして記述され、また最初にそのように特許請求されているとしても、特許請求された組合せからの1つ以上の特徴は場合によってはその組み合わせから除外することが可能であり、特許請求された組み合わせは部分的な組み合わせ又は部分的な組み合わせの変形に向けることも可能である。
【0089】
特定の状況下では、マルチタスク及び並列処理をすることも有利であり得る。さらに、上記の実施形態における様々な構成要素の分離は、すべての実施形態においてそのような分離を必要とすると理解するべきではなく、また、上記のプログラム要素及びシステムは一般に単体のソフトウェア製品に統合し、あるいは複数のソフトウェア製品にパッケージ化され得ることを理解されたい。
【0090】
ここまでにいくつかの例示的実施形態及び実施形態を説明したが、前述したものは例示であって限定ではなく、一例として提示されたことは明らかである。特に、本明細書に示した実施例の多くは、装置又はソフトウェア要素の特定の組み合わせを含むが、これらの要素は同じ目的を達成するために違う形で組み合わされてもよい。一つの実施形態に関連してのみ議論した作用、要素及び特徴は、他の実施形態における同様の役割から除外されることを意図するものではない。