(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022140144
(43)【公開日】2022-09-26
(54)【発明の名称】分析方法および分析装置
(51)【国際特許分類】
G01N 33/49 20060101AFI20220915BHJP
G01N 15/14 20060101ALI20220915BHJP
【FI】
G01N33/49 A
G01N33/49 Y
G01N15/14 C
G01N15/14 B
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2021040829
(22)【出願日】2021-03-12
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.THUNDERBOLT
(71)【出願人】
【識別番号】390014960
【氏名又は名称】シスメックス株式会社
(74)【代理人】
【識別番号】100111383
【弁理士】
【氏名又は名称】芝野 正雅
(74)【代理人】
【識別番号】100170922
【弁理士】
【氏名又は名称】大橋 誠
(72)【発明者】
【氏名】朝田 祥一郎
(72)【発明者】
【氏名】木村 考伸
(72)【発明者】
【氏名】田中 政道
(72)【発明者】
【氏名】鈴木 健一郎
【テーマコード(参考)】
2G045
【Fターム(参考)】
2G045AA02
2G045CA12
2G045CA15
2G045CA16
2G045CA17
2G045CA20
2G045CA21
2G045FA37
2G045JA03
(57)【要約】
【課題】複数の細胞種の特徴を有する細胞について、より詳細な分析を可能とする新たな分析方法および分析装置を提供する。
【解決手段】細胞を含む検体を分析する分析方法において、検体から調製された測定試料に光を照射して細胞から生じる光を検出し(S12)、検出された光に基づき、検体に含まれる複数の細胞の各々について、細胞の特徴データを取得し(S12)、人工知能アルゴリズムを用いて特徴データを解析することで、各々の細胞を複数の細胞種に分類し(S13)、分類した結果に基づく情報を表示する(S14)。
【選択図】
図10
【特許請求の範囲】
【請求項1】
細胞を含む検体を分析する分析方法であって、
前記検体から調製された測定試料に光を照射して細胞から生じる光を検出し、
検出された光に基づき、前記検体に含まれる複数の細胞の各々について、前記細胞の特徴データを取得し、
人工知能アルゴリズムを用いて前記特徴データを解析することで、各々の前記細胞を複数の細胞種に分類し、
分類した結果に基づく情報を表示する、
ことを特徴とする分析方法。
【請求項2】
前記分類は、予め決められた複数の細胞種の中から、各々の前記細胞が形態学的に属する可能性のある複数の細胞種を前記特徴データに基づいて特定することを含む、請求項1に記載の分析方法。
【請求項3】
前記複数の細胞種が、少なくとも1つの正常細胞と少なくとも1つの異常細胞とを含み、
前記分類は、各々の前記細胞が前記異常細胞に属する確率を求めることを含む、請求項2に記載の分析方法。
【請求項4】
前記複数の細胞種は、リンパ球、単球、好酸球、好中球、好塩基球および異常血球を含む、請求項1~3のいずれか一項に記載の分析方法。
【請求項5】
前記異常血球は、幼若顆粒球、芽球、異常リンパ球のうちの少なくとも1つを含む、請求項3または4に記載の分析方法。
【請求項6】
前記分類結果に基づいて細胞を計数し、細胞を計数した結果を表示することをさらに含む、請求項1~5のいずれか一項に記載の分析方法。
【請求項7】
前記データ解析は、
一つの細胞の前記特徴データを深層学習アルゴリズムに入力すること、および
前記深層学習アルゴリズムからの出力として、前記細胞を複数の細胞種に分類した結果を取得すること、を含む、請求項1~6のいずれか一項に記載の分析方法。
【請求項8】
前記深層学習アルゴリズムは、細胞の特徴データおよび前記細胞の種類に関する情報を教師データとして訓練されている、請求項7に記載の分析方法。
【請求項9】
前記検出は、光が照射されたフローセルを細胞が通過することで生じる光を検出することを含み、
前記特徴データの取得は、検出された光に応じて経時的に変化する波形信号を取得することを含む、請求項1~8のいずれか一項に記載の分析方法。
【請求項10】
前記特徴データは、前記波形信号を複数時点でサンプリングすることで生成される波形データである、請求項9に記載の分析方法。
【請求項11】
前記データ解析は、プロセッサと、前記プロセッサの命令下で動作する並列処理プロセッサとを用いて行われる、請求項1~10のいずれか一項に記載の分析方法。
【請求項12】
前記特徴データに基づいて検体に含まれる複数の細胞をプロットしたグラフを表示し、
前記グラフにおいて一又は複数の細胞が選択されたことに応じて、選択された前記細胞の分類結果を表示することをさらに含む、請求項1~11のいずれか一項に記載の分析方法。
【請求項13】
前記データ解析は、一つの細胞が複数の前記細胞種のそれぞれに該当する確率を求めることを含む、請求項1~12のいずれか一項に記載の分析方法。
【請求項14】
前記分類結果の表示は、前記確率を表示することを含む、請求項13に記載の分析方法。
【請求項15】
前記分類結果の表示は、確率の最も高い細胞種を表示することを含む、請求項14に記載の分析方法。
【請求項16】
前記分類結果に基づく情報の表示は、前記確率に基づいて生成される統計情報を表示することを含む、請求項15に記載の分析方法。
【請求項17】
前記特徴データに基づいて検体に含まれる複数の細胞をプロットしたグラフを表示し、
前記グラフにおいて一又は複数の細胞が選択されたことに応じて、選択された一又は複数の前記細胞の分類結果を表示することをさらに含む、請求項1~16のいずれか一項に記載の分析方法。
【請求項18】
前記特徴データに基づいて検体に含まれる複数の細胞をプロットしたグラフを表示し、
前記グラフにおいて複数の細胞が選択されたことに応じて、選択された複数の前記細胞の分類結果に基づく統計情報を表示することをさらに含む、請求項1~17のいずれか一項に記載の分析方法。
【請求項19】
前記特徴データに基づいて検体に含まれる複数の細胞をプロットしたグラフを表示し、
細胞の抽出条件の入力を受け付け、
前記分類情報に基づいて前記抽出条件を満たす細胞を抽出し、
前記グラフに表示された細胞のうち、抽出された前記細胞を他の細胞と区別して表示する、請求項1~18のいずれか一項に記載の分析方法。
【請求項20】
細胞を含む検体を分析する分析装置であって、
前記検体から測定試料を調製する試料調製部と、
前記試料調製部によって調製された前記測定試料に光を照射して細胞から生じる光を検出する検出部と、
検出された光に基づき、前記検体に含まれる複数の細胞の各々について、前記細胞の特徴データを取得する信号処理部と、
表示部と、
人工知能アルゴリズムを用いて前記特徴データを解析することで、各々の前記細胞を複数の細胞種に分類し、分類した結果に基づく情報を前記表示部に表示させる少なくとも一つのプロセッサと、を備える、
ことを特徴とする分析装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検体中の細胞を分析する分析方法および分析装置に関する。
【背景技術】
【0002】
特許文献1には、血球細胞をフローセルに流すことによって得られる蛍光や光散乱のパラメータを用いて白血球を亜集団に分類する方法が記載されている。この方法では、フローセルを流れる血球細胞に光を照射することにより生じる軸方向光損失(ALL)、中間角度前方散乱(IAS)、蛍光(FL1)、偏光側方散乱(PSS)を含む複数のパラメータに基づいて白血球亜集団を分類する。分類された白血球亜集団は散布図に表示される。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に開示されるような従来の細胞分類方法は、一つの細胞を一つの分類に画一的に分類する。しかしながら、例えば、同じ好中球であっても成熟度の違いによって異なる形態学的特徴を持つ場合があり、好中球の中には幼若顆粒球に似た形態学的特徴を持つものも含まれうる。従来の細胞分類方法では、好中球のような正常細胞の特徴と幼若顆粒球のような異常細胞の特徴を持つ細胞が含まれていても、そのような細胞は一つの種類に画一的に分類され、より詳細な分析につながらない場合があった。
【0005】
本発明は、複数の細胞種の特徴を有する細胞について、より詳細な分析を可能とする新たな分析方法および分析装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の分析方法は、細胞を含む検体を分析する分析方法であって、前記検体から調製された測定試料に光を照射して細胞から生じる光を検出し、検出された光に基づき、前記検体に含まれる複数の細胞の各々について、前記細胞の特徴データを取得し、人工知能アルゴリズムを用いて前記特徴データを解析することで、各々の前記細胞を複数の細胞種に分類し、分類した結果に基づく情報を表示することを特徴とする。
【0007】
本発明の分析装置は、細胞を含む検体を分析する分析装置であって、前記検体から測定試料を調製する試料調製部と、前記試料調製部によって調製された前記測定試料に光を照射して細胞から生じる光を検出する検出部と、検出された光に基づき、前記検体に含まれる複数の細胞の各々について、前記細胞の特徴データを取得する信号処理部と、表示部と、人工知能アルゴリズムを用いて前記特徴データを解析することで、各々の前記細胞を複数の細胞種に分類し、分類した結果に基づく情報を前記表示部に表示させる少なくとも一つのプロセッサと、を備えることを特徴とする。
【発明の効果】
【0008】
本発明によれば、複数の細胞種の特徴を有する細胞について、より詳細な分析が可能となる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、細胞分析装置およびホストコンピュータを示す図である。
【
図5】
図5は、A/D変換部によるデジタル信号の生成の処理を説明する図である。
【
図6】
図6は、特徴パラメータデータの構造を説明する図である。
【
図7】
図7は、深層学習アルゴリズムに基づく細胞分類の処理を説明する模式図である。
【
図8】
図8は、深層学習アルゴリズムによる解析対象の細胞の種類を示した図である。
【
図10】
図10は、細胞分析装置の動作を説明するフローチャートである。
【
図11】
図11は、検査結果データ生成プロセスを説明するフローチャートである。
【
図12】
図12は、検査結果データのデータ構造の第1例を模式的に示す図である。
【
図13】
図13は、検査結果データのデータ構造の第2例を模式的に示す図である。
【
図14】
図14は、検査結果データのデータ構造の第3例を模式的に示す図である。
【
図15】
図15は、検査結果データのデータ構造の第4例を模式的に示す図である。
【
図16】
図16は、検査結果データのデータ構造の第5例を模式的に示す図である。
【
図17】
図17は、検査結果表示プロセスの第1例のフローチャートである。
【
図24】
図24は、検査結果表示プロセスの第2例のフローチャートである。
【
図29】
図29は、検査結果表示プロセスの第3例のフローチャートである。
【
図30】
図30は、検査結果表示プロセスの第4例のフローチャートである。
【
図39】
図39(a)、(b)は、それぞれ、スキャッタグラムの他の例を示す図である。
【
図40】
図40は、検査結果表示プロセスの第5例のフローチャートである。
【
図43】
図43は、ホストコンピュータへの送信プロセスのフローチャートである。
【
図44】
図44(a)、(b)は、それぞれ、出力用データの構造の一例を示す図である。
【
図45】
図45(a)、(b)は、それぞれ、出力用データの構造の一例を示す図である。
【
図46】
図46(a)、(b)は、それぞれ、出力用データに関する設定を受け付ける画面の一例を示す図である。
【
図48】
図48は、測定ユニットへの並列処理プロセッサの搭載例を示す図である。
【
図49】
図49は、測定ユニットへの並列処理プロセッサの搭載例を示す図である。
【
図50】
図50は、測定ユニットへの並列処理プロセッサの搭載例を示す図である。
【
図51】
図51は、測定ユニットへの並列処理プロセッサの搭載例を示す図である。
【
図52】
図52は、プロセッサおよび並列処理プロセッサで実行される演算処理の概要を示す図である。
【
図53】
図53(a)、(b)は、それぞれ、並列処理プロセッサが実行する行列演算の概要を示す図である。
【
図54】
図54は、複数の演算処理が並列演算処理プロセッサによって実行されることを示す図である。
【
図55】
図55(a)、(b)は、それぞれ、畳み込み層に関する演算処理の概要を示す図である。
【
図56】
図56は、プロセッサおよび並列処理プロセッサによる深層学習アルゴリズムを用いた細胞分類のフローチャートである。
【
図58】
図58は、細胞分析装置の他の構成例を示すブロック図である。
【
図59】
図59は、細胞分析装置の他の構成例を示すブロック図である。
【
図60】
図60は、細胞分析装置の他の構成例におけるプロセッサによる並列処理プロセッサの制御を示す模式図である。
【
図61】
図61は、細胞分析装置の他の構成例を示すブロック図である。
【
図62】
図62は、細胞分析装置の他の構成例を示すブロック図である。
【
図63】
図63は、細胞分析装置の他の構成例を示すブロック図である。
【
図64】
図64は、細胞分析装置の他の構成例を示すブロック図である。
【
図65】
図65は、細胞分析装置の他の構成例を示すブロック図である。
【
図66】
図66は、細胞分析装置の他の構成例におけるプロセッサによる並列処理プロセッサの制御を示す模式図である。
【
図67】
図67は、細胞分析装置の他の構成例を示すブロック図である。
【
図68】
図68は、細胞分析装置の他の構成例を示すブロック図である。
【
図69】
図69は、細胞分析装置の他の構成例を示すブロック図である。
【
図70】
図70(a)~(c)は、それぞれ、ニューラルネットワークの構造を説明する図である。
【
図71】
図71は、ニューラルネットワークの訓練を説明する図である。
【発明を実施するための形態】
【0010】
以下、本発明の概要及び実施の形態を、添付の図面を参照して詳細に説明する。なお、以下の説明及び図面において、同じ符号は同じ又は類似の構成要素を示すこととし、同じ又は類似の構成要素に関する説明を省略する。
【0011】
以下に説明する分析方法は、細胞を含む検体から調製された測定試料に光を照射して細胞から生じる光を検出し、検出された光に基づき、検体に含まれる複数の細胞の各々について、細胞の特徴データを取得し、人工知能アルゴリズムを用いて特徴データを解析することで、各々の細胞を複数の細胞種に分類する方法である。
【0012】
検体は、被検者から採取された生体試料であってもよい。例えば、生体試料は、静脈血、動脈血等の末梢血、尿、血液及び尿以外の体液を含み得る。血液及び尿以外の体液として、骨髄液、腹水、胸水、脳脊髄液等を含みうる。以下、血液及び尿以外の体液を単に「体液」という場合がある。血液試料は、細胞数の計数及び細胞種別の判定ができるもの、つまり細胞を含む状態のものであり、好ましくは全血である。血液は、好ましくは末梢血である。例えば、血液は、エチレンジアミン四酢酸塩ナトリウム塩又はカリウム塩)、ヘパリンナトリウム等の抗凝固剤を使用して採血された末梢血を挙げることができる。末梢血は、動脈から採取されても静脈から採取されてもよい。
【0013】
この分析方法によって分類される細胞種は、形態学的な分類に基づく細胞種別を基準とするものであり、生体試料の種類に応じて異なる。生体試料が血液である場合であって、血液が健常者から採血されたものである場合、本実施形態において判定しようとする細胞種には、例えば、赤血球、白血球等の有核細胞、血小板等が含まれる。有核細胞には、例えば、好中球、リンパ球、単球、好酸球、好塩基球が含まれる。好中球には、例えば、分葉核好中球及び桿状核好中球が含まれる。血液が非健常者から採血されたものである場合、有核細胞には、異常細胞が含まれる。
【0014】
異常細胞とは、健常人の末梢血では通常認められない細胞をいう。異常細胞は、リンパ球系異常細胞を含んでもよい。リンパ球系異常細胞は、例えば、異型リンパ球(反応性リンパ球)、成熟リンパ腫を含む異常リンパ球、形質細胞を含む。異常細胞は、芽球を含でもよい。芽球は、骨髄芽球、リンパ芽球、前赤芽球、好塩基性赤芽球、多染性赤芽球、正染性赤芽球、前巨赤芽球、好塩基性巨赤芽球、多染性巨赤芽球、及び正染性巨赤芽球等を含む。異常細胞は、巨核球を含んでもよい。異常細胞は、幼若顆粒球を含んでもよい。幼若顆粒球は、例えば、前骨髄球、骨髄球、後骨髄球等を含む。
【0015】
異常細胞は、健常人の末梢血には含まれない他の異常細胞を含んでもよい。異常細胞の例は、疾患に罹患した際に出現する細胞であり、例えば腫瘍細胞である。造血系の場合、疾患は、例えば、骨髄異型性症候群、急性骨髄芽球性白血病、急性骨髄芽球性白血病、急性前骨髄球性白血病、急性骨髄単球性白血病、急性単球性白血病、赤白血病、急性巨核芽球性白血病、急性骨髄性白血病、急性リンパ球性白血病、リンパ芽球性白血病、慢性骨髄性白血病、又は慢性リンパ球性白血病等の白血病、ホジキンリンパ腫、非ホジキンリンパ腫等の悪性リンパ腫、又は多発性骨髄腫である。
【0016】
生体試料が尿である場合、細胞種には、例えば、赤血球、白血球、移行上皮、扁平上皮等の上皮細胞等が含まれ得る。異常細胞としては、例えば、細菌、糸状菌、酵母等の真菌、腫瘍細胞等が含まれ得る。
【0017】
生体試料が腹水、胸水、髄液等の通常血液成分を含まない体液である場合、細胞種には、例えば、赤血球、白血球、大型細胞を含みうる。ここでいう「大型細胞」とは、体腔内膜又は内臓の腹膜から剥がれた細胞で白血球より大きいものを指し、例えば、中皮細胞、組織球、腫瘍細胞等が該当する。
【0018】
生体試料が骨髄液である場合、細胞種は、正常な細胞として、成熟した血球細胞と幼若な血球系細胞を含みうる。成熟した血球細胞には、例えば、赤血球、白血球等の有核細胞、血小板等が含まれる。白血球等の有核細胞には、例えば、好中球、リンパ球、形質細胞、単球、好酸球、好塩基球が含まれる。好中球には、例えば、分葉核好中球及び桿状核好中球が含まれる。幼若な血球系細胞には、例えば、造血系幹細胞、幼若顆粒球系細胞、幼若リンパ球系細胞、幼若単球系細胞、幼若赤血球系細胞、巨核球系細胞、間葉系細胞等が含まれる。幼若顆粒球には、例えば、後骨髄球、骨髄球、前骨髄球、骨髄芽球等の細胞が含まれ得る。幼若リンパ球系細胞には、例えば、リンパ芽球等が含まれる。幼若単球系細胞には、単芽球等が含まれる。幼若赤血球系細胞には、例えば、前赤芽球、好塩基性赤芽球、多染性赤芽球、正染性赤芽球、前巨赤芽球、好塩基性巨赤芽球、多染性巨赤芽球、及び正染性巨赤芽球等の有核赤血球が含まれる。巨核球系細胞には、例えば、巨核芽球等が含まれる。
【0019】
骨髄に含まれ得る異常細胞としては、例えば、上述した骨髄異型性症候群、急性骨髄芽球性白血病、急性骨髄芽球性白血病、急性前骨髄球性白血病、急性骨髄単球性白血病、急性単球性白血病、赤白血病、急性巨核芽球性白血病、急性骨髄性白血病、急性リンパ球性白血病、リンパ芽球性白血病、慢性骨髄性白血病、又は慢性リンパ球性白血病等の白血病、ホジキンリンパ腫、非ホジキンリンパ腫等の悪性リンパ腫、又は多発性骨髄腫の造血系腫瘍細胞、骨髄以外の器官に発生した悪性腫瘍の転移腫瘍細胞を挙げることができる。
【0020】
この分析方法は、細胞を含む検体を分析する細胞分析装置を用いて好適に実施される。細胞分析装置は、検体から測定試料を調製する試料調製部と、試料調製部によって調製された測定試料に光を照射して細胞から生じる光を検出する検出部と、検出された光に基づき、検体に含まれる複数の細胞の各々について、細胞の特徴データを取得する信号処理部と、人工知能アルゴリズムを用いて特徴データを解析することで、各々の細胞を複数の細胞種に分類する制御部と、を備えてもよい。このような細胞分析装置の一例について以下説明する。
【0021】
[1.基本構成]
図1を参照して、細胞分析装置の基本構成について説明する。
図1は、細胞分析装置100の外観を示す模式図である。細胞分析装置100は、ホストコンピュータ500から送信された検査オーダに応じて生体由来の検体を分析する装置である。細胞分析装置100は、測定ユニット400と処理ユニット300と、を備える。ホストコンピュータ500と細胞分析装置100をまとめて検査システム1000と呼称する。
【0022】
[2.測定ユニットの構成]
図2を参照し、測定ユニット400の構成を説明する。
図2は、測定ユニット400のブロック図の例を示す。
図2に示されるように、測定ユニット400は、検体を吸引する検体吸引部450、吸引した検体から測定試料を調製する試料調製部440、測定試料中の血球を検出するFCM検出部410、FCM検出部410から出力されるアナログ信号を処理するアナログ処理部420、アナログ処理部420によって処理された信号をデジタル信号に変換して解析する測定ユニット制御部480、及び装置機構部430を備えている。
【0023】
図3は、検体吸引部450と試料調製部440を説明するための模式図である。検体吸引部450は、採血管Tから血液検体を吸引するためのノズル451と、ノズル451に陰圧/陽圧を付与するためのポンプ452を備える。ノズル451は、装置機構部430によって上下移動されることで採血管Tに挿入される。ノズル451が採血管Tに挿入された状態でポンプ452が陰圧を付与すると、ノズル451を介して血液検体が吸引される。
【0024】
試料調製部440は、5つの反応チャンバ440a~440eを備える。反応チャンバ440a~440eは、それぞれ、DIFF、RET、WPC、PLT-F、WNRの測定チャネルにおいて用いられる。各反応チャンバには、各測定チャネルに対応する試薬である溶血剤を収容した溶血剤容器と染色液を収容した染色液容器が流路を介して接続されている。一つの反応チャンバとそれに接続された試薬(溶血剤及び染色液)によって、測定チャネルが構成されている。例えば、DIFF測定チャネルは、DIFF測定用試薬であるDIFF溶血剤およびDIFF染色液と、反応チャンバ440aによって構成されている。他の測定チャネルも同様に構成されている。なお、ここでは一つの測定チャネルが溶血剤と染色液を一つずつ備えた構成を例示しているが、一つの測定チャネルが必ずしも溶血剤と染色液の両方を備えなくてもよく、複数の測定チャネルによって一つの試薬が共用されてもよい。
【0025】
血液検体を吸引したノズル451は、装置機構部430による水平・上下移動によって、反応チャンバ440a~440eのうち、オーダに対応する測定チャネルに対応する反応チャンバに上方からアクセスし、吸引した血液検体を吐出する。試料調製部440は、血液検体が吐出された反応チャンバに、対応する溶血剤と染色液を供給し、反応チャンバ内で血液検体と溶血剤と染色液を混合することで測定試料を調製する。調製された測定試料は、流路を介して反応チャンバからFCM検出部410に供給され、フローサイトメトリー法による細胞の測定が行われる。
【0026】
図4は、FCM検出部410の光学系の構成例を示している。
図4に示すように、フローサイトメータによる測定では、測定試料に含まれる細胞がフローサイトメータ内に備えられたフローセル(シースフローセル)4113を通過する際に、光源4111がフローセル4113に光を照射し、この光によってフローセル4113内の細胞から発せられる散乱光及び蛍光を受光素子4116、4121、4122によって検出する。
【0027】
図4において、光源4111であるレーザダイオードから出射された光は、照射レンズ系4112を介してフローセル4113内を通過する細胞に照射される。
【0028】
図4に示されるように、フローセル4113を通過する粒子から発せられる前方散乱光は、集光レンズ4114とピンホール部4115を介して受光素子4116によって受光される。受光素子4116は、例えばフォトダイオードである。側方散乱光は、集光レンズ4117、ダイクロイックミラー4118、バンドパスフィルタ4119、及びピンホール部4120を介して受光素子4121によって受光される。受光素子4121は、例えば光電子増倍管である。側方蛍光は、集光レンズ4117及びダイクロイックミラー4118を介して受光素子4122によって受光される。受光素子4122は、例えば光電子増倍管である。なお、受光素子4116として、フォトダイオードに代えてアバランシェフォトダイオードまたは光電子増倍管を用いてもよい。受光素子4121、受光素子4122として、フォトダイオードまたはアバランシェフォトダイオードを用いてもよい。
【0029】
各受光素子4116、4121及び4122から出力された受光信号は、それぞれ、アンプ4151、4152及び4153を介してアナログ処理部420に入力される。アナログ処理部420は、信号伝送経路421を介して、後述する測定ユニット制御部480のA/D変換部482に接続されている。
【0030】
図2に戻って、アナログ処理部420は、FCM検出部410から入力されるアナログ信号に対してノイズ除去、平滑化等の処理を行い、処理後のアナログ信号を測定ユニット制御部480に対して出力する。
【0031】
測定ユニット制御部480は、A/D変換部482と、プロセッサ4831と、RAM4834と、記憶部4835と、バスコントローラ4850と、並列処理プロセッサ4833と、バス485と、処理ユニット300と接続するインタフェース部489とを備えている。測定ユニット制御部480は、バス485とA/D変換部482との間に介在するインタフェース部484を備えている。測定ユニット制御部480は、さらに、各種ハードウェア(すなわち検体吸引部450、装置機構部430、試料調製部440、FCM検出部410)とバス485の間に介在するインタフェース部488とを備えている。
【0032】
A/D変換部482は、アナログ処理部420から出力されたアナログ信号を、所定のサンプリングレート(例えば、10ナノ秒間隔で1024ポイントのサンプリング、80ナノ秒間隔で128ポイントのサンプリング、又は160ナノ秒間隔で64ポイントのサンプリング等)でサンプリングし、デジタル信号に変換する。A/D変換部482は、検体の測定開始から測定終了までのアナログ信号をデジタル信号に変換する。ある測定チャネルでの測定によって複数種類のアナログ信号(例えば、前方散乱光強度、側方散乱光強度および蛍光強度にそれぞれ対応するアナログ信号)が生成される場合、A/D変換部482は、それぞれのアナログ信号の測定開始から測定終了までをデジタル信号に変換する。A/D変換部482には、
図4を参照して説明したように、3種類のアナログ信号(すなわち前方散乱光信号、側方散乱光信号および蛍光信号)が、それぞれ対応する複数の信号伝送経路421を介して入力される。A/D変換部482は、複数の信号伝送経路421から入力されたアナログ信号のそれぞれをデジタル信号に変換する。
【0033】
図5は、A/D変換部482によるアナログ信号のサンプリングの処理を説明するための模式図である。細胞Cを含む測定試料をフローセル4113に流し、フローセル4113に光を照射すると、光の進行方向に対して前方に前方散乱光が生じる。同様に、光の進行方向に対して側方に側方散乱光と側方蛍光が生じる。前方散乱光は、受光素子4116によって受光され、受光量に応じた信号が出力される。側方散乱光は、受光素子4121によって受光され、受光量に応じた信号が出力される。側方蛍光は、受光素子4122によって受光され、受光量に応じた信号が出力される。測定試料に含まれる複数の細胞がフローセル4113を通過することに伴って、受光素子4116、4121、4122から、時間経過に伴う信号の変化を表すアナログ信号が出力される。前方散乱光に対応するアナログ信号を「前方散乱光信号」、側方散乱光に対応するアナログ信号を「側方散乱光信号」、側方蛍光に対応するアナログ信号を「蛍光信号」という。各アナログ信号の1つのパルスが1つの細胞に対応する。
【0034】
アナログ信号は、A/D変換部482に入力される。A/D変換部482は、受光素子4116、4121、4122から入力されるアナログ信号のうち、前方散乱光信号のレベルが所定の閾値として設定されたレベルに至った時点を始点として、前方散乱光信号、側方散乱光信号、蛍光信号のサンプリングを行う。A/D変換部482は、所定のサンプリングレート(例えば、10ナノ秒間隔で1024ポイントのサンプリング、80ナノ秒間隔で128ポイントのサンプリング、又は160ナノ秒間隔で64ポイントのサンプリング等)で、それぞれのアナログ信号をサンプリングする。サンプリング時間はパルスの大きさによらず固定である。サンプリング時間は、一つの細胞がフローセル4113のビームスポットを通過したときにアナログ信号のレベルが立ち上がってから立下るまでの時間より長めに設定される。これにより、一つの細胞に対応するデジタル信号として、複数の時点におけるアナログ信号レベルを示す値を要素とする行列データが得られる。このようにしてA/D変換部482は、一つの細胞に対応する前方散乱光のデジタル信号、側方散乱光のデジタル信号、側方蛍光のデジタル信号を生成する。A/D変換は、デジタル信号が得られた細胞数が所定数に達するまで、または測定試料をフローセル4113に流し始めてから所定時間が経過するまで繰り返される。これにより、
図5に示すように、測定試料中のN個の細胞について、各細胞のアナログ信号の波形をデジタル化したデジタル信号が得られる。本明細書では、デジタル信号に含まれる各細胞に対するサンプリングデータの集合(
図5の例ではt=0nsからt=10240nsまでの1024個のデジタル値の集合)を波形データと呼ぶ。
【0035】
A/D変換部482によって生成された各々の波形データには、各々の細胞を識別するためのインデックスが付与される。インデックスは、例えば、生成された波形データの順に1~Nの整数が付与され、同じ細胞から得られた前方散乱光の波形データ、側方散乱光の波形データ、側方蛍光の波形データには、それぞれ、同一のインデックスが付与される。インデックスは、後述する細胞のデータ構造に含まれる細胞IDに対応する。
【0036】
一つの波形データは一つの細胞に対応するので、インデックスは測定された細胞に対応する。同じ細胞に対応する波形データに同一のインデックスが付与されることで、後述する深層学習アルゴリズムは、個々の細胞に対応する前方散乱光の波形データと、側方散乱光の波形データと、蛍光の波形データを解析し、細胞の種別を分類できる。
【0037】
A/D変換部482は、各細胞に対応する波形データを生成することに加えて、各信号のパルスのピーク値を計算し、特徴パラメータデータを生成する。
図6は、特徴パラメータデータの一例を示す模式図である。A/D変換部482は、波形データを生成するために各細胞のアナログ信号をデジタル値へ変換する処理と並行して、各細胞の波形データに含まれるデジタル値の最大値を特徴パラメータデータの先頭列から順に格納する。N列にはN番目に波形データが生成された細胞の値が格納される。列の位置は波形データの先頭に付与されるインデックスと一致する。つまりインデックス“N”の波形データに対応するデジタル値はN列に格納される。デジタル値の最大値は、細胞のアナログ信号のパルスのピーク高さに相当する。よって、前方散乱光信号、側方散乱光信号および側方蛍光信号のそれぞれについて、各細胞の波形データに含まれるデジタル値の最大値を抽出することにより、各細胞について前方散乱光信号のパルスのピーク値(FSCPという)と、側方散乱光信号のパルスのピーク値(SSCPという)と、側方蛍光信号のパルスのピーク値(SFLPという)が得られる。
【0038】
図2に戻って、A/D変換部482は、生成したデジタル信号と特徴パラメータデータをバス485に入力する。バスコントローラ4850は、A/D変換部482から出力されたデジタル信号を、例えば、DMA(Direct Memory Access)転送によって、RAM4834に送信する。RAM4834は、デジタル信号と特徴パラメータデータを記憶する。
【0039】
プロセッサ4831は、バス485を介して、インタフェース部489、インタフェース部488、インタフェース部484、RAM4834、記憶部4835と接続されている。プロセッサ4831は、バス485を介して並列処理プロセッサ4833と接続されている。処理ユニット300は、インタフェース部489とバス485を介して測定ユニット400の各部に接続されている。バス485は、例えば、数百MB/s以上のデータ転送速度を有する伝送路である。バス485は、例えば、1GB/s以上のデータ転送速度を有する伝送路で構成してもよい。バス485は、例えば、PCI-Express又はPCI-X規格に基づいてデータ転送を行う。
【0040】
プロセッサ4831は、並列処理プロセッサ4833を用いて、記憶部4835に格納された解析ソフトウェア4835aを実行することによりデジタル信号を分析する。
【0041】
プロセッサ4831は、例えば、CPU(Central Processing Unit)である。並列処理プロセッサ4833は、波形データの分析に関する処理の少なくとも一部である複数の演算処理を並列に実行する。並列処理プロセッサ4833は、例えば、GPU(Graphics Processing Unit)、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)である。並列処理プロセッサ4833がFPGAである場合、並列処理プロセッサ4833は、例えば、解析ソフトウェア4835aによって実現される深層学習アルゴリズム60に関する演算処理が予めプログラムされていてもよい。並列処理プロセッサ4833がASICである場合、並列処理プロセッサ4833は、例えば、深層学習アルゴリズム60に関する演算処理を実行するための回路が予め組み込まれていてもよいし、そのような組み込み回路に加えてプログラマブルなモジュールが内蔵されていてもよい。並列処理プロセッサ4833は、例えば、NVIDIA社製のGeForce,Quadro,TITAN,Jetsonなどが好適に用いられる。
【0042】
図7は、解析ソフトウェア4835aの深層学習アルゴリズム60の演算処理を説明する図である。
【0043】
深層学習アルゴリズム60は、多層の中間層を含むニューラルネットワークにより構成される。ニューラルネットワークは、畳み込み層を有する畳み込みニューラルネットワーク(Convolutional Neural Network: CNN)であることが好ましい。ニューラルネットワークにおける入力層60aのノード数は、入力される1細胞の波形データに含まれる配列数に対応している。
図6の例では、入力層60aのノード数は、1つの細胞の波形データ86a、86b、86cの1024個×3の配列の数に対応している。
【0044】
ニューラルネットワークの出力層60bは、解析対象の細胞種に対応した数のノードを備える。
図8の例では、解析対象の細胞種は「好中球(NEUT)、「リンパ球(LYMPH)」、「単球(MONO)」、「好酸球(EO)」、「好塩基球(BASO)」、「幼若顆粒球(IG)」、「芽球(Blast)」、「異常リンパ球(Abn LYMPH)」、および「該当なし(NONE)」の9種類ある。この場合の出力層60bのノードの数は9となる。
【0045】
深層学習アルゴリズム60を構成するニューラルネットワークの入力層60aに波形データが入力されると、出力層60bから、細胞を複数の細胞種(Cell type)に分類した分類情報82として、波形データに対応する細胞が各細胞種に該当する確率が出力される。出力層60bから出力されるデータは、細胞IDと、細胞種の識別情報(
図8のラベル値)と、各細胞種に対応する確率の数値と、を含む。
【0046】
プロセッサ4831は、深層学習アルゴリズム60によって得られた細胞の分類情報82をRAM4834に格納する。各細胞の分類情報82と特徴パラメータデータは、インタフェース部489を介して処理ユニット300に送信される。
【0047】
[3.処理ユニット300の構成]
図9を参照して処理ユニット300の構成を説明する。処理ユニット300は、インタフェース部3006、及びバス3003を介して測定ユニット400のプロセッサ4831と接続されており、測定ユニット400によって生成された分類情報82及び特徴パラメータデータを受信することができる。インタフェース部3006は、例えば、USBインタフェースである。
【0048】
処理ユニット300は、プロセッサ3001と、バス3003と、記憶部3004と、インタフェース部3006と、表示部3015と、操作部3016とを備える。処理ユニット300は、ハードウェアとしては一般的なパーソナルコンピュータによって構成されており、記憶部3004に格納された専用のプログラムを実行することで、細胞分析装置100の処理ユニットとして機能する。
【0049】
プロセッサ3001はCPUであり、記憶部3004に記憶されたプログラムを実行することが可能である。
【0050】
記憶部3004は、ハードディスク装置を備える。記憶部3004には、少なくとも、測定ユニット400から送信される細胞の分類情報82を処理して検体の検査結果を生成するためのプログラムが格納されている。
【0051】
表示部3015は、コンピュータスクリーンを備える。表示部3015はインタフェース部3006とバス3003を介してプロセッサ3001に接続されている。表示部3015は、プロセッサ3001から入力される画像信号を受けて検査結果を表示することができる。
【0052】
操作部3016は、キーボード、マウスまたはタッチパネルを含むポインティングデバイスを備える。医師や検査技師等のユーザは、操作部3016を操作することで、細胞分析装置100に測定オーダを入力し、測定オーダにしたがって測定指示を入力することができる。操作部3016は、ユーザから検査結果を表示する指示を受け付けることもできる。ユーザは、操作部3016を操作し、検査結果に関する様々な情報、例えば、グラフ、チャート、検体に付与されたフラグ情報を閲覧することができる。
【0053】
[4.細胞分析装置100の動作]
図10を参照し、細胞分析装置100による検体の分析動作を説明する。
【0054】
処理ユニット300のプロセッサ3001は、操作部3016を介してユーザから測定オーダと測定指示を受け付けると、測定ユニット400に対して測定コマンドを送信する(ステップS1)。
【0055】
測定ユニット400のプロセッサ4831は、測定コマンドを受信すると、検体の測定を開始する。プロセッサ4831は、検体吸引部450に、採血管Tから検体を吸引させる(ステップS10)。次に、プロセッサ4831は、検体吸引部450に、吸引した検体を試料調製部440のいずれかの反応チャンバ440a~440eに分注させる。ステップS1において処理ユニット300から送信される測定コマンドには、測定オーダによって測定が要求されている測定チャネルの情報が含まれている。プロセッサ4831は、測定コマンドに含まれる測定チャネルの情報に基づいて、対応する測定チャネルの反応チャンバに検体を吐出するよう検体吸引部450を制御する。
【0056】
プロセッサ4831は、試料調製部440に測定試料を調製させる(ステップS11)。ステップS11では、試料調製部440は、プロセッサ4831からの命令を受けて、検体が吐出された反応チャンバに試薬(溶血剤および染色液)を供給し、検体と試薬を混合する。これにより反応チャンバ内で、赤血球が溶血剤により溶血され、かつ白血球や網状赤血球などの、測定チャネルがターゲットとする細胞が染色的によって染色された測定試料が調製される。
【0057】
プロセッサ4831は、FCM検出部410に、調製した測定試料を測定させる(ステップS12)。ステップS12では、プロセッサ4831は、装置機構部430を制御して、試料調製部440の反応チャンバ内にある測定試料をFCM検出部410へ送液する。反応チャンバとFCM検出部410は流路で接続されており、反応チャンバから送液された測定試料はフローセル4113内を流れて、光源4111によってレーザ光が照射される(
図4参照)。
【0058】
測定試料がフローセル4113に供給されることにより、前方散乱光信号、側方散乱光信号および側方蛍光信号がA/D変換部482に入力される。A/D変換部482は個々の細胞に対応する波形データの集合であるデジタル信号と、各細胞の波形データに含まれる最大値を格納した特徴パラメータデータを生成する。波形データと特徴パラメータの生成方法はすでに述べたとおりである。
【0059】
プロセッサ4831は、バスコントローラ4850を制御し、A/D変換部482によって生成された波形データと特徴パラメータデータをDMA転送によってRAM4834に取り込ませる。DMA転送により、波形データは、プロセッサ4831を介さずに直接RAM4834に転送される。波形データはRAM4834に格納される。
【0060】
プロセッサ4831は、深層学習アルゴリズム60を用いて、生成した波形データに基づいて細胞分類を実行し、分類情報を生成する(ステップS13)。
【0061】
プロセッサ4831は、ステップS14の結果として得られた個々の細胞の分類情報82と特徴パラメータデータを処理ユニット300に送信する(ステップS14)。
【0062】
処理ユニット300のプロセッサ3001は、測定ユニットから分類情報82と特徴パラメータデータを受信すると(ステップS2)、記憶部3004に格納されたプログラムを用いて分類情報82を分析し、検体の検査結果データを生成する(ステップS3)。検査結果データは記憶部3004に格納される。ステップS3の処理については後述する。
【0063】
プロセッサ3001は、検査結果を表示部3015に表示する(ステップS4)。ステップS4の処理については後述する。
【0064】
プロセッサ3001は、ホストコンピュータ500に検査結果を送信する(ステップS5)。ステップS5の処理については後述する。
【0065】
ホストコンピュータ500は、処理ユニット300のプロセッサ3001から送信された検査結果を受信する(ステップS21)。これにより一連の処理が終了する。
【0066】
[5.検査結果データ生成プロセス]
図11は、処理ユニット300のプロセッサ3001によって実行されるステップS3(検査結果データ生成プロセス)の詳細を示すフローチャートである。
【0067】
プロセッサ3001は、測定ユニット400から受信した分類情報82に基づいて、細胞の主細胞種を決定する(ステップS31)。具体的に、プロセッサ3001は、分類情報82に含まれる細胞種ごとの確率に基づいて、確率が最も高い細胞種を主細胞種に決定する。例えば、ある細胞について得られた確率データが以下の場合、最も確率が高い細胞種が好中球であるので、その細胞の主細胞種は好中球となる。
【0068】
【0069】
次に、プロセッサ4831は、決定した主細胞種に基づいて、検体に含まれる細胞の数を細胞種ごとに計数する(ステップS32)。ステップS32の処理では、個々の細胞の細胞種の情報に基づいて、細胞種ごとに細胞の数がカウントされる。例えば、測定チャネルとしてWDFが設定されている場合の分類対象の細胞種は、
図8に例示するように9つある。プロセッサ3001は、例えば、主細胞種が好中球である細胞の数がM個あれば、好中球の数をM個とする計数結果を生成する。プロセッサ3001は、同様の処理をリンパ球、単球、好酸球、好塩基球、幼若顆粒球、芽球および異常リンパ球に対して行い、各細胞種について計数結果を生成する。
【0070】
プロセッサ3001は、さらに、各細胞種の計数値に基づき、検体の正常/異常を判定してもよい。例えば、芽球は健常者の末梢血には含まれないため、主細胞種が芽球であると判定された細胞が所定数以上含まれている場合、その検体は何らかの異常が疑われる。また、幼若顆粒球は通常は健常者の血液には含まれないため、主細胞種が幼若顆粒球であると判定された細胞が所定数以上含まれている場合も、その検体は何らかの異常が疑われる。プロセッサ3001は、各細胞種の計数値(絶対値)を所定の数値範囲または閾値と比較して、計数値が数値範囲を外れる場合、または閾値を超える場合に、異常が疑われることを示すフラグを分析結果に付加してもよい。
【0071】
プロセッサ3001は、さらに、各細胞種の計数値に基づき、細胞の含有比率を求めてもよい。例えば、プロセッサ3001は、測定チャネルとしてWDFが設定されている場合、好中球、リンパ球、単球、好酸球、好塩基球の5つの白血球サブクラスの比率を求める。健常者の血液には、これら5つの白血球サブクラスが所定の割合で含有されている。プロセッサ3001は、白血球サブクラスの割合を所定の数値範囲または閾値と比較することで検体の正常/異常を判定してもよい。プロセッサ3001は、特定の白血球比率が所定の数値範囲を外れる場合、または閾値を超える場合に、検体が異常であることを示唆するフラグを分析結果に付加してもよい。
【0072】
プロセッサ3001は、細胞IDに対応付けて上述の検査結果データを生成する(ステップS33)。
図12は、プロセッサ3001により生成される検査結果データのデータ構造の第1例を模式的に示す図である。
【0073】
検査結果データは、リレーショナルデータベースによって構成され、複数のデータ項目(列)を含む。
図12に示す例では、被検者IDと、検体IDと、測定結果と、測定チャンネルの識別コードと、細胞IDと、細胞種の識別情報と、各細胞種に対する確率がデータ項目として設けられている。
【0074】
被検者IDのデータは、検体が採取された被検者を識別するための情報である被検者IDを格納する。被検者IDは、例えば数字とアルファベットの組み合わせからなる複数桁の文字列である。
【0075】
検体IDのデータは、検体を識別するための情報である検体IDを格納する。検体IDは、例えば数字とアルファベットの組み合わせからなる複数桁の文字列である。
【0076】
測定結果のデータは、プロセッサ3001がステップS32において主細胞種に基づき測定データを分析することにより得られた測定結果を格納する。測定結果は、上述のとおり、最も確率が高い細胞種(主細胞種)に基づく細胞の計数結果を含む。測定結果は、測定チャネルがWDFであれば、白血球サブクラス(単球、好中球、リンパ球、好酸球、好塩基球)のそれぞれの数と割合を含む。測定チャネルがRETであれば、測定結果は網赤血球数を含む。測定チャネルがWPCであれば、測定結果は造血前駆細胞数を含む。測定チャネルがWNRであれば、測定結果は白血球数および有核赤血球数を含む。
【0077】
測定チャネルのデータは、検体に対して行われた測定の測定チャンネルを示す情報を格納する。本実施形態の測定ユニット400の例では、測定チャンネルとしてDIFF、RET、WPC、PLT-F、WNRがある。測定チャネルのデータ項目には、測定が行われた測定チャネルに対応して「DIFF」、「RET」、「WPC」、「PLT-F」、「WNR」の文字列が格納される。測定チャネルを示す情報は測定チャネルを示す文字列であってもよいし、測定チャネルごとに割り当てられた数字やアルファベットであってもよい。例えば、DIFF=1、RET=2、WPC=3、PLT-F=4、WNR=5のように数字を割り当て、使用した測定チャネルに対応する数字を格納してもよい。測定チャネルのデータは、測定が行われた測定チャネルの数に応じて、1つの検体に対して1つ又は複数の値を格納する。
【0078】
細胞IDのデータは、1つの測定チャネルの測定により検出された細胞の数に応じて、複数作成される。細胞IDは、1、2、3、・・・、Nのような自然数の数値である。細胞IDは、上述の個々の細胞に対応する波形データの先頭に付加されるインデックス(
図5参照)および特徴パラメータデータの列の順位(
図6参照)と一致する。
【0079】
特徴パラメータのデータは、対応する細胞の前方散乱光ピーク値(FSCP)、側方散乱光ピーク値(SSCP)、側方蛍光ピーク値(SFLP)の値を格納する。
図12の例では、特徴パラメータのデータは、一つの細胞IDに対して、FSCP、SSCP、SFLPの3つ作成される。
図6を参照して説明したとおり、特徴パラメータデータは、列の順位が細胞IDに対応している。例えば、特徴パラメータデータの先頭列(第1列)には、細胞ID“1”の細胞に対応する特徴パラメータが格納されている。したがって、細胞ID=1に対応するFSCPのデータには、特徴パラメータデータのうちFSCPの行列データの先頭列の値「59」が格納される。同様に、SSCP、SFLPには、それぞれ、SSCPの行列データの先頭列の値「30」と、SFLPの行列データの先頭列の値「134」が格納される。
【0080】
細胞種のデータは、分析対象の細胞種を示す情報を格納する。細胞種を示す情報とは、例えば、
図8に示すような細胞種を特定可能なラベル値である。細胞種のデータは、測定チャネルの分析対象の細胞種の数に応じて、複数作成される。例えば、測定チャネルの分析対象の細胞種が、
図8に示すように。「なし」を含む9種類である場合、細胞種のデータは9つ作成される。なお、識別情報は、ラベル値に代えて「好中球」や「NEUT」などの文字列であってもよい。
【0081】
確率のデータは、1つの細胞種のデータに対して1つ作成される。確率のデータには、対応する細胞IDおよび識別情報について、深層学習アルゴリズム60が出力した確率の値が数値データの形式で格納される。例えば、対象とする細胞の分類情報82が上掲の表1の通りであった場合、好中球に対応する変数に「90%」が格納され、リンパ球に対応する変数に「10%」が格納され、その他の識別情報に対応する変数に「0%」が格納される。
【0082】
プロセッサ3001は、
図12に示す検査結果データを生成し、記憶部3004に格納する。
【0083】
図13は、検査結果データの第2例を模式的に示す図である。
図13に示す検査結果データのデータ構造には、
図12と比較して、各識別情報に対して主フラグを格納するデータが付加されている。
図13のデータ構造の場合、分類情報は、識別情報、確率および主フラグにより構成される。
【0084】
主フラグのデータは、0または1の値を格納する。プロセッサ3001は、確率が最も大きい細胞種(主細胞種)に対応する主フラグに1を格納し、その他の細胞種に対応する主フラグに0を格納する。この構成によれば、プロセッサ3001は、主細胞種の情報を演算に用いたり出力したりする度に確率に基づいて主細胞種を個々の細胞について特定する必要がなく、処理が高速化できる。例えば、後述するスキャッタグラムにおいて、各細胞のプロットは細胞種毎に色分けされて表示される。このような場合に、プロセッサ3001は、主フラグを参照することで各細胞のプロットの色を決定でき、個々の細胞の確率に基づいて主細胞種を特定する必要がない。なお、第2例の場合、深層学習アルゴリズム60が分類情報82を生成する際に、分類情報82とともに主フラグに数値をセットする処理を実行してもよい。
【0085】
図14は検査結果データの第3例を模式的に示す図である。
図14に示す検査結果データには、
図12と比較して、1つの細胞IDに対して、主細胞種のデータが1つ付加されている。
図14のデータ構造の場合、分類情報は、識別情報、確率および主細胞種を示す識別情報により構成される。
【0086】
主細胞種のデータは、最も確率が高い細胞種(主細胞種)の識別情報を格納する。
図13の第2例では、個々の細胞の主細胞種を特定するために主フラグが格納されている列を検索する必要があるが、
図14の第3例では、主細胞種のデータを参照することにより主細胞種を特定することができ、さらなる処理の高速化が可能となる。
【0087】
図15は検査結果データの第4例を模式的に示す図である。
図15に示す検査結果データには、
図12と比較して、各識別情報に対応して、リサーチフラグのデータが付加されている。
図15のデータ構造の場合、分類情報は、識別情報、確率およびリサーチフラグにより構成される。
【0088】
リサーチフラグのデータは、0または1の値を格納する。リサーチフラグは、後述する結果表示画面において、レポータブル項目の検査結果として表示する細胞種と、リサーチ項目として補助的に表示する細胞種とを区別するためのフラグである。プロセッサ3001は、確率が所定の閾値以下の細胞種に対応するリサーチフラグに「1」を格納し、確率がこの閾値より大きい細胞種のリサーチフラグに「0」を格納する。リサーチフラグに1が設定されると、検査結果データが表示される場合に、この細胞種に関する確率や計数結果などに対して、リサーチ目的として用いるのが好ましいことを示す情報を付与することができる。
【0089】
図16は検査結果データの第5例を模式的に示す図である。
図16に示す検査結果データには、
図12と比較して、各識別情報に対して、順位のデータが付加されている。
図16のデータ構造の場合、分類情報は、識別情報、確率および順位により構成される。
【0090】
順位のデータは、細胞IDに対応付けられた全ての細胞種に対して確率が高い順に付された、1~m(m:分析対象の細胞種の数)の数字が格納される。プロセッサ4831は、確率の高い順に順位を算出し、算出した順位を各細胞種の順位のデータに格納する。この場合、プロセッサ3001は、順位のデータを参照することにより、最も確率が高い細胞種だけでなく、たとえば、2番目に確率が高い細胞種についても円滑に把握できる。
【0091】
[6.検査結果表示プロセス]
図17は、プロセッサ3001によって実行される検査結果表示プロセス(ステップS4)の第1例を図示したフローチャートである。
【0092】
プロセッサ3001は、検体一覧画面700(サンプルエクスプローラ画面)を表示する(ステップS410)。プロセッサ3001は、ユーザの操作に応じて、詳細画面800(ブラウザ画面)を表示する(ステップS411)。プロセッサ3001は、ユーザからの表示指示に応じて、スキャッタグラムを含む分析画面900を表示する(ステップS412)。プロセッサ3001は、分析画面900に表示されたスキャッタグラム901において選択されたドットに対応する細胞の分類情報を読み出して、読み出した分類情報を表示する(ステップS413)。
【0093】
図18は、検体一覧画面700の一例を示す。検体一覧画面700は、ツールバー710とデータ表示領域720を備える。ツールバー710には、画面上で所定の操作を行うための複数のアイコンが表示される。具体的には、ツールバー710は、検体一覧画面700(SE)画面を呼び出すための検体一覧画面アイコン710aと、詳細画面800を呼び出すための詳細アイコン710bと、測定オーダを入力するための測定オーダ入力画面を呼び出すための測定登録アイコン710cと、検査結果をバリデートするためのバリデートアイコン710dと、を含む。
【0094】
ツールバー710の下部には、検査結果のデータが表示されるデータ表示領域720が設けられている。ツールバー710はデータ表示領域720に表示される内容にかかわらず常に画面上部に表示される。検体一覧画面700のデータ表示領域720には、検体一覧表示領域931と測定結果表示領域932が表示される。
【0095】
検体一覧表示領域931には、被検者ID、検体ID、日時などの項目が設けられる。検体一覧表示領域931には、被検者IDおよび検体IDにより識別される検査結果データが、リスト形式で表示されている。
【0096】
測定結果表示領域932には、検体一覧表示領域931で選択された検体IDに基づく測定結果が表示される。測定結果表示領域932に表示される測定結果は、主細胞種に基づく計数結果や比率情報である。
【0097】
ユーザが検体一覧画面700において詳細アイコン710bを選択するか、または検体一覧表示領域931において一つの検体のレコードを選択(例えばダブルクリック)すると、詳細画面800が表示される。
【0098】
図19は詳細画面800の一例を示す図である。詳細画面800は、ツールバー810(710)と、データ表示領域820とを含む。ツールバー810は、検体一覧画面700において表示されていたものと同じである。データ表示領域820には、測定結果を表示するための測定結果領域820aと、フラグ情報が表示されるフラグ領域820bと、グラフが表示されるグラフ領域820cとが表示される。測定結果領域820aには、表示対象となる検体に対して測定が行われた全ての測定チャネルの測定結果が表示される。フラグ領域820bには、測定結果に基づいて検体にフラグが設定されている場合にフラグ(サスペクトメッセージ)が表示される。グラフ領域820cには、各測定チャネルに対応するグラフが表示される。
【0099】
図19の例では、グラフ領域820cには、WDFスキャッタグラムと、WNRスキャッタグラムと、WPCスキャッタグラムと、RETスキャッタグラムと、PLT-Fスキャッタグラムと、RBCヒストグラムと、PLTヒストグラムが表示されている。グラフ領域820cに表示されるスキャッタグラムは、上述の特徴パラメータに基づいて作成され表示される。
【0100】
ユーザは、詳細画面800に表示される分析結果を参照して、検査結果データをバリデートする場合、バリデートアイコン710dを操作する。これにより、当該検査結果データがバリデートされる。検査結果データをバリデートしない場合、ユーザは、たとえば測定登録アイコン710cを操作して再検査オーダを入力することができる。
【0101】
ユーザは、細胞の分類情報を確認するために、分析画面900を表示させることができる。詳細画面800のグラフ領域820cにおいて、ユーザが任意のグラフを操作(例えばダブルクリック)すると、分析画面900がポップアップ表示され、詳細画面800の上にオーバーレイ表示される。
【0102】
図20は、分析画面900の一例である。
図20では、ユーザがWDFスキャッタグラムを選択した場合に表示される分析画面900を例示している。
【0103】
分析画面900には、スキャッタグラム901および詳細表示領域902が表示されている。
図20に示すスキャッタグラム901は、検査結果データに含まれる測定チャンネルに対応付けられた細胞の特徴パラメータに基づいて表示される。
図20に示すスキャッタグラム901において、横軸は側方散乱光信号のピーク値(SSCP)であり、縦軸は側方蛍光信号のピーク値(SFLP)である。プロセッサ3001は、細胞IDによって特定される個々の細胞について、SSCPおよびSFLPに基づいてスキャッタグラム901における座標を決定し、決定した座標にドットを描画することで細胞をプロットする。プロセッサ3001は、表示されるスキャッタグラム901に対応する測定チャネルの配下にある全ての細胞のデータに対して同様の処理を行い、スキャッタグラム901に細胞をプロットする。
【0104】
プロセッサ3001は、プロットされる細胞の分類情報に基づいてドットの色を設定する。具体的には、プロセッサ3001は、異なる細胞種の細胞を、異なる色のドットで表示する。例えば、WDFチャネルに対応するスキャッタグラム901では、好中球を第1の色(例えば青色)、リンパ球を第2の色(例えば紫色)、単球を第3の色(例えば緑色)、好酸球を第4の色(例えば赤色)、好塩基球を第5の色(例えば黄色)で表示する。
【0105】
なお、従来の血球計数装置における白血球分類では、
図20に示すスキャッタグラム901のような座標平面に細胞をプロットし、各細胞の座標に基づいて細胞を複数の集団に分類するクラスタリング解析の方法が採用されていた。そのため同じ座標にプロットされた細胞は同じ種類の細胞に分類される。一方、本実施形態では、従来の白血球分類と異なり、細胞の特徴パラメータ(SSCPおよびSFLP)をスキャッタグラム901に細胞をプロットするために用いるのみである。本実施形態における細胞の分類は、上述の通り、深層学習アルゴリズム60を用いて個々の細胞の波形データを分析することで、クラスタリングの手法によることなく、細胞の種類を個別に同定する。言い換えると、スキャッタグラム901における細胞プロットの座標は、細胞の特徴を表すパラメータに基づいて測定試料に含まれる細胞の分布を表す断片的な情報であり、座標は細胞種の同定には用いられない。そのため、同じ座標にプロットされた複数の細胞があっても、それらの細胞は深層学習アルゴリズム60によって異なる細胞に分類されることがある。同じ座標に異なる種類の細胞がプロットされた場合、プロセッサ3001は、同じ座標にプロットされる複数の細胞の主細胞種に基づき、最も割合の多い主細胞種に対応する色のドットを描画する。
【0106】
図17のフローチャートのステップS413において、ユーザがスキャッタグラム901上のドットを選択する操作(例えばダブルクリック)を行うと、プロセッサ3001は、詳細表示領域902をポップアップで表示する。詳細表示領域902は、分類情報表示領域902aを含んでおり、分類情報表示領域902aは、スキャッタグラム901において選択されたドットに含まれる細胞の分類情報を表示する。
図20では、複数の細胞種と、各細胞種に対応する確率を表示した例を示している。分類情報表示領域902aには、分類情報表示領域902a内の表示範囲を変更して全ての細胞種および確率を表示可能とするためのスクロールバーが設けられている。スキャッタグラム901上の選択されたドットに複数の細胞がプロットされている場合、詳細表示領域902に、複数の細胞ごとの分類情報表示領域902aが表示される。ユーザは、スクロールバーを操作することにより、分類情報をスクロール表示することができる。
【0107】
図20の分析画面900では選択されたドットに含まれる細胞の分類情報をポップアップによって表示しているが、
図21に示すように分類情報表示領域902aを分析画面900に設けてもよい。この場合、ドットが選択されるまでは分類情報表示領域902aはブランクであり、ドットが選択されたことに応じて、選択されたドットに対応する細胞の分類情報が分類情報表示領域902aに表示される。
【0108】
上記の例では、スキャッタグラム901上のドットが操作(例えばダブルクリック)されたことに応じて詳細表示領域902をポップアップで表示しているが、詳細表示領域902を呼び出すための操作は、スキャッタグラム901上の任意の座標を特定できる限り種々の操作を含み得る。例えば、スキャッタグラム901にカーソルをあわせるだけで詳細表示領域902が表示されてもよく、この場合、カーソルをスキャッタグラム901上に置くことが詳細表示領域902を呼び出すための操作となる。また、操作はダブルクリックに代えて、長押し、右クリック、カーソルを座標に置いた状態でキーボードまたはソフトウェアキーの所定のキー(例えばEnterキー)を押下することであってもよい。
【0109】
図20、
図21の画面によれば、ユーザは、分類情報表示領域902aを参照することにより、スキャッタグラム901上で選択したドットに対応する細胞の分類情報を確認できる。また、ユーザは、スキャッタグラム901上において選択するドットを変更することにより、分類情報表示領域902aの表示内容を動的に切り替えて、表示内容を連続的に確認できる。
【0110】
なお、分類情報表示領域902aには、分類情報として、細胞種ごとの確率に限らず、他の情報が表示されてもよい。たとえば、検査結果データが
図13の構成を有する場合、細胞種ごとの主フラグの値が表示されてもよい。また、検査結果データが
図14の構成を有する場合、主細胞種(最も確率が高い細胞種)にマークが表示されてもよく、主細胞種が別途表示されてもよい。また、検査結果データが
図15の構成を有する場合、細胞種ごとのリサーチフラグの値が表示されてもよい。また、検査結果データが
図16の構成を有する場合、細胞種ごとの順位が表示されてもよい。
【0111】
図20、
図21では細胞種ごとの確率が数値で表示された。これに代えて、
図22および
図23に示すように細胞種ごとの確率に応じたグラフが表示されてもよい。
図22は分析画面900の他の例を示す図である。
図22の例では、分類情報表示領域902aには、選択されたドットに対応する細胞ごとに、細胞の確率情報が100%積み上げ棒グラフ(percentage bar chart)で表示されている。この100%積み上げ棒グラフは各細胞IDに対応して表示され、識別情報ごとの確率の値が積み上げ型で全体として100%となるように表示されている。これにより、ユーザは、細胞種毎の確率を視覚的に把握することができる。
【0112】
図23は、分析画面900の他の例を示す図である。
図23の分析画面900には、スキャッタグラム901、詳細表示領域902、拡大ボタン903および拡大
図904が表示されている。
【0113】
ユーザが拡大ボタン903を操作すると、スキャッタグラム901上に参照範囲のゲート901aが表示される。ゲート901aは、スキャッタグラム901上の所望のドットを範囲指定によって選択するためのものである。ユーザは、ドラッグ等の操作を行うことにより、スキャッタグラム901上においてゲート901aの位置を変更できる。拡大
図904には、ゲート901a内のスキャッタグラム901の部分が拡大表示される。ユーザが拡大
図904上のドットを選択する操作を行うと、
図20、
図21と同様、選択された細胞の分類情報が、詳細表示領域902内の分類情報表示領域902aに表示される。
【0114】
図23の画面によれば、ユーザは、スキャッタグラム901上にゲート901aを設定して拡大
図904を表示させることにより、拡大
図904において目的の細胞を容易に選択できる。これにより、スキャッタグラム901において細胞のドットが密集した範囲にある細胞についても、円滑に分類情報を確認できる。
【0115】
なお、ゲート901aの境界線に対してドラッグ等の操作が行われることにより、ゲート901aの大きさが変更されてもよい。また、拡大ボタン903に対して操作が行われるごとに、段階的にゲート901aの大きさが変更されてもよい。
【0116】
図20~
図23の例では、スキャッタグラム901上の一つのドットを選択する例を示したが、一度に選択できるドットは一つに限られない。例えば、スキャッタグラム901上の任意の点をクリックしたままカーソルをドラッグすることにより、スキャッタグラム901上で複数のドットを範囲指定により選択してもよい。ただし、複数のドットを一度に選択すると、表示対象となる細胞の数が多すぎる場合が生じ、分類情報を細胞毎に個別表示するとユーザが見にくい場合がありえる。そのため、後述の
図29を参照して説明するように、選択されたドットの数に応じて表示方法を切り替えてもよい。例えば、選択されたドットの数が所定の閾値以下である場合には細胞の分類情報を個別表示し、選択されたドットの数が所定の閾値より大きい場合には個別表示ではなく統計表示してもよい。
【0117】
図24は検査結果表示プロセスの第2例を示すフローチャートである。
図24では、
図17のフローチャートと比べてステップS413が変更されている。
図24のステップS413では、スキャッタグラム901において選択されたドットに対応する細胞の分類情報が読み出され、統計情報として分析画面900に表示される。
【0118】
図17の検査結果表示プロセスの第1例では、
図20~
図23の例に示すように、選択されたドットに対応する細胞の分類情報を、細胞毎に個別表示する例を示した。これに代えて、以下に示す
図25~
図28の例では、選択されたドットに対応する複数の細胞の分類情報を集計し、統計情報を表示する。分析画面900の例を
図25~
図28に示す。
【0119】
図25の分析画面900には、スキャッタグラム901、拡大ボタン903、拡大
図904および詳細表示領域905が表示されている。
【0120】
詳細表示領域905には、ゲート901a内の全ての細胞の分類情報に基づいて、細胞種ごとの確率と個数の統計情報がヒストグラム905aによって表示される。ヒストグラム905aは、ゲート901a内の全ての細胞を、当該細胞種における確率ごとに集計した度数分布情報である。ヒストグラム905aにおいて、横軸は確率であり、縦軸は細胞の個数である。ヒストグラム905aに示される個数には、主細胞種でない細胞(当該細胞種の確率が低い細胞)の計数結果も含まれる。詳細表示領域905には、詳細表示領域905内の表示範囲を変更して全ての細胞種のヒストグラム905aを表示可能とするためのスクロールバーが設けられている。
【0121】
図25の画面によれば、ユーザは、詳細表示領域905に細胞種ごとのヒストグラム905aを表示させることにより、ゲート901aにおける全ての細胞について、細胞種ごとの確率の分布を把握できる。たとえば、従来のスキャッタグラムを用いたクラスタリングの手法では、スキャッタグラム901上において複数の細胞種の分布範囲が重なってしまうことがある。これに対し、本実施形態によれば、このような分布が重なる範囲にゲート901aを設定してヒストグラム905aを参照することにより、細胞種の度数分布を確認できる。これにより、ユーザは、当該検体について、詳細な判断を行うことができ、たとえば、分布が重なる範囲において、各細胞種の細胞がどの程度含まれ得るかを判断できる。
【0122】
図26は、分析画面900の他の例を示す図である。分析画面900には、スキャッタグラム901、拡大ボタン903、拡大
図904、細胞種選択領域906、および統計情報として3次元ヒストグラム907が表示されている。
【0123】
細胞種選択領域906には、細胞種を選択するためのチェックボックスが設けられている。細胞種選択領域906には、細胞種選択領域906内の表示範囲を変更して全ての細胞種を表示可能とするためのスクロールバーが設けられている。3次元ヒストグラム907は、ゲート901a内の全ての細胞を、選択された細胞種における確率ごとに集計した度数分布情報である。3次元ヒストグラム907は、選択された細胞種ごとのヒストグラムを、前後方向に並べて3次元的に表示する。
図26の例では、細胞種選択領域906においてリンパ球と単球が選択されているため、3次元ヒストグラム907には、リンパ球のヒストグラムと単球のヒストグラムが合わせて表示されている。
【0124】
図26の分析画面900によれば、ユーザは、2以上の細胞種を選択して3次元ヒストグラム907を参照することにより、2以上の細胞種の度数分布を同時に確認できる。
図25の例では、画面内に2つのヒストグラム905aが同時に表示されたが、
図26の例では、3以上の細胞種が選択されることにより、画面内に3以上のヒストグラムが表示される。このように
図26の画面によれば、ユーザは、
図25の画面に比べて、さらに多くの度数分布を同時に把握できる。また、ユーザは、確率毎の度数比較を容易に行うことができる。
【0125】
なお、
図26の3次元ヒストグラム907は、
図25に示したヒストグラム905aを奥行き方向に複数並べたヒストグラムであったが、これに代えて、複数の細胞種の確率の分布状態が、サーフェスプロット等により表示されてもよい。
【0126】
図27は、分析画面900の他の例を示す図である。
図27の分析画面900には、スキャッタグラム901、拡大ボタン903、拡大
図904および個数表示領域908が表示されている。
【0127】
個数表示領域908には、ゲート901a内の全ての細胞について、細胞種ごとに確率が0%より大きい細胞を集計した計数値が、統計情報として棒グラフで表示される。この場合、ゲート901a内の複数の細胞が重畳して計数されるため、個数表示領域908内の計数値の合計は、ゲート901a内の細胞の実際の個数よりも多くなる。例えば、
図27のゲート901aに、単球90%、好中球5%、幼若顆粒球5%の確率情報をもつ細胞が1つ含まれているとする。この場合、その細胞は単球、好中球、幼若顆粒球のそれぞれについて1カウントとして計数される。つまり、複数の細胞種に属する確率が0%以上あれば、その細胞の個数は、複数の細胞種に重畳してカウントされる。なお、集計方法はこれに限られず、確率に応じて個数を1以下の小数で表して計数してもよい。例えば、上記の例のごとく、単球90%、好中球5%、幼若顆粒球5%の確率情報をもつ細胞がゲート901aの参照範囲に1つ含まれている場合、0.9個の単球と、0.05個の好中球と、0.05個の幼若顆粒球が含まれるとみなして集計してもよい。
【0128】
個数表示領域908内の棒グラフには、細胞種の計数結果が所定の閾値(たとえば、10個等)より少ない場合、細胞種の計数値が付記される。
図27の例では、幼若顆粒球の計数値が5個であったため、幼若顆粒球の棒グラフに「5」が付記されている。また、個数表示領域908には、個数表示領域908内の表示範囲を変更して全ての細胞種を表示可能とするためのスクロールバーが設けられている。
【0129】
図27の分析画面900によれば、ユーザは、個数表示領域908を参照することにより、ゲート901aにおいて、細胞種ごとの個数を確認できる。確率が所定のパーセンテージを超える細胞は1つとしてカウントされるため、多数派の細胞種と少数派の細胞種を確認する際に便利である。また、個数表示領域908において計数値が小さい細胞種については、計数値の程度を確認できるような補助表示として計数値が付記されるため、計数値の小さい細胞種の計数値を明確に確認できる。これにより、ユーザは、希少な細胞種が当該検体に含まれ得る可能性を円滑に判断できる。
【0130】
なお、個数表示領域908には、確率が0%より大きい細胞種を計数した計数値が表示されたが、計数のための閾値は0%に限らず、0%より大きく100%未満の任意の値を設定してもよい。また、計数のための閾値を受付可能なユーザーインタフェース(たとえば、
図31の確率選択領域910)が、画面内に設けられてもよい。
【0131】
図28は分析画面900の他の例を示す図である。分析画面900には、スキャッタグラム901および詳細表示領域913が表示されている。
【0132】
ユーザがスキャッタグラム901上のドットを選択する操作を行うと、選択されたドットに対応する細胞についての統計情報が詳細表示領域913に表示される。詳細表示領域913は、領域913a~913dを有する。領域913aは、選択されたドットにプロットされた一又は複数の細胞(以下、選択された細胞)について、確率が高い細胞種を上位2つ表示する。領域913bは、選択された細胞について、白血球5分類のうち確率が最も高い細胞種を表示する。領域913cは、選択された細胞について、確率が最も高い異常細胞種を表示する。領域913dは、選択された細胞について、存在する可能性がある細胞種、すなわち確率が0%より大きい細胞種をすべて表示する。
【0133】
図28の分析画面900によれば、ユーザは、詳細表示領域913を参照することにより、選択した細胞がどのような細胞種に分類される可能性があるのかを把握できる。
【0134】
なお、領域913a~913dに表示される細胞種名の近傍に、当該細胞種の確率が合わせて表示されてもよい。選択された細胞が一つだけである場合は、該当する細胞の確率情報を表示することができる。選択された細胞が複数ある場合は、複数の細胞の細胞種の確率の代表値を求めて表示してもよい。代表値は、例えば平均値、中央値、最頻値で表すことができる。また、領域913aには、最上位の細胞種のみを表示してもよいし、または、上位3つ以上の細胞種が表示されてもよい。領域913b、913cには、上位2つ以上の細胞種が表示されてもよい。領域913dには、確率が所定の閾値より大きい細胞種が表示されてもよい。
【0135】
図29は、検査結果表示プロセスの第3例を示したフローチャートである。ステップS414において、プロセッサ3001は、スキャッタグラム901上で選択されたドットに対応する細胞の数を閾値と比較する。細胞の数が閾値以下であれば、プロセッサ3001は、ステップS416において分類情報を細胞毎に個別表示する。細胞毎の分類情報の個別表示は、
図20~
図23を参照して説明したとおりである。細胞の数が閾値より多ければ、プロセッサ3001は、ステップS415において分類情報を集計して統計情報を表示する。統計情報の表示は、
図25~
図28を参照して説明したとおりである。
【0136】
上述したとおり、複数のドットを一度に選択したり、広範囲のゲート901aを設定したりすると、表示対象となる細胞の数が多すぎる場合が生じ、分類情報を細胞毎に個別表示するとユーザにとって視認性が下がる場合がありえる。一方、選択されたドットに対応する細胞の数が少ない場合には、個別の細胞の分類情報を表示できるようにした方がユーザの目的に適う場合がある。例えば、
図28のスキャッタグラム901上で選択されているドットのように、細胞のクラスタの中心から離れた位置や、細胞の分布が疎である位置がユーザによって選択された場合、細胞を集団としてではなく個別に分析することを望んでいる場合もある。そこで、
図29の例では、選択されたドットの数が所定の閾値以下である場合には細胞の分類情報を個別表示し、選択されたドットの数が所定の閾値より大きい場合には個別表示ではなく統計表示することで、自動的に、ユーザにとって視認性の高い画面を提供することができる。
【0137】
図30は、検査結果表示プロセスの第4例を示した図である。上述の検査結果プロセスの第1例~第3例では、スキャッタグラム901の上で目的とする細胞のドットを選択することにより、そのドットに対応する細胞の分類情報を表示する例を示した。以下に説明する
図31~
図38の例では、グラフを含む分析画面900が表示され(ステップS417)、定義された抽出条件を満たす細胞のドットがハイライト表示される(ステップS418)。ステップS418では、スキャッタグラム901上でドットを選択するのではなく、抽出対象とする細胞の条件をユーザが定義すると、その条件を満たす細胞が抽出されてグラフに表示される。
【0138】
図31は、分析画面900の他の例を示す図である。分析画面900には、スキャッタグラム901、細胞種選択領域909および確率選択領域910が表示されている。
【0139】
細胞種選択領域909および確率選択領域910は、いわゆるプルダウンメニューにより構成されている。細胞種選択領域909は、ユーザによって選択された測定チャンネル(
図31ではWDFチャンネル)に対応した全ての細胞種から1つの細胞種を選択可能に構成されている。確率選択領域910には、選択肢として、確率の数値が0%~100%の範囲内で、5%間隔で選択可能に表示される。具体的には、確率選択領域910は、「=100%」、「>95%」、「>90%」、…、「>5%」、「>0%」、「=0%」などの、等号または不等号に確率を合わせた文字列を選択可能に構成されている。
【0140】
ユーザが、細胞種選択領域909において目的とする細胞種を選択し、確率選択領域910において確率を選択すると、スキャッタグラム901上の対応するドットがハイライト表示される。
図31に示す例では、細胞種として好塩基球が選択され、確率として「>85%」が選択されている。この場合、好塩基球の確率が85%より大きい細胞のドット(領域901b内のドット)が、スキャッタグラム901上でハイライト表示される。ハイライト表示は、例えばドットの色を他のドットと異なる色で表示する、ドットの輪郭を強調表示する、ドットを点滅させるなど、抽出されたドットと他のドットとを区別できる表示方法であればよい。
【0141】
図31の画面によれば、ユーザは、抽出条件として、目的とする細胞種と確率を定義することにより、スキャッタグラム901上における条件に合致する細胞の位置を把握できる。これにより、ユーザは、分類情報(細胞種と確率)によって分類される細胞が、従来のスキャッタグラム901上においてどの位置に存在するかを把握でき、たとえば、分類情報による分類の精度を判断する際の材料とすることができる。
【0142】
図32は分析画面900の他の例を示す図である。
図32の分析画面900は、確率選択領域910に代えて、確率の数値選択のためのスケールバー910aと、抽出対象選択領域910cとを備える。スケールバー910aは、左右にスライド可能なポインタ910bを備えている。ユーザはポインタ910bを左右に移動させることで、0%~100%の範囲内の任意のパーセンテージを選択することができる。抽出対象選択領域910cには、スケールバー910aにおいて選択されるパーセンテージと組み合わされる不等号が選択可能に表示される。例えば、
図32に示すように細胞種選択領域909において細胞種として好塩基球が選択され、スケールバー910aにおいて80%の位置にポインタ910bが置かれ、抽出対象選択領域910cにおいて「>」が選択されると、抽出条件は「好塩基球の確率>80%」となる。スキャッタグラム901では、「好塩基球の確率>80%」の抽出条件を満たす細胞のドットがハイライト表示される。
【0143】
ユーザがスケールバー910aにおいてポインタ910bを移動すると、これに伴って抽出条件に含まれるパーセンテージの数値範囲が連続的(段階的)に変更される。抽出条件が変更されると、これに追随して、スキャッタグラム901上で抽出されるドットが動的に変更される。
【0144】
例えば、
図32に示す状態からポインタ910bを右にスライドさせると、抽出条件は「好塩基球の確率>80%」から「好塩基球の確率>85%」に変更される。この抽出条件の変更により、スキャッタグラム901上でハイライト表示される細胞のドットも、「好塩基球の確率>80%」から「好塩基球の確率>85%」に動的に変化する。つまりハイライト表示されるドットの数が減る。逆に、ポインタ910bを左にスライドさせると、抽出条件は「好塩基球の確率>80%」から「好塩基球の確率>75%」に変更される。この抽出条件の変更により、スキャッタグラム901上でハイライト表示される細胞のドットも、「好塩基球の確率>80%」から「好塩基球の確率>75%」に動的に変化する。つまりハイライト表示されるドットの数が増える。
【0145】
このように、スケールバー910aのポインタ910bをスライドさせることで抽出条件を連続的に変化させ、これに伴ってスキャッタグラム901上に表示される抽出条件に合致する細胞のドットのハイライト表示を動的に変化させることで、ユーザは、目的とする細胞がスキャッタグラム901上のどの位置にあるかを容易に把握することができる。
【0146】
図33は、分析画面900の他の例を示す図である。
図33は、抽出条件の設定に関する他の例を示している。
図33の分析画面900は、抽出条件1、抽出条件2、抽出条件3をそれぞれ設定するための条件設定領域910d、910e、910fを備えている。条件設定領域910d、910e、910fは、それぞれ、
図31に示す細胞種選択領域909と確率選択領域910に相当するプルダウンメニューを備えている。条件設定領域910d、910e、910fの間には、二つの演算子設定領域910g、910hが設けられている。演算子設定領域910g、910hは、いずれもプルダウンメニューにより構成され、抽出条件1~3を組み合わせるための論理演算子を設定できる。論理演算子の選択肢は、「AND」、「OR」、「NOT」などである。
図33の例では、論理演算子はいずれも「AND」である。
【0147】
各条件設定領域910d、910e、910fにおいて抽出条件1~3が定義され、演算子設定領域910g、910hにおいて論理演算子が設定されることで、抽出条件1~3が論理演算子によって連結された複合条件が定義される。スキャッタグラム901には、定義された複合条件を満たす細胞のドット(領域901b内のドット)がハイライト表示される。
図33の例のように、細胞種と確率の1対1の組み合わせによる抽出条件は1つだけでなく、複数の抽出条件を組み合わせた複合条件により細胞を抽出することで、より詳細な抽出条件の設定が可能になる。
【0148】
図34は、分析画面900の他の例を示す図である。
図34の画面には、スキャッタグラム901、第1ヒストグラム910i、第2ヒストグラム910jおよび表示領域910kが表示されている。
【0149】
図34に示す例では、分析画面900にデフォルトでスキャッタグラム901のみが表示される。ユーザは、表示されたスキャッタグラム901の上で特定の種類の細胞集団を選択することができる。例えば、ユーザがカーソルをスキャッタグラム901上の特定の細胞集団に重ねると、その細胞集団が選択される。
【0150】
図34では、リンパ球の集団が選択された状態を示している。特定の種類の細胞集団が選択されると、選択された細胞集団の確率分布を表す第1ヒストグラム910iと、選択された細胞集団に対応する異常細胞に関する確率分布を表す第2ヒストグラム910jが分析画面900に表示される。第1ヒストグラム910iおよび第2ヒストグラム910jは、例えば
図25のヒストグラム905aと同様であり、確率の軸に対して細胞の個数を表す。選択された細胞集団に対応する異常細胞とは、選択された細胞集団と形態学的に類似する異常細胞のことをいう。異常細胞とは選択された細胞集団に応じて、予め決められた対応関係に基づいて決まる。例えば、リンパ球が選択された場合、異常細胞は異常リンパ球又は芽球がありえる。例えば単球が選択された場合、異常細胞は芽球がありえる。例えば好酸球又は好塩基球が選択された場合、異常細胞は幼若顆粒球がありえる。
【0151】
図34の例では、特定の細胞集団を選択すると、選択された細胞集団に対応する異常細胞の確率を持った細胞が抽出され、それらの確率の分布が第2ヒストグラム910jとして表示される。ユーザは、選択した細胞集団の確率分布と、異常細胞の確率分布を対比することで、選択した細胞集団の確率分布がどれだけ100%に近いかを把握することができる。あるいは、逆に、選択した細胞集団のうち異常細胞である確率のある細胞がどれだけ含まれているかを統計的に把握することができる。
【0152】
図34の分析画面900は、第1ヒストグラム910iおよび第2ヒストグラム910jに加えて、統計情報に基づいた指標を表示する表示領域910kを備えている。表示領域910kには、例えば「リンパ球集団のうち、異常リンパ球の確率を含む細胞の割合15%(前回値:12%)」と表示される。すなわち表示領域910kは、選択された細胞集団を母集団とする、対応する異常細胞の確率を持つ細胞の割合を指標として表示する。
【0153】
図34の例では、母集団に対する標本を「異常細胞の確率を持つ細胞」と定義しているが、標本の定義はこれに限られない。例えば、「異常細胞である確率が順位第2位である細胞」とすることもできる。こうすれば、より異常細胞である確率の高い細胞のみを取り出して指標を計算することができ、ノイズを減らすことができる場合がある。また、指標は割合のような定量的な指標に限られず、異常細胞の確率を持つ細胞の絶対数に応じて、段階的にレベルを表示するような定性的な指標であってもよい。
【0154】
図34の例では、特定の細胞集団に対応して、異常細胞の確率を持つ細胞の数または割合を容易に把握することができる。上述の
図25~
図28では、スキャッタグラム901上の特定の細胞または細胞集団をユーザが任意に指定できる点で有利であるが、スキャッタグラム901上で特定の細胞集団のみを指定することは困難な場合がありえる。クラスタの周縁に存在する細胞が隣接するクラスタと重複している場合や、クラスタから離れている場合は特に難しい可能性がある。
図34の例では、カーソルをスキャッタグラム901上の特定の細胞集団に重ねるだけで、例えば、リンパ球の集団に重ねるだけで、リンパ球を主細胞とする細胞集団を選択できる。また、自動的にリンパ球に対応する異常細胞である異常リンパ球の確率を持つ細胞が抽出されて確率分布や指標が表示されるため、ユーザは、主細胞としては正常細胞であるが異常細胞である確率をもつ細胞がどの程度含まれるかを容易に認識できる。
【0155】
図35は、分析画面900の他の例を示す図である。
図35の画面には、スキャッタグラム901、細胞種選択領域909およびヒストグラム911が表示されている。
【0156】
図35は、表示対象の測定チャネルとしてWPCチャンネルが指定された例を図示している。このため、スキャッタグラム901は、当該測定チャンネルに対応する全細胞の特徴パラメータに基づいて表示され、細胞種選択領域909は、表示対象の細胞種として、成熟白血球、異常リンパ球および芽球などの、WPCチャンネルに対応付けられている全細胞種を選択可能に構成される。
【0157】
ユーザが細胞種選択領域909において細胞種を選択する操作を行うと、選択された細胞種に基づいてヒストグラム911が表示される。ヒストグラム911は、選択された細胞種を確率ごとに集計した度数分布情報である。ヒストグラム911において、横軸は確率であり、縦軸は細胞の個数である。ユーザがヒストグラム911上の棒グラフを選択する操作を行うと、スキャッタグラム901上の対応するドット(領域901c内のドット)がハイライト表示される。
図35に示す例では、細胞種として異常リンパ球が選択され、確率70%の棒グラフが選択されている。この場合、異常リンパ球の確率が70%台である細胞のドット(領域901c付近に分布している細胞)が、スキャッタグラム901上でハイライト表示される。
【0158】
図35の分析画面900によれば、
図31~
図33の分析画面900と同様、ユーザは、細胞種と確率を選択することにより、スキャッタグラム901上において条件に合致する細胞の位置を把握できる。これにより、ユーザは、分類情報(細胞種と確率)によって分類され得る細胞が、従来のスキャッタグラム901上においてどの位置に存在するかを把握できる。
【0159】
上述の
図31~
図35の例では、細胞種と確率の組み合わせからなる抽出条件を満たす細胞のドットをスキャッタグラム901上に表示する例を示した。スキャッタグラム901に代えて、
図36~
図38に示すように、抽出条件を満たす細胞の個数をヒストグラムによって表示してもよい。
【0160】
図36~
図38の分析画面900には、確率選択領域910および個数表示領域912が表示されている。
【0161】
図36の分析画面900において、ユーザが確率選択領域910において確率を選択する操作を行うと、個数表示領域912に、対象となる測定チャンネルに対応する全ての細胞のうち、確率選択領域910で選択された確率に対応する細胞の個数が、細胞種ごとに表示される。個数表示領域912には、上から下に向かって個数の多い順に細胞種が並ぶように設定する降順ボタン912aと、上から下に向かって個数の少ない順に細胞種が並ぶように設定する昇順ボタン912bとが設けられている。
図36は、降順ボタン912aが操作された状態を示しており、
図37は、昇順ボタン912bが操作された状態を示している。また、
図38は、
図37の画面において、確率条件として「>20%」が設定された状態を示している。
【0162】
図36~
図38の画面によれば、ユーザは、確率選択領域910で確率を選択した後、降順ボタン912aを操作することにより、
図36に示すように、個数が降順に並ぶように個数表示領域912の表示を設定でき、昇順ボタン912bを操作することにより、
図37に示すように、個数が昇順に並ぶように個数表示領域912の表示を設定できる。これにより、ユーザは、選択した条件の確率に応じた細胞種のうち、たとえば、個数の多い細胞種や個数の少ない細胞種を円滑に確認できる。
【0163】
ユーザは、
図37に示す状態から、確率選択領域910において他の確率を再度選択することにより、
図38に示すように、再選択された確率に応じて個数表示領域912の表示を設定し直すことができる。このように、確率選択領域910を操作することにより、異なる確率条件に基づく細胞種の個数を円滑に確認できる。
【0164】
なお、
図36~
図38においてもスキャッタグラム901が設けられてもよい。この場合、個数表示領域912上の棒グラフが選択されると、スキャッタグラム901において、選択された棒グラフに対応する細胞(点)がハイライト表示されてもよい。また、
図36~
図38においてもヒストグラム911(
図35参照)が設けられてもよい。この場合、個数表示領域912上の棒グラフが選択されると、選択された棒グラフの細胞種に関する確率の分布状況がヒストグラム911に表示されてもよい。
【0165】
図39(a)、(b)は、上記スキャッタグラム901の他の構成を模式的に示す図である。
【0166】
図39(a)に示すスキャッタグラム901には、特徴パラメータ(
図39(a)ではSSCP、SFLP)に応じた細胞のプロットとともに、細胞種ごとの確率に応じた細胞の分布情報が重ね合わされている。この場合の分布情報は、確率が同じ細胞を等高線状に繋いだ縞模様と、確率が同程度の範囲を濃淡で表した分布領域とにより構成される。
図39(a)では、確率が高いほど、分布領域が濃い色で示されている。また、
図39(a)では、特徴パラメータに基づく細胞(点)が、スキャッタグラム901上にプロットされたが、
図39(b)のように、特徴パラメータに基づく細胞のドットは、スキャッタグラム901上においてプロットされなくてもよい。
【0167】
図39(a)、(b)に示すスキャッタグラム901によれば、特徴パラメータに基づく従来のスキャッタグラム901に、細胞種ごとの確率に応じた細胞の分布情報が合わせて表示される。これにより、ユーザは、従来のスキャッタグラム901において、細胞種の確率がどのように分布しているかを視覚的に把握できる。
【0168】
図40は、検査結果表示プロセスの第5の例を示すフローチャートである。上述の第1~第4の例では、分析画面900は、詳細画面800のスキャッタグラムをダブルクリックすることにより表示された。第5の例では、
図19の詳細画面800において「リサーチ」タブが選択された場合に、分析画面900に代えて、リサーチ画面900Rが表示される(ステップS419)。この例では、主細胞種に基づく分析結果が検体一覧画面700と詳細画面800に表示され、主細胞種以外の細胞種に関する情報または分析結果画面はリサーチ画面900Rにのみ表示される。そして、リサーチフラグに基づき、選択された細胞種の分類情報が読み出され、グラフが表示される(ステップS420)。
【0169】
図41の画面は、リサーチ情報ボタン921が操作された場合に表示される画面の一例である。
図41の画面には、細胞種選択領域933および個数表示領域934が表示されている。細胞種選択領域933は、指定された測定チャンネルに関する細胞種を選択可能なチェックボックスを含む。
【0170】
ユーザが細胞種選択領域933において細胞種を選択する操作を行うと、個数表示領域934には、選択された細胞種について、確率が0%より大きい細胞種を計数した計数値が、細胞種ごとに棒グラフで表示される。
【0171】
このように、ユーザは、リサーチ情報ボタン921を操作した後、
図41の画面において、細胞種選択領域933で細胞種を選択することにより、個数表示領域934を参照して、副細胞についての詳細な分析結果を確認できる。すなわち、
図41に示すように、リサーチ情報表示モードでは、通常、主細胞にはなり得ない芽球や異常リンパ球の個数も表示されるため、ユーザは、リサーチ情報表示モードで表示された分析結果に基づいて、さらに詳細な分析を行うことができる。
【0172】
図42の画面は、リサーチ情報ボタン921が操作された場合に表示される画面の一例である。
図42の画面には、細胞種選択領域933、ヒストグラム935およびスキャッタグラム936が表示されている。
【0173】
ユーザが細胞種選択領域933において細胞種を選択する操作を行うと、選択された細胞種に基づいてヒストグラム935が表示される。ヒストグラム935は、当該測定チャンネルに対応する全ての細胞を、選択された細胞種における確率ごとに集計した度数分布情報である。ユーザがヒストグラム935の棒グラフを選択すると、スキャッタグラム936上の対応する細胞(点)(領域936a内のドット)がハイライト表示される。
図42に示す例では、細胞種として芽球が選択され、確率50%の棒グラフが選択されている。この場合、芽球の確率が50%台である細胞(領域936a付近に分布している細胞)が、スキャッタグラム936上でハイライト表示される。
【0174】
このように、ユーザは、リサーチ情報ボタン921を操作した後、
図42の画面において、細胞種選択領域933で細胞種を選択し、ヒストグラム935で棒グラフを選択することにより、さらに詳細な分析結果を確認できる。
【0175】
なお、
図42の細胞種選択領域933で複数の細胞種が選択された場合、
図26の3次元ヒストグラム907のように、ヒストグラム935に複数の細胞種のグラフが表示される。また、ヒストグラム935において複数の棒グラフが選択された場合、スキャッタグラム936上の対応する細胞(点)が全てハイライト表示される。
【0176】
[7.ホストコンピュータ送信プロセス]
次に、処理ユニット300からホストコンピュータ500に送られるデータ(以下、「出力用データ」という)について説明する。
図43は、ホストコンピュータ送信のサブルーチンを示すフローチャートである。
【0177】
処理ユニット300のプロセッサ3001は、ユーザからバリデート操作を受け付け、バリデート操作に応じてホストコンピュータ500へ送信するための出力用データを生成する(ステップS141)。
【0178】
図18及び
図19を参照して説明したように、検査結果画面である検体一覧画面700および詳細画面800には、画面間で共通して表示されるバリデートアイコン710dが表示される。ユーザは、上述の検査結果画面を確認して検査結果に対して検証(verification)を行う。検証の結果、結果をホストコンピュータ500へ報告可能であるとユーザが判断すると、ユーザは、バリデートアイコン710dをクリックする。なお、ユーザが、対象となる検体に対してバリデートを実行せず、対象となる被検者に対して再検査を設定する場合は、測定登録アイコン710cを操作して再検査のための検査オーダを作成する。
【0179】
バリデート操作が行われると、プロセッサ3001は、記憶部3004に格納された分析結果データに基づいて、ホストコンピュータ500へ送信するための出力用データを生成する(ステップS141)。そして、プロセッサ3001は、生成した出力用データをホストコンピュータ500に送信する(ステップS142)。
【0180】
図44(a)~
図45(b)は、プロセッサ3001により生成されホストコンピュータ500に送信される出力用データの構成を模式的に示す図である。出力用データは、検査結果データから所定の細胞種に対応する分類情報が除かれることにより構成されればよく、たとえば、
図44(a)~
図45(b)の何れかに示すように構成される。
【0181】
図44(a)に示す出力用データは、検体ID、測定結果、測定チャンネル、細胞ID、主細胞種に関する識別情報、および主細胞種に関する確率により構成される。すなわち、
図44(a)に示す出力用データは、
図12~16に示した検査結果データから、
図44(a)に示す出力用データ以外のデータが除かれたものである。
【0182】
図44(b)に示す出力用データは、検体ID、測定結果、測定チャンネル、細胞ID、確率が高い上位2つの細胞種に関する識別情報および確率が高い上位2つの細胞種に関する確率により構成される。すなわち、
図44(b)に示す出力用データは、
図44(a)に示す出力用データに、2番目に確率が高い細胞種に関する識別情報および確率が付加されたものである。なお、
図44(b)に示す出力用データは、上位2つの細胞種および確率を有することに限らず、上位から所定の順位までの細胞種および確率を有してもよい。
【0183】
図45(a)に示す出力用データは、検体IDおよび測定結果により構成される。すなわち、
図45(a)に示す出力用データは、
図12~16に示した検査結果データから、
図45(a)に示す出力用データ以外のデータが除かれたものである。すなわち、出力用データは、確率に関する情報を全く含んでいない。
【0184】
図45(b)に示す出力用データは、検体ID、測定結果および異常細胞の検出情報により構成される。すなわち、
図45(b)に示す出力用データは、
図45(a)と同様の出力用データに対して、測定結果に異常細胞の検出情報が付加されたものである。確率が0%より大きい異常細胞(たとえば、異常リンパ球や芽球)の個数が検体中に所定数以上存在する場合、検査結果データの生成時に、当該異常細胞が検出された事実が、異常細胞の検出情報として測定結果に付加される。異常細胞の検出情報は、たとえば、「異常リンパ球が検出されました」、「Abn LYMPH?」、「芽球が検出されました」、「Blast?」などの文字列である。異常細胞の検出情報は、検出された異常細胞の細胞種とその個数であってもよい。異常細胞の検出情報は、たとえば、
図18の測定結果表示領域932に表示される。
【0185】
以上のように、ホストコンピュータ500には、計数結果を含み、関連性に関する情報(細胞種および確率など)のうち少なくとも一部が除かれた出力用データが送信される。上記のように、細胞ごとに複数の細胞種に対応付けられた確率が取得されると、検査結果データの容量が膨大になる。したがって、検査結果データが全てホストコンピュータ500に送信されると、データ送信による通信負荷が大きくなってしまう。これに対し、
図44(a)~
図45(b)に示した出力用データによれば、膨大な検査結果データが全て送信されるのではなく、ホストコンピュータ500の管理に必要なデータのみが送信される。これにより、ホストコンピュータ500における適切なデータ管理と、効率的なデータ送信の両方を実現できる。
【0186】
図44(a)~
図45(b)に示す出力用データに、特徴パラメータやスキャッタグラムが含められてもよい。
【0187】
また、ここでは、プロセッサ3001は、出力用データを
図44(a)~
図45(b)に示すいずれかの構成となるよう生成した。しかしながら、出力用データの構成は、ユーザの指示に応じて設定されてもよい。
【0188】
図46(a)、(b)は、それぞれ、出力用データに含めるデータを選択するための画面の構成を模式的に示す図である。
【0189】
図46(a)の画面には、細胞種選択領域951とOKボタン952が表示されている。細胞種選択領域951には、細胞種を選択するためのチェックボックスが設けられている。ユーザが、細胞種選択領域951において細胞種を選択する操作を行い、OKボタン952を操作すると、処理ユニット300のプロセッサ3001は、設定内容を記憶部3004に記憶する。プロセッサ3001は、次回から出力用データを生成する際に、設定された細胞種と、設定された細胞種に対応する確率とを出力用データに含める。
【0190】
図46(b)の画面には、細胞範囲選択領域961とOKボタン962が表示されている。細胞範囲選択領域961には、細胞種の範囲を選択するためのチェックボックスが設けられている。細胞範囲選択領域961では、「主細胞種のみ」、「主細胞種以外の副細胞種」、「全ての細胞種」、「送信しない」、などの細胞種の範囲を選択可能である。「主細胞種のみ」が選択されると、全ての識別情報および確率のうち、主細胞種の識別情報および確率のみが出力用データに含められる。「主細胞種以外の副細胞種」が選択されると、全ての識別情報および確率のうち、主細胞種以外の全ての副細胞種の識別情報および確率のみが出力用データに含められる。「全ての細胞種」が選択されると、全ての識別情報および確率が出力用データに含められる。「送信しない」が選択されると、全ての識別情報および確率が出力用データに含められない。
【0191】
ユーザが、細胞範囲選択領域961において細胞種の範囲を選択する操作を行い、OKボタン962を操作すると、プロセッサ3001は、設定内容を記憶部3004に記憶する。プロセッサ3001は、次回から出力用データを生成する際に、設定された細胞種の範囲に基づいて出力用データを生成する。
【0192】
[8.プロセッサおよび並列処理プロセッサの構成]
(構成例1)
次に、測定ユニット400に搭載される並列処理プロセッサ4833の構成について再び
図2を参照して詳細に説明する。以下、プロセッサ4831および並列処理プロセッサ4833に関して構成例1を説明する。
【0193】
図2を参照して説明したとおり、プロセッサ4831は、並列処理プロセッサ4833を用いて、深層学習アルゴリズム60に従って、生成されたデジタル信号に含まれる波形データの分析処理を実行する。すなわちプロセッサ4831は、深層学習アルゴリズム60にしたがってデジタル信号に含まれる波形データの分析処理を実行するようにプログラムされている。深層学習アルゴリズム60に基づいて細胞のデータを分析するための解析ソフトウェア4835aは、記憶部4835に格納されていてもよい。この場合、プロセッサ4831は、記憶部4835に格納されている解析ソフトウェア4835aを実行することにより、深層学習アルゴリズム60に基づくデータの分析処理を実行する。プロセッサ4831は、例えば、CPU(Central Processing Unit)である。プロセッサ4831は、例えばインテル社製のCore i9、Core i7、Core i5、AMD社製のRyzen 9、Ryzen 7、Ryzen 5、Ryzen 3などを用いてもよい。
【0194】
プロセッサ4831は、並列処理プロセッサ4833を制御する。並列処理プロセッサ4833は、プロセッサ4831による制御に応じて、例えば行列演算に関する並列処理を実行する。つまり、プロセッサ4831は、並列処理プロセッサ4833のマスタプロセッサであり、並列処理プロセッサ4833は、プロセッサ4831のスレーブプロセッサである。プロセッサ4831は、ホストプロセッサまたはメインプロセッサとも呼ばれる。
【0195】
並列処理プロセッサ4833は、波形データの分析に関する処理の少なくとも一部である複数の演算処理を並列に実行する。並列処理プロセッサ4833は、例えば、GPU(Graphics Processing Unit)、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)である。並列処理プロセッサ4833がFPGAである場合、並列処理プロセッサ4833は、例えば、訓練済みの深層学習アルゴリズム60に関する演算処理が予めプログラムされていてもよい。並列処理プロセッサ4833がASICである場合、並列処理プロセッサ4833は、例えば、訓練済みの深層学習アルゴリズム60に関する演算処理を実行するための回路が予め組み込まれていてもよいし、そのような組み込み回路に加えてプログラマブルなモジュールが内蔵されていてもよい。並列処理プロセッサ4833は、例えば、NVIDIA社製のGeForce,Quadro,TITAN,Jetsonなどを用いてもよい。Jetsonシリーズであれば、例えば、Jetson Nano、Jetson Tx2、Jetson Xavier、Jetson AGX Xavierが用いられる。
【0196】
プロセッサ4831は、例えば、測定ユニット400の制御に関する計算処理を実行する。プロセッサ4831は、例えば、装置機構部430、試料調製部440、検体吸引部450との間で送受信される制御信号に関する計算処理を実行する。プロセッサ4831は、例えば、処理ユニット300との間での情報の送受信に関する計算処理を実行する。プロセッサ4831は、例えば、記憶部4835からのプログラムデータの読み出し、RAM4834へのプログラムの展開、RAM4834との間のデータの送受信に関する処理を実行する。プロセッサ4831により実行される上述の各処理は、例えば、所定の順番に実行することが求められる。例えば、装置機構部430、試料調製部440、検体吸引部450の制御に要する処理がA、B及びCとすると、B、A、Cの順で実行することが求められることがある。プロセッサ4831はこのような順序に依存する連続的な処理を実行することが多いため、演算ユニット(「プロセッサコア」、「コア」等と呼ばれることがある)の数を増したとしても、必ずしも処理速度が高まるものではない。
【0197】
一方、並列処理プロセッサ4833は、例えば、多量の要素を含む行列データの演算のように、定型的で多量な計算処理を実行する。本実施形態では、並列処理プロセッサ4833は、深層学習アルゴリズム60に従って波形データを分析する処理の少なくとも一部を並列化した並列処理を実行する。深層学習アルゴリズム60には、例えば、多量の行列演算が含まれる。深層学習アルゴリズム60には、例えば、少なくとも100の行列演算が含まれることがあり、また、少なくとも1000の行列演算が含まれることもある。並列処理プロセッサ4833は、複数の演算ユニットを有し、これらの演算ユニットの各々が同時に行列演算を実行可能である。つまり、並列処理プロセッサ4833は、並列処理として、複数の演算ユニットの各々による行列演算を並列に実行することができる。例えば、深層学習アルゴリズム60に含まれる行列演算は、互いに順序依存が無い複数の演算処理に分割することができる。このように分割された演算処理は、複数の演算ユニットの各々で並列に実行可能となる。これらの演算ユニットは、「プロセッサコア」、「コア」等と呼ばれることがある。
【0198】
このような並列処理を実行することにより、測定ユニット400全体としての演算処理を高速化することが可能となる。深層学習アルゴリズム60に含まれる行列演算のような処理は、例えば、「単一命令複数データ処理」(SIMD:Single Instruction Multiple Data)と呼ばれることがある。並列処理プロセッサ4833は、例えばこのようなSIMD演算に適している。このような並列処理プロセッサ4833は、ベクトルプロセッサと呼ばれることがある。
【0199】
上述のように、プロセッサ4831は、多様かつ複雑な処理を実行することに適している。一方、並列処理プロセッサ4833は、定型化された多量の処理を並列に実行することに適している。定型化された多量の処理を並列に実行することにより、計算処理に要するTAT(Turn Around Time)が短縮される。
【0200】
なお、並列処理プロセッサ4833が実行する並列処理の対象は、行列演算に限られない。例えば、並列処理プロセッサ4833が深層学習アルゴリズム60に従って学習処理を実行するときは、学習処理に関する微分演算等が並列処理の対象となり得る。
【0201】
プロセッサ4831の演算ユニットの数は、例えば、デュアルコア(コア数:2)、クアッドコア(コア数:4)、オクタコア(コア数:8)である。一方、並列処理プロセッサ4833は、演算ユニットを、例えば、少なくとも10個有し(コア数:10)、10の行列演算を並列に実行し得る。並列処理プロセッサ4833は、例えば、演算ユニットを数十個有するものもある。また、並列処理プロセッサ4833は、演算ユニットを、例えば、少なくとも100個有し(コア数:100)、100の行列演算を並列に実行し得るものもある。並列処理プロセッサ4833は、例えば、演算ユニットを数百個有するものもある。また、並列処理プロセッサ4833は、演算ユニットを、例えば、少なくとも1000個有し(コア数:1000)、1000の行列演算を並列に実行し得るものもある。並列処理プロセッサ4833は、例えば、演算ユニットを数千個有するものもある。
【0202】
図47は、並列処理プロセッサ4833の構成例を示す。並列処理プロセッサ4833は、複数の演算ユニット4836、及びRAM4837を含む。演算ユニット4836の各々は、行列データの演算処理を並列に実行する。RAM4837は、演算ユニット4836が実行する演算処理に関するデータを記憶する。RAM4837は、少なくとも1ギガバイトの容量を有するメモリである。RAM4837は、2ギガバイト、4ギガバイト、6ギガバイト、8ギガバイト、又は10ギガバイト以上の容量を有するメモリであってもよい。演算ユニット4836は、RAM4837からデータを取得し、演算処理を実行する。演算ユニット4836は、「プロセッサコア」、「コア」等と呼ばれることがある。
【0203】
図48~
図50は、測定ユニット400への並列処理プロセッサ4833の搭載例を示す。
図48~
図50は、並列処理プロセッサ4833が測定ユニット400の内部に組み込まれる形で細胞分析装置100に搭載されている例を示す。
図48及び
図49は、プロセッサ4831と並列処理プロセッサ4833とを別体として設ける搭載例を示す。
図48に示すように、プロセッサ4831は、例えば、基板4838に搭載される。並列処理プロセッサ4833は、例えば、グラフィックボード4830に搭載され、グラフィックボード4830がコネクタ4839を介して基板4838に接続される。プロセッサ4831は、バス485を介して並列処理プロセッサ4833と接続される。
図49に示すように、並列処理プロセッサ4833は、例えば、基板4838に直に搭載され、バス485を介してプロセッサ4831に接続されてもよい。
図50は、プロセッサ4831と並列処理プロセッサ4833とを一体として設ける搭載例を示す。
図50に示すように、並列処理プロセッサ4833は、例えば、基板4838に搭載されたプロセッサ4831に内蔵されてもよい。
【0204】
図51は、測定ユニット400への並列処理プロセッサ4833の他の搭載例を示す。
図51は、測定ユニット400に接続される外付け装置4800によって、測定ユニット400に並列処理プロセッサ4833を搭載する例を示す。並列処理プロセッサ4833は、例えば、USB(Universal Serial Bus)デバイスである外付け装置4800に実装され、このUSBデバイスがインタフェース部487を介してバス485に接続されることで、並列処理プロセッサ4833が細胞分析装置100に搭載される。USBデバイスは、例えば、USBドングルのような小型デバイスでもよい。インタフェース部487は、例えば、数百Mbpsの転送速度を有するUSBインタフェースであり、より好ましくは、数Gbps~数10Gbps以上の転送速度を有するUSBインタフェースである。並列処理プロセッサ4833が実装された外付け装置4800として、例えば、Intel社製 Neural Compute Stick 2が用いられてもよい。
【0205】
並列処理プロセッサ4833が実装された複数のUSBデバイスをインタフェース部487に接続することで、複数の並列処理プロセッサ4833を細胞分析装置100に搭載してもよい。一つのUSBデバイスに実装される並列処理プロセッサ4833は、演算ユニット4836の数がGPU等に比べて少ないことがあるため、測定ユニット400に接続するUSBデバイスを複数に増設することにより、コア数のスケールアップが可能となる。
【0206】
図52、
図53(a)、(b)および
図54は、プロセッサ4831上で動作する解析ソフトウェア4835aの制御に基づいて、並列処理プロセッサ4833で実行される演算処理の概要を示す。
【0207】
図52は、演算処理を実行する並列処理プロセッサ4833の構成例を示す。
【0208】
並列処理プロセッサ4833は、複数の演算ユニット4836、RAM4837を有する。解析ソフトウェア4835aを実行するプロセッサ4831は、並列処理プロセッサ4833に命令し、波形データを深層学習アルゴリズム60で分析する場合に要する少なくとも一部の演算処理を並列処理プロセッサ4833に実行させることができる。プロセッサ4831は、並列処理プロセッサ4833に対して、深層学習アルゴリズムに基づく波形データ分析に関する演算処理の実行を命令する。FCM検出部410で検出された信号に対応する波形データの全部又は少なくとも一部は、RAM4834に記憶される。RAM4834に記憶されたデータは、並列処理プロセッサ4833のRAM4837に転送される。RAM4834に記憶されたデータは、例えば、DMA(Direct Memory Access)方式によりRAM4837に転送される。並列処理プロセッサ4833の複数の演算ユニット4836の各々は、RAM4837に記憶されたデータに対する演算処理を並列に実行する。複数の演算ユニット4836の各々は、必要なデータをRAM4837から取得して演算処理を実行する。演算結果に対応するデータは、並列処理プロセッサ4833のRAM4837に記憶される。演算結果に対応するデータは、RAM4837からRAM4834に、例えばDMA方式で、転送される。
【0209】
図53(a)、(b)は、並列処理プロセッサ4833が実行する行列演算の概要を示す。
【0210】
波形データを深層学習アルゴリズム60に従って分析するにあたり、行列の積の計算(行列演算)が実行される。並列処理プロセッサ4833は、例えば、行列演算に関する複数の演算処理を並列に実行する。
図53(a)は、行列の積の計算式を示す。(a)に示す計算式では、n行n列の行列aとn行n列の行列bとの積により、行列cを求める。
図53(a)に例示されるように、計算式は、多階層のループ構文で記述される。
図53(b)は、並列処理プロセッサ4833で並列に実行される演算処理の例を示す。
図53(a)に例示された計算式は、例えば、1階層目のループ用変数iと、2階層目のループ用変数jとの組合せ数であるn×n個の演算処理に分割することができる。このように分割された演算処理の各々は、互いに依存しない演算処理であるため、並列に実行し得る。
【0211】
図54は、
図53の(b)に例示された複数の演算処理が、並列処理プロセッサ4833で並列に実行されることを示す概念図である。
【0212】
図54に示すように、複数の演算処理の各々は、並列処理プロセッサ4833が備える複数の演算ユニット4836のいずれかに割り当てられる。演算ユニット4836の各々は、割り当てられた演算処理を、互いに並列に実行する。つまり、演算ユニット4836の各々は、分割された演算処理を同時に実行する。
【0213】
図53(a)、(b)および
図54に例示された並列処理プロセッサ4833による演算によって、例えば、波形データに対応する細胞が複数の細胞種の各々に属する確率に関する情報が求められる。演算の結果に基づいて、解析ソフトウェア4835aを実行するプロセッサ4831は、波形データに対応する細胞の細胞種に関する解析を行う。演算結果は、並列処理プロセッサ4833のRAM4837に記憶され、RAM4837からRAM4834に転送される。プロセッサ4831は、RAM4834に記憶された演算結果に基づいて解析した結果を、バス485及びインタフェース部489を介して処理ユニット300に送信する。
【0214】
細胞が複数の細胞種の各々に属する確率の演算は、並列処理プロセッサ4833とは別のプロセッサが行ってもよい。例えば、並列処理プロセッサ4833による演算結果がRAM4837からRAM4834に転送され、プロセッサ4831が、RAM4834から読み出した演算結果に基づいて、各々の波形データに対応する細胞が複数の細胞種の各々に属する確率に関する情報を演算してもよい。また、並列処理プロセッサ4833による演算結果をRAM4837から処理ユニット300に転送され、処理ユニット300に搭載されたプロセッサが、各々の波形データに対応する細胞が複数の細胞種の各々に属する確率に関する情報を演算してもよい。
【0215】
本実施形態では、
図53(a)、(b)及び
図54に示された処理は、例えば、深層学習アルゴリズム60における畳み込み層に関する演算処理(フィルタ処理とも呼ばれる)に適用される。
【0216】
図55(a)、(b)は、畳み込み層に関する演算処理の概要を示す。
【0217】
図55(a)は、深層学習アルゴリズム60に入力される波形データとして、前方散乱光(FSC)の波形データの例を示す。本実施形態の波形データは、
図5を参照して説明したように一次元の行列データである。より単純に言えば、波形データは要素を一列に並べた配列である。ここでは、説明の便宜上、波形データの要素数はn(nは1以上の整数)とする。
図55(a)には、複数のフィルタが示されている。フィルタは、深層学習アルゴリズム60の学習処理により生成される。複数のフィルタの各々は、波形データの特徴を表す一次元の行列データである。
図55(a)に示すフィルタは、1行3列の行列データであるが、列数は3に限られない。深層学習アルゴリズム60に入力される波形データと、各々のフィルタとを行列演算することで、波形データに関する細胞種に対応する特徴が計算される。
図55(b)は、波形データとフィルタとの行列演算の概要を示す。
図55(b)に示されるように、各フィルタを波形データの各要素に対して1つずらしながら行列演算が実行される。行列演算の計算は、下記の式1により実行される。
【0218】
【0219】
式1において、xの添え字は、波形データの行番号及び列番号を示す変数である。hの添え字は、フィルタの行番号及び列番号を示す変数である。
図55(a)、(b)に示す例の場合、波形データは一次元の行列データであり、フィルタは、1行3列の行列データであるから、L=1、M=3、p=0、q=0,1,2、i=0、j=0,1,…,n-1である。
【0220】
並列処理プロセッサ4833は、式1で表される行列演算を、複数の演算ユニット4836の各々によって並列に実行する。並列処理プロセッサ4833が実行した演算処理に基づき、各細胞の細胞種に関する分類情報が生成される。生成された分類情報は、分類情報に基づく検体の検査結果の生成および表示に用いられる処理ユニット300に送信される。
【0221】
次に
図56を参照して、
図10のフローチャートにおけるステップS13の細胞分類の処理について説明する。
【0222】
ステップS13の細胞分類の処理は、解析ソフトウェア4835aの動作に応じて、プロセッサ4831が行う処理である。プロセッサ4831は、ステップS13においてRAM4834に取り込まれたデジタル信号を並列処理プロセッサ4833に転送する(ステップS101)。プロセッサ4831は、
図52に示されるように、DMA転送によって、RAM4834からRAM4837にデジタル信号を転送する。プロセッサ4831は、例えば、バスコントローラ4850を制御し、RAM4834からRAM4837にデジタル信号をDMA転送させる。
【0223】
プロセッサ4831は、並列処理プロセッサ4833に、デジタル信号に含まれる波形データに対する並列処理の実行を指示する(ステップS102)。プロセッサ4831は、例えば、並列処理プロセッサ4833のカーネル関数を呼び出すことで、並列処理の実行を指示する。並列処理プロセッサ4833で実行される処理は、
図57に例示されたフローチャートで後述される。プロセッサ4831は、例えば、深層学習アルゴリズム60に関する行列演算の実行を並列処理プロセッサ4833に指示する。デジタル信号は複数の波形データに分解され、順次、深層学習アルゴリズム60に入力される。デジタル信号に含まれる、各細胞に対応するインデックスは深層学習アルゴリズム60には入力されない。深層学習アルゴリズム60に入力された波形データは、並列処理プロセッサ4833によって演算される。
【0224】
プロセッサ4831は、並列処理プロセッサ4833によって実行された演算結果を受信する(ステップS103)。演算結果は、例えば、
図52に示されるように、RAM4837からRAM4834にDMA転送される。
【0225】
プロセッサ4831は、並列処理プロセッサ4833による演算結果に基づいて、測定された各々の細胞の細胞種の解析結果を生成する(ステップS104)。
【0226】
図57は、解析ソフトウェア4835aの動作に応じたプロセッサ4831の指示に基づいて実行される並列処理プロセッサ4833の演算処理の動作例を示す。
【0227】
解析ソフトウェア4835aを実行するプロセッサ4831は、並列処理プロセッサ4833に、演算ユニット4836に対する演算処理の割り当てを実行させる(ステップS110)。プロセッサ4831は、例えば、並列処理プロセッサ4833のカーネル関数を呼び出すことで、並列処理プロセッサ4833に、演算ユニット4836への演算処理の割り当てを実行させる。
図54に示されるように、例えば、深層学習アルゴリズム60に関する行列演算が複数の演算処理に分割され、分割された各演算処理が演算ユニット4836に割り当てられる。複数の波形データが、順次、深層学習アルゴリズム60に入力される。波形データに対応する行列演算が複数の演算処理に分割され、演算ユニット4836に割り当てられる。
【0228】
各演算処理は、複数の演算ユニット4836によって並列に処理される(ステップS111)。演算処理は、複数の波形データに対して実行される。
【0229】
複数の演算ユニット4836によって並列に処理されることで生成された演算結果は、RAM4837からRAM4834に転送される(ステップS112)。例えば、演算結果は、RAM4837からRAM4834へ、DMAによって転送される。
【0230】
(構成例2)
図58及び
図59を参照し、測定ユニット400及び処理ユニット300によって構成される細胞分析装置100の他の構成例を説明する。本構成例2では、並列処理プロセッサは、処理ユニット300に設けられる。
【0231】
図58は、構成例2の測定ユニット400のブロック図を示す。
【0232】
図58に示す測定ユニット400は、A/D変換部482、プロセッサ4831、RAM4834、記憶部4835、並列処理プロセッサ4833を備えておらず、接続ポート4201が設けられていることを除き、
図1~
図57及びその関連記載で説明された構成例1の測定ユニット400と同様の構成及び機能を有する。接続ポート4201には接続ケーブル4202が接続される。
【0233】
図59は、構成例2の処理ユニット300のブロック図を示す。
【0234】
図59に示すように、処理ユニット300は、プロセッサ3001、並列処理プロセッサ3002、記憶部3004、RAM3005、インタフェース部3006、A/D変換部3008、バスコントローラ4850、インタフェース部3009を備えており、これらはバス3003に接続されている。つまり、
図59の例では、並列処理プロセッサ3002が処理ユニット300の内部に組み込まれる形で細胞分析装置100に搭載されている。
【0235】
バス3003は、例えば、数百MB/s以上のデータ転送速度を有する伝送路である。バス3003は、1GB/s以上のデータ転送速度を有する伝送路であってもよい。バス3003は、例えば、PCI-ExpressやPCI-X規格に基づいてデータ転送を行う。プロセッサ3001、並列処理プロセッサ3002、記憶部3004、RAM3005の構成、及び、それらで実行される処理は、上述の
図47~
図57で説明されたプロセッサ4831、並列処理プロセッサ4833、記憶部4835、RAM4834の構成及び処理と同様である。A/D変換部3008は、測定ユニット400から出力されたアナログ信号を上述したようにサンプリングし、細胞の波形データを含むデジタル信号を生成する。デジタル信号の生成方法については上述のとおりである。
【0236】
図58及び
図59の例では、接続ケーブル4202は、例えば、測定ユニット400から処理ユニット300に伝送されるアナログ信号の種類に対応する数の伝送経路を備える。例えば、接続ケーブル4202は、ツイストペアケーブルで構成され、処理ユニット300に伝送されるアナログ信号の種類に対応する数のペア数の配線を有する。接続ポート3007からA/D変換部3008の伝送経路も、処理ユニット300に伝送されるアナログ信号の種類に対応する数の配線を有してもよい。接続ポート3007からA/D変換部3008の伝送経路では、例えば、アナログ信号は差動信号として伝送される。
【0237】
図60に示すように、プロセッサ3001および並列処理プロセッサ3002は、上述のプロセッサ4831および並列処理プロセッサ4833と同様の構成および機能を有する。並列処理プロセッサ3002は、複数の演算ユニット3200、及びRAM3201を含む。プロセッサ3001上で、測定された細胞の細胞種を解析する解析ソフトウェア3100が実行される。なお、並列処理プロセッサ3002は、バス3003に直接接続される必要はなく、例えば、USBデバイスに実装され、このUSBデバイスがインタフェース部(不図示)を介してバス3003に接続されることで、処理ユニット300の一部として細胞分析装置100に搭載されてもよい。このUSBデバイスは、例えば、USBドングルのような小型デバイスでもよい。
【0238】
図58及び
図59に示すとおり、処理ユニット300は、インタフェース部3006を介して、測定ユニット400のインタフェース部489と接続されている。処理ユニット300は、インタフェース部3006を介して、装置機構部430及び試料調製部440の制御信号を測定ユニット400に送信する。インタフェース部3006は、例えばUSBインタフェースである。
【0239】
図58及び
図59に示す例では、処理ユニット300は、インタフェース部3006の他に、A/D変換部3008に接続される接続ポート3007、接続ポート3007に接続される接続ケーブル4202を介して、測定ユニット400の接続ポート4201と接続される。接続ポート4201はアナログ処理部420と接続される。接続ポート4201から処理ユニット300に出力されるアナログ信号は、上述の通り、測定ユニット400のFCM検出部410の出力がアナログ処理部420によって処理された信号である。アナログ処理部420は、FCM検出部410から入力されたアナログ信号に対してノイズ除去を含む処理を行う。アナログ処理部420で処理されたアナログ信号は、接続ポート4201、接続ケーブル4202を介して、処理ユニット300に伝送される。接続ケーブル4202は、信号伝送中のノイズ低減のため、例えば、1メートル又はそれ以下の長さで構成される。アナログ信号は、例えば、差動信号として、接続ケーブル4202を介して処理ユニット300に伝送される。この場合、接続ケーブル4202は、好ましくはツイストペアケーブルである。
【0240】
処理ユニット300は、複数の接続ポート3007を備えてもよい。処理ユニット300は、複数の接続ポート3007を介して、複数の測定ユニット400からアナログ信号を取得してもよい。
【0241】
測定ユニット400から接続ケーブル4202を介して伝送されたアナログ信号は、処理ユニット300のA/D変換部3008によって、デジタル信号に変換される。A/D変換部3008は、例えば、
図5を参照して説明したように、所定のサンプリングレート(例えば、10ナノ秒間隔で1024ポイントのサンプリング、80ナノ秒間隔で128ポイントのサンプリング、又は160ナノ秒間隔で64ポイントのサンプリング等)で、伝送されたアナログ信号をサンプリングし、細胞ごとの波形データを生成する。波形データはバス3003を介して記憶部3004又はRAM3005に記憶される。波形データは、例えば、DMAによりRAM3005に転送される。プロセッサ3001及び並列処理プロセッサ3002は、記憶部3004又はRAM3005に記憶された波形データに対して演算処理を実行する。
【0242】
プロセッサ3001上で動作する解析ソフトウェア3100は、
図52に示された解析ソフトウェア4835aと同様の機能を有する。プロセッサ3001は、解析ソフトウェア3100を実行することにより、
図52、
図53(a)、(b)、
図54、
図56、
図57およびその関連記載と同様の動作によって、測定された細胞の細胞種に関する分類情報を生成する。
【0243】
この
図58、
図59に示される構成例2の細胞分析装置100の場合、
図10に示すフローチャートのうち、ステップS12の波形データおよび特徴パラメータの生成と、ステップS13の深層学習アルゴリズムによる細胞分類が処理ユニット300において行われる。ステップS14(分類情報の送信)は省略される。
図56、
図57の処理は、処理ユニット300のプロセッサ3001と並列処理プロセッサ3002によって行われる。
【0244】
(構成例3)
図61及び
図62を参照し、測定ユニット400及び処理ユニット300によって構成される細胞分析装置100の他の構成例を説明する。本構成例3においても、並列処理プロセッサ3002は、処理ユニット300の内部に組み込まれる形で細胞分析装置100に搭載される。
【0245】
図61は、構成例3の測定ユニット400のブロック図を示す。
【0246】
図61に示す測定ユニット400は、プロセッサ4831、RAM4834、記憶部4835、並列処理プロセッサ4833を備えておらず、A/D変換部482で生成されたデジタル信号を処理ユニット300に伝送するためのインタフェース部4851と伝送路4852が設けられていることを除き、
図2、
図47及びその関連記載で説明された構成例1の測定ユニット400と同様の構成及び機能を有する。
【0247】
インタフェース部4851は、例えば、1ギガビット/秒以上の通信帯域を備える専用回線としてのインタフェースである。例えば、インタフェース部4851は、ギガビットイーサ、USB3.0、またはThunderbolt3に準拠したインタフェースである。インタフェース部4851がギガビットイ―サである場合、伝送路4852は例えばLANケーブルである。インタフェース部4851がUSB3.0である場合、伝送路4852はUSB3.0に準拠したUSBケーブルである。伝送路4852は、例えば、測定ユニット400と処理ユニット300との間でデジタル信号を伝送するための専用の伝送路である。
【0248】
図62は、構成例3の処理ユニット300のブロック図を示す。
【0249】
図62に示す処理ユニット300は、A/D変換部3008及び接続ポート3007を備えていないこと、および、インタフェース部3010を備えることを除き、
図59及びその関連記載で説明された構成例2の処理ユニット300と同様の構成及び機能を有する。処理ユニット300は、複数のインタフェース部3010、および、複数のインタフェース部3006を介して、複数の測定ユニット400と接続されてもよい。
【0250】
プロセッサ3001および並列処理プロセッサ3002は、
図60およびその関連記載で説明されたプロセッサ3001および並列処理プロセッサ3002と同様の構成および機能を有する。
図62において、並列処理プロセッサ3002は、必ずしもバス3003に直接接続される必要はなく、例えば、USBデバイスに実装され、このUSBデバイスがインタフェース部(不図示)を介してバス3003に接続されてもよい。このUSBデバイスは、例えば、USBドングルのような小型デバイスでもよい。
【0251】
プロセッサ3001上で動作する解析ソフトウェア3100は、
図52に示された解析ソフトウェア4835aと同様の機能を有する。解析ソフトウェア3100は、
図52、
図53(a)、(b)、
図54、
図56、
図57およびその関連記載と同様の動作によって、測定された細胞の細胞種を解析する。
【0252】
この
図61、
図62に示される構成例3の細胞分析装置100の場合、
図10に示すフローチャートのうち、ステップS13(細胞分類)が処理ユニット300において行われる。ステップS14(分類情報の送信)は省略される。
図56、
図57の処理は、処理ユニット300のプロセッサ3001と並列処理プロセッサ3002によって行われる。
【0253】
図61、
図62の構成では、FCM検出部410において生成された細胞のアナログ信号(前方散乱光信号、側方散乱光信号、側方蛍光信号)は、測定ユニット400内のA/D変換部482においてデジタル信号に変換される。デジタル信号は、インタフェース部484、バス485、インタフェース部4851、伝送路4852を介して、処理ユニット300に送られる。伝送路4852は、上述のとおり測定ユニット400と処理ユニット300との間でデジタル信号を伝送するための専用の伝送路である。例えば、測定ユニット400と処理ユニット300は、伝送路4852を介して、一対一で接続される。言い換えれば、伝送路4852は、例えば、細胞分析装置100を構成するコンポーネント(例えば、測定ユニット400および処理ユニット300)以外の装置に関連するデータの伝送が介在しない伝送路である。伝送路4852は、例えば、イントラネット又インターネットとは、別の伝送路である。これにより、測定ユニット400内でA/D変換を行って生成されたデジタル信号を処理ユニット300に送信しても、デジタル信号の伝送の通信速度のボトルネックを回避できる。
【0254】
【0255】
本構成例4では、
図63に例示されるように、測定ユニット400と処理ユニット300の間に、解析ユニット600が設けられる。つまり、
図63、
図64、
図65、
図66、
図67の構成において、細胞分析装置100は、測定ユニット400と、処理ユニット300と、解析ユニット600を備えて構成される。解析ユニット600は、測定された細胞の細胞種を解析する。後述するとおり、本構成例では並列処理プロセッサ6002は解析ユニット600に組み込まれる形で細胞分析装置100に搭載される。
【0256】
図64は、構成例4の測定ユニット400の構成を図示する。
【0257】
図64に例示された測定ユニット400の構成は、
図61およびその関連記載で説明された構成例3の測定ユニット400と同様の構成および機能を有する。測定ユニット400と処理ユニット300との間に、解析ユニット600が設けられている。解析ユニット600は、複数の測定ユニット400と接続されてもよい。解析ユニット600は、複数の処理ユニット300と接続されてもよい。インタフェース部4851は、例えば、1ギガビット/秒以上の通信帯域を備えるインタフェースである。例えば、インタフェース部4851は、ギガビットイーサ、USB3.0又はThunderbolt3に準拠したインタフェースである。インタフェース部4851がギガビットイーサである場合、伝送路4852は例えばLANケーブルである。インタフェース部4851がUSB3.0である場合、伝送路4852はUSB3.0に準拠したUSBケーブルである。伝送路4852は、上述のとおり測定ユニット400と処理ユニット300との間でデジタル信号を伝送するための専用の伝送路である。例えば、測定ユニット400と処理ユニット300は、伝送路4852を介して、一対一で接続される。
【0258】
【0259】
解析ユニット600は、例えば、プロセッサ6001、並列処理プロセッサ6002、バス6003、記憶部6004、RAM6005、インタフェース部6006、インタフェース部6007を備え、これらはバス6003に接続されている。バス6003は、例えば、数百MB/s以上のデータ転送速度を有する伝送路である。バス3003は、1GB/s以上のデータ転送速度を有する伝送路であってもよい。バス3003は、例えば、PCI-ExpressやPCI-X規格に基づいてデータ転送を行う。解析ユニット600は、複数のインタフェース部6006を介して、複数の測定ユニット400と接続されてもよい。複数の測定ユニット400が設けられている場合、測定ユニット400のそれぞれに解析ユニット600が接続されてもよい(例えば、複数の測定ユニット400と複数の解析ユニット600が、それぞれ、一対一に接続される)。
【0260】
図66に示すように、プロセッサ6001および並列処理プロセッサ6002は、上述のプロセッサ4831および並列処理プロセッサ4833と同様の構成および機能を有する。並列処理プロセッサ6002は、複数の演算ユニット6200、及びRAM6201を含む。プロセッサ6001上で、測定された細胞の細胞種を解析する解析ソフトウェア6100が動作する。プロセッサ6001上で動作する解析ソフトウェア6100は、
図52に示された解析ソフトウェア4835aと同様の機能を有する。解析ソフトウェア6100は、
図52、
図53(a)、(b)、
図54、
図55(a)、(b)、
図56、
図57およびその関連記載と同様の動作によって、測定された細胞の細胞種を解析する。解析ソフトウェア6100は、測定された細胞の分類情報を、インタフェース部6007を介して処理ユニット300に送信する。インタフェース部6007は、例えば、イーサネット(登録商標)、USBである。インタフェース部6007は、無線通信可能なインタフェース(例えば、WiFi(登録商標)、Bluetooth(登録商標))でもよい。
【0261】
図67は、構成例4の処理ユニット300の構成を示す。
【0262】
図67に示された処理ユニット300は、
図59および
図62に示された処理ユニット300のように並列処理プロセッサ3002を備えなくてもよい。また、
図67に示されたプロセッサ3001上では、
図59および
図62に示された解析ソフトウェア3100が動作していなくてもよい。処理ユニット300は、インタフェース部3006を介して、解析ユニット600による解析結果を受信する。インタフェース部3006は、例えば、イーサネット、USBである。インタフェース部3006は、無線通信可能なインタフェース(例えば、WiFi、Bluetooth)でもよい。
【0263】
図64、
図65、
図66、
図67の構成では、FCM検出部410において生成された細胞のアナログ信号(前方散乱光信号、側方散乱光信号、側方蛍光信号)は、測定ユニット400内のA/D変換部482においてデジタル信号に変換される。波形データは、インタフェース部484、バス485、インタフェース部4851、伝送路4852を介して、解析ユニット600に送られる。インタフェース部4851は、上述のとおり測定ユニット400と解析ユニット600を接続する専用のインタフェースであり、測定ユニット400と解析ユニット600を一対一で接続する。言い換えれば、伝送路4852は、例えば、細胞分析装置100を構成するコンポーネント(例えば、測定ユニット400および処理ユニット300)以外の装置に関連するデータの伝送が介在しない伝送路である。伝送と4852は、例えば、イントラネット又インターネットとは、別の伝送路である。これにより、測定ユニット400内でA/D変換を行って生成されたデジタル信号を処理ユニット300に送信しても、デジタル信号の伝送の通信速度のボトルネックを回避できる。
【0264】
この
図64、
図65、
図66、
図67に示される構成例4の細胞分析装置100の場合、
図10に示すフローチャートのうち、ステップS13(細胞分類)とステップS14(分類情報の送信)が解析ユニット600において行われる。すなわち、ステップS13で生成されたデジタル信号が測定ユニット400から解析ユニット600へ送信され、ステップS14で分類情報が処理ユニット300へ送信される。
図56、
図57の処理は、解析ユニット600のプロセッサ6001と並列処理プロセッサ6002によって行われる。
【0265】
(構成例5)
図63、
図67および
図68を参照し、細胞分析装置100の構成例5を説明する。
【0266】
この構成例5の細胞分析装置100も、前述の構成例4と同様、測定ユニット400と、処理ユニット300と、解析ユニット600を備えて構成される。
図68に示される構成例5の測定ユニット400は、
図58およびその関連記載で説明された測定ユニット400と同様の機能及び構成を備える。
図68に示される構成例5の測定ユニット400は、接続ケーブル4202を介して、解析ユニット600と接続される。例えば、接続ケーブル4202は、ツイストペアケーブルで構成され、処理ユニット300に伝送されるアナログ信号の種類に対応する数のペア数の配線を有する。接続ケーブル4202は、信号伝送中のノイズ低減のため、例えば、1メートル又はそれ以下の長さで構成される。測定ユニット400は、接続ケーブル4202を介して、解析ユニット600にアナログ信号を伝送する。
【0267】
図69に示される解析ユニット600は、
図65およびその関連記載で説明された解析ユニット600と同様の機能および構成を備える。つまり、
図69の例では、解析ユニット600に組み込まれる形で並列処理プロセッサ6002が細胞分析装置100に搭載されている。
図69に示される解析ユニット600は、さらに、接続ポート6008、A/D変換部6009を備える。解析ユニット600から接続ケーブル4202を介して伝送されたアナログ信号は、接続ポート6008を介してA/D変換部6009に入力される。A/D変換部6009は、A/D変換部482と同様の処理により、アナログ信号をデジタル信号に変換する。
【0268】
解析ユニット600は、複数の接続ポート6008を介して、複数の測定ユニット400と接続されてもよい。複数の測定ユニット400が設けられている場合、測定ユニット400のそれぞれに解析ユニット600が接続されてもよい(例えば、複数の測定ユニット400と複数の解析ユニット600が、それぞれ、一対一に接続される)。
【0269】
図66に示すように、プロセッサ6001および並列処理プロセッサ6002は、上述のプロセッサ4831および並列処理プロセッサ4833と同様の構成および機能を有する。プロセッサ6001上で、測定された細胞の細胞種を解析する解析ソフトウェア6100が動作する。プロセッサ6001上で動作する解析ソフトウェア6100は、
図52に示された解析ソフトウェア4835aと同様の機能を有する。解析ソフトウェア6100は、
図52、
図53(a)、(b)、
図54、
図55(a)、(b)、
図56、
図57およびその関連記載と同様の動作によって、測定された細胞の細胞種を解析する。解析ソフトウェア6100は、測定された細胞の細胞種の解析結果を、インタフェース部6007を介して処理ユニット300に送信する。インタフェース部6007は、例えば、イーサネット、USBである。インタフェース部6007は、無線通信可能なインタフェース(例えば、WiFi、Bluetooth)でもよい。
【0270】
この
図68、
図69に示される構成例5の細胞分析装置100の場合、
図10に示すフローチャートのうち、ステップS12のうち波形データおよび特徴パラメータの生成と、ステップS13(細胞分類)、及びステップS14(分類情報の送信)が解析ユニット600において行われる。すなわち、解析ユニット600のA/D変換部6009において波形データの生成(ステップS12)が行われ、デジタル信号に基づく細胞分類(ステップS13)が解析ユニット600のプロセッサ6001と並列処理プロセッサ6002によって行われ、分類情報が解析ユニット600から処理ユニット300へ送信される(ステップS14)。
図56、
図57の処理は、解析ユニット600のプロセッサ6001と並列処理プロセッサ6002によって行われる。
【0271】
[9.深層学習アルゴリズム60のニューラルネットワーク構造および訓練]
(ニューラルネットワークの構造)
図70(a)は、深層学習アルゴリズム60を実現する畳み込ニューラルネットワークの構造を例示する。
【0272】
ニューラルネットワークは、入力層60aと、出力層60bと、入力層60a及び出力層60bの間の中間層60cとを備え、中間層60cが複数の層で構成されている。中間層60cを構成する層の数は、例えば5層以上、好ましくは50層以上、より好ましくは100層以上とすることができる。
【0273】
ニューラルネットワークでは、層状に配置された複数のノード89が、層間において結合されている。これにより、情報が入力側の入力層60aから出力側の出力層60bに、図中矢印Dに示す一方向のみに伝播する。
【0274】
(各ノードにおける演算)
図70(b)は、各ノードにおける演算を示す模式図である。
【0275】
各ノード89では、複数の入力を受け取り、1つの出力(z)を計算する。
図70(b)に示す例の場合、ノード89は4つの入力を受け取る。ノード89が受け取る総入力(u)は、例として以下の(式2)で表される。ここで、本実施形態においては、訓練用入力データ及び分析用入力データとして一次元の行数列データを用いるため、演算式の変数が二次元の行列データに対応する場合には、変数を一次元の行列データに対応するように変換する処理を行う。
【0276】
【0277】
各入力には、それぞれ異なる重みが掛けられる。(式2)中、bはバイアスと呼ばれる値である。ノードの出力(z)は、(式2)で表される総入力(u)に対する所定の関数fの出力となり、以下の(式3)で表される。関数fは活性化関数と呼ばれる。
【0278】
【0279】
図70(c)は、ノード間の演算を示す模式図である。
【0280】
ニューラルネットワークでは、(式2)で表される、各ノード89の総入力(u)に対して、(式3)で表される結果(z)を出力するノードが層状に並べられている。前の層のノードの出力が、次の層のノードの入力となる。
図70(c)に示す例では、図中左側の層のノード89aの出力が、図中右側の層のノード89bの入力となる。各ノード89bは、それぞれ、ノード89aからの出力を受け取る。各ノード89aと各ノード89bとの間の各結合には、異なる重みが掛けられる。複数のノード89aのそれぞれの出力をx1~x4とすると、3つのノード89bのそれぞれに対する入力は、以下の(式4-1)~(式4-3)で表される。
【0281】
【0282】
これら(式4-1)~(式4-3)を一般化すると、以下の(式4-4)となる。ここで、i=1,…,I、j=1,…,Jである。Iは入力総数であり、Jは総出力数である。
【0283】
【0284】
(式4-4)を活性化関数に適用すると出力が得られる。出力は以下の(式5)で表される。
【0285】
【0286】
(活性化関数)
実施形態に係る細胞種の分析方法では、活性化関数として、正規化線形関数(rectified linear unit function)を用いる。正規化線形関数は、以下の(式6)で表される。
【0287】
【0288】
(式6)は、z=uの線形関数のうち、u<0の部分をu=0とする関数である。
図70(c)に示す例では、j=1のノードの出力は、(式6)により、以下の式で表される。
【0289】
【0290】
(ニューラルネットワークの学習)
ニューラルネットワークを用いて表現される関数をy(x:w)とおくと、関数y(x:w)は、ニューラルネットワークのパラメータwを変化させると変化する。入力xに対してニューラルネットワークがより好適なパラメータwを選択するように、関数y(x:w)を調整することを、ニューラルネットワークの学習と呼ぶ。ニューラルネットワークを用いて表現される関数の入力と出力との組が複数与えられているとする。ある入力xに対する望ましい出力をdとすると、入出力の組は、{(x1、d1),(x2、d2),…,(xn、dn)}と与えられる。(x、d)で表される各組の集合を、訓練データと呼ぶ。
【0291】
ニューラルネットワークの学習とは、どのような入出力の組(xn、dn)に対しても、入力xnを与えたときのニューラルネットワークの出力y(xn:w)が、出力dnになるべく近づくように誤差関数を用いて重みwを調整することを意味する。
【0292】
【0293】
誤差関数(error function)とは、ニューラルネットワークを用いて表現される関数と訓練データとの近さを測る尺度である。誤差関数は損失関数(loss function)とも呼ばれる。実施形態に係る細胞種の分析方法において用いる誤差関数E(w)は、以下の(式7)で表される。(式7)は交差エントロピー(cross entropy)と呼ばれる。
【0294】
【0295】
(式7)の交差エントロピーの算出方法を説明する。実施形態に係る細胞種の分析方法において用いるニューラルネットワークの出力層では、すなわちニューラルネットワークの最終層では、入力xを内容に応じて有限個のクラスに分類するための活性化関数を用いる。活性化関数はソフトマックス関数(softmax function)と呼ばれ、以下の(式8)で表される。なお、出力層60bには、クラス数kと同数のノードが並べられているとする。出力層Lの各ノードk(k=1,…,K)の総入力uは、前層L-1の出力から、uk(L)で与えられるとする。これにより、出力層のk番目のノードの出力は、以下の(式8)で表される。
【0296】
【0297】
(式8)がソフトマックス関数である。(式8)で決まる出力y1,…,ykの総和は常に1となる。
【0298】
各クラスをC1,…,Ckと表すと、出力層Lのノードkの出力yk(すなわちuk(L))は、与えられた入力xがクラスCkに属する確率を表す。入力xは、以下の(式9)で表される確率が最大になるクラスに分類される。
【0299】
【0300】
ニューラルネットワークの学習では、ニューラルネットワークで表される関数を、各クラスの事後確率(posterior probability)のモデルとみなし、そのような確率モデルの下で、訓練データに対する重みwの尤度(likelihood)を評価し、尤度を最大化するような重みwを選択する。
【0301】
(式8)のソフトマックス関数による目標出力dnを、出力が正解のクラスである場合のみ1とし、出力がそれ以外の場合は0になるとする。目標出力をdn=[dn1,…,dnk]というベクトル形式で表すと、例えば入力xnの正解クラスがC3である場合、目標出力dn3のみが1となり、それ以外の目標出力は0となる。このように符号化すると、事後分布(posterior)は、以下の(式10)で表される。
【0302】
【0303】
訓練データ{(xn、dn)}(n=1,…,N)に対する重みwの尤度L(w)は、以下の(式11)で表される。尤度L(w)の対数をとり符号を反転すると、(式7)の誤差関数が導出される。
【0304】
【0305】
学習は、訓練データを基に計算される誤差関数E(w)を、ニューラルネットワークのパラメータwについて最小化することを意味する。実施形態に係る細胞種の分析方法では、誤差関数E(w)は(式7)で表される。
【0306】
誤差関数E(w)をパラメータwについて最小化することは、関数E(w)の局所的な極小点を求めることと同じ意味である。パラメータwはノード間の結合の重みである。重みwの極小点は、任意の初期値を出発点として、パラメータwを繰り返し更新する反復計算によって求められる。このような計算の一例には、勾配降下法(gradient descent method)がある。
【0307】
勾配降下法では、次の(式12)で表されるベクトルを用いる。
【0308】
【0309】
勾配降下法では、現在のパラメータwの値を負の勾配方向(すなわち-∇E)に移動させる処理を何度も繰り返す。現在の重みをw(t)とし、移動後の重みをw(t+1)とすると、勾配降下法による演算は、以下の(式13)で表される。値tは、パラメータwを移動させた回数を意味する。
【0310】
【0311】
上記(式13)で用いられた以下の(式14)に示す記号は、パラメータwの更新量の大きさを決める定数であり、学習係数と呼ばれる。
【0312】
【0313】
(式13)で表される演算を繰り返すことにより、値tの増加に伴って誤差関数E(w(t))が減少し、パラメータwは極小点に到達する。
【0314】
なお、(式13)による演算は、全ての訓練データ(n=1,…,N)に対して実施してもよく、一部の訓練データのみに対して実施してもよい。一部の訓練データのみに対して行う勾配降下法は、確率的勾配降下法(stochastic gradient descent)と呼ばれる。実施形態に係る細胞種の分析方法では、確率的勾配降下法を用いる。
【0315】
図71を例として、深層学習アルゴリズム60の訓練の概要を説明する。深層学習アルゴリズム60は、上述したように、多層の中間層を含むニューラルネットワークにより構成される。訓練データとして、ニューラルネットワークの入力層60aには、予め細胞種が同定されている細胞の波形データが入力される。訓練データとして、ニューラルネットワークの出力層60bには、確率データ78が入力される。深層学習アルゴリズム60によって分類する細胞種の数が
図8に示すように9種類である場合、出力層60bのノード数は9となり、各ノードに何れかの細胞種が割り当てられる。確率データ78は、入力層60aに入力された波形データに対応する、予め同定された細胞種のラベル値の確率を100%、その他の細胞種の確率を0%とするデータ群である。こうして入力層60aと出力層60bに、それぞれ、訓練用データが入力され、ニューラルネットワークが訓練される。
【0316】
[10.実施形態の効果]
上述の実施形態によれば、例えば
図20に代表的に図示されるように、個々の細胞を複数の細胞種に分類した結果が表示される。従来の細胞分類方法では、例えば好中球と幼若顆粒球の特徴を持つ細胞は、いずれかの種類に択一的に分類されていたが、上述の実施形態では、そのような細胞は深層学習アルゴリズムによって好中球と幼若顆粒球のそれぞれに属する確率が求められ、それぞれの細胞種に対応する確率の値が表示される。ユーザは、例えば、異常細胞である確率を持つ細胞が含まれている検体に対して異常細胞の検出を目的とした再検査や目視検査を行うなど、より詳細な分析のアクションにつなげることができる。
【符号の説明】
【0317】
60 深層学習アルゴリズム
86a、86b、86c 波形データ
100 細胞分析装置(分析装置)
410 FCM検出部(検出部)
440 試料調製部
482 A/D変換部(信号処理部)
901 スキャッタグラム(グラフ)
3001、4831 プロセッサ
3002、4833 並列処理プロセッサ
3015 表示部
4113 フローセル