(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-12-07
(54)【発明の名称】診断テスト結果のための画像キャプチャ
(51)【国際特許分類】
G06T 7/70 20170101AFI20231130BHJP
【FI】
G06T7/70 A
【審査請求】有
【予備審査請求】有
(21)【出願番号】P 2023530198
(86)(22)【出願日】2021-10-26
(85)【翻訳文提出日】2023-06-13
(86)【国際出願番号】 US2021056670
(87)【国際公開番号】W WO2022108711
(87)【国際公開日】2022-05-27
(32)【優先日】2020-11-19
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】522371938
【氏名又は名称】エクサ ヘルス インコーポレイテッド
【氏名又は名称原語表記】EXA HEALTH,INC.
(74)【代理人】
【識別番号】100105957
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【氏名又は名称】恩田 博宣
(74)【代理人】
【識別番号】100142907
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】クマール、マヤンク
(72)【発明者】
【氏名】ミラー、ケビン ジェイ.
(72)【発明者】
【氏名】シェルフ、スティーブン
(72)【発明者】
【氏名】サティッシュ、シッダース
(72)【発明者】
【氏名】サイ、タン
(72)【発明者】
【氏名】グハ、ウッシャ
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096BA03
5L096CA02
5L096DA02
5L096FA67
5L096FA69
5L096GA51
5L096HA08
(57)【要約】
診断テスト結果の画像をキャプチャする方法が開示されている。方法は、画像キャプチャデバイスを用いて診断テスト位置決めカードの画像を取得することと、テスト位置決めカード上の複数の基準画像の存在を判定することと、テスト位置決めカード上に配置された診断テスト結果キャリアの存在を判定することと、テスト位置決めカード上におけるテスト結果キャリアの位置決めを検証することと、を含み得る。次いで、テスト結果キャリアの画像がキャプチャされ得る。方法は、画像キャプチャデバイスを用いてテスト結果キャリアの画像を取得することと、テスト結果キャリアの画像における画像フィーチャを判定することと、画像フィーチャを用いて画像キャプチャデバイスに対するテスト結果キャリアの位置決めを検証することと、をさらに含み得る。次いで、テスト結果キャリアを含む画像がキャプチャされ得る。
【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサによって実行される診断テスト結果の画像をキャプチャする方法であって、
画像キャプチャデバイスを用いて診断テスト位置決めカードの画像を取得することと、
前記1つまたは複数のプロセッサが、前記テスト位置決めカード上の複数の基準画像の存在を判定することと、
前記1つまたは複数のプロセッサが、前記テスト位置決めカード上に配置された診断テスト結果キャリアの存在を判定することと、
前記1つまたは複数のプロセッサが、前記テスト位置決めカード上の前記テスト結果キャリアの位置決めを検証することと、
前記テスト位置決めカード上の前記テスト結果キャリアの前記位置決めの検証によっては、前記テスト結果キャリアを含む画像をキャプチャすることと、を含む方法。
【請求項2】
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像をキャプチャする前に、前記テスト位置決めカードの平面が前記画像キャプチャデバイスの平面に十分に平行であると判定することをさらに含む、
請求項1に記載の方法。
【請求項3】
前記1つまたは複数のプロセッサが、前記テスト位置決めカード上の前記複数の基準画像から近接度関連パラメータを判定することと、
前記近接度関連パラメータの前記判定によっては、エラーメッセージを提供することと、をさらに含む、
請求項1に記載の方法。
【請求項4】
前記1つまたは複数のプロセッサが、前記複数の基準画像のうちの閾値数未満の基準画像が前記テスト位置決めカードの前記画像において視認可能であると判定することと、
エラーメッセージを提供することと、をさらに含む、
請求項1に記載の方法。
【請求項5】
前記1つまたは複数のプロセッサが、前記テスト位置決めカード上における前記テスト結果キャリアのアラインメントを判定することと、
前記テスト位置決めカード上における前記テスト結果キャリアの前記アラインメントによっては、エラーメッセージを提供することと、をさらに含む、
請求項1に記載の方法。
【請求項6】
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの垂直アラインメントパラメータを判定することと、
前記テスト結果キャリアの前記垂直アラインメントパラメータによっては、エラーメッセージを提供することと、をさらに含む、
請求項1に記載の方法。
【請求項7】
前記1つまたは複数のプロセッサを用いて、前記テスト結果キャリアの前記画像についての露出パラメータを判定することと、
前記露出パラメータによっては、エラーメッセージを提供することと、をさらに含む、
請求項1に記載の方法。
【請求項8】
前記1つまたは複数のプロセッサが、前記露出パラメータが所望の露出パラメータを超えると判定することと、
前記1つまたは複数のプロセッサが、コントロールラインが前記テスト結果キャリアの前記画像において存在しないと判定することと、
コントロールラインが前記テスト結果キャリアの前記画像において存在しないというエラーメッセージを提供することと、をさらに含む、
請求項7に記載の方法。
【請求項9】
前記1つまたは複数のプロセッサが、コントロールラインが前記テスト結果キャリアの前記画像において存在しないと判定することと、
コントロールラインが前記テスト結果キャリアの前記画像において存在しないというエラーメッセージを提供することと、をさらに含む、
請求項1に記載の方法。
【請求項10】
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像におけるサンプルウェルの位置を判定することと、
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像における結果ウェルの位置を判定することと、
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像において、前記サンプルウェルの前記位置が前記結果ウェルの前記位置よりも上にあると判定することと、
前記テスト結果キャリアの前記画像を反転させることと、をさらに含む、
請求項1に記載の方法。
【請求項11】
命令を含む非一時的機械可読記憶媒体であって、前記命令は、機械の1つまたは複数のプロセッサによって実行されると、
画像キャプチャデバイスを用いて診断テスト位置決めカードの画像を取得することと、
前記テスト位置決めカード上の複数の基準画像の存在を判定することと、
前記テスト位置決めカード上に配置された診断テスト結果キャリアの存在を判定することと、
前記テスト位置決めカード上における前記テスト結果キャリアの位置決めを判定することと、
前記テスト位置決めカード上の前記テスト結果キャリアの前記位置決めによっては、前記テスト結果キャリアを含む画像をキャプチャすることと、を含む動作を前記機械に実行させる、非一時的機械可読記憶媒体。
【請求項12】
前記動作は、
前記テスト結果キャリアの前記画像をキャプチャする前に、前記テスト位置決めカードの平面が前記画像キャプチャデバイスの平面に十分に平行であると判定することをさらに含む、
請求項11に記載の非一時的機械可読記憶媒体。
【請求項13】
前記動作は、
前記テスト位置決めカード上における前記テスト結果キャリアのアラインメントを判定することと、
前記テスト位置決めカード上における前記テスト結果キャリアの前記アラインメントによっては、エラーメッセージを提供することと、をさらに含む、
請求項11に記載の非一時的機械可読記憶媒体。
【請求項14】
前記動作は、
前記1つまたは複数のプロセッサが、前記テスト位置決めカード上の前記複数の基準画像から近接度関連パラメータを判定することと、
前記近接度関連パラメータの前記判定によっては、エラーメッセージを提供することと、をさらに含む、
請求項11に記載の非一時的機械可読記憶媒体。
【請求項15】
前記動作は、
前記1つまたは複数のプロセッサを用いて、前記テスト結果キャリアの前記画像についての露出パラメータを判定することと、
前記露出パラメータによっては、エラーメッセージを提供することと、をさらに含む、
請求項11に記載の非一時的機械可読記憶媒体。
【請求項16】
1つまたは複数のプロセッサと、
命令を記憶する1つまたは複数の機械可読媒体と、を含むシステムであって、前記命令は、前記1つまたは複数のプロセッサによって実行されると、
画像キャプチャデバイスを用いて診断テスト位置決めカードの画像を取得することと、
前記テスト位置決めカード上の複数の基準画像の存在を判定することと、
前記テスト位置決めカード上に配置された診断テスト結果キャリアの存在を判定することと、
前記テスト位置決めカード上における前記テスト結果キャリアの位置決めを判定することと、
前記テスト位置決めカード上の前記テスト結果キャリアの前記位置決めによっては、前記テスト結果キャリアを含む画像をキャプチャすることと、を含む動作を前記システムに実行させる、システム。
【請求項17】
前記動作は、
前記テスト結果キャリアの前記画像をキャプチャする前に、前記テスト位置決めカードの平面が前記画像キャプチャデバイスの平面に十分に平行であると判定することをさらに含む、
請求項16に記載のシステム。
【請求項18】
前記動作は、
前記複数の基準画像のうちの閾値数未満の基準画像が前記診断テスト位置決めカードの前記画像において視認可能であると判定することと、
エラーメッセージを提供することと、をさらに含む、
請求項16に記載のシステム。
【請求項19】
前記動作は、
コントロールラインが前記テスト結果キャリアの前記画像において存在しないと判定することと、
コントロールラインが前記テスト結果キャリアの前記画像において存在しないというエラーメッセージを提供することと、をさらに含む、
請求項16に記載のシステム。
【請求項20】
前記動作は、
前記テスト結果キャリアの前記画像におけるサンプルウェルの位置を判定することと、
前記テスト結果キャリアの前記画像における結果ウェルの位置を判定することと、
前記テスト結果キャリアの前記画像において、前記サンプルウェルの前記位置が前記結果ウェルよりも上にあると判定することと、
前記テスト結果キャリアの前記画像を反転させることと、をさらに含む、
請求項16に記載のシステム。
【請求項21】
1つまたは複数のプロセッサによって実行される診断テスト結果の画像をキャプチャする方法であって、
画像キャプチャデバイスを用いてテスト結果キャリアの画像を取得することと、
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像における画像フィーチャを判定することと、
前記1つまたは複数のプロセッサが、前記画像フィーチャを用いて前記画像キャプチャデバイスに対する前記テスト結果キャリアの位置決めを検証することと、
前記画像キャプチャデバイスに対する前記テスト結果キャリアの前記位置決めの検証によっては、前記テスト結果キャリアを含む画像をキャプチャすることと、を含む方法。
【請求項22】
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像をキャプチャする前に、前記テスト結果キャリアの平面が前記画像キャプチャデバイスの平面に十分に平行であると判定することをさらに含む、
請求項21に記載の方法。
【請求項23】
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像フィーチャから近接度関連パラメータを判定することと、
前記近接度関連パラメータの前記判定によっては、エラーメッセージを提供することと、をさらに含む、
請求項21に記載の方法。
【請求項24】
前記1つまたは複数のプロセッサが、前記画像キャプチャデバイスに対する前記テスト結果キャリアのアラインメントを判定することと、
前記画像キャプチャデバイスに対する前記テスト結果キャリアの前記アラインメントによっては、エラーメッセージを提供することと、をさらに含む、
請求項21に記載の方法。
【請求項25】
前記テスト結果キャリアのアラインメントの前記判定は、
前記テスト結果キャリアの主軸と、前記画像のy軸またはx軸のいずれかとの間の角度差を判定することを含む、
請求項24に記載の方法。
【請求項26】
前記1つまたは複数のプロセッサを用いて、前記テスト結果キャリアの前記画像についての露出パラメータを判定することと、
前記露出パラメータによっては、エラーメッセージを提供することと、をさらに含む、
請求項21に記載の方法。
【請求項27】
前記1つまたは複数のプロセッサが、前記露出パラメータが所望の露出パラメータを超えると判定することと、
前記1つまたは複数のプロセッサが、コントロールラインが前記テスト結果キャリアの前記画像において存在しないと判定することと、
コントロールラインが前記テスト結果キャリアの前記画像において存在しないというエラーメッセージを提供することと、をさらに含む、
請求項26に記載の方法。
【請求項28】
前記1つまたは複数のプロセッサが、コントロールラインが前記テスト結果キャリアの前記画像において存在しないと判定することと、
コントロールラインが前記テスト結果キャリアの前記画像において存在しないというエラーメッセージを提供することと、をさらに含む、
請求項21に記載の方法。
【請求項29】
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像におけるサンプルウェルの位置を判定することと、
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像における結果ウェルの位置を判定することと、
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像において、前記サンプルウェルの前記位置が前記結果ウェルの前記位置よりも上にあると判定することと、
前記テスト結果キャリアの前記画像を反転させることと、をさらに含む、
請求項21に記載の方法。
【請求項30】
命令を含む非一時的機械可読記憶媒体であって、前記命令は、機械の1つまたは複数のプロセッサによって実行されると、
画像キャプチャデバイスを用いてテスト結果キャリアの画像を取得することと、
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像における画像フィーチャを判定することと、
前記1つまたは複数のプロセッサが、前記画像フィーチャを用いて前記画像キャプチャデバイスに対する前記テスト結果キャリアの位置決めを検証することと、
前記画像キャプチャデバイスに対する前記テスト結果キャリアの前記位置決めの検証によっては、前記テスト結果キャリアを含む画像をキャプチャすることと、を含む動作を前記機械に実行させる、非一時的機械可読記憶媒体。
【請求項31】
前記動作は、
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像をキャプチャする前に、前記テスト結果キャリアの平面が前記画像キャプチャデバイスの平面に十分に平行であると判定することをさらに含む、
請求項30に記載の非一時的機械可読記憶媒体。
【請求項32】
前記動作は、
前記1つまたは複数のプロセッサが、前記画像キャプチャデバイスに対する前記テスト結果キャリアのアラインメントを判定することと、
前記画像キャプチャデバイスに対する前記テスト結果キャリアの前記アラインメントによっては、エラーメッセージを提供することと、をさらに含む、
請求項30に記載の非一時的機械可読記憶媒体。
【請求項33】
前記テスト結果キャリアのアラインメントの前記判定は、
前記テスト結果キャリアの主軸と、前記画像のy軸またはx軸のいずれかとの間の角度差を判定することを含む、
請求項30に記載の非一時的機械可読記憶媒体。
【請求項34】
前記動作は、
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像フィーチャから近接度関連パラメータを判定することと、
前記近接度関連パラメータの前記判定によっては、エラーメッセージを提供することと、をさらに含む、
請求項30に記載の非一時的機械可読記憶媒体。
【請求項35】
前記動作は、
前記1つまたは複数のプロセッサを用いて、前記テスト結果キャリアの前記画像についての露出パラメータを判定することと、
前記露出パラメータによっては、エラーメッセージを提供することと、をさらに含む、
請求項30に記載の非一時的機械可読記憶媒体。
【請求項36】
1つまたは複数のプロセッサと、
命令を記憶する1つまたは複数の機械可読媒体と、を含むシステムであって、前記命令は、前記1つまたは複数のプロセッサによって実行されると、
画像キャプチャデバイスを用いてテスト結果キャリアの画像を取得することと、
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像における画像フィーチャを判定することと、
前記1つまたは複数のプロセッサが、前記画像フィーチャを用いて前記画像キャプチャデバイスに対する前記テスト結果キャリアの位置決めを検証することと、
前記画像キャプチャデバイスに対する前記テスト結果キャリアの前記位置決めの検証によっては、前記テスト結果キャリアを含む画像をキャプチャすることと、を含む動作を前記システムに実行させる、システム。
【請求項37】
前記動作は、
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像をキャプチャする前に、前記テスト結果キャリアの平面が前記画像キャプチャデバイスの平面に十分に平行であると判定することをさらに含む、
請求項36に記載のシステム。
【請求項38】
前記動作は、
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像フィーチャから近接度関連パラメータを判定することと、
前記近接度関連パラメータの前記判定によっては、エラーメッセージを提供することと、をさらに含む、
請求項36に記載のシステム。
【請求項39】
前記動作は、
コントロールラインが前記テスト結果キャリアの前記画像において存在しないと判定することと、
コントロールラインが前記テスト結果キャリアの前記画像において存在しないというエラーメッセージを提供することと、をさらに含む、
請求項36に記載のシステム。
【請求項40】
前記動作は、
前記テスト結果キャリアの前記画像におけるサンプルウェルの位置を判定することと、
前記テスト結果キャリアの前記画像における結果ウェルの位置を判定することと、
前記テスト結果キャリアの前記画像において、前記サンプルウェルの前記位置が前記結果ウェルよりも上にあると判定することと、
前記テスト結果キャリアの前記画像を反転させることと、をさらに含む、
請求項36に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書において開示される主題は、一般に、テストストリップの分析を促進する機械および方法であって、そのような機械のソフトウェアにより構成された変形例およびそのような変形例に対する改善を含む、機械および方法の技術分野と、そのような機械が、テストストリップの分析を促進する他の機械と比較して改善される技術とに関する。具体的には、本開示は、分析のためにテストストリップの画像キャプチャを促進するためのシステムおよび方法に対処する。
【背景技術】
【0002】
ラテラル・フロー・アッセイ(LFA)は、液体サンプル内の分析対象物の濃度を検出するために使用される、紙ベースのプラットフォームの一種である。LFAテストストリップは、バイオ医薬品、農業、食品科学、および環境科学において普及するようになった、コスト効率の良い、単純で、迅速で、かつ携帯可能なテスト(例えば、LFAテストデバイス内に含有される)であり、患者に対して即時の診断結果を直接提供するためのそれらのテストの潜在力について相当な関心を引きつけているテストである。LFAベースのテストは、特異抗原および特異抗体の質的および定量的検出のために、ならびに遺伝子増幅産物のために、病院、医務室、および臨床検査室において広く使用される。LFAテストは、(例えば、妊娠テスト、マラリアテスト、COVID-19抗体テスト、COVID-19抗原テスト、または薬物検査において)広く普及している成長中の用途であり、ポイント・オブ・ケア(POC)用途および家庭用用途に良く適している。
【0003】
任意の特定の要素または動作の議論を容易に識別するために、参照符号における最上位桁(単数または複数)は、その要素が最初に導入される図番号を指す。
【図面の簡単な説明】
【0004】
【
図1】
図1は、本明細書に記載されるシステムおよび方法の一例において用いられ得るテストカセットを示す。
【
図2】
図2は、本明細書に記載されるシステムおよび方法の一例において用いられ得るテスト位置決めカードを示す。
【
図3】
図3は、一例において、テスト位置決めカード上に位置決めされたテストカセットの画像をキャプチャする方法を示すフローチャートである。
【
図4】
図4は、別の例において、テストカセットの画像をキャプチャする方法を示すフローチャートである。
【
図5】
図5は、
図3または
図4を参照して上述した方法を用いてコンピューティングデバイスによってキャプチャされた画像を検証する方法を示すフローチャートである。
【
図6】
図6は、例示的な実施形態による、本開示が実装され得るソフトウェアアーキテクチャを示すブロック図である。
【
図7】
図7は、いくつかの例示的な実施形態による、本明細書で説明する方法のうちの任意の1つまたは複数を機械に実行させるために命令セットが実行され得るコンピュータシステムの形態の機械の概略図である。
【発明を実施するための形態】
【0005】
例示的な方法(例えば、アルゴリズム)は、診断テストストリップ(例えば、LFAテストストリップ)の画像キャプチャを促進し、例示的なシステム(例えば、特殊用途ソフトウェアによって構成された機械)は、そのような画像キャプチャを実行するように構成される。例は、可能なバリエーションを代表するものに過ぎない。特に明記されない限り、構造(例えば、モジュールなどの構造的構成要素)は、任意選択であり、組み合わされ、または細分化されてもよく、(例えば、手順、アルゴリズム、または他の機能における)動作は、順序が変わっても、または組み合わされ、もしくは細分化されてもよい。下記の説明では、解説の目的のために、様々な例示的な実施形態の完全な理解を提供するために、多くの具体的な詳細が述べられる。しかしながら、本主題がこれらの具体的な詳細なしに実施され得ることは、当業者には明らかであろう。
【0006】
診断テストは、LFAテストストリップを用いて実行され得る。これは、通常、指定されたコントロールライン領域およびテストライン領域を有する。診断テストストリップは、診断テストキャリアに含まれ得る。これは、LFAテストカセット(例えば、
図1に示されるテストカセット100)の形態をとり得る。LFAテストカセットは、典型的には、診断テスト装置内部に収容されたLFAテストストリップに適用されるサンプルを受容するための少なくとも1つのサンプルウェルを有する。典型的には、LFAテストカセットの指定されたサンプルウェルにサンプルを入れた後5~30分以内に結果を解釈することができる。テストストリップ上の視覚的インジケータとして現れる結果は、LFAテストストリップ上に現れるテスト結果ラインの有無を視覚的に判定することなどによって、訓練された医療関係者(HCP)が定性的に読み取ることができる。
【0007】
しかしながら、人間のHCPによる質的評価は、特に、視覚的に識別することが困難な薄いラインに対して、主観的で誤りを起こしやすいことがある。代わりに、例えば、ライン強度またはライン強度の他のインジケータを測定することなどによる、ラインの存在または不在の定量的評価は、薄いテスト結果ラインの正確な読み取りにとって、より望ましいことがある。完全なまたは部分的な定量的アプローチは、テスト結果ラインの強度または強さを直接定量化し、またはテスト結果ラインの定量化された強度または他の定量化された強さに基づいて、サンプル中の分析対象物の濃度を潜在的に決定することができる。LFAテストストリップの画像を獲得する専用ハードウェア・デバイスは、通常、ライン強さを決定するために比色分析を行うための画像処理ソフトウェアを含み、多くの場合、専用照明の制御、外部照明の除外、内蔵カメラと撮影中のLFAテストカセットとの完全なアラインメント、および適当に機能するための高価な機器およびソフトウェアに依拠する。より柔軟な、かつ、より安価なアプローチが有益であり得る。
【0008】
本明細書で説明する方法およびシステムは、スマートフォンカメラなどの標準的なカメラを用いて診断テスト結果領域を含むLFAテストカセットの画像をキャプチャするための技術を説明している。これは、次いで、コンピュータベースの読み取りおよび分析技法を用いることによってローカルまたはリモートで自動的に読み取られ、分析され得る。本明細書で説明される方法およびシステムは、ユーザが、専用の特殊ハードウェアを必要とせずに、周囲照明または標準光源(電話カメラに隣接するフラッシュまたはフラッシュライト等)の存在下で、標準画像キャプチャハードウェア(商品電話カメラ等)を用いて、テストカセットの高品質画像をキャプチャすることを可能にする。本明細書で説明される方法およびシステムは、一般人が、本明細書で開示されるテスト位置決めカードの補助を得て、カメラ付きスマートフォンのみを使用して、適切にアラインメントが行われたテストカセットの画像をキャプチャすることを可能にする。
【0009】
高品質でアラインメントが行われたテストカセットの画像が取得されると、本明細書において説明される方法およびシステムはまた、テストストリップ画像の分析を実行してテスト結果を判定する前に、取得されたテストカセット画像に対する自動品質制御の実行を可能にして、テストストリップ/結果ウェルが良好に照明され、十分に高解像度であり、適切に向いていることを確実にする。画像品質が十分でない場合、エンドユーザは適切に警告され、画像を再キャプチャするように促される。
【0010】
一実施例では、画像がキャプチャされると、テストストリップは、「LFAテストストリップのニューラルネットワーク分析(Neural Network Analysis of LFA Test Strips)」と題された2020年7月8日出願の米国特許仮出願第63/049,213号に説明されるように分析され、その開示は、具体的に説明されているかのように本明細書に組み込まれる。
【0011】
図1は、本明細書に記載される方法およびシステムの一例において用いられ得るテストカセット100を示す。診断テスト結果キャリアの一例であるテストカセット100は、サンプルウェル104および結果ウェル106が内部に画定されたハウジング102を含む。結果ウェル106は、テストストリップ108を観察可能とする開口部を画定するとともに、サンプルウェル104は、テストストリップ108の一端へのアクセスを提供する。当然ながら、ハウジングの有無にかかわらず、様々な形状およびサイズで診断テスト結果を提示する様々な構成が本明細書で利用され得ることが理解されるであろう。本明細書に開示される方法およびシステムは、複数のサンプルおよび結果ウェルまたは他の幾何学的構成を有する2つ以上のテストストリップを収容することができる、テストカセット設計における幅広いバリエーションに等しく適用可能である。
【0012】
テストカセット100の使用において、液体生体サンプルが、サンプルウェル104に(したがって、テストストリップの一端上に)配置される。これは、次いで、テストストリップ108に沿ってハウジング102を通って流れる。これにより、本技術分野で知られているように、テストストリップ108が生体サンプルに曝される。テストストリップ108を生体サンプルに曝すことにより、テストの性質および生体サンプルの内容物によっては、1つ以上の視覚的結果マーカが結果ウェル106においてテストストリップ108上に現れる。典型的な実装形態では、テストストリップ108は、コントロールライン110を含む。コントロールライン110は、生体サンプルの内容物にかかわらず、生体サンプルがテストストリップ108のテスト領域を通過した後にコントロールライン110に到達するときに視認可能となる。
【0013】
図2は、テストカセット100のアラインメントを行うために用いられる、一例によるテスト位置決めカード200を示す。テスト位置決めカード200は、紙または厚紙のシート202上に印刷されている。テスト位置決めカード200は、複数の基準マーカ204(例えば基準マーカ204a~204d)と、テストカセット100の外周に形状が概ね対応するガイド輪郭206とを含む。テスト位置決めカード200はまた、テスト位置決めカード200の使用においてユーザをガイドするための命令208および命令210を含んでもよい。使用時には、テストカセット100がテスト位置決めカード200上に配置されることにより、テストストリップ108を含む画像のキャプチャを容易にする。画像は、例えば、カメラを有するスマートフォンによってキャプチャされてもよいが、任意の適切なコンピューティングデバイス(例えば、
図7を参照して以下で説明されるコンピューティングデバイス700)が用いられてもよい。
【0014】
図示された例における基準マーカ204は、輪郭206の周りの矩形上に配置された4つのQRコード(登録商標)である。4つのQRコードが示されているが、本明細書の目的の全てまたは多くは、異なるタイプの基準マーカまたは異なる数の基準マーカの使用によって満たされてもよいことが理解されるであろう。例えば、テスト位置決めカード200に向けられたコンピューティングデバイス700に対するテスト位置決めカード200の相対的な傾きは、3つの離間した基準マーカを含む(コンピューティングデバイス700によって生成された)テスト位置決めカード200の画像から判定され得る。
【0015】
基準マーカ204のサイズおよび関係は既知であるので、コンピューティングデバイス700に対するテスト位置決めカード200の位置(したがって、輪郭206内に位置決めされるテストカセット100の位置)は、画像フレームにおける各基準マーカ204のサイズから、または画像フレームにおける基準マーカ204間の距離から評価することができる。基準マーカ間の距離、または基準マーカのサイズが特定の許容範囲内にあることをチェックすることによって、テスト位置決めカード200がコンピューティングデバイス700に十分に近く、かつ、画像フレームの平面(またはテスト位置決めカード200の画像をキャプチャするために用いられている画像センサの平面)に十分に平行であると判定され得る。
【0016】
基準マーカ204a~204dはまた、互いに異なっていてもよい(例えば、異なるデータまたは情報を含む)。これは、テスト位置決めカード200の向きが、画像フレームにおける互いに異なる基準マーカ204の相対位置から決定されることを可能にする。例えば、基準マーカ204aが画像フレームにおける左上以外の任意の相対位置で検出された場合、ユーザにカードを適切に回転させるように促す出力をコンピューティングデバイス700のディスプレイ上に提供するなど、適切なステップが行われ得る。代替的に、必要であれば(最終的に重要なのは画像フレームにおけるテストカセット100の向きであり、テスト位置決めカード200の向きではないため)、コンピューティングデバイスは、任意の分析を実行する前に、取得された画像を自動的に反転させてもよい。本明細書で論じられるような視覚的プロンプトまたはエラーメッセージの代わりに、またはそれに加えて、コンピューティングデバイス700は、例えば、可聴プロンプトまたはエラーメッセージを提供してもよい。
【0017】
さらに、基準マーカ204の配置は既知であるので、画像センサまたは画像フレームに対するテスト位置決めカード200の回転アラインメントも判定することが可能であるとともに、テスト位置決めカード200の画像センサに対するアラインメントが不適切である場合、適切なステップが行われてよい。すなわち、基準マーカ204aが左上位置にあってテスト位置決めカード200の向きがほぼ正しいが、テスト位置決めカード200は画像フレームにおいて左または右に傾斜している場合、ユーザにカードの傾斜をなくす(straighten)ように促す出力がコンピューティングデバイス700のディスプレイ上に提供され得る。
【0018】
以下でより詳細に説明するように、テストカセット100を含む静止画像のキャプチャは、テスト位置決めカード200がコンピューティングデバイス700に対して適切に位置決めされ、かつ、テストカセット100がテスト位置決めカード200上に適切に位置決めされたときに行われる。複数の制御パラメータのうちの1つは、コンピューティングデバイス700からテスト位置決めカード200の距離である。テスト位置決めカード200が近すぎる場合、画像フレームは焦点が合っていない可能性がある。また、テスト位置決めカード200が遠すぎる場合、テストストリップ108に対応する画像フレームのうちの部分は、その分析を可能にするのに十分な解像度または品質ではない可能性がある。
【0019】
テストカード上の基準マーカ204間の間隔は、コンピューティングデバイス700がテスト位置決めカード200に近すぎる場合に、基準マーカ204の全ては画像フレームに現れないように選択される。そのような場合、コンピューティングデバイス700をテスト位置決めカード200からさらに離すようにユーザに指示するユーザプロンプトが生成され得る。この点に関して、複数の基準マーカ204の矩形配置のアスペクト比は、画像フレームのアスペクト比、または、スマートフォン表示画面のアスペクト比、または、スマートフォンアプリにおける表示ウィンドウのアスペクト比(例えば、ポートレートモードで9:16または3:4)に概ね対応するように選択される。テスト位置決めカード200と、コンピューティングデバイス700上のテスト位置決めカードの画像の表示との間において、アスペクト比を概ね対応させることによって、自然で視覚的なアラインメントの指示(cue)がユーザに提供される。すなわち、ユーザとしては、4つの基準マーカ204が概してコンピューティングデバイス700のディスプレイまたはディスプレイウィンドウの4つの角に現れるように、コンピューティングデバイス700を位置決めすることは理に適う。
【0020】
テスト位置決めカード200がコンピューティングデバイス700から離れ過ぎているか否かは、2つ以上の基準マーカ204間の距離から、または基準マーカ204のうちの1つ以上のサイズから判定することができる。2つの識別された基準マーカ204(例えば、基準マーカ204aおよび基準マーカ204b)間の距離が所定の閾値よりも短い場合、テスト位置決めカードがコンピューティングデバイス700から好ましい距離よりも遠いことを示している。このような場合、コンピューティングデバイス700をテスト位置決めカード200に近づけるようにユーザに命令するユーザプロンプトが生成され得る。
【0021】
同様に、2つの識別された基準マーカ204(例えば、基準マーカ204aおよび基準マーカ204b)間の距離が所定の閾値よりも長い場合、コンピューティングデバイス700がテスト位置決めカード200に好ましい距離よりも近いことを示している。このような場合、コンピューティングデバイス700をテスト位置決めカード200から遠ざけるようにユーザに命令するユーザプロンプトが生成され得る。
【0022】
輪郭206は、テストカセット100をテスト位置決めカード200上に位置決めおよびアラインメントを行うための視覚的ガイドをユーザに提供する。図から分かるように、輪郭206の長さおよび幅は、テストカセット100の輪郭または外周に対応する略矩形形状を画定する。ユーザは、その中にテストカセット100を配置することができる。次いで、コンピューティングデバイス700は、画像フレームに対してテストカセット認識を実行することにより、テスト位置決めカード200上に配置されたテストカセット100を検出することができる。そして、テスト位置決めカード200上のテストカセット100の正しい位置決めおよびアラインメントを検証することができる。テストカセットが検出されない場合、またはテストカセット100のアラインメントが不適切である場合、適切な警告を生成することによりユーザに警告することができる。
【0023】
画像フレームにおけるテストカセット100の向きは、既知の画像処理技術を用いることにより判定することができる。一例では、テスト位置決めカード200に対するテストカセット100の位置決めは、基準マーカ204から決定されるテスト位置決めカード200の主軸に対する、検出されたテストカセット100の主軸の角度を計算することによって判定される。指定された許容範囲内で正しくテストカセット100の位置決めまたはアラインメントが行われていない場合、テスト位置決めカード200上において正しくテストカセット100のアラインメントを行うようにユーザに命令するユーザプロンプトを、コンピューティングデバイス700の表示画面上に提供可能である。
【0024】
テスト位置決めカード200を撮影するために用いられているコンピューティングデバイス700が正しく向いているか否か(すなわち、テスト位置決めカード200およびテストカセット100に対して比較的平行であるか否か)は、コンピューティングデバイス700によって観察される画像ストリームにおける3つ以上の基準マーカ204の場所によって判定することもできる。例えば、4つの基準マーカの検出された場所とテスト位置決めカード200の既知の寸法との間のホモグラフィ変換を判定することによって、カメラ姿勢を判定することによりコンピューティングデバイス700姿勢を判定するための標準的な画像処理およびコンピュータビジョン技法が使用され得る。次いで、テスト位置決めカード200に対するカメラまたはコンピューティングデバイス700の判定された姿勢を用いることを通じて、テストカセット100の適切な正面撮影を達成するためにコンピューティングデバイス700を正しく位置決めするようにユーザをガイドすることができる。
【0025】
図示された例では、テスト位置決めカード200は白色である。これにより、キャプチャされるテストカセット100の画像が、暗い背景を補償しようとする自動露出アルゴリズムに起因して、見えなくなること(being washed out)または過度に露出されることが防止される。コンピューティングデバイス700は、通常、フラッシュまたはフラッシュライトを有し、これは、テストカセット100の静止画像がキャプチャされるときはいつでも起動され得る。これは、テストカセット100の一貫した照明を提供するため、ならびに周囲照明に存在し得る影を低減または排除するために行われ得る。
【0026】
示されているように、テスト位置決めカード200は、「この側を上にしてテストをスキャンする」旨の命令208および「ここに高速テストを配置する」旨の命令210等の種々のテキストまたは記号命令を含んでいてもよい。
【0027】
図3は、一例において、テスト位置決めカード200上に正しく位置決めされたテストカセット100の正面画像をキャプチャする方法を示すフローチャートである。そのようなフローチャートの他の変形が実現可能であるとともに、課され得る異なる撮影制約を満たすように容易に実装され得る。本方法は、コンピューティングデバイスのユーザが診断テスト結果画像をキャプチャするためのソフトウェアアプリケーションを起動するとともに画像キャプチャオプションを選択した後に開始する。一例におけるコンピューティングデバイスは、1つまたは複数の画像入力構成要素(例えば、1つまたは複数のカメラ)およびディスプレイを有するスマートフォンまたは他のポータブルデバイスである。ソフトウェアアプリケーションは、コンピューティングデバイスの1つまたは複数のプロセッサ上で実行する命令を含み得る。適切なコンピューティングデバイスの一例は、
図7を参照して以下で説明されるコンピューティングデバイス700である。
【0028】
ソフトウェアアプリケーションは、通常、コンピューティングデバイス700のディスプレイ上に、診断テスト結果の画像をキャプチャするオプションを含むユーザインターフェースを提供する。ユーザが画像キャプチャオプションを選択すると、ソフトウェアアプリケーションは、適切なカメラオプション、モードまたはレンズ選択を設定する。一例では、ソフトウェアアプリケーションは、標準カメラ(コンピューティングデバイス700が複数のカメラを有する場合)を選択するとともに、ズームまたは他の画像エンハンスメントを伴わない標準モードを指定することによって、互いに異なるコンピューティングデバイス700によってキャプチャされた画像が可能な限り均一であることを保証しようとする。コンピューティングデバイス700の一例は、
図7を参照して以下で説明されるコンピューティングデバイス700である。
【0029】
ソフトウェアアプリケーションにおいて画像キャプチャモードが起動されると、画像入力構成要素によってキャプチャされた画像のフィードがソフトウェアアプリケーションに提供される。画像フィードは、通常、複数の画像フレームからなるシーケンスを含む。一例では、画像フィードは、コンピューティングデバイス700のカメラ(または他の画像入力構成要素)から受信されたビデオストリームを含む。画像フィードがコンピューティングデバイス700のディスプレイ上に示されることにより、ユーザがコンピューティングデバイス700をテスト位置決めカード200に向けるのを支援する。この時点で、ユーザは、テストカセット100をテスト位置決めカード200上に位置決めして、コンピューティングデバイス700のカメラをテストカセット100に向けている可能性が高い。方法は、ソフトウェアアプリケーションが、基準マーカ204(例えば、QRコード(登録商標))が画像フィードにおいて検出されるか否か、およびこれがテスト位置決めカード200に関連付けられた複数の基準マーカのうちの1つであるか否かを判定する、動作302で開始する。ソフトウェアアプリケーションは、基準マーカ204が検出されるまで、またはユーザが画像キャプチャモードをキャンセルするまで、テスト位置決めカード200に関連付けられた基準マーカ210を検出しようと試み続ける。不適切な基準マーカがソフトウェアアプリケーションによって検出された場合、適切なエラーメッセージをユーザに提供することができる。
【0030】
適切な基準マーカ204が動作302で検出されると、方法は動作304に進む。ここで、ソフトウェアアプリケーションは、少なくとも3つの基準マーカ204が画像フィードにおいて見つかったか否かを判定する。見つかった基準マーカ204が3つ未満の場合、ソフトウェアアプリケーションは、エラーメッセージをコンピューティングデバイス700のディスプレイ上に表示する(動作306)。当該エラーメッセージは、テスト位置決めカード200上のすべての基準マーカ204が視認可能であるようコンピューティングデバイス700を位置決めするように、またはコンピューティングデバイス700をテスト位置決めカード200から離れるよう移動させるようにユーザに命令する。次いで、ソフトウェアアプリケーションは、少なくとも3つの基準マーカ204が検出されるか、またはユーザが画像キャプチャモードをキャンセルするまで、動作304において、画像フィードにおいて少なくとも3つの基準マーカ204が見つかるか否かを判定し続ける。
【0031】
動作304においてソフトウェアアプリケーションが少なくとも3つの適切な基準マーカ204を検出すると、方法は動作308および動作310に進む。ここで、ソフトウェアアプリケーションは、1つ以上の基準マーカのサイズまたは2つ以上の基準マーカ間の距離(複数であってもよい)に基づいて、撮影距離を測定する。スマートフォンなどのポータブルコンピューティングデバイスに含まれる標準的なカメラの視野は、十分に一貫している傾向があるので、撮影距離は、画像寸法のパーセンテージまたは分数として測定され得る。例えば、画像における基準マーカ204aおよび基準マーカ204bの場所同士のy軸値の差を画像高さと比較することができる。基準マーカ204が小さすぎるか、または2つの基準マーカ204間の距離が所定の閾値と比較して小さすぎる場合、動作310におけるテストは失敗するとともに、ソフトウェアアプリケーションは、動作312においてコンピューティングデバイス700のディスプレイ上にエラーメッセージを表示する。当該エラーメッセージは、コンピューティングデバイス700がテスト位置決めカード200から遠すぎること、および/またはユーザがコンピューティングデバイス700をテスト位置決めカード200のより近くに移動させる必要があることを示す。
【0032】
テスト位置決めカード200がコンピューティングデバイス700から離れ過ぎていないことを判定することは、多くの異なる方法で達成され得ることが理解されよう。これは、例えば、それぞれの基準マーカの場所のx値およびy値の両方を用いることにより2つの基準マーカ間の画像距離を判定することを含む。あるいは、x次元またはy次元のいずれかに沿って判定を行う前に、テスト位置決めカード200のアラインメントが十分に行われていることを検証することによって行われる。例えば、テスト位置決めカード200のアラインメントは、例えば、基準マーカ204aおよび基準マーカ204cの場所同士のy値を比較し、2つのy値の間の差がある閾値未満であることを検証することによって検証することができる。
【0033】
テスト位置決めカード200の位置決めをチェックするための特定の閾値は、過度に重要ではなく、設計上の選択の問題である。許容可能な値は、実験によって特定の実装に対して容易に決定することができる。
【0034】
通常、ソフトウェアアプリケーションが、コンピューティングデバイス700がテスト位置決めカード200から遠すぎるか否かをチェックすることが必要であるに過ぎない。その理由は、コンピューティングデバイス700がテスト位置決めカード200に近すぎる場合、少なくとも3つの視認可能な基準マーカについての動作304におけるテストが失敗するからである。しかしながら、他の実装形態では、上述したように、テストカセット100のクローズアップ撮影を制限するようなチェックを含めることもできる。ソフトウェアアプリケーションは、コンピューティングデバイス700がテスト位置決めカード200から適切な距離になるまで、またはユーザが画像キャプチャモードをキャンセルするまで、動作308の測定および動作310の判定を継続する。
【0035】
動作310において、ソフトウェアアプリケーションが、コンピューティングデバイス700が十分な距離にあると判定すると、ソフトウェアアプリケーションは、テスト位置決めカード200の平面と画像フィードにおける画像の平面との間の対応(すなわち、撮影を実行するために用いられるカメラの相対的な姿勢)を判定する(動作314)。すなわち、テスト位置決めカードの平面は、コンピューティングデバイス700の画像平面または関連する平面と比較される。これは、少なくとも3つの基準マーカ204の間の距離を互いに比較するソフトウェアアプリケーションによって行われる。あるいは、少なくとも3つの基準マーカ204の相対的なサイズを互いに比較することによって行われる。あるいは、撮影平面内の基準マーカの検出された場所を結合することによって形成される、四辺形(4つの基準マーカが検出される)または三角形(3つの基準マーカが検出される)の2つの辺の間に形成される角度を計算することによって行われる。
【0036】
動作310に関して、距離またはサイズは、画像寸法に関して判定され得る。一例では、コンピューティングデバイス700に対するテスト位置決めカード200のピッチ角(pitch)は、基準マーカ204aと基準マーカ204cとの間の水平距離と、基準マーカ204bと基準マーカ204dとの間の水平距離とを比較することによって評価することができる。差が所定の閾値より大きい場合、テスト位置決めカード200はコンピューティングデバイス700に対して十分に平行ではない。同様に、カードのロール角(roll)は、基準マーカ204aと基準マーカ204bとの間の距離と、基準マーカ204cと基準マーカ204dとの間の垂直距離とを比較することによって評価することができる。差が所定の閾値より大きい場合、この場合も、テスト位置決めカード200はコンピューティングデバイス700に対して十分に平行ではない。また、ソフトウェアアプリケーションは、標準的な画像処理技術を用いることによって、テスト位置決めカード200上の基準マーカ204の場所を用いて、カメラ姿勢(ロール角、ピッチ角、および相対的な場所)を判定することができる。
【0037】
コンピューティングデバイス700とテスト位置決めカード200とが十分に平行でないと動作316において判定された場合、ソフトウェアアプリケーションは、動作318において、コンピューティングデバイス700のディスプレイ上にエラーメッセージを表示する。当該エラーメッセージは、コンピューティングデバイス700がテスト位置決めカード200に対して平行でないことを示す。
【0038】
ソフトウェアアプリケーションは、コンピューティングデバイス700がテスト位置決めカード200に対して十分に平行になるまで、またはユーザが画像キャプチャモードをキャンセルするまで、動作314の測定および動作316の判定を継続する。
【0039】
動作316において、ソフトウェアアプリケーションが、コンピューティングデバイス700が十分に平行であると判定すると、ソフトウェアアプリケーションは、動作320において、画像フレームにおいてテストカセット100の存在を検出しようと試みる。これは、既知の方法でソフトウェアアプリケーションによって実行される視覚的オブジェクト認識および比較によって、あるいは、識別された複数のテストカセット100を用いた画像セットに対して訓練された機械学習方式を通じて行われる。動作320においてテストカセット100が検出されない場合、動作322におけるテストは失敗するとともに、ソフトウェアアプリケーションは、動作324においてコンピューティングデバイス700のディスプレイ上にエラーメッセージを表示する。当該エラーメッセージは、テストカセット100が存在しないことを示すとともに、テストカセット100を輪郭206内に配置するようにユーザに促す。ソフトウェアアプリケーションは、テストカセット100が検出されるか、またはユーザが画像キャプチャモードをキャンセルするまで、動作320におけるテストカセット100の検出の試行および動作322の判定を継続する。
【0040】
動作322において、ソフトウェアアプリケーションが画像フレーム(複数であってもよい)においてテストカセット100を検出すると、ソフトウェアアプリケーションは、動作326において、検出されたテストカセット100が基準マーカ204に対して画定された境界内に位置決めされているか否かを判定する。これは、一例では、(コーナー検出画像処理技術を用いて検出された)テストカセット100の各角が基準マーカ204の外側角内にあることを保証することによって行われるが、異なる境界が指定され得ることが理解されよう。この点に関して、輪郭206は、通常、動作326においてソフトウェアアプリケーションによって用いられる境界よりも厳密な境界を画定する。これは、輪郭206内に厳密にはない、成功とされる配置の変動を許容する。輪郭206は、主に、ユーザのための視覚的ガイドとしての役割を果たす。動作326のテストにおいて用いられる境界内にテストカセット100がない場合、ソフトウェアアプリケーションは、動作328においてコンピューティングデバイス700のディスプレイ上にエラーメッセージを表示する。当該エラーメッセージは、テストカセット100が正しく位置決めされていないことを示すとともに、テストカセット100を輪郭206内に配置するようにユーザに促す。ソフトウェアアプリケーションは、テストカセット100が正しく位置決めされるまで、またはユーザが画像キャプチャモードをキャンセルするまで、動作326において、正しく位置決めされたテストカセット100の検出の試行を継続する。
【0041】
ソフトウェアアプリケーションが、動作326におけるように、テストカセット100がテスト位置決めカード200上に正しく配置されていることを検証した後、ソフトウェアアプリケーションは、動作330において、検出されたテストカセット100が垂直に位置決めされているか否かを判定する。これは、一例では、テストカセット100の検出された角から判定される、画像フレームにおけるテストカセット100の角度を、テスト位置決めカード200の垂直軸または画像フレームのy軸のいずれかと比較することによって行われる。2つの角度の差が許容範囲(例えば、+/-30度)内にない場合、ソフトウェアアプリケーションは、動作332において、コンピューティングデバイス700のディスプレイ上にエラーメッセージを表示する。当該エラーメッセージは、テストカセット100が垂直でないことを示すとともに、ユーザにテストカセット100を調整すること、または傾斜をなくすことを促す。ソフトウェアアプリケーションは、テストカセット100が正しく位置決めされるまで、またはユーザが画像キャプチャモードをキャンセルするまで、動作330において、正しくアラインメントが行われたテストカセット100の検出の試行を継続する。
【0042】
ソフトウェアアプリケーションが、動作330において、画像におけるテストカセット100が十分に垂直であることを検出すると、ソフトウェアアプリケーションは、動作332における画像キャプチャステップに進む。ここで、静止画像が画像フィードからキャプチャされる。一例では、コンピューティングデバイス700、テスト位置決めカード200、およびテストカセット100の位置が、ユーザによるコンピューティングデバイス700の追加の入力または操作を要求することによって変更される可能性を低減するために、ソフトウェアアプリケーションは、
図3のフローチャートにおける要件が満たされると、画像を自動的にキャプチャしてもよい。これは、
図3の全ての要件が満たされるとすぐに行われてもよい。あるいは、ソフトウェアアプリケーションは、ディスプレイ上に関連メッセージ、例えば、「静止したまま、画像キャプチャを・・・にしてください」および画像キャプチャまでの「3、2、1」のカウントダウンを表示してもよい。
【0043】
画像が自動的にキャプチャされる場合、ソフトウェアアプリケーションは、カメラからのビデオフレームの連続ストリームを、許容基準を満たすものを観察するまで検査するだけでよい。ソフトウェアアプリケーションは、次いで、写真を撮る代わりに、または別個の画像キャプチャステップを開始する代わりに、そのフレームを用い得る。
【0044】
互いに異なるコンピューティングデバイス700にわたって、互いに異なる状況(例えば周囲照明)下で、合理的に一貫した画像キャプチャを容易にするために、ソフトウェアアプリケーションは、通常、コンピューティングデバイス700のフラッシュを可能とする。別様には、ソフトウェアアプリケーションは、コンピューティングデバイス700が、テストカセット100およびテスト位置決めカード200の画像のキャプチャのための露出を設定することを可能とする。一例では、コンピューティングデバイス700のフラッシュは、ソフトウェアアプリケーションによって、画像キャプチャ時に起動するように設定される(オンにされる)。別の例では、フラッシュ/フラッシュライトは、例えば、ソフトウェアアプリケーションが、全ての要件が満たされた直後に自動的にビデオフィードからフレームをキャプチャしようとする場合、時間の一部または全てにわたって一定に照明される。
【0045】
図3における判定は、明確にするために逐次的に説明されているが、ソフトウェアアプリケーションは、条件の各々を継続的に監視するとともに、以前に満たされた条件が後に満たされなくなった場合、状況を正すために適切なステップがとられることも理解されよう。例えば、動作310におけるテストに合格した後に、コンピューティングデバイス700がテスト位置決めカード200から離れるように動かされたことにより、動作310におけるテストが失敗した場合、動作312のエラーメッセージが表示されるとともに画像はキャプチャされない。
【0046】
動作334において、テスト位置決めカード200上に位置決めされたテストカセット100の静止画像がキャプチャされた後、方法は、
図5に示されるように継続する。
【0047】
図4は、別の例において、テストカセット100の正面画像をキャプチャする方法を示すフローチャートである。そのようなフローチャートの他の変形が実現可能であるとともに、課され得る異なる撮影制約を満たすように容易に実装され得る。本方法は、コンピューティングデバイスのユーザが診断テスト結果画像をキャプチャするためのソフトウェアアプリケーションを起動するとともに画像キャプチャオプションを選択した後に開始する。一例におけるコンピューティングデバイスは、1つまたは複数の画像入力構成要素(例えば、1つまたは複数のカメラ)およびディスプレイを有するスマートフォンまたは他のポータブルデバイスである。ソフトウェアアプリケーションは、コンピューティングデバイスの1つまたは複数のプロセッサ上で実行する命令を含み得る。適切なコンピューティングデバイスの一例は、
図7を参照して以下で説明されるコンピューティングデバイス700である。
【0048】
ソフトウェアアプリケーションは、通常、コンピューティングデバイス700のディスプレイ上に、診断テスト結果の画像をキャプチャするオプションを含むユーザインターフェースを提供する。ユーザが画像キャプチャオプションを選択すると、ソフトウェアアプリケーションは、適切なカメラオプション、モードまたはレンズ選択を設定する。一例では、ソフトウェアアプリケーションは、標準カメラ(コンピューティングデバイス700が複数のカメラを有する場合)を選択するとともに、ズームまたは他の画像エンハンスメントを伴わない標準モードを指定することによって、互いに異なるコンピューティングデバイス700によってキャプチャされた画像が可能な限り均一であることを保証しようとする。コンピューティングデバイスの一例は、
図7を参照して以下で説明されるコンピューティングデバイス700である。
【0049】
ソフトウェアアプリケーションにおいて画像キャプチャモードが起動されると、画像入力構成要素によってキャプチャされた画像のフィードがソフトウェアアプリケーションに提供される。画像フィードは、通常、複数の画像フレームからなるシーケンスを含む。一例では、画像フィードは、コンピューティングデバイス700のカメラ(または他の画像入力構成要素)から受信されたビデオストリームを含む。画像フィードがコンピューティングデバイス700のディスプレイ上に示されることにより、ユーザがコンピューティングデバイス700をテストカセット100に向けるのを支援する。方法は、ソフトウェアアプリケーションが、テストカセット100が画像フィードにおいて検出されるか否かを判定する、動作402で開始する。動作404において、テストカセット100がソフトウェアアプリケーションによって検出されない場合、動作406において、適切なエラーメッセージ(例えば、「テストカセットが検出されなかった」)がユーザに提供され得る。
【0050】
動作404においてソフトウェアアプリケーションによって実行される検出は、テストカセット100に特徴的な画像フィーチャの検出または抽出を含む。例えば、画像フレームにおけるテストカセット100のエッジ/辺またはテストカセット100の角は、標準的な画像処理技術を使用して検出することができる。さらに、基準マーカ(スペースの都合上可能であれば)または他の特徴的なマーキングを含むマーキングをテストカセット100上に設けることによって、テストカセット100を検出できるようにするとともに、画像フレームにおけるテストカセット100の位置を判定できるようにしてもよい。
【0051】
ソフトウェアアプリケーションが動作404においてテストカセット100を検出すると、方法は動作408および動作410に進む。ここで、ソフトウェアアプリケーションは、画像フレームから抽出されたテストカセット100の画像フィーチャに基づいて撮影距離を測定する。一例では、2つの検出された角の間の画像フレームにおける距離を判定することにより、高さまたは幅または対角線測定値を判定することができる。スマートフォンなどのポータブルコンピューティングデバイスに含まれる標準的なカメラの視野は、十分に一貫している傾向があるので、撮影距離は、画像寸法のパーセンテージまたは分数として測定され得る。
【0052】
測定された距離が所定の閾値と比較して大きすぎるか小さすぎる場合、動作410におけるテストは失敗するとともに、ソフトウェアアプリケーションは、動作412においてコンピューティングデバイス700のディスプレイ上にエラーメッセージを表示する。当該エラーメッセージは、コンピューティングデバイス700がテストカセット100に近すぎるか、テストカセット100から遠すぎること、および/またはユーザがコンピューティングデバイス700をテストカセット100からより遠くに、またはテストカセット100のより近くに移動させる必要があることを示す。
【0053】
テストカセット100がコンピューティングデバイス700から適切な距離にあることを判定することは、多くの異なる方法で達成され得ることが理解されよう。これは、例えば、画像における複数の角の場所のx値およびy値の両方を用いることにより2つ以上の角間の画像距離を判定することを含む。あるいは、x次元またはy次元のいずれかに沿って判定を行う前に、テストカセット100のアラインメントが十分に行われていることを検証することによって行われる。例えば、テストカセット100のアラインメントは、例えば、画像における2つの最も低い角または2つの最も高い角のいずれかのy値同士を比較し、2つのy値間の差がある閾値未満であることを検証することによって検証することができる。あるいは、テストカセット100のアラインメントは、テストカセット100の検出されたエッジの角度を判定することによって検証することができる。
【0054】
テストカセット100の位置決めをチェックするための特定の閾値は、過度に重要ではなく、設計上の選択の問題である。許容可能な値は、実験によって特定の実装に対して容易に決定することができる。
【0055】
ソフトウェアアプリケーションは、コンピューティングデバイス700がテストカセット100から適切な距離になるまで、またはユーザが画像キャプチャモードをキャンセルするまで、動作408の測定および動作410の判定を継続する。
【0056】
動作410において、ソフトウェアアプリケーションが、コンピューティングデバイス700が十分な距離にあると判定すると、ソフトウェアアプリケーションは、テストカセット100の平面と画像フィードにおける画像の平面との間の対応(すなわち、撮影を実行するために用いられるカメラの相対的な姿勢)を判定する(動作414)。すなわち、テストカセット100の平面は、コンピューティングデバイス700の画像平面または関連する平面と比較される。これは、テストカセット100の少なくとも3つの検出された画像フィーチャ(例えば、角)の間の距離を互いに比較するソフトウェアアプリケーションによって行われる。あるいは、撮影平面内の画像フィーチャの検出された場所を結合することによって形成される、四辺形(4つの画像フィーチャが検出される)または三角形(3つの画像フィーチャが検出される)の2つの辺の間に形成される角度を計算することによって行われる。
【0057】
動作410に関して、距離は、画像寸法に関して判定され得る。一例では、コンピューティングデバイス700に対するテストカセット100のピッチ角は、テストカセット100の2つの下側角の間の距離と、2つの上側角の間の距離とを比較することによって評価され得る。差が所定の閾値より大きい場合、テストカセット100はコンピューティングデバイス700に対して十分に平行ではない。同様に、テストカセット100のロール角は、テストカセット100の2つの左側角の間の距離と、2つの右側角の間の距離とを比較することによって評価され得る。この差が所定の閾値より大きい場合も、テストカセット100はコンピューティングデバイス700に対して十分に平行ではない。また、ソフトウェアアプリケーションは、標準的な画像処理技術を用いることによって、テストカセット100上の画像フィーチャの場所を用いて、カメラ姿勢(ロール角、ピッチ角、および相対的な場所)を判定することができる。
【0058】
コンピューティングデバイス700とテストカセット100とが十分に平行でないと動作416において判定された場合、ソフトウェアアプリケーションは、動作418において、コンピューティングデバイス700のディスプレイ上にエラーメッセージを表示する。当該エラーメッセージは、コンピューティングデバイス700がテストカセット100に対して平行でないことを示す。
【0059】
ソフトウェアアプリケーションは、コンピューティングデバイス700がテストカセット100に対して十分に平行なるまで、またはユーザが画像キャプチャモードをキャンセルするまで、動作414の測定および動作416の判定を継続する。
【0060】
ソフトウェアアプリケーションが、動作416においてコンピューティングデバイス700が十分に平行であると判定すると、ソフトウェアアプリケーションは、動作420において、検出されたテストカセット100が垂直に位置決めされているか否かを判定する。これは、一例では、テストカセット100の検出された角から判定される、画像フレームにおけるテストカセット100の角度を、画像フレームのy軸と比較することによって行われる。差が許容範囲(例えば、+/-30度)内にない場合、ソフトウェアアプリケーションは、動作422において、コンピューティングデバイス700のディスプレイ上にエラーメッセージを表示する。当該エラーメッセージは、テストカセット100が垂直でないことを示すとともに、ユーザにテストカセット100を調整すること、または傾斜をなくすことを促す。ソフトウェアアプリケーションは、テストカセット100が正しく位置決めされるまで、またはユーザが画像キャプチャモードをキャンセルするまで、動作420および動作422において、正しくアラインメントが行われたテストカセット100の検出の試行を継続する。
【0061】
ソフトウェアアプリケーションが、動作420において、画像におけるテストカセット100が十分に垂直であることを検出すると、ソフトウェアアプリケーションは、動作424における画像キャプチャステップに進む。ここで、静止画像が画像フィードからキャプチャされる。一例では、コンピューティングデバイス700およびテストカセット100の相対位置が、ユーザによるコンピューティングデバイス700の追加の入力または操作を要求することによって変更される可能性を低減するために、ソフトウェアアプリケーションは、
図4のフローチャートにおける要件が満たされると、画像を自動的にキャプチャしてもよい。これは、
図4の全ての要件が満たされるとすぐに行われてもよい。あるいは、ソフトウェアアプリケーションは、ディスプレイ上に関連メッセージ、例えば、「静止したまま、画像キャプチャを・・・にしてください」および画像キャプチャまでの「3、2、1」のカウントダウンを表示してもよい。
【0062】
画像が自動的にキャプチャされる場合、ソフトウェアアプリケーションは、カメラからのビデオフレームの連続ストリームを、許容基準を満たすものを観察するまで検査するだけでよい。ソフトウェアアプリケーションは、次いで、写真を撮る代わりに、または別個の画像キャプチャステップを開始する代わりに、そのフレームを用い得る。
【0063】
互いに異なるコンピューティングデバイス700にわたって、互いに異なる状況(例えば周囲照明)下で、合理的に一貫した画像キャプチャを容易にするために、ソフトウェアアプリケーションは、通常、コンピューティングデバイス700のフラッシュを可能とする。別様には、ソフトウェアアプリケーションは、コンピューティングデバイス700が、テストカセット100の画像のキャプチャのための露出を設定することを可能とする。一例では、コンピューティングデバイス700のフラッシュは、ソフトウェアアプリケーションによって、画像キャプチャ時に起動するように設定される(オンにされる)。別の例では、フラッシュ/フラッシュライトは、例えば、ソフトウェアアプリケーションが、全ての要件が満たされた直後に自動的にビデオフィードからフレームをキャプチャしようとする場合、時間の一部または全てにわたって一定に照明される。
【0064】
図4における判定は、明確にするために逐次的に説明されているが、ソフトウェアアプリケーションは、条件の各々を継続的に監視するとともに、以前に満たされた条件が後に満たされなくなった場合、状況を正すために適切なステップがとられることも理解されよう。例えば、動作410におけるテストに合格した後に、コンピューティングデバイス700がテストカセット100から離れるように動かされたことにより、動作410におけるテストが失敗した場合、動作412のエラーメッセージが表示されるとともに画像はキャプチャされない。
【0065】
動作424において、テストカセット100の静止画像がキャプチャされた後、方法は、
図5に示されるように継続する。
図5は、
図3または
図4を参照して上述した方法を用いてコンピューティングデバイス700によってキャプチャされた画像を検証する方法を示すフローチャートである。
図5に示す検証を実行する1つの理由は、
図3または
図4のテストに合格した後であるが画像がキャプチャされる前に、ユーザがコンピューティングデバイス700を移動させたかまたは移動させている可能性があるからである。
図5の方法は、一例ではソフトウェアアプリケーションによって実行されるが、キャプチャされた画像がさらなる分析のためにコンピューティングデバイス700からリモートデバイスに送信された後にリモートコンピューティングデバイスによって実行されてもよい。
【0066】
この方法は、ソフトウェアアプリケーションが、キャプチャされた画像の寸法および他のパラメータ(例えば、解像度)が正しいか否かを判定する動作502から始まる。これは追加の検証である。
図3または
図4を参照して上述したようにチェックが既に実行されているので、画像パラメータは許容可能な限界内にある可能性が高い。画像寸法および任意の他のパラメータが正しくない場合、ソフトウェアアプリケーションは、動作504において、コンピューティングデバイス700のディスプレイ上にエラーメッセージを表示し、ユーザに画像を再キャプチャするように促す。ソフトウェアアプリケーションは、どのように画像を撮影するのがよいかを示す命令をユーザに提供してもよく、また、短い遅延の後、必要に応じて、
図3の動作302または
図4の動作402に自動的に戻ってもよい。
【0067】
動作502において画像寸法が正しい場合、方法は動作506に進む。ここで、ソフトウェアアプリケーションは、既知の物体認識技術を使用して、または識別された複数のサンプルウェルの画像セットに対して訓練された機械学習スキームによって、テストカセット100のサンプルウェル104を検出しようと試みる。これは、サンプルウェル104が検出された場合、サンプルウェル104の場所および寸法を判定することを含む。動作506においてサンプルウェル104が検出されない場合、ソフトウェアアプリケーションは、動作508においてコンピューティングデバイス700のディスプレイ上にエラーメッセージを表示するとともに、ユーザに画像を再キャプチャするように促す。ソフトウェアアプリケーションは、どのように画像を撮影するのがよいかを示す命令をユーザに提供してもよく、また、短い遅延の後、必要に応じて、
図3の動作302または
図4の動作402に自動的に戻ってもよい。
【0068】
動作506においてサンプルウェル104が検出された場合、方法は動作510に進む。ここで、ソフトウェアアプリケーションは、既知の物体認識技術を使用して、または識別された複数の結果ウェルの画像セットに対して訓練された機械学習スキームによって、テストカセット100の結果ウェル106を検出しようと試みる。結果ウェル106が検出されると、結果ウェル106の場所が分かるか、または関連する場所パラメータを判定することができる。動作510において結果ウェル106が検出されない場合、ソフトウェアアプリケーションは、動作512においてコンピューティングデバイス700のディスプレイ上にエラーメッセージを表示するとともに、ユーザに画像を再キャプチャするように促す。ソフトウェアアプリケーションは、どのように画像を撮影するのがよいかを示す命令をユーザに提供してもよく、また、短い遅延の後、必要に応じて、
図3の動作302または
図4の動作402に自動的に戻ってもよい。
【0069】
結果ウェル106が動作510において検出される場合、結果ウェル106およびサンプルウェル104のキャプチャされた静止画像における垂直位置同士が、動作514において比較される。画像においてサンプルウェル104が結果ウェル106よりも上にある場合、画像は、結果ウェル106がサンプルウェル104よりも上にあるように、動作516において反転させられる。
【0070】
画像においてサンプルウェル104が結果ウェル106よりも下にある場合、方法は動作518に進む。ここで、ソフトウェアアプリケーションは、結果ウェル106の高さを決定するとともに、結果ウェル106の高さが許容限度内であるか否かを決定する。
図3または
図4を参照して上述したようにチェックが既に実行されているので、結果ウェルの高さが許容可能な限界内にある可能性が高い。したがって、このチェックは、テストカセット100の位置だけでなく、ソフトウェアアプリケーションによる結果ウェルの正しい検出のさらなる検証として役立つ。動作518の判定において、結果ウェル106の高さが許容可能な限度内にない場合、ソフトウェアアプリケーションは、動作520においてコンピューティングデバイス700のディスプレイ上にエラーメッセージを表示するとともに、ユーザに画像を再キャプチャするように促す。ソフトウェアアプリケーションは、どのように画像を撮影するのがよいかを示す命令をユーザに提供してもよく、また、短い遅延の後、必要に応じて、
図3の動作302または
図4の動作402に自動的に戻ってもよい。
【0071】
結果ウェル106の許容可能な高さが動作518で検証された場合、方法は動作522に進む。ここで、ソフトウェアアプリケーションは、キャプチャされた画像が露出不足であるか否か、または関連部分(例えば、結果ウェル106内の関心領域)が露出不足であるか否かをチェックする。画像の露出をチェックする任意の適切な方法を用いることができるが、一例では、関心領域内のピクセルのRGB値が所定の閾値と比較される。例えば、ピクセルのあるパーセンテージ(例えば30%)より多くが60未満のRGB値を有する場合、関心領域は露出不足であると見なされる。
【0072】
動作522における比較により、キャプチャされた画像が露出不足であることを明らかになった場合、ソフトウェアアプリケーションは、動作512において、コンピューティングデバイス700のディスプレイ上にエラーメッセージを表示する。当該エラーメッセージは、画像が露出不足であることを示すとともに、ユーザに画像を再キャプチャするよう促す。ソフトウェアアプリケーションは、どのように画像を撮影するのがよいかを示す命令をユーザに提供してもよく、また、短い遅延の後、必要に応じて、
図3の動作302または
図4の動作402に自動的に戻ってもよい。
【0073】
動作522において、キャプチャされた画像が露出不足でないと判定された場合、方法は動作524に進む。ここで、ソフトウェアアプリケーションは、キャプチャされた画像が露出過度であるか否かをチェックする。画像の露出をチェックする任意の適切な方法を用いることができるが、一例では、関心領域内のピクセルのRGB値が所定の閾値と比較される。例えば、ピクセルのあるパーセンテージ(例えば30%)より多くが240よりも大きいRGB値を有する場合、関心領域は露出が過度であると見なされる。動作524における比較によって、キャプチャされた画像が露出過度であることが明らかになった場合、方法は動作526に進む。ここで、ソフトウェアアプリケーションは、キャプチャされた画像においてコントロールライン110を検出しようと試みる。この検出は、検出された結果ウェル106またはテストストリップ108の関心領域において実行される。
【0074】
動作526においてコントロールライン110が検出された場合、ソフトウェアアプリケーションは、動作528においてコンピューティングデバイス700のディスプレイ上にエラーメッセージを表示する。当該エラーメッセージは、キャプチャされた画像が過度に露出されていることを示すとともに、ユーザに画像を再キャプチャするように促す。ソフトウェアアプリケーションは、どのように画像を撮影するのがよいかを示す命令をユーザに提供してもよく、また、短い遅延の後、必要に応じて、
図3の動作302または
図4の動作402に自動的に戻ってもよい。
【0075】
動作526においてコントロールライン110が検出されなかった場合、ソフトウェアアプリケーションは、動作528においてコンピューティングデバイス700のディスプレイ上にエラーメッセージを表示する。当該エラーメッセージは、コントロールラインが検出されなかったことを示す。そのような場合、テストカセット100はサンプルに曝されていなかった可能性がある。これについて、ソフトウェアアプリケーションは、動作530において、画像を再キャプチャするようにユーザに促してもよいし、あるいは、画像を再キャプチャするようにユーザに促す前にテストカセット100が正しく用いられていることを確認するようにユーザに促してもよい。ソフトウェアアプリケーションは、どのように画像を撮影するのがよいかを示す命令をユーザに提供してもよく、また、短い遅延の後、必要に応じて、
図3の動作302または
図4の動作402に自動的に戻ってもよい。
【0076】
動作524において、キャプチャされた画像が露出過度でないと判定された場合、方法は動作532に進む。ここで、ソフトウェアアプリケーションは、キャプチャされた画像においてコントロールライン110を検出しようと試みる。動作532においてコントロールライン110が検出されなかった場合、ソフトウェアアプリケーションは、動作528においてコンピューティングデバイス700のディスプレイ上にエラーメッセージを表示する。当該エラーメッセージは、コントロールラインが検出されなかったことを示す。そのような場合、テストカセット100はサンプルに曝されていなかった可能性がある。これについて、ソフトウェアアプリケーションは、画像を再キャプチャするようにユーザに促してもよいし、あるいは、画像を再キャプチャするようにユーザに促す前にテストカセット100が正しく用いられていることを確認するようにユーザに促してもよい。ソフトウェアアプリケーションは、どのように画像を撮影するのがよいかを示す命令をユーザに提供してもよく、また、短い遅延の後、必要に応じて、
図3の動作302または
図4の動作402に自動的に戻ってもよい。
【0077】
動作532においてコントロールライン110が検出された場合、動作534においてキャプチャされた画像が出力される。場合によっては、キャプチャされた画像は、診断テストストリップを分析および解釈するための既知の技法を用いてテストストリップ108を解釈するよう、ソフトウェアアプリケーションによって処理および分析される。他の場合には、キャプチャされた画像は、後の処理のためにローカルにまたはリモートに記憶され得るか、または分析のためにリモートサーバに送信され得る。他の場合には、テストストリップ108は、キャプチャされた画像から切り取られてもよいし、同様に、適宜または所望に応じて、分析、記憶、または送信されてもよい。
【0078】
図6は、本明細書で説明されるデバイスのうちの任意の1つまたは複数にインストールされ得るソフトウェアアーキテクチャ604を示すブロック
図600である。ソフトウェアアーキテクチャ604は、プロセッサ620、メモリ626、およびI/O構成要素638を含む機械602などのハードウェアによってサポートされる。この例では、ソフトウェアアーキテクチャ604は、各層が特定の機能を提供する層のスタックとして概念化することができる。ソフトウェアアーキテクチャ604は、オペレーティングシステム612、ライブラリ610、フレームワーク608、およびアプリケーション606などの層を含む。動作上、アプリケーション606は、ソフトウェアスタックを介してAPIコール650を呼び出し、APIコール650に応じたメッセージ652を受信する。
【0079】
オペレーティングシステム612は、ハードウェアリソースを管理し、共通のサービスを提供する。オペレーティングシステム612は、例えば、カーネル614、サービス616、およびドライバ622を含む。カーネル614は、ハードウェア層と他のソフトウェア層との間の抽象化層として機能する。例えば、カーネル614は、他の機能の中でも特に、メモリ管理、プロセッサ管理(例えば、スケジューリング)、構成要素管理、ネットワーキング、およびセキュリティ設定を提供する。サービス616は、他のソフトウェア層のための他の共通サービスを提供することができる。ドライバ622は、基礎となるハードウェアを制御すること、または基礎となるハードウェアとインターフェースすることを担う。例えば、ドライバ622は、ディスプレイドライバ、カメラドライバ、BLUETOOTH(登録商標)またはBLUETOOTH(登録商標)Low Energyドライバ、フラッシュメモリドライバ、シリアル通信ドライバ(例えば、ユニバーサルシリアルバス(USB)ドライバ)、WI-FI(登録商標)ドライバ、オーディオドライバ、電力管理ドライバなどを含むことができる。
【0080】
ライブラリ610は、アプリケーション606によって使用される低レベル共通インフラストラクチャを提供する。ライブラリ610は、メモリ割り当て機能、文字列操作機能、数学的機能などの機能を提供するシステムライブラリ618(例えば、標準Cライブラリ)を含むことができる。加えて、ライブラリ610は、メディアライブラリ等のAPIライブラリ624を含むことができる。メディアライブラリとは、例えば、Moving Picture Experts Group-4(MPEG4)、Advanced Video Coding(H.264またはAVC)、Moving Picture Experts Group Layer-3(MP3)、Advanced Audio Coding(AAC)、Adaptive Multi-Rate(AMR)オーディオコーデック、Joint Photographic Experts Group(JPEGまたはJPG)、またはPortable Network Graphics(PNG)などの様々なメディアフォーマットの提示および操作をサポートするライブラリである。この他、APIライブラリ624とは、グラフィックスライブラリ(例えば、ディスプレイ上のグラフィックスコンテンツにおいて2次元(2D)および3次元(3D)でレンダリングするために使用されるOpenGLフレームワーク)、データベースライブラリ(例えば、様々なリレーショナルデータベース機能を提供するSQLite)、ウェブライブラリ(例えば、ウェブブラウジング機能を提供するためのWebKit)等である。ライブラリ610はまた、多くの他のAPIをアプリケーション606に提供するために、多種多様な他のライブラリ628を含むことができる。
【0081】
フレームワーク608は、アプリケーション606によって用いられる高レベル共通インフラストラクチャを提供する。例えば、フレームワーク608は、様々なグラフィカルユーザインターフェース(GUI)機能、高レベルリソース管理、および高レベルロケーションサービスを提供する。フレームワーク608は、アプリケーション606によって用いられ得る広範囲の他のAPIを提供することができ、それらのうちのいくつかは、特定のオペレーティングシステムまたはプラットフォームに特有であり得る。
【0082】
例示的な実施形態では、アプリケーション606は、ホームアプリケーション636、連絡先アプリケーション630、ブラウザアプリケーション632、ブックリーダーアプリケーション634、ロケーションアプリケーション642、メディアアプリケーション644、メッセージングアプリケーション646、ゲームアプリケーション648、およびサードパーティアプリケーション640などの広範な種類の他のアプリケーションを含み得る。アプリケーション606は、プログラムに定義された機能を実行するプログラムである。オブジェクト指向プログラミング言語(例えば、Objective-C、Java(登録商標)、またはC++)または手続き型プログラミング言語(例えば、Cまたはアセンブリ言語)等の種々の様式で構造化された、種々のプログラミング言語が、アプリケーション606のうちの1つ以上を作成するために採用されてよい。特定の例では、サードパーティアプリケーション640(例えば、特定のプラットフォームのベンダ以外のエンティティによってANDROID(商標)またはIOS(商標)ソフトウェア開発キット(SDK)を用いて開発されたアプリケーション)は、IOS(商標)、ANDROID(商標)、WINDOWS(登録商標)Phone、または別のモバイルオペレーティングシステムなどのモバイルオペレーティングシステム上で実行されるモバイルソフトウェアであり得る。この例では、サードパーティアプリケーション640は、オペレーティングシステム612によって提供されるAPIコール650を呼び出して、本明細書で説明される機能を容易にすることができる。
【0083】
図7は、コンピューティングデバイス700の概略図であり、コンピューティングデバイス700に本明細書で説明される方法のうちの任意の1つまたは複数を実行させるための命令710(例えば、ソフトウェア、プログラム、アプリケーション、アプレット、アプリ、または他の実行可能コード)が実行され得る。例えば、命令710は、コンピューティングデバイス700に、本明細書で説明される方法のうちの任意の1つ以上を実行させ得る。命令710は、一般的なプログラムされていないコンピューティングデバイス700を、説明され図示された機能を説明された方法で実行するようにプログラムされた特定のコンピューティングデバイス700に変換する。コンピューティングデバイス700は、スタンドアロンデバイスとして動作してもよく、または他のマシンに結合(例えば、ネットワーク化)されてもよい。ネットワーク化された配置では、コンピューティングデバイス700は、サーバクライアントネットワーク環境におけるサーバマシンもしくはクライアントマシンとして、またはピアツーピア(もしくは分散)ネットワーク環境におけるピアマシンとして動作し得る。コンピューティングデバイス700は、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ(PC)、タブレットコンピュータ、ラップトップコンピュータ、ネットブック、セットトップボックス(STB)、PDA、エンターテイメントメディアシステム、携帯電話、スマートフォン、モバイルデバイス、ウェアラブルデバイス(例えば、スマートウォッチ)、スマートホームデバイス(例えば、スマートアプライアンス)、他のスマートデバイス、ウェブアプライアンス、ネットワークルータ、ネットワークスイッチ、ネットワークブリッジ、または、コンピューティングデバイス700によって行われるべきアクションを指定する命令710を順次または他の方法で実行することが可能な任意の機械を含んでもよいが、これらに限定されない。さらに、単一のコンピューティングデバイス700のみが図示されているが、「機械」という用語はまた、本明細書で説明される方法のうちの任意の1つまたは複数を実行するために命令710を個別にまたは共同で実行する機械の集合を含むと解釈されるものとする。
【0084】
コンピューティングデバイス700は、バス740を介して互いに通信するように構成され得る、プロセッサ704、メモリ706、およびI/O構成要素702を含み得る。例示的な実施形態では、プロセッサ704(例えば、中央処理装置(CPU)、縮小命令セットコンピューティング(RISC)プロセッサ、複合命令セットコンピューティング(CISC)プロセッサ、グラフィックス処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、ASIC、無線周波数集積回路(RFIC)、別のプロセッサ、またはそれらの任意の適切な組み合わせ)は、例えば、命令710を実行するプロセッサ708およびプロセッサ712を含んでもよい。「プロセッサ」という用語は、命令を同時に実行することができる2つ以上の独立したプロセッサ(「コア」と呼ばれることもある)を備えることができるマルチコアプロセッサを含むことが意図されている。
図7は複数のプロセッサ704を示すが、コンピューティングデバイス700は、シングルコアを有する単一のプロセッサ、複数のコアを有する単一のプロセッサ(例えば、マルチコアプロセッサ)、シングルコアを有する複数のプロセッサ、複数のコアを有する複数のプロセッサ、またはそれらの任意の組み合わせを含んでもよい。
【0085】
メモリ706は、メインメモリ714と、スタティックメモリ716と、記憶ユニット718とを含み、両方ともバス740を介してプロセッサ704にアクセス可能である。メインメモリ706、スタティックメモリ716、および記憶ユニット718は、本明細書で説明される方法または機能のうちの任意の1つまたは複数を具現化する命令710を記憶する。命令710はまた、コンピューティングデバイス700によるそれらの実行中に、メインメモリ714、スタティックメモリ716、記憶ユニット718における機械可読媒体720、プロセッサ704のうちの少なくとも1つにおいて(例えば、プロセッサのキャッシュメモリ)、またはそれらの任意の適切な組合せに、完全にまたは部分的に存在し得る。
【0086】
I/O構成要素702は、入力を受信し、出力を提供し、出力を生成し、情報を送信し、情報を交換し、測定値を捕捉する等のための多種多様な構成要素を含んでもよい。特定の機械に含まれる特定のI/O構成要素702は、機械のタイプに依存する。例えば、携帯電話などの携帯機器は、タッチ入力装置または他のそのような入力機構を含むことができるが、ヘッドレスサーバマシンは、そのようなタッチ入力装置を含まない可能性が高い。I/O構成要素702は、
図7に示されない多くの他の構成要素を含み得ることが理解されるであろう。様々な例示的実施形態において、I/O構成要素702は、出力構成要素726および入力構成要素728を含んでもよい。出力構成要素726は、視覚構成要素(例えば、プラズマディスプレイパネル(PDP)、発光ダイオード(LED)ディスプレイ、液晶ディスプレイ(LCD)、プロジェクタ、または陰極線管(CRT)などのディスプレイ)、音響構成要素(例えば、スピーカ)、触覚構成要素(例えば、振動モータ、抵抗機構)、他の信号発生器などを含み得る。入力構成要素728は、英数字入力構成要素(例えば、キーボード、英数字入力を受け取るように構成されたタッチスクリーン、フォトオプティカルキーボード、または他の英数字入力構成要素)、ポイントベースの入力構成要素(例えば、マウス、タッチパッド、トラックボール、ジョイスティック、運動センサ、または別のポインティング機器)、触覚入力構成要素(例えば、物理ボタン、タッチまたはタッチジェスチャの位置および/または力を提供するタッチスクリーン、または他の触覚入力構成要素)、音声入力構成要素(例えば、マイクロフォン)などを含むことができる。
【0087】
さらなる例示的な実施形態では、I/O構成要素702は、他の構成要素の幅広いアレイの中でも、バイオメトリック構成要素730、運動構成要素732、環境構成要素734、または位置構成要素736を含み得る。例えば、バイオメトリック構成要素730は、表情(例えば、手の表現、顔の表情、声の表現、身体のジェスチャ、または視線追跡)を検出することと、生体信号(例えば、血圧、心拍数、体温、発汗、脳波)を測定することと、人を識別することと(例えば、音声識別、網膜識別、顔識別、指紋識別、または脳波ベースの識別)、等を行う構成要素を含む。運動構成要素732は、加速度センサ構成要素(例えば、加速度計)、重力センサ構成要素、回転センサ構成要素(例えば、ジャイロスコープ)を含む。環境構成要素734は、例えば、1つまたは複数のカメラ、照明センサ構成要素(例えば、光度計)、温度センサ構成要素(例えば、周囲温度を検出する1つまたは複数の温度計)、湿度センサ構成要素、圧力センサ構成要素(例えば、バロメータ)、音響センサ構成要素(例えば、背景雑音を検出する1つまたは複数のマイクロフォン)、近接センサ構成要素(例えば、近くの物体を検出する赤外線センサ)、ガスセンサ(例えば、安全のために有害ガスの濃度を検出する、または大気中の汚染物質を測定するガス検出センサ)、または周囲の物理的環境に対応する指示、測定値、もしくは信号を提供し得る他の構成要素を含む。位置構成要素736は、位置センサ構成要素(例えば、GPS受信機構成要素)、高度センサ構成要素(例えば、高度が導出され得る空気圧を検出する高度計または気圧計)、方位センサ構成要素(例えば、磁力計)などを含む。
【0088】
通信は、多種多様な技術を使用して実装され得る。I/O構成要素702は、それぞれの結合または接続を介してコンピューティングデバイス700をネットワーク722またはデバイス724に結合するように動作可能な通信構成要素738をさらに含む。例えば、通信構成要素738は、ネットワーク722とインターフェースするためのネットワークインターフェース構成要素または別の適切なデバイスを含んでもよい。さらなる例において、通信構成要素738は、有線通信構成要素、無線通信構成要素、セルラ通信構成要素、近距離無線通信(NFC)構成要素、Bluetooth(登録商標)構成要素(例えば、Bluetooth(登録商標)Low Energy)、Wi-Fi(登録商標)構成要素、および他のモダリティを介して通信を提供する他の通信構成要素を含んでもよい。デバイス724は、別の機械または多種多様な周辺デバイス(例えば、USBを介して結合された周辺デバイス)のいずれかであり得る。
【0089】
さらに、通信構成要素738は、識別子を検出してもよく、または識別子を検出するように動作可能な構成要素を含んでもよい。例えば、通信構成要素738は、無線周波数識別(RFID)タグリーダ構成要素、NFCスマートタグ検出構成要素、光学リーダ構成要素(例えば、Universal Product Code(UPC)バーコードなどの一次元バーコード、Quick Response(QR)コード、Aztecコード、Data Matrix、Dataglyph、MaxiCode、PDF417、Ultra Code、UCC RSS-2Dバーコード、および他の光学コードなどの多次元バーコードを検出するための光学センサ)、または音響検出構成要素(例えば、タグ付けされたオーディオ信号を識別するためのマイクロフォン)を含んでもよい。加えて、インターネットプロトコル(IP)ジオロケーションを介した位置決定、Wi-Fi(登録商標)信号三角測量を介した位置決定、特定の場所を示し得るNFCビーコン信号を検出することを介した位置決定など、様々な情報が通信構成要素738を介して導出され得る。
【0090】
様々なメモリ(例えば、メインメモリ714、スタティックメモリ716、および/またはプロセッサ704のメモリ)および/または記憶ユニット718は、本明細書で説明される方法または機能のうちの任意の1つまたは複数を具現化するかまたはそれらによって使用される命令およびデータ構造(例えば、ソフトウェア)の1つまたは複数のセットを記憶し得る。これらの命令(例えば、命令710)は、プロセッサ704によって実行されると、開示された実施形態を実装するための様々な動作を引き起こす。
【0091】
命令710は、送信媒体を使用して、ネットワークインターフェースデバイス(例えば、通信構成要素738に含まれるネットワークインターフェース構成要素)を介して、いくつかのよく知られている転送プロトコル(例えば、ハイパーテキスト転送プロトコル(HTTP))のうちのいずれか1つを使用して、ネットワーク722上で送信または受信され得る。同様に、命令710は、デバイス724への結合(例えば、ピアツーピア結合)を介して送信媒体を使用して送信または受信され得る。機械可読媒体は、送信媒体または記憶媒体を含んでいてもよい。機械可読媒体は、非一時的記憶媒体を含み得る。
【0092】
機械可読媒体は、送信媒体または記憶媒体を含んでいてもよい。
以下の番号付けされた例は、実施形態である。
[例1]
1つまたは複数のプロセッサによって実行される診断テスト結果の画像をキャプチャする方法であって、
画像キャプチャデバイスを用いて診断テスト位置決めカードの画像を取得することと、
前記1つまたは複数のプロセッサが、前記テスト位置決めカード上の複数の基準画像の存在を判定することと、
前記1つまたは複数のプロセッサが、前記テスト位置決めカード上に配置された診断テスト結果キャリアの存在を判定することと、
前記1つまたは複数のプロセッサが、前記テスト位置決めカード上の前記テスト結果キャリアの位置決めを検証することと、
前記テスト位置決めカード上の前記テスト結果キャリアの前記位置決めの検証によっては、前記テスト結果キャリアを含む画像をキャプチャすることと、を含む方法。
【0093】
[例2]
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像をキャプチャする前に、前記テスト位置決めカードの平面が前記画像キャプチャデバイスの平面に十分に平行であると判定することをさらに含む、
例1に記載の方法。
【0094】
[例3]
前記1つまたは複数のプロセッサが、前記テスト位置決めカード上の前記複数の基準画像から近接度関連パラメータを判定することと、
前記近接度関連パラメータの前記判定によっては、エラーメッセージを提供することと、をさらに含む、
例1または例2に記載の方法。
【0095】
[例4]
前記1つまたは複数のプロセッサが、前記複数の基準画像のうちの閾値数未満の基準画像が前記テスト位置決めカードの前記画像において視認可能であると判定することと、
エラーメッセージを提供することと、をさらに含む、
例1から例3のいずれか1つに記載の方法。
【0096】
[例5]
前記1つまたは複数のプロセッサが、前記テスト位置決めカード上における前記テスト結果キャリアのアラインメントを判定することと、
前記テスト位置決めカード上における前記テスト結果キャリアの前記アラインメントによっては、エラーメッセージを提供することと、をさらに含む、
例1から例4のいずれか1つに記載の方法。
【0097】
[例6]
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの垂直アラインメントパラメータを判定することと、
前記テスト結果キャリアの前記垂直アラインメントパラメータによっては、エラーメッセージを提供することと、をさらに含む、
例1から例5のいずれか1つに記載の方法。
【0098】
[例7]
前記1つまたは複数のプロセッサを用いて、前記テスト結果キャリアの前記画像についての露出パラメータを判定することと、
前記露出パラメータによっては、エラーメッセージを提供することと、をさらに含む、
例1から例6のいずれか1つに記載の方法。
【0099】
[例8]
前記1つまたは複数のプロセッサが、前記露出パラメータが所望の露出パラメータを超えると判定することと、
前記1つまたは複数のプロセッサが、コントロールラインが前記テスト結果キャリアの前記画像において存在しないと判定することと、
コントロールラインが前記テスト結果キャリアの前記画像において存在しないというエラーメッセージを提供することと、をさらに含む、
例7に記載の方法。
【0100】
[例9]
前記1つまたは複数のプロセッサが、コントロールラインが前記テスト結果キャリアの前記画像において存在しないと判定することと、
コントロールラインが前記テスト結果キャリアの前記画像において存在しないというエラーメッセージを提供することと、をさらに含む、
例1から例8のいずれか1つに記載の方法。
【0101】
[例10]
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像におけるサンプルウェルの位置を判定することと、
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像における結果ウェルの位置を判定することと、
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像において、前記サンプルウェルの前記位置が前記結果ウェルの前記位置よりも上にあると判定することと、
前記テスト結果キャリアの前記画像を反転させることと、をさらに含む、
例1から例9のいずれか1つに記載の方法。
【0102】
[例11]
命令を含む機械可読媒体であって、前記命令は、機械の1つまたは複数のプロセッサによって実行されると、
画像キャプチャデバイスを用いて診断テスト位置決めカードの画像を取得することと、
前記テスト位置決めカード上の複数の基準画像の存在を判定することと、
前記テスト位置決めカード上に配置された診断テスト結果キャリアの存在を判定することと、
前記テスト位置決めカード上における前記テスト結果キャリアの位置決めを判定することと、
前記テスト位置決めカード上の前記テスト結果キャリアの前記位置決めによっては、前記テスト結果キャリアを含む画像をキャプチャすることと、を含む動作を前記機械に実行させる、機械可読媒体。
【0103】
[例12]
前記動作は、
前記テスト結果キャリアの前記画像をキャプチャする前に、前記テスト位置決めカードの平面が前記画像キャプチャデバイスの平面に十分に平行であると判定することをさらに含む、
例11に記載の機械可読媒体。
【0104】
[例13]
前記動作は、
前記テスト位置決めカード上における前記テスト結果キャリアのアラインメントを判定することと、
前記テスト位置決めカード上における前記テスト結果キャリアの前記アラインメントによっては、エラーメッセージを提供することと、をさらに含む、
例11または例12に記載の機械可読媒体。
【0105】
[例14]
前記動作は、
前記1つまたは複数のプロセッサが、前記テスト位置決めカード上の前記複数の基準画像から近接度関連パラメータを判定することと、
前記近接度関連パラメータの前記判定によっては、エラーメッセージを提供することと、をさらに含む、
例11から例13のいずれか1つに記載の機械可読媒体。
【0106】
[例15]
前記動作は、
前記1つまたは複数のプロセッサを用いて、前記テスト結果キャリアの前記画像についての露出パラメータを判定することと、
前記露出パラメータによっては、エラーメッセージを提供することと、をさらに含む、
例11から例14のいずれか1つに記載の機械可読媒体。
【0107】
[例16]
1つまたは複数のプロセッサと、
命令を記憶する1つまたは複数の機械可読媒体と、を含むシステムであって、前記命令は、前記1つまたは複数のプロセッサによって実行されると、
画像キャプチャデバイスを用いて診断テスト位置決めカードの画像を取得することと、
前記テスト位置決めカード上の複数の基準画像の存在を判定することと、
前記テスト位置決めカード上に配置された診断テスト結果キャリアの存在を判定することと、
前記テスト位置決めカード上における前記テスト結果キャリアの位置決めを判定することと、
前記テスト位置決めカード上の前記テスト結果キャリアの前記位置決めによっては、前記テスト結果キャリアを含む画像をキャプチャすることと、を含む動作を前記システムに実行させる、システム。
【0108】
[例17]
前記動作は、
前記テスト結果キャリアの前記画像をキャプチャする前に、前記テスト位置決めカードの平面が前記画像キャプチャデバイスの平面に十分に平行であると判定することをさらに含む、
例16に記載のシステム。
【0109】
[例18]
前記動作は、
前記複数の基準画像のうちの閾値数未満の基準画像が前記診断テスト位置決めカードの前記画像において視認可能であると判定することと、
エラーメッセージを提供することと、をさらに含む、
例16または例17に記載のシステム。
【0110】
[例19]
前記動作は、
コントロールラインが前記テスト結果キャリアの前記画像において存在しないと判定することと、
コントロールラインが前記テスト結果キャリアの前記画像において存在しないというエラーメッセージを提供することと、をさらに含む、
例16から例18のいずれか1つに記載のシステム。
【0111】
[例20]
前記動作は、
前記テスト結果キャリアの前記画像におけるサンプルウェルの位置を判定することと、
前記テスト結果キャリアの前記画像における結果ウェルの位置を判定することと、
前記テスト結果キャリアの前記画像において、前記サンプルウェルの前記位置が前記結果ウェルよりも上にあると判定することと、
前記テスト結果キャリアの前記画像を反転させることと、をさらに含む、
例16から例19のいずれか1つに記載のシステム。
【0112】
[例21]
1つまたは複数のプロセッサによって実行される診断テスト結果の画像をキャプチャする方法であって、
画像キャプチャデバイスを用いてテスト結果キャリアの画像を取得することと、
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像における画像フィーチャを判定することと、
前記1つまたは複数のプロセッサが、前記画像フィーチャを用いて前記画像キャプチャデバイスに対する前記テスト結果キャリアの位置決めを検証することと、
前記画像キャプチャデバイスに対する前記テスト結果キャリアの前記位置決めの検証によっては、前記テスト結果キャリアを含む画像をキャプチャすることと、を含む方法。
【0113】
[例22]
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像をキャプチャする前に、前記テスト結果キャリアの平面が前記画像キャプチャデバイスの平面に十分に平行であると判定することをさらに含む、
例21に記載の方法。
【0114】
[例23]
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像フィーチャから近接度関連パラメータを判定することと、
前記近接度関連パラメータの前記判定によっては、エラーメッセージを提供することと、をさらに含む、
例21または例22に記載の方法。
【0115】
[例24]
前記1つまたは複数のプロセッサが、前記画像キャプチャデバイスに対する前記テスト結果キャリアのアラインメントを判定することと、
前記画像キャプチャデバイスに対する前記テスト結果キャリアの前記アラインメントによっては、エラーメッセージを提供することと、をさらに含む、
例21から例23のいずれか1つに記載の方法。
【0116】
[例25]
前記テスト結果キャリアのアラインメントの前記判定は、
前記テスト結果キャリアの主軸と、前記画像のy軸またはx軸のいずれかとの間の角度差を判定することを含む、
例24に記載の方法。
【0117】
[例26]
前記1つまたは複数のプロセッサを用いて、前記テスト結果キャリアの前記画像についての露出パラメータを判定することと、
前記露出パラメータによっては、エラーメッセージを提供することと、をさらに含む、
例21から例25のいずれか1つに記載の方法。
【0118】
[例27]
前記1つまたは複数のプロセッサが、前記露出パラメータが所望の露出パラメータを超えると判定することと、
前記1つまたは複数のプロセッサが、コントロールラインが前記テスト結果キャリアの前記画像において存在しないと判定することと、
コントロールラインが前記テスト結果キャリアの前記画像において存在しないというエラーメッセージを提供することと、をさらに含む、
例26に記載の方法。
【0119】
[例28]
前記1つまたは複数のプロセッサが、コントロールラインが前記テスト結果キャリアの前記画像において存在しないと判定することと、
コントロールラインが前記テスト結果キャリアの前記画像において存在しないというエラーメッセージを提供することと、をさらに含む、
例21から例27のいずれか1つに記載の方法。
【0120】
[例29]
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像におけるサンプルウェルの位置を判定することと、
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像における結果ウェルの位置を判定することと、
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像において、前記サンプルウェルの前記位置が前記結果ウェルの前記位置よりも上にあると判定することと、
前記テスト結果キャリアの前記画像を反転させることと、をさらに含む、
例21から例28のいずれか1つに記載の方法。
【0121】
[例30]
命令を含む機械可読媒体であって、前記命令は、機械の1つまたは複数のプロセッサによって実行されると、
画像キャプチャデバイスを用いてテスト結果キャリアの画像を取得することと、
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像における画像フィーチャを判定することと、
前記1つまたは複数のプロセッサが、前記画像フィーチャを用いて前記画像キャプチャデバイスに対する前記テスト結果キャリアの位置決めを検証することと、
前記画像キャプチャデバイスに対する前記テスト結果キャリアの前記位置決めの検証によっては、前記テスト結果キャリアを含む画像をキャプチャすることと、を含む動作を前記機械に実行させる、機械可読媒体。
【0122】
[例31]
前記動作は、
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像をキャプチャする前に、前記テスト結果キャリアの平面が前記画像キャプチャデバイスの平面に十分に平行であると判定することをさらに含む、
例30に記載の機械可読媒体。
【0123】
[例32]
前記動作は、
前記1つまたは複数のプロセッサが、前記画像キャプチャデバイスに対する前記テスト結果キャリアのアラインメントを判定することと、
前記画像キャプチャデバイスに対する前記テスト結果キャリアの前記アラインメントによっては、エラーメッセージを提供することと、をさらに含む、
例30または例31に記載の機械可読媒体。
【0124】
[例33]
前記テスト結果キャリアのアラインメントの前記判定は、
前記テスト結果キャリアの主軸と、前記画像のy軸またはx軸のいずれかとの間の角度差を判定することを含む、
例30から例32のいずれか1つに記載の機械可読媒体。
【0125】
[例34]
前記動作は、
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像フィーチャから近接度関連パラメータを判定することと、
前記近接度関連パラメータの前記判定によっては、エラーメッセージを提供することと、をさらに含む、
例30から例33のいずれか1つに記載の機械可読媒体。
【0126】
[例35]
前記動作は、
前記1つまたは複数のプロセッサを用いて、前記テスト結果キャリアの前記画像についての露出パラメータを判定することと、
前記露出パラメータによっては、エラーメッセージを提供することと、をさらに含む、
例30から例34のいずれか1つに記載の機械可読媒体。
【0127】
[例36]
1つまたは複数のプロセッサと、
命令を記憶する1つまたは複数の機械可読媒体と、を含むシステムであって、前記命令は、前記1つまたは複数のプロセッサによって実行されると、
画像キャプチャデバイスを用いてテスト結果キャリアの画像を取得することと、
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像における画像フィーチャを判定することと、
前記1つまたは複数のプロセッサが、前記画像フィーチャを用いて前記画像キャプチャデバイスに対する前記テスト結果キャリアの位置決めを検証することと、
前記画像キャプチャデバイスに対する前記テスト結果キャリアの前記位置決めの検証によっては、前記テスト結果キャリアを含む画像をキャプチャすることと、を含む動作を前記システムに実行させる、システム。
【0128】
[例37]
前記動作は、
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像をキャプチャする前に、前記テスト結果キャリアの平面が前記画像キャプチャデバイスの平面に十分に平行であると判定することをさらに含む、
例36に記載のシステム。
【0129】
[例38]
前記動作は、
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像フィーチャから近接度関連パラメータを判定することと、
前記近接度関連パラメータの前記判定によっては、エラーメッセージを提供することと、をさらに含む、
例36または例37に記載のシステム。
【0130】
[例39]
前記動作は、
コントロールラインが前記テスト結果キャリアの前記画像において存在しないと判定することと、
コントロールラインが前記テスト結果キャリアの前記画像において存在しないというエラーメッセージを提供することと、をさらに含む、
例36から例38のいずれか1つに記載のシステム。
【0131】
[例40]
前記動作は、
前記テスト結果キャリアの前記画像におけるサンプルウェルの位置を判定することと、
前記テスト結果キャリアの前記画像における結果ウェルの位置を判定することと、
前記テスト結果キャリアの前記画像において、前記サンプルウェルの前記位置が前記結果ウェルよりも上にあると判定することと、
前記テスト結果キャリアの前記画像を反転させることと、をさらに含む、
例36から例39のいずれか1つに記載のシステム。
【0132】
本明細書の全体にわたって、複数例は、単一例として説明される複数の構成要素、複数の動作、または複数の構造を実装し得る。1つまたは複数の方法の個別の動作は、別個の動作として例示され、説明されるが、個別の動作のうちの1つまたは複数は、同時に行われてもよく、例示された順序で動作が行われる必要はない。例示的な構成において別個の構成要素として提示される構造および機能性は、組み合わされた構造または構成要素として実装されてもよい。同様に、単一の構成要素として提示される構造および機能性は、別個の複数の構成要素として実装されてもよい。これらのおよび他のバリエーション、変形、追加、および改善は、本明細書における主題の範囲内に収まるものである。
【0133】
本発明の主題の概要を特定の例を参照して説明してきたが、本開示の例のより広い範囲から逸脱することなく、これらの例に対して様々な修正および変更を行うことができる。本発明の主題のそのような例は、本明細書では、単に便宜上、個々にまたは集合的に「発明」という用語で呼ばれることがあり、本出願の範囲を単一の開示または発明概念に自発的に限定することを意図するものではない(2つ以上が実際に開示されているとして)。
【0134】
本明細書に示されている例は、当業者が開示される教示を実施することを可能にするために十分に詳細に説明されている。本開示の範囲から逸脱することなく、構造的および論理的な置換および変更が行われ得るように、他の例が用いられてもよいし、これから導出されてもよい。したがって、詳細な説明は、限定的な意味で解釈されるべきではなく、様々な例の範囲は、添付の特許請求の範囲によってのみ、そのような特許請求の範囲が権利を与えられる均等物の全範囲とともに規定される。
【0135】
本明細書で使用される場合、「または」という用語は、包括的な意味または排他的な意味のいずれかで解釈され得る。さらに、本明細書で単一のインスタンスとして説明されるリソース、動作、または構造に対して複数のインスタンスが提供され得る。加えて、様々なリソース、動作、モジュール、エンジン、およびデータストアの間の境界は、ある程度任意であり、特定の動作は、特定の例示的な構成の文脈で示されている。機能の他の割り当てが想定され、本開示の様々な例の範囲内に属していてよい。一般に、例示的な構成において別個のリソースとして提示されている構造および機能性は、組み合わされた構造またはリソースとして実装され得る。同様に、単一のリソースとして提示されている構造および機能は、別個のリソースとして実装されてもよい。これらおよび他の変形、修正、追加、および改善は、添付の特許請求の範囲によって表される本開示の例の範囲内に属する。したがって、本明細書および図面は、限定的な意味ではなく例示的な意味で見なされるべきである。
【手続補正書】
【提出日】2023-06-13
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサによって実行される診断テスト結果の画像をキャプチャする方法であって、
画像キャプチャデバイスを用いて診断テスト位置決めカードの画像を取得することと、
前記1つまたは複数のプロセッサが、
取得した前記画像から、前記テスト位置決めカード上の複数の基準画像の存在を判定することと、
前記1つまたは複数のプロセッサが、
取得した前記画像から、前記テスト位置決めカード上に配置された
別体の診断テスト結果キャリアの存在を判定することと、
前記1つまたは複数のプロセッサが、
前記テスト位置決めカード上の前記複数の基準画像に対して前記テスト結果キャリアの位置または向きを比較することによって、指定された許容範囲内で、前記テスト位置決めカード上の前記テスト結果キャリアの
正しい位置決めを検証することと、
前記テスト位置決めカード上の前記テスト結果キャリアの
正しい位置決めの検証によっ
て、前記テスト結果キャリアを含む画像をキャプチャすることと、を含む方法。
【請求項2】
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの前記画像をキャプチャする前に、
取得した前記画像から、前記テスト位置決めカードの平面が前記画像キャプチャデバイスの平面に十分に平行であると判定することをさらに含む、
請求項1に記載の方法。
【請求項3】
前記1つまたは複数のプロセッサが、
取得した前記画像から、前記テスト位置決めカード上の前記複数の基準画像から近接度関連パラメータを判定することと、
前記近接度関連パラメータの前記判定によっては、エラーメッセージを提供することと、をさらに含む、
請求項1に記載の方法。
【請求項4】
前記1つまたは複数のプロセッサが、前記複数の基準画像のうちの閾値数未満の基準画像が前記テスト位置決めカードの
取得した前記画像において視認可能であると判定することと、
エラーメッセージを提供することと、をさらに含む、
請求項1に記載の方法。
【請求項5】
前記1つまたは複数のプロセッサが、
取得した前記画像から、前記テスト位置決めカード上における前記テスト結果キャリアのアラインメントを判定することと、
前記テスト位置決めカード上における前記テスト結果キャリアの前記アラインメントによっては、エラーメッセージを提供することと、をさらに含む、
請求項1に記載の方法。
【請求項6】
前記1つまたは複数のプロセッサが、
取得した前記画像から、前記テスト結果キャリアの垂直アラインメントパラメータを判定することと、
前記テスト結果キャリアの前記垂直アラインメントパラメータによっては、エラーメッセージを提供することと、をさらに含む、
請求項1に記載の方法。
【請求項7】
前記1つまたは複数のプロセッサを用いて、前記テスト結果キャリアの
キャプチャした前記画像についての露出パラメータを判定することと、
前記露出パラメータによっては、エラーメッセージを提供することと、をさらに含む、
請求項1に記載の方法。
【請求項8】
前記1つまたは複数のプロセッサが、前記露出パラメータが所望の露出パラメータを超えると判定することと、
前記1つまたは複数のプロセッサが、コントロールラインが前記テスト結果キャリアの
キャプチャした前記画像において存在しないと判定することと、
コントロールラインが前記テスト結果キャリアの
キャプチャした前記画像において存在しないというエラーメッセージを提供することと、をさらに含む、
請求項7に記載の方法。
【請求項9】
前記1つまたは複数のプロセッサが、コントロールラインが前記テスト結果キャリアの
キャプチャした前記画像において存在しないと判定することと、
コントロールラインが前記テスト結果キャリアの
キャプチャした前記画像において存在しないというエラーメッセージを提供することと、をさらに含む、
請求項1に記載の方法。
【請求項10】
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの
キャプチャした前記画像におけるサンプルウェルの位置を判定することと、
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの
キャプチャした前記画像における結果ウェルの位置を判定することと、
前記1つまたは複数のプロセッサが、前記テスト結果キャリアの
キャプチャした前記画像において、前記サンプルウェルの前記位置が前記結果ウェルの前記位置よりも上にあると判定することと、
前記テスト結果キャリアの
キャプチャした前記画像を反転させることと、をさらに含む、
請求項1に記載の方法。
【請求項11】
命令を含む非一時的機械可読記憶媒体であって、前記命令は、機械の1つまたは複数のプロセッサによって実行されると、
画像キャプチャデバイスを用いて診断テスト位置決めカードの画像を取得することと、
取得した前記画像から、前記テスト位置決めカード上の複数の基準画像の存在を判定することと、
取得した前記画像から、前記テスト位置決めカード上に配置された
別体の診断テスト結果キャリアの存在を判定することと、
取得した前記画像から、前記テスト位置決めカード上の前記複数の基準画像に対して前記テスト結果キャリアの位置または向きを比較することによって、指定された許容範囲内で、前記テスト位置決めカード上における前記テスト結果キャリアの
正しい位置決めを判定することと、
前記テスト位置決めカード上の前記テスト結果キャリアの
正しい位置決めによっ
て、前記テスト結果キャリアを含む画像をキャプチャすることと、を含む動作を前記機械に実行させる、非一時的機械可読記憶媒体。
【請求項12】
前記動作は、
前記テスト結果キャリアの前記画像をキャプチャする前に、
取得した前記画像から、前記テスト位置決めカードの平面が前記画像キャプチャデバイスの平面に十分に平行であると判定することをさらに含む、
請求項11に記載の非一時的機械可読記憶媒体。
【請求項13】
前記動作は、
取得した前記画像から、前記テスト位置決めカード上における前記テスト結果キャリアのアラインメントを判定することと、
前記テスト位置決めカード上における前記テスト結果キャリアの前記アラインメントによっては、エラーメッセージを提供することと、をさらに含む、
請求項11に記載の非一時的機械可読記憶媒体。
【請求項14】
前記動作は、
取得した前記画像から、前記テスト位置決めカード上の前記複数の基準画像から近接度関連パラメータを判定することと、
前記近接度関連パラメータの前記判定によっては、エラーメッセージを提供することと、をさらに含む、
請求項11に記載の非一時的機械可読記憶媒体。
【請求項15】
1つまたは複数のプロセッサと、
命令を記憶する1つまたは複数の機械可読媒体と、を含むシステムであって、前記命令は、前記1つまたは複数のプロセッサによって実行されると、
画像キャプチャデバイスを用いて診断テスト位置決めカードの画像を取得することと、
取得した前記画像から、前記テスト位置決めカード上の複数の基準画像の存在を判定することと、
取得した前記画像から、前記テスト位置決めカード上に配置された
別体の診断テスト結果キャリアの存在を判定することと、
取得した前記画像から、前記テスト位置決めカード上の前記複数の基準画像に対して前記テスト結果キャリアの位置または向きを比較することによって、指定された許容範囲内で、前記テスト位置決めカード上における前記テスト結果キャリアの
正しい位置決めを判定することと、
前記テスト位置決めカード上の前記テスト結果キャリアの
正しい位置決めによっ
て、前記テスト結果キャリアを含む画像をキャプチャすることと、を含む動作を前記システムに実行させる、システム。
【国際調査報告】