(57)【要約】  画像解析装置は、細胞オブジェクトを含む細胞画像を表わす細胞画像データを取得し、細胞画像から複数個の部分画像を特定し、複数個の部分画像のそれぞれについて、当該部分画像が細胞オブジェクトを含むのか否かを判断する。画像解析装置は、複数個の部分画像に対応する複数個の位置に配置されている複数個の値を含む第１の特定データを生成する。当該複数個の値は、細胞オブジェクトを含むと判断された部分画像に対応する位置に配置されている存在値を含む。画像解析装置は、第１の特定データから複数個の部分データを特定し、複数個の部分データと、複数個のパターンデータと、を利用して、細胞画像に含まれる細胞オブジェクトの個数を計数し、計数の結果を出力する。具体的には、画像解析装置は、対象部分データが２個以上の存在値を含むにも関わらず、対象部分データに対応する細胞オブジェクトの個数として１個を計数する。
2019008753.tif 000002
【特許請求の範囲】
【請求項１】
画像解析装置であって、
１種類以上の細胞を示す１種類以上の細胞オブジェクトを含む細胞画像を表わす細胞画像データを取得する取得部と、
前記細胞画像から複数個の部分画像を特定する部分画像特定部であって、前記複数個の部分画像のそれぞれは同じサイズを有し、前記細胞画像は、第１方向に沿って並ぶ２個以上の部分画像と、前記第１方向に直交する第２方向に沿って並ぶ２個以上の部分画像と、を含む、前記部分画像特定部と、
前記複数個の部分画像のそれぞれについて、当該部分画像が前記１種類以上の細胞オブジェクトのいずれかを含むのか否かを判断する細胞判断部と、
前記複数個の部分画像に対応する複数個の位置に配置されている複数個の値を含む第１の特定データを生成する第１の特定データ生成部であって、前記第１の特定データに含まれる前記複数個の値は、前記１種類以上の細胞オブジェクトのいずれも含まないと判断された部分画像に対応する位置に配置されている不存在値と、前記１種類以上の細胞オブジェクトのうちの第１種の細胞オブジェクトを含むと判断された部分画像に対応する位置に配置されている第１の存在値と、を含む、前記第１の特定データ生成部と、
前記第１の特定データから複数個の部分データを特定する部分データ特定部であって、前記部分データは、前記第１方向に沿って並ぶＭ個（前記Ｍは２以上の整数）の値と、前記第２方向に沿って並ぶＮ個（前記Ｎは２以上の整数）の値と、によって構成される（Ｍ×Ｎ）個の値を含む、前記部分データ特定部と、
前記複数個の部分データと、予め決められている複数個のパターンデータと、を利用して、前記細胞画像に含まれる前記第１種の細胞オブジェクトの個数を計数する計数部であって、前記パターンデータは、前記第１方向に沿って並ぶＭ個の値と、前記第２方向に沿って並ぶＮ個の値と、によって構成される（Ｍ×Ｎ）個の値を含み、前記パターンデータに含まれる前記（Ｍ×Ｎ）個の値は、２個以上の第１の所定値と、１個以上の第２の所定値と、を含み、前記複数個のパターンデータのそれぞれでは、前記第１の所定値の配列が異なる、前記計数部と、
前記計数の結果を出力する出力部と、を備え、
前記計数部は、前記複数個の部分データのそれぞれについて、当該部分データにおける前記第１の存在値の配列が、前記複数個のパターンデータのいずれかにおける前記第１の所定値の配列に一致するのか否かを判断する第１の存在値判断部を備え、
前記計数部は、前記複数個の部分データのうちの第１の対象部分データにおける前記第１の存在値の配列が、前記複数個のパターンデータのいずれかにおける前記第１の所定値の配列に一致すると判断される場合に、前記第１の対象部分データに含まれる（Ｍ×Ｎ）個の値が２個以上の前記第１の存在値を含むにも関わらず、前記第１の対象部分データに対応する前記第１種の細胞オブジェクトの個数として１個を計数する、画像解析装置。
【請求項２】
前記計数部は、さらに、
前記複数個の部分データと、前記複数個のパターンデータと、を利用して、前記複数個の部分画像に対応する複数個の位置に配置されている複数個の値を含む第２の特定データを生成する第２の特定データ生成部であって、前記第２の特定データに含まれる前記複数個の値は、前記１種類以上の細胞オブジェクトのいずれも含まないと判断された部分画像に対応する位置に配置されている前記不存在値と、１個以上の前記第１の存在値と、を含む、前記第２の特定データ生成部を備え、
前記第２の特定データ生成部は、前記第１の対象部分データにおける前記第１の存在値の配列が、前記複数個のパターンデータのいずれかにおける前記第１の所定値の配列に一致すると判断される場合に、前記第１の対象部分データに含まれる隣接する２個以上の前記第１の存在値に代えて、前記第１の対象部分データに対応する所定位置に１個の前記第１の存在値を記述することによって、前記第２の特定データを生成し、
前記計数部は、前記第２の特定データに含まれる前記第１の存在値の個数を計数することによって、前記細胞画像に含まれる前記第１種の細胞オブジェクトの個数を計数する、請求項１に記載の画像解析装置。
【請求項３】
前記Ｍ及び前記Ｎは、３以上の同じ奇数であり、
前記複数個のパターンデータは、予め決められている３個以上のパターンデータのセットを含み、
前記計数部は、さらに、
前記第１の対象部分データにおける前記第１の存在値の配列が、前記セットのうちの第１のパターンデータにおける前記第１の所定値の配列に一致すると判断される場合に、第１の中間データを生成する第１の中間データ生成部であって、前記第１の中間データでは、前記第１の対象部分データに含まれる（Ｍ×Ｎ）個の値のうちの中央の値に対応する位置に第３の所定値が記述されていると共に、前記第１の対象部分データに含まれる前記（Ｍ×Ｎ）個の値のうちの前記中央の値以外の各値に対応する各位置に第４の所定値が記述されている、前記第１の中間データ生成部と、
前記複数個の部分データのうちの第２の対象部分データであって、前記第１の対象部分データに隣接する前記第２の対象部分データにおける前記第１の存在値の配列が、前記セットのうちの第２のパターンデータであって、前記第１のパターンデータとは異なる前記第２のパターンデータにおける前記第１の所定値の配列に一致すると判断される場合に、第２の中間データを生成する第２の中間データ生成部であって、前記第２の中間データでは、前記第２の対象部分データに含まれる（Ｍ×Ｎ）個の値のうちの中央の値に対応する位置に前記第３の所定値が記述されていると共に、前記第２の対象部分データに含まれる前記（Ｍ×Ｎ）個の値のうちの前記中央の値以外の各値に対応する各位置に前記第４の所定値が記述されている、前記第２の中間データ生成部と、
前記第１の中間データと前記第２の中間データとを合成して、第３の中間データを生成する第３の中間データ生成部であって、前記第３の中間データでは、前記第１の中間データに含まれる前記第３の所定値と前記第２の中間データに含まれる前記第３の所定値とが隣接する、前記第３の中間データ生成部と、
前記第３の中間データから複数個の目的データを順次特定する目的データ特定部であって、前記目的データは、前記第１方向に沿って並ぶＭ個の値と、前記第２方向に沿って並ぶＮ個の値と、によって構成される（Ｍ×Ｎ）個の値を含む、前記目的データ特定部と、
前記複数個の目的データのそれぞれについて、当該目的データにおける前記第３の所定値の配列が、前記セットのうちの第３のパターンデータであって、前記第１及び第２のパターンデータとは異なる前記第３のパターンデータにおける前記第１の所定値の配列に一致するのか否かを判断する所定値判断部と、を備え、
前記計数部は、前記複数個の目的データのうちの対象目的データであって、隣接する２個以上の前記第３の所定値を含む前記対象目的データにおける前記第３の所定値の配列が、前記第３のパターンデータにおける前記第１の所定値の配列に一致すると判断される場合に、前記第１の対象部分データに対応する前記第１種の細胞オブジェクトの個数として１個を計数する、請求項１又は２に記載の画像解析装置。
【請求項４】
前記第１の特定データに含まれる前記複数個の値は、さらに、前記１種類以上の細胞オブジェクトのうちの第２種の細胞オブジェクトであって、前記第１種の細胞オブジェクトとは異なる前記第２種の細胞オブジェクトを含むと判断された部分画像に対応する位置に配置されている第２の存在値であって、前記第１の存在値とは異なる前記第２の存在値を含み、
前記計数部は、前記複数個の部分データのそれぞれについて、当該部分データにおける前記第２の存在値の配列が、前記複数個のパターンデータのいずれかにおける前記第１の所定値の配列に一致するのか否かを判断する第２の存在値判断部を備え、
前記計数部は、前記複数個の部分データのうちの第２の対象部分データにおける前記第２の存在値の配列が、前記複数個のパターンデータのいずれかにおける前記第１の所定値の配列に一致すると判断される場合に、前記第２の対象部分データに含まれる（Ｍ×Ｎ）個の値が２個以上の前記第２の存在値を含むにも関わらず、前記第２の対象部分データに対応する前記第２種の細胞オブジェクトの個数として１個を計数する、請求項１から３のいずれか一項に記載の画像解析装置。
【請求項５】
画像解析装置のためのコンピュータプログラムであって、
前記画像解析装置のコンピュータを、以下の各部、即ち、
１種類以上の細胞を示す１種類以上の細胞オブジェクトを含む細胞画像を表わす細胞画像データを取得する取得部と、
前記細胞画像から複数個の部分画像を特定する部分画像特定部であって、前記複数個の部分画像のそれぞれは同じサイズを有し、前記細胞画像は、第１方向に沿って並ぶ２個以上の部分画像と、前記第１方向に直交する第２方向に沿って並ぶ２個以上の部分画像と、を含む、前記部分画像特定部と、
前記複数個の部分画像のそれぞれについて、当該部分画像が前記１種類以上の細胞オブジェクトのいずれかを含むのか否かを判断する細胞判断部と、
前記複数個の部分画像に対応する複数個の位置に配置されている複数個の値を含む第１の特定データを生成する第１の特定データ生成部であって、前記第１の特定データに含まれる前記複数個の値は、前記１種類以上の細胞オブジェクトのいずれも含まないと判断された部分画像に対応する位置に配置されている不存在値と、前記１種類以上の細胞オブジェクトのうちの第１種の細胞オブジェクトを含むと判断された部分画像に対応する位置に配置されている第１の存在値と、を含む、前記第１の特定データ生成部と、
前記第１の特定データから複数個の部分データを特定する部分データ特定部であって、前記部分データは、前記第１方向に沿って並ぶＭ個（前記Ｍは２以上の整数）の値と、前記第２方向に沿って並ぶＮ個（前記Ｎは２以上の整数）の値と、によって構成される（Ｍ×Ｎ）個の値を含む、前記部分データ特定部と、
前記複数個の部分データと、予め決められている複数個のパターンデータと、を利用して、前記細胞画像に含まれる前記第１種の細胞オブジェクトの個数を計数する計数部であって、前記パターンデータは、前記第１方向に沿って並ぶＭ個の値と、前記第２方向に沿って並ぶＮ個の値と、によって構成される（Ｍ×Ｎ）個の値を含み、前記パターンデータに含まれる前記（Ｍ×Ｎ）個の値は、２個以上の第１の所定値と、１個以上の第２の所定値と、を含み、前記複数個のパターンデータのそれぞれでは、前記第１の所定値の配列が異なる、前記計数部と、
前記計数の結果を出力する出力部と、を備え、
前記計数部は、前記複数個の部分データのそれぞれについて、当該部分データにおける前記第１の存在値の配列が、前記複数個のパターンデータのいずれかにおける前記第１の所定値の配列に一致するのか否かを判断する第１の存在値判断部を備え、
前記計数部は、前記複数個の部分データのうちの第１の対象部分データにおける前記第１の存在値の配列が、前記複数個のパターンデータのいずれかにおける前記第１の所定値の配列に一致すると判断される場合に、前記第１の対象部分データに含まれる（Ｍ×Ｎ）個の値が２個以上の前記第１の存在値を含むにも関わらず、前記第１の対象部分データに対応する前記第１種の細胞オブジェクトの個数として１個を計数する、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、細胞オブジェクトを含む細胞画像を解析するための画像解析装置を開示する。
【背景技術】
【０００２】
近年、画像解析装置を利用した病理組織診又は細胞診が行われている（例えば、特表２０１１−５２７００号公報）。この技術では、細胞オブジェクトを分類するためのデータを画像解析装置に学習させておき、病理組織標本、細胞診標本等から得られる細胞画像データを画像解析装置に入力することで、細胞画像データによって表わされる細胞画像に含まれる細胞オブジェクトの分類結果が得られる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
画像解析装置を利用した病理診断補助又は自動細胞解析では、通常、細胞画像から複数個の部分画像のそれぞれが順次特定される。そして、複数個の部分画像のそれぞれについて、当該部分画像に含まれる細胞オブジェクトに対応する細胞が分類され、その分類結果に基づいて細胞画像に含まれる各種の細胞オブジェクトの個数が計数される。しかしながら、例えば、２個以上の部分画像のそれぞれに同じ細胞オブジェクトが含まれる場合に、当該２個以上の部分画像のそれぞれに異なる１個の細胞オブジェクトが含まれると誤って認識され得る。この場合、当該２個以上の部分画像に含まれる細胞オブジェクトの個数として、実際には１個が計数されるべきにも関わらず、２個以上が計数されてしまう。【０００４】
本明細書は、細胞画像に含まれる細胞オブジェクトの個数を精度よく計数するための技術を開示する。【０００５】
本明細書によって開示される画像解析装置は、１種類以上の細胞オブジェクトを含む細胞画像を表わす細胞画像データを取得する取得部と、前記細胞画像から複数個の部分画像を特定する部分画像特定部であって、前記複数個の部分画像のそれぞれは同じサイズを有し、前記細胞画像は、第１方向に沿って並ぶ２個以上の部分画像と、前記第１方向に直交する第２方向に沿って並ぶ２個以上の部分画像と、を含む、前記部分画像特定部と、前記複数個の部分画像のそれぞれについて、当該部分画像が前記１種類以上の細胞オブジェクトのいずれかを含むのか否かを判断する細胞判断部と、前記複数個の部分画像に対応する複数個の位置に配置されている複数個の値を含む第１の特定データを生成する第１の特定データ生成部であって、前記第１の特定データに含まれる前記複数個の値は、前記１種類以上の細胞オブジェクトのいずれも含まないと判断された部分画像に対応する位置に配置されている不存在値と、前記１種類以上の細胞オブジェクトのうちの第１種の細胞オブジェクトを含むと判断された部分画像に対応する位置に配置されている第１の存在値と、を含む、前記第１の特定データ生成部と、前記第１の特定データから複数個の部分データを特定する部分データ特定部であって、前記部分データは、前記第１方向に沿って並ぶＭ個（前記Ｍは２以上の整数）の値と、前記第２方向に沿って並ぶＮ個（前記Ｎは２以上の整数）の値と、によって構成される（Ｍ×Ｎ）個の値を含む、前記部分データ特定部と、前記複数個の部分データと、予め決められている複数個のパターンデータと、を利用して、前記細胞画像に含まれる前記第１種の細胞オブジェクトの個数を計数する計数部であって、前記パターンデータは、前記第１方向に沿って並ぶＭ個の値と、前記第２方向に沿って並ぶＮ個の値と、によって構成される（Ｍ×Ｎ）個の値を含み、前記パターンデータに含まれる前記（Ｍ×Ｎ）個の値は、２個以上の第１の所定値と、１個以上の第２の所定値と、を含み、前記複数個のパターンデータのそれぞれでは、前記第１の所定値の配列が異なる、前記計数部と、前記計数の結果を出力する出力部と、を備える。前記計数部は、前記複数個の部分データのそれぞれについて、当該部分データにおける前記第１の存在値の配列が、前記複数個のパターンデータのいずれかにおける前記第１の所定値の配列に一致するのか否かを判断する第１の存在値判断部を備え、前記計数部は、前記複数個の部分データのうちの第１の対象部分データにおける前記第１の存在値の配列が、前記複数個のパターンデータのいずれかにおける前記第１の所定値の配列に一致すると判断される場合に、前記第１の対象部分データに含まれる（Ｍ×Ｎ）個の値が２個以上の前記第１の存在値を含むにも関わらず、前記第１の対象部分データに対応する前記第１種の細胞オブジェクトの個数として１個を計数する。【０００６】
上記の構成によると、画像解析装置は、細胞画像から特定される複数個の部分画像に対応する複数個の位置に配置されている複数個の値を含む第１の特定データを生成し、第１の特定データから複数個の部分データを特定し、複数個の部分データと、予め決められている複数個のパターンデータと、を利用して、細胞画像に含まれる第１種の細胞オブジェクトの個数を計数する。ここで、画像解析装置は、複数個の部分データのうちの第１の対象部分データにおける第１の存在値の配列が、複数個のパターンデータのいずれかにおける第１の所定値の配列に一致すると判断される場合に、第１の対象部分データが２個以上の第１の存在値を含むにも関わらず、第１の対象部分データに対応する第１種の細胞オブジェクトの個数として１個を計数する。従って、画像解析装置は、細胞画像に含まれる第１種の細胞オブジェクトの個数を精度よく計数することができる。【０００７】
前記画像解析装置は、さらに、前記複数個の部分データと、前記複数個のパターンデータと、を利用して、前記複数個の部分画像に対応する複数個の位置に配置されている複数個の値を含む第２の特定データを生成する第２の特定データ生成部を備えてもよい。前記第２の特定データに含まれる前記複数個の値は、前記１種類以上の細胞オブジェクトのいずれも含まないと判断された部分画像に対応する位置に配置されている前記不存在値と、１個以上の前記第１の存在値と、を含んでもよい。前記第２の特定データ生成部は、前記第１の対象部分データにおける前記第１の存在値の配列が、前記複数個のパターンデータのいずれかにおける前記第１の所定値の配列に一致すると判断される場合に、前記第１の対象部分データに含まれる隣接する２個以上の前記第１の存在値に代えて、前記第１の対象部分データに対応する所定位置に１個の前記第１の存在値を記述することによって、前記第２の特定データを生成してもよい。前記計数部は、前記第２の特定データに含まれる前記第１の存在値の個数を計数することによって、前記細胞画像に含まれる前記第１種の細胞オブジェクトの個数を計数してもよい。この構成によると、画像解析装置は、第２の特定データを利用して、細胞画像に含まれる細胞オブジェクトの数を精度よく計数することができる。【０００８】
前記Ｍ及び前記Ｎは、３以上の同じ奇数であってもよく、前記複数個のパターンデータは、予め決められている３個以上のパターンデータのセットを含んでもよい。前記計数部は、さらに、前記第１の対象部分データにおける前記第１の存在値の配列が、前記セットのうちの第１のパターンデータにおける前記第１の所定値の配列に一致すると判断される場合に、第１の中間データを生成する第１の中間データ生成部であって、前記第１の中間データでは、前記第１の対象部分データに含まれる（Ｍ×Ｎ）個の値のうちの中央の値に対応する位置に第３の所定値が記述されていると共に、前記第１の対象部分データに含まれる前記（Ｍ×Ｎ）個の値のうちの前記中央の値以外の各値に対応する各位置に第４の所定値が記述されている、前記第１の中間データ生成部と、前記複数個の部分データのうちの第２の対象部分データであって、前記第１の対象部分データに隣接する前記第２の対象部分データにおける前記第１の存在値の配列が、前記セットのうちの第２のパターンデータであって、前記第１のパターンデータとは異なる前記第２のパターンデータにおける前記第１の所定値の配列に一致すると判断される場合に、第２の中間データを生成する第２の中間データ生成部であって、前記第２の中間データでは、前記第２の対象部分データに含まれる（Ｍ×Ｎ）個の値のうちの中央の値に対応する位置に前記第３の所定値が記述されていると共に、前記第２の対象部分データに含まれる前記（Ｍ×Ｎ）個の値のうちの前記中央の値以外の各値に対応する各位置に前記第４の所定値が記述されている、前記第２の中間データ生成部と、前記第１の中間データと前記第２の中間データとを合成して、第３の中間データを生成する第３の中間データ生成部であって、前記第３の中間データでは、前記第１の中間データに含まれる前記第３の所定値と前記第２の中間データに含まれる前記第３の所定値とが隣接する、前記第３の中間データ生成部と、前記第３の中間データから複数個の目的データを順次特定する目的データ特定部であって、前記目的データは、前記第１方向に沿って並ぶＭ個の値と、前記第２方向に沿って並ぶＮ個の値と、によって構成される（Ｍ×Ｎ）個の値を含む、前記目的データ特定部と、前記複数個の目的データのそれぞれについて、当該目的データにおける前記第３の所定値の配列が、前記セットのうちの第３のパターンデータであって、前記第１及び第２のパターンデータとは異なる前記第３のパターンデータにおける前記第１の所定値の配列に一致するのか否かを判断する所定値判断部と、を備えてもよい。前記計数部は、前記複数個の目的データのうちの対象目的データであって、隣接する２個以上の前記第３の所定値を含む前記対象目的データにおける前記第３の所定値の配列が、前記第３のパターンデータにおける前記第１の所定値の配列に一致すると判断される場合に、前記第１の対象部分データに対応する前記第１種の細胞オブジェクトの個数として１個を計数してもよい。この構成によると、画像解析装置は、細胞オブジェクトの個数をより精度よく計数することができる。【０００９】
前記第１の特定データに含まれる前記複数個の値は、さらに、前記１種類以上の細胞オブジェクトのうちの第２種の細胞オブジェクトであって、前記第１種の細胞オブジェクトとは異なる前記第２種の細胞オブジェクトを含むと判断された部分画像に対応する位置に配置されている第２の存在値であって、前記第１の存在値とは異なる前記第２の存在値を含んでもよい。前記計数部は、前記複数個の部分データのそれぞれについて、当該部分データにおける前記第２の存在値の配列が、前記複数個のパターンデータのいずれかにおける前記第１の所定値の配列に一致するのか否かを判断する第２の存在値判断部を備えてもよい。前記計数部は、前記複数個の部分データのうちの第２の対象部分データにおける前記第２の存在値の配列が、前記複数個のパターンデータのいずれかにおける前記第１の所定値の配列に一致すると判断される場合に、前記第２の対象部分データに含まれる（Ｍ×Ｎ）個の値が２個以上の前記第２の存在値を含むにも関わらず、前記第２の対象部分データに対応する前記第２種の細胞オブジェクトの個数として１個を計数してもよい。この構成によると、画像解析装置は、２種類以上の細胞オブジェクトのそれぞれの個数を精度よく計数することができる。【００１０】
本技術は、上記の画像解析装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能媒体も、新規で有用である。
【図面の簡単な説明】
【００１１】
【図１】画像解析装置のブロック図を示す。
【図２】画像解析装置が実行する処理のフローチャートを示す。
【図３】計数処理のフローチャートを示す。
【図４】パターンデータの一例を示す。
【図５】パターンデータの一例を示す。
【図６】パターンデータの一例を示す。
【図７】パターンデータの一例を示す。
【図８】比較処理のフローチャートを示す。
【図９】図８の処理を説明するための説明図を示す。
【図１０】パターンデータのセットを説明するための説明図を示す。
【図１１】パターンデータのセットの一例を示す。
【図１２】図８の続きのフローチャートを示す。
【図１３】画像解析装置によって生成される各データの一例を示す。
【００１２】
（画像解析装置の構成：図１）
図１は、画像解析装置１０の構成を示す。画像解析装置１０は、操作部１２と、表示部１４と、入力部１６と、制御部３０と、を備える。各部１２〜３０は、バス線（符号省略）に接続されている。操作部１２は、例えば、マウス、キーボード等を備える。ユーザは、操作部１２を操作することによって、様々な指示を画像解析装置１０に与えることができる。表示部１４は、様々な情報を表示するためのディスプレイである。【００１３】
入力部１６は、１種類以上の細胞を示す１種類以上の細胞オブジェクトを含む細胞画像を表わす細胞画像データを画像解析装置１０に入力するための装置である。入力部１６は、有線通信又は無線通信を実行するための通信インターフェースであってもよいし、ＵＳＢメモリ等が挿入されるメモリインターフェースであってもよい。例えば、入力部１６が、顕微鏡、Ｗｈｏｌｅ  Ｓｌｉｄｅ  Ｉｍａｇｅ、バーチャルスライド等によって撮影される細胞画像データを格納するデバイスとの有線通信又は無線通信を実行して、当該デバイスから細胞画像データを受信することによって、細胞画像データが画像解析装置１０に入力されてもよい。また、例えば、入力部１６が、細胞画像データを格納するメモリから細胞画像データを読み出すことによって、細胞画像データが画像解析装置１０に入力されてもよい。【００１４】
制御部３０は、ＣＰＵ３２と、メモリ３４と、を備える。ＣＰＵ３２は、メモリ３４に記憶されているプログラム３６，３８に従って様々な処理を実行する。メモリ３４は、画像解析装置１０の基本的な動作を実現するためのＯＳプログラム３６と、畳み込みニューラルネットワーク（以下では「ＣＮＮ（Convolutional Neural Networkの略）」と呼ぶ）に従った画像解析を実行するための解析プログラム３８と、を格納する。例えば、汎用的なＰＣ、サーバ等に解析プログラム３８をインストールすることによって、画像解析装置１０が実現される。なお、解析プログラム３８は、ＣＮＮを部分構造として有する大規模ネットワーク（例えば、ＧｏｏｇＬｅＮｅｔ（登録商標）、Ｒｅｓｉｄｕａｌ  Ｎｅｔｗｏｒｋ等）に従った画像解析を実行してもよい。解析プログラム３８は、解析データ４０を含む。解析データ４０は、予め決められている複数個のパターンデータ４２と、細胞オブジェクトを分類するための分類データ４４と、を含む。【００１５】
複数個のパターンデータ４２は、細胞オブジェクトの個数を計数するための処理を実行するためのデータである。複数個のパターンデータ４２のそれぞれは、左右方向に沿って並ぶ３個の値と、上下方向に沿って並ぶ３個の値と、によって構成される９（３×３）個の値を含む。１個のパターンデータに含まれる９（３×３）個の値は、１個以上の値「１」と、１個以上の値「０」と、を含む。【００１６】
分類データ４４は、複数個の画像のそれぞれについて、当該画像と、当該画像に含まれる細胞オブジェクトの種類（例えばマクロファージ、好中球）と、が関連付けられたデータである。分類データ４４は、本実施例では、複数種類の細胞オブジェクトを分類可能なデータであるが、変形例では、１種類の細胞オブジェクトのみを分類（即ち特定）可能なデータであってもよい。【００１７】
（画像解析装置１０の処理：図２）
続いて、図２を参照して、画像解析装置１０のＣＰＵ３２が解析プログラム３８に従って実行する処理について説明する。Ｓ５では、ＣＰＵ３２は、入力部１６を介して、１種類以上の細胞オブジェクト１１０，１２０，１３０，１４０を含む細胞画像１００を表わす細胞画像データを取得する。細胞画像データは、多階調（例えば２５６階調）のＲＧＢ値を有する複数個の画素によって構成されるビットマップデータである。なお、ビットマップデータのファイルフォーマットは、ＢＭＰ（Microsoft Windows（登録商標） Bitmap Image）に限られず、ＪＰＥＧ（Joint Photographic Experts Group）、ＴＩＦＦ（Tagged Image File Format）等であってもよい。細胞画像データは、以下のように生成される。例えば、患者から採取された検体である気管支肺胞洗浄液をスライドガラスに塗抹して、ギムザ染色をすることによって病理標本が作製される。そして、病理標本が顕微鏡によって撮影されることによって、細胞画像データが生成される。なお、病理標本は、上記のものに限られない。例えば、検体は、血液検体、生体検体等であってもよく、染色法は、パパニコロウ染色法、ヘマトキシリン・エオジン染色法、免疫組織化学染色法、免疫蛍光染色法等であってもよい。さらには、培養細胞等に対する無染色の位相差顕微鏡像等であってもよい。【００１８】
Ｓ１０では、ＣＰＵ３２は、細胞画像１００から１個の部分画像を特定する。図２の例では、細胞画像１００内に描かれた複数本の破線で囲まれた１個の矩形が１個の部分画像を示す。具体的には、ＣＰＵ３２は、１回目のＳ１０において、細胞画像１００の左上の隅に位置する１個の部分画像１０２を特定する。１個の部分画像のサイズ（即ち左右方向の長さ及び上下方向の長さ）は予め決められている。１個の部分画像は、本実施例では、正方形の矩形形状を有するが、変形例では、長方形の矩形形状を有していてもよいし、別の変形例では、矩形以外の形状（円形状等）を有していてもよい。また、ＣＰＵ３２は、１回目のＳ１０と後述のＳ１５〜Ｓ３０とを経た後の２回目のＳ１０において、部分画像１０２の右側に隣接する部分画像１０４を特定する。ＣＰＵ３２は、これを繰り返すことによって、左側から右側に向かう順序で各部分画像を順次特定する。そして、ＣＰＵ３２は、最も右側の部分画像を特定し終えると、次のＳ１０において、部分画像１０２の下側に隣接する部分画像を特定し、さらに、次のＳ１０において、当該部分画像の右側に隣接する部分画像を特定する。ＣＰＵ３２は、これを繰り返すことによって、細胞画像１００から、左右方向に沿って並ぶ２個以上の部分画像と、上下方向に沿って並ぶ２個以上の部分画像と、を含む複数個の部分画像を順次特定する。なお、本実施例では、各部分画像が重なり合わないように、各部分画像が特定されるが、変形例では、各部分画像が重なり合うように、各部分画像が特定されてもよい。【００１９】
Ｓ１５では、ＣＰＵ３２は、Ｓ１０で特定された部分画像（以下では「対象部分画像」と呼ぶ）と分類データ４４とを利用したＣＮＮを実行して、対象部分画像が、分類データ４４が分類可能な複数種類の細胞オブジェクトのいずれかを含むのか否かを判断する。具体的には、分類データ４４を構成する複数個の画像のそれぞれは、細胞オブジェクトを含む。ＣＰＵ３２は、対象部分画像が、分類データ４４を構成する複数個の画像に含まれるいずれかの細胞オブジェクトに一致又は類似する細胞オブジェクトを含むと判断する場合には、Ｓ１５でＹＥＳと判断してＳ２０に進み、対象部分画像が、分類データ４４を構成する複数個の画像に含まれるいずれの細胞オブジェクトにも一致又は類似しないと判断する場合には、Ｓ１５でＮＯと判断してＳ２５に進む。【００２０】
Ｓ２０では、ＣＰＵ３２は、対象部分画像に含まれる細胞オブジェクトの種類を分類して、分類結果に応じた存在値を設定する。上述したように、分類データ４４では、複数個の画像のそれぞれについて、当該画像と、当該画像に含まれる細胞オブジェクトの種類（例えばマクロファージ）と、が関連付けられている（図１参照）。ＣＰＵ３２は、分類データ４４を構成する複数個の画像の中から、対象部分画像に含まれる細胞オブジェクトに一致又は類似するとＳ１５で判断された画像を特定し、当該画像に関連付けられている細胞オブジェクトの種類を特定する。これにより、ＣＰＵ３２は、細胞オブジェクトの種類を分類することができる。そして、ＣＰＵ３２は、対象部分画像の位置と、分類結果に応じた存在値と、を関連付けてメモリ３４に記憶させる。ここで、本実施例では、対象部分画像の位置は座標（ｘ，ｙ）によって表現される。ｘは左右方向の位置を示し、ｙは上下方向の位置を示す。例えば、部分画像１０２の位置は（１，１）であり、部分画像１０４の位置は（２，１）である。また、存在値は、部分画像内に細胞オブジェクトが存在することを示す値であり、第１種の細胞オブジェクト（例えばマクロファージ）に対応する存在値は「１」であり、第２種の細胞オブジェクト（例えば好中球）に対応する存在値は「２」であり、第３種の細胞オブジェクトに対応する存在値は「３」である。【００２１】
図２の例では、各部分画像１１２，１１４，１１６，１４２，１４４については、第１種の細胞オブジェクトを含むと判断されるので（Ｓ１５でＹＥＳ）、各部分画像１１２等の位置と存在値「１」とが関連付けて記憶される（Ｓ２０）。また、各部分画像１２２，１２４については、第２種の細胞オブジェクトを含むと判断されるので（Ｓ１５でＹＥＳ）、各部分画像１２２等の位置と存在値「２」とが関連付けて記憶される（Ｓ２０）。また、各部分画像１３２，１３４，１３６，１３８については、第３種の細胞オブジェクトを含むと判断されるので（Ｓ１５でＹＥＳ）、各部分画像１３２等の位置と存在値「３」とが関連付けて記憶される。Ｓ２０が終了すると、Ｓ３０に進む。【００２２】
一方、Ｓ２５では、ＣＰＵ３２は、対象部分画像の位置（即ち座標）と不存在値とを関連付けてメモリ３４に記憶させる。不存在値は、部分画像内に細胞オブジェクトが存在しないことを示す値であり、本実施例では「０」である。図２の例では、部分画像１１２〜１４４以外の各部分画像（例えば１０２，１０４）が細胞オブジェクトを含まないと判断されるので（Ｓ１５でＮＯ）、当該各部分画像の位置と不存在値「０」とが関連付けて記憶される（Ｓ２５）。Ｓ２５が終了すると、Ｓ３０に進む。【００２３】
Ｓ３０では、ＣＰＵ３２は、細胞画像１００から全ての部分画像をＳ１０で特定済みであるのか否かを判断する。ＣＰＵ３２は、全ての部分画像を特定済みであると判断する場合（Ｓ３０でＹＥＳ）には、Ｓ３５に進み、全ての部分画像を特定済みでないと判断する場合（Ｓ３０でＮＯ）には、Ｓ１０に戻り、次の部分画像を特定する。【００２４】
Ｓ３５では、ＣＰＵ３２は、Ｓ２０及びＳ２５で記憶された各情報（即ち、位置（即ち座標）と存在値（又は不存在値）とが関連付けられた各情報）を利用して、第１の特定データ１５０を生成する。具体的には、ＣＰＵ３２は、Ｓ２０及びＳ２５で記憶された各情報について、当該情報によって示される位置（即ち座標）に、当該情報によって示される存在値又は不存在値を記述する。図２の例では、５個の存在値「１」と２個の存在値「２」と４個の存在値「３」とを含む第１の特定データ１５０が生成される。このように、例えば、細胞画像１００内の第１種の細胞オブジェクト１１０は、第１の特定データ１５０内では隣接する３個の存在値「１」として表現され、細胞画像１００内の第１種の細胞オブジェクト１４０は、第１の特定データ１５０内では隣接する２個の存在値「１」として表現される。従って、仮に、第１の特定データ１５０に含まれる存在値「１」の合計個数「５」をそのまま第１種の細胞オブジェクトの個数として計数してしまうと、実際には、細胞画像１００が２個の第１種の細胞オブジェクト１１０，１４０しか含まないので、誤った計数結果になってしまう。このため、ＣＰＵ３２は、以下のＳ４０において、隣接する２個以上の存在値を１個の細胞オブジェクトとして計数するための処理を実行する。【００２５】
Ｓ４０では、ＣＰＵ３２は、第１の特定データ１５０とパターンデータ４２とを利用して、計数処理（図３参照）を実行する。計数処理は、第１の特定データ１５０とパターンデータ４２とを利用して第２の特定データ１６０を生成し、第２の特定データ１６０から細胞オブジェクトの個数の計数するための処理である。図２の例では、第２の特定データ１６０は、第１種の細胞オブジェクトに対応する２個の存在値「１」と、第２種の細胞オブジェクトに対応する１個の存在値「２」と、第３種の細胞オブジェクトに対応する１個の存在値「３」と、を含む。このために、第１種の細胞オブジェクトの個数として２個が計数され、第２種の細胞オブジェクトの個数として１個が計数され、第３種の細胞オブジェクトの個数として１個が計数される。【００２６】
Ｓ４５では、ＣＰＵ３２は、Ｓ４０の計数の結果を出力する。本実施例では、細胞オブジェクトの種類毎の計数結果が出力される。図２の第２の特定データ１６０の例では、「第１種の細胞オブジェクト＝２」を示す情報と、「第２種の細胞オブジェクト＝１」を示す情報と、「第３種の細胞オブジェクト＝１」を示す情報と、が出力される。変形例では、細胞オブジェクトの種類毎の計数結果に代えて、全ての種類の細胞オブジェクトの計数結果の和が出力されてもよいし、細胞オブジェクトの種類毎に単位面積当たりの細胞オブジェクトの密度が出力されてもよい。【００２７】
（計数処理の詳細；図３）
続いて、図３を参照して、図２のＳ４０の計数処理の詳細を説明する。Ｓ１００では、ＣＰＵ３２は、処理対象の存在値を示すポインタｋ（ｋは１以上の整数）を「１」に設定する。【００２８】
Ｓ１０５では、ＣＰＵ３２は、図２のＳ３５で生成された第１の特定データ１５０を二値化して二値データ２００を生成する。具体的には、ＣＰＵ３２は、第１の特定データ１５０に含まれる複数個の値のそれぞれについて、当該値がｋに一致するのか否かを判断し、当該値がｋに一致する場合に、当該値に対応する位置に「１」を記述し、当該値がｋに一致しない場合に、当該値に対応する位置に「０」に記述する。これにより、「１」又は「０」を示す複数個の値によって構成される二値データ２００が生成される。図３は、ｋ＝１の場合に、第１の特定データ１５０から生成される二値データ２００を示す。【００２９】
Ｓ１１０Ａでは、ＣＰＵ３２は、二値データ２００とパターンデータ４２とを利用して、ステップＡの比較処理（図８参照）と、当該比較処理の結果として生成される複数個の合成前データの合成と、を実行して、合成データを生成する。【００３０】
Ｓ１１０Ｂでは、ＣＰＵ３２は、Ｓ１１０Ａで生成された合成データとパターンデータ４２とを利用して、ステップＢの比較処理（図８参照）と、当該比較処理の結果として生成される複数個の合成前データの合成と、を実行して、合成データを生成する。【００３１】
Ｓ１１０Ｃでは、ＣＰＵ３２は、Ｓ１１０Ｂで生成された合成データとパターンデータ４２とを利用して、ステップＣの比較処理（図８参照）と、当該比較処理の結果として生成される複数個の合成前データの合成と、を実行して、合成データを生成する。【００３２】
Ｓ１１０Ａ〜Ｓ１１０Ｃの処理は、二値データ２００内の隣接する２個以上の値「１」に代えて１個の値「１」が記述された合成データ２１０を生成するための処理である。図３の例では、二値データ２００内の隣接する３個の値「１」に代えて１個の値「１」が記述されていると共に、二値データ２００内の隣接する２個の値「１」に代えて１個の値「１」が記述されている合成データ２１０が生成される。【００３３】
図１３（Ａ）〜（Ｄ）では、値「１」、値「０」が、それぞれ、白色、黒色で表現されている。例えば、Ｓ１０５において、図１３（Ａ）の二値データが生成される場合には、Ｓ１１０Ａでは、図１３（Ｂ）の合成データが生成される。これにより、図１３（Ａ）内の符号５００で示される隣接する４個の値「１」に代えて、隣接する３個の値「１」が記述され、符号５１０で示される隣接する３個の値「１」に代えて、隣接する２個の値「１」が記述される。【００３４】
また、Ｓ１１０Ｂでは、図１３（Ｂ）の合成データから図１３（Ｃ）の合成データが生成される。これにより、図１３（Ｂ）内の符号５００で示される隣接する３個の値「１」に代えて、隣接する２個の値「１」が記述され、符号５１０で示される隣接する２個の値「１」に代えて、１個の値「１」が記述される。そして、Ｓ１１０Ｃでは、図１３（Ｃ）の合成データから図１３（Ｄ）の合成データが生成される。これにより、図１３（Ｃ）の合成データにおいて符号５００で示される隣接する２個の値「１」に代えて、１個の値「１」が記述される。このように、Ｓ１１０Ａ〜Ｓ１１０Ｃの処理によって、二値データ内の隣接する２個以上の値「１」に代えて１個の値「１」が記述された合成データが完成する。当該合成データ内の値「１」の個数を計数すれば、細胞オブジェクトの個数を正確に計数することができる。【００３５】
Ｓ１１５では、ＣＰＵ３２は、ｋをインクリメントする。次いで、Ｓ１２０では、ＣＰＵ３２は、インクリメントされたｋがｋＭＡＸよりも大きいのか否かを判断する。ｋＭＡＸは、分類データ４４が分類可能な細胞オブジェクトの種類の数（例えば「３」）を示す。ＣＰＵ３２は、ｋがｋＭＡＸよりも大きいと判断する場合（Ｓ１２０でＹＥＳ）に、Ｓ１２５に進み、ｋがｋＭＡＸ以下であると判断する場合（Ｓ１２０でＮＯ）に、Ｓ１０５に戻り、インクリメントされたｋ（例えば「２」）を利用して、二値データを生成する。ＣＰＵ３２は、ｋの値（即ち存在値）に応じたＳ１０５〜Ｓ１２０の処理を繰り返すことによって、ｋの値に応じた複数個の二値データを生成し（Ｓ１０５）、ｋの値に応じた複数個の合成データを生成する（Ｓ１１０Ａ〜Ｓ１１０Ｃ）。【００３６】
Ｓ１２５では、ＣＰＵ３２は、ｋの値に応じた複数個の合成データを利用して、第２の特定データ１６０（図２参照）を生成する。ＣＰＵ３２は、まず、ｋ＝２に対応する合成データに含まれる各値「１」を、ｋに一致する値「２」に変換する。同様に、ＣＰＵ３２は、ｋ＝３、４・・・等に対応する各合成データに含まれる各値「１」を、ｋに一致する値に変換する。そして、ＣＰＵ３２は、ｋ＝１に対応する合成データ（即ち値「１」を含む合成データ）と、ｋ＝２、３・・・等に対応する各変換後のデータ（即ち値「２」、「３」・・・を含む合成データ）と、を合成して、第２の特定データ１６０を生成する。ここで、「合成」は、論理和を意味する。例えば、あるデータ内の位置（１，１）の値が「１」を示し、他のデータ内の位置（１，１）の値が「０」を示す場合には、位置（１，１）の値「１」になるように合成後のデータが生成される。また、あるデータ内の位置（１，１）の値が「０」を示し、他のデータ内の位置（１，１）の値が「０」を示す場合には、位置（１，１）の値「０」になるように合成後のデータが生成される。以下でも、「合成」と記載する場合には、複数個の値の論理和を意味する。【００３７】
Ｓ１３０では、ＣＰＵ３２は、第２の特定データ１６０を利用して、各種の細胞オブジェクトの個数を計数する。具体的には、ＣＰＵ３２は、まず、第２の特定データ１６０に含まれる値「１」の個数を計数して、当該計数結果を第１種のオブジェクト（例えばマクロファージ）の個数として特定する。同様に、ＣＰＵ３２は、第２の特定データ１６０に含まれる値「２」、「３」・・・の個数をそれぞれ計数して、第２種、第３種・・・のオブジェクトの個数として特定する。Ｓ１３０の処理が終了すると、図３の処理が終了する。【００３８】
（パターンデータ４２の詳細；図４〜図７）
図３のＳ１１０Ａ〜Ｓ１１０Ｃの処理の内容を説明する前に、図４〜図７を参照して、Ｓ１１０Ａ等で利用されるパターンデータ４２の詳細を説明しておく。図４〜図７は、複数個のパターンデータを示す。各パターンデータは、上下方向に沿って並ぶ３個の値と、左右方向に沿って並ぶ３個の値と、によって構成される９（３×３）個の値を含み、これら９個の値のそれぞれは値「１」又は「０」を示す。図４は、１個の値「１」（即ち８個の値「０」）を含む１個のパターンデータ１−１と、２個の値「１」（即ち７個の値「０」）を含む８個のパターンデータ２−１〜２−８と、を示す。例えば、パターンデータ２−１は、パターンデータ２−１内の２個の値「１」の配列に一致するデータが存在する場合に、２個の値「１」に代えて、中央の位置に１個の値「１」のみが記述されているデータを生成するためのデータである。図５は、３個の値「１」（即ち６個の値「０」）を含む２０個のパターンデータ３−１〜３−２０を示す。図６及び図７は、４個の値「１」（即ち５個の値「０」）を含む３２個のパターンデータ４−１〜４−３２を示す。【００３９】
いずれのパターンデータ１−１〜４−３２においても、９個の値のうちの中央に位置する値が「１」を示す。各パターンデータ１−１〜４−３２では、値「１」の配列が異なる。例えば、パターンデータ２−１では、中央の値とその上の値とが「１」を示すが、パターンデータ２−５では、中央の値とその左上の値とが「１」を示す。なお、変形例では、パターンデータ１−１〜４−３２のうちの一部が省略されてもよい。例えば、パターンデータ４−１〜４−３２が省略されてもよい。別の変形例では、パターンデータ３−１〜３−２０及びパターンデータ４−１〜４−３２が省略されてもよい。また、別の変形例では、各パターンデータ１−１〜４−３２に加えて、５個以上の値「１」を含むパターンデータがさらに利用されてもよい。【００４０】
（比較処理及び合成；図８〜図１２）
続いて、図８〜図１２を参照して、図３のＳ１１０Ａの比較処理及び合成の詳細を説明する。Ｓ１１０Ａの比較処理では、パターンデータ４２に含まれる複数個のパターンデータのうちの３５個のパターンデータ（具体的には４−３〜４−２８、３−１〜３−４、２−３、２−４、２−７、２−８、及び、１−１）が利用されるべきことが予め決められている。また、Ｓ１１０Ａの比較処理では、後述の複数個のセットが利用されるべきことが予め決められている。当該複数個のセットは、４−１セット、４−２セット、４−２９セット〜４−３２セット、及び、３−５セット〜３−２０セットの２２個のセットを含む。図８のＳ２００では、ＣＰＵ３２は、上記の３５個のパターンデータ及び２２個のセットから、１個のパターンデータ又はセットを選択する。以下では、ここで選択されたパターンデータ又はセットのことを「対象パターンデータ」と呼ぶ。なお、ＣＰＵ３２は、５７個のパターンデータ及びセット（即ち３５個のパターンデータ及び２２個のセット）のそれぞれを利用してＳ２０５以降の各処理（以下では「処理スレッド」と呼ぶ）を並列的に実行する。例えば、ＣＰＵ３２は、Ｓ２００で選択された第１の対象パターンデータを利用した処理スレッドと、Ｓ２００で選択された第２の対象パターンデータを利用した処理スレッドと、を並列的に実行する。同様に、ＣＰＵ３２は、他の対象パターンデータを利用した処理スレッドも並列的に実行するので、合計で５７個の処理スレッドを並列的に実行する。このように複数個の処理スレッドを並列的に実行するので、処理時間を短縮することができる。【００４１】
Ｓ２０５では、ＣＰＵ３２は、対象パターンデータがセットであるのか否かを判断する。ＣＰＵ３２は、対象パターンデータがセットであると判断する場合（Ｓ２０５でＹＥＳ）には図１２のＳ２４５に進み、対象パターンデータがセットでないと判断する場合（Ｓ２０５でＮＯ）にはＳ２１０に進む。【００４２】
Ｓ２１０では、ＣＰＵ３２は、二値データ２００（図３参照）から１個の部分データを特定する。１個の部分データは、左右方向に沿って並ぶ３個の値と、上下方向に沿って並ぶ３個の値と、によって構成される９（３×３）個の値を含む。即ち、１個の部分データのサイズは、１個のパターンデータのサイズに等しい。具体的には、ＣＰＵ３２は、１回目のＳ２１０において、二値データ２００の左上の隅に位置する１個の部分データを特定する。また、ＣＰＵ３２は、１回目のＳ２１０と後述のＳ２１５〜Ｓ２２５とを経た後の２回目のＳ２１０において、右側に１つだけ移動して、１個の部分データを特定する。即ち、１回目の部分データと２回目の部分データとは重複する。ＣＰＵ３２は、これを繰り返すことによって、左側から右側に向かう順序で各部分データを順次特定する。そして、ＣＰＵ３２は、最も右側の部分データを特定し終えると、次のＳ２１０において、下側に１つだけ移動して、最も左側の１個の部分データを特定し、さらに、次のＳ２１０において、右側に１つだけ移動して、１個の部分データを特定する。ＣＰＵ３２は、これを繰り返すことによって、二値データ２００から、左右方向に沿って並ぶ２個以上の部分データと、上下方向に沿って並ぶ２個以上の部分データと、を含む複数個の部分データを順次特定する。【００４３】
Ｓ２１５では、ＣＰＵ３２は、Ｓ２１０で特定された部分データ（以下では「対象部分データ」と呼ぶ）と対象パターンデータとを比較して、対象部分データが対象パターンデータに一致するのか否かを判断する。具体的には、ＣＰＵ３２は、対象部分データにおける値「１」の配列が、対象パターンデータにおける値「１」の配列に一致する場合に、対象部分データが対象パターンデータに一致すると判断して（Ｓ２１５でＹＥＳ）に、Ｓ２２０に進む。一方、ＣＰＵ３２は、対象部分データにおける値「１」の配列が、対象パターンデータにおける値「１」の配列に一致しない場合に、対象部分データが対象パターンデータに一致しないと判断して（Ｓ２１５でＮＯ）に、Ｓ２２５に進む。【００４４】
Ｓ２２０では、ＣＰＵ３２は、対象部分データ内の中央の値の位置（即ち座標）をメモリ３４に記憶させる。【００４５】
Ｓ２２５では、ＣＰＵ３２は、全ての部分データがＳ２１０で特定されたのか否かを判断する。ＣＰＵ３２は、全ての部分データが特定されたと判断する場合（Ｓ２２５でＹＥＳ）に、Ｓ２３０に進み、全ての部分データが特定されていないと判断する場合（Ｓ２２５でＮＯ）に、Ｓ２１０に戻り、次の部分データを特定する。【００４６】
Ｓ２３０では、ＣＰＵ３２は、Ｓ２２０で記憶された各位置（即ち座標）の情報を利用して、合成前データを生成する。具体的には、ＣＰＵ３２は、Ｓ２２０で記憶された各位置に値「１」を記述すると共に、Ｓ２２０で記憶されなかった各位置に値「０」を記述して、「１」又は「０」を示す複数個の値を含む合成前データを生成する。Ｓ２３０が終了すると、図８の比較処理が終了する。【００４７】
例えば、図９に示される二値データ２００が存在し、図８のＳ２００でパターンデータ３−２（図５参照）が選択される状況を想定する。この場合、二値データ２００から各部分データ３０２〜３１０が順次特定され（Ｓ２１０）、特定済みの部分データ（即ち対象部分データ）とパターンデータ３−２とが比較される（Ｓ２１５）。各部分データ３０２〜３０６，３１０についてはパターンデータ３−２に一致しないと判断されるので（Ｓ２１５でＮＯ）、各部分データ３０２等の中央の値の位置は記憶されない（Ｓ２２０が実行されない）。一方、部分データ３０８についてはパターンデータ３−２に一致すると判断されるので（Ｓ２１５でＹＥＳ）、部分データ３０８の中央の値の位置が記憶される（Ｓ２２０）。このために、当該位置に値「１」が記述されている合成前データ３３０が生成される（Ｓ２３０）。【００４８】
上述したように、Ｓ１１０Ａの比較処理では、５７個のパターンデータ及びセット（即ち３５個のパターンデータ及び２２個のセット）に対応する５７個の処理スレッドが並列的に実行される。このために、５７個のパターンデータ及びセットに対応する５７個の合成前データが生成される（Ｓ２３０）。Ｓ１１０Ａ（図３参照）では、さらに、ＣＰＵ３２は、５７個の合成前データを合成して、合成データを生成する。【００４９】
Ｓ１１０Ｂの比較処理では、ＣＰＵ３２は、Ｓ１１０Ａで生成された合成データを利用して、図８の比較処理及び合成を実行する。Ｓ１１０Ｂの比較処理では、パターンデータ４２に含まれる複数個のパターンデータのうちの９個のパターンデータ（具体的には、３−１〜３−４、２−１、２−２、２−５、２−６、及び、１−１）が利用されるべきことが予め決められている。また、Ｓ１１０Ｂの比較処理では、３−５セット〜３−２０セットの１６個のセットが利用されるべきことが予め決められている。従って、ＣＰＵ３２は、２５個のパターンデータ及びセット（即ち９個のパターンデータ及び１６個のセット）に対応する２５個の処理スレッドを並列的に実行する。ここで、Ｓ２１０では、Ｓ１１０Ａで生成された合成データから部分データが特定される。ＣＰＵ３２は、２５個のパターンデータ及びセットに対応する２５個の合成前データを生成し（Ｓ２３０）、２５個の合成前データを合成して、合成データを生成する。【００５０】
例えば、Ｓ１１０Ｂの比較処理で利用される２５個のパターンデータ及びセットは、パターンデータ２−２（図４参照）及びパターンデータ３−２（図５参照）を含む。例えば、図９の符号２００がＳ１１０Ａの比較処理で生成された合成データである状況を想定する。この場合、パターンデータ３−２が選択される場合には、上述したように、合成前データ３３０が生成される。また、パターンデータ２−２が選択される場合には、部分データ３０２についてはパターンデータ２−２に一致すると判断されるので（Ｓ２１５でＹＥＳ）、部分データ３０２の中央の値の位置が記憶される（Ｓ２２０）。このために、当該位置に値「１」が記述されている合成前データ３２０が生成される（Ｓ２３０）。そして、合成前データ３２０，３３０を含む２５個の合成前データが合成され、合成データ２１０が生成される。【００５１】
Ｓ１１０Ｃの比較処理では、ＣＰＵ３２は、Ｓ１１０Ｂで生成された合成データを利用して、図８の比較処理及び合成を実行する。Ｓ１１０Ｃの比較処理では、パターンデータ４２に含まれる複数個のパターンデータのうちの５個のパターンデータ（具体的には、２−１、２−２、２−５、２−６、及び、１−１）が利用されるべきことが予め決められている。ここでは、セットが利用されない。従って、ＣＰＵ３２は、５個のパターンデータに対応する５個の処理スレッドを並列的に実行する。ここで、Ｓ２１０では、Ｓ１１０Ｂで生成された合成データから部分データが特定される。ＣＰＵ３２は、５個のパターンデータに対応する５個の合成前データを生成し（Ｓ２３０）、５個の合成前データを合成して、合成データを生成する。【００５２】
ここで、図３のＳ１１０Ａ〜Ｓ１１０Ｃに代えて、以下の処理を実行する比較例の構成を想定する。比較例の構成では、パターンデータ４２に含まれる６１個のパターンデータ（即ち、４−１〜４−３２、３−１〜３−２０、２−１〜２−８、及び、１−１）のみが利用され、セットが利用されない。この場合、６１個のパターンデータに対応する６１個の処理スレッドが並行的に実行されて、６１個のパターンデータに対応する６１個の合成前データが生成される。そして、６１個の合成前データが合成されて、合成データが生成される。【００５３】
例えば、図１０（Ａ）に示される二値データ４００が存在する状況を想定する。二値データ４００は、３個の部分画像について同じ１個の細胞オブジェクトを含むと判断されたことに起因して（Ｓ１５でＹＥＳ）、隣接する３個の値「１」を含む。パターンデータ３−５が選択される場合には、二値データ４００内の実線で囲まれた部分データとパターンデータ３−５とが一致するので、合成前データ４０２が生成される。また、パターンデータ２−１が選択される場合には、合成前データ４０４が生成され、パターンデータ２−３が選択される場合には、合成前データ４０６が生成される。そして、合成前データ４０２、４０４、及び、４０６が合成されると、合成データ４１０が生成される。この場合、合成データ４１０に含まれる値「１」の配列が、二値データ４００に含まれる値「１」の配列と同じである。従って、合成データ４１０が３個の値「１」を含むので、細胞オブジェクトの個数として、実際には１個と計数されるべきにも関わらず、３個と誤って計数される。このような問題を解消するために、本実施例では、比較処理において、パターンデータに加えて、セットを利用する。【００５４】
例えば、図１０（Ｂ）は、３−５セットが利用される例を示す。３−５セットは、第１段階の２個のパターンデータ（即ち３−５及び２−１）と、第２段階の１個のパターンデータ（即ち２−３）と、を含む。この場合、まず、二値データ４００に対して、第１段階のパターンデータ３−５を利用した処理が実行される。この場合、二値データ４００のうちの部分データ４１２とパターンデータ３−５とが一致すると判断され、部分データ４１２の中央の値の位置に対応する位置に値「１」が記述されている第１の中間データ４２０が生成される。また、二値データ４００に対して、第１段階のパターンデータ２−１を利用した処理が実行される。この場合、二値データ４００のうちの部分データ４１４とパターンデータ２−１とが一致すると判断され、部分データ４１４の中央の値の位置に対応する位置に値「１」が記述されている第２の中間データ４３０が生成される。そして、第１の中間データ４２０と第２の中間データ４３０とが合成されて、第３の中間データ４４０が生成される。第３の中間データ４４０では、第１の中間データ４２０に含まれる値「１」と第２の中間データ４３０に含まれる値「１」とが隣接する。その後、第３の中間データ４４０に対して、第２段階のパターンデータ２−３を利用した処理が実行され、合成前データ４５０が生成される。このように、１個の値「１」のみを含む合成前データ４５０が生成されるので、細胞オブジェクトの個数として１個と正確に計数することができる。【００５５】
図１２は、図１０（Ｂ）に例示される処理を実行するためのフローチャートを示す。図８のＳ２０５において、対象パターンデータとしてセットが選択されたと判断される場合（即ち、Ｓ２０５でＹＥＳ）には、ＣＰＵ３２は、図１２に示す処理を実行する。Ｓ２４５〜Ｓ２６０は、セットに含まれる第１段階の２個のパターンデータのうちの一方である第１のパターンデータが利用される点を除いて、図８のＳ２１０〜Ｓ２２５と同様である。Ｓ２６５では、ＣＰＵ３２は、Ｓ２５５で記憶された各位置（即ち座標）の情報を利用して、第１の中間データを生成する。これにより、例えば、図１０（Ｂ）のパターンデータ３−５（第１のパターンデータの一例）が利用されて、第１の中間データ４２０が生成される。【００５６】
Ｓ２７０〜Ｓ２８５は、セットに含まれる第１段階の２個のパターンデータのうちの他方である第２のパターンデータが利用される点を除いて、図８のＳ２１０〜Ｓ２２５と同様である。Ｓ２９０では、ＣＰＵ３２は、Ｓ２８０で記憶された各位置（即ち座標）の情報を利用して、第２の中間データを生成する。これにより、例えば、図１０（Ｂ）のパターンデータ２−１（第２のパターンデータの一例）が利用されて、第２の中間データ４３０が生成される。なお、第１のパターンデータが利用されるＳ２４５〜Ｓ２６５の処理と、第２のパターンデータが利用されるＳ２７０〜Ｓ２９０の処理と、は並列的に実行されてもよい。このようにすれば、処理時間を短縮することができる。【００５７】
Ｓ２９５では、ＣＰＵ３２は、Ｓ２６５で生成された第１の中間データとＳ２９０で生成された第２の中間データとを合成して、第３の中間データを生成する。これにより、例えば、図１０（Ｂ）の第１の中間データ４２０と第２の中間データ４３０とが合成されて、第３の中間データ４４０が生成される。【００５８】
Ｓ３００〜Ｓ３１５は、Ｓ２９５で生成された第３の中間データから部分データが特定される点と、セットに含まれる第２段階のパターンデータである第３のパターンデータが利用される点と、を除いて、Ｓ２１０〜Ｓ２２５と同様である。Ｓ３２０では、ＣＰＵ３２は、Ｓ３１０で記憶された各位置（即ち座標）の情報を利用して、合成前データを生成する。これにより、例えば、図１０（Ｂ）の第３の中間データ４４０に対して、パターンデータ２−３（第３のパターンデータの一例）が利用されて、合成前データ４５０が生成される。Ｓ３２０が終了すると、図１２の処理が終了し、図８の処理が終了する。【００５９】
図１１は、本実施例の他のセットを示す。例えば、３−６セットは、第１段階の２個のパターンデータ３−６，２−２と、第２段階の１個のパターンデータ２−４と、を含む。同様に、３−７セット〜３−２０セット、及び、４−１セット、４−２セット、４−２９〜４−３２セットのそれぞれは、図１１に示される３個のパターンデータ（即ち第１段階の２個のパターンデータと第２段階の１個のパターンデータ）を含む。【００６０】
ＣＰＵ３２は、例えば、図３のＳ１１０Ａの比較処理では、パターンデータ４２に含まれる２２個のセット（即ち、４−１セット、４−２セット、４−２９セット〜４−３２セット、及び、３−５セット〜３−２０セット）のそれぞれを利用して、図１２の処理を実行する。また、ＣＰＵ３２は、Ｓ１１０Ｂの比較処理では、パターンデータ４２に含まれる１６個のセット（即ち、３−５セット〜３−２０セット）のそれぞれを利用して、図１２の処理を実行する。本実施例では、このようにセットを利用した比較処理が実行されるので、上記の比較例の構成の問題が起こらず、細胞オブジェクトの個数を正確に特定することができる。また、Ｓ１１０Ａ〜Ｓ１１０Ｃのそれぞれでは、一部のパターンデータ及び一部のセットを利用しながら、段階的に最終的な合成データ（例えば図３の符号２１０）が生成される。このため、１個の細胞オブジェクトについて２個以上の値「１」が記述されている合成データが生成されることを抑制することができ、この結果、細胞オブジェクトの個数を正確に特定することができる。【００６１】
（本実施例の効果）
本実施例では、画像解析装置１０は、細胞画像１００から特定される複数個の部分画像１０２等に対応する複数個の位置に配置されている複数個の値を含む第１の特定データ１５０（図２参照）を生成し（Ｓ３５）、第１の特定データ１５０から複数個の部分データを特定し（図８のＳ２１０）、複数個の部分データと、予め決められている複数個のパターンデータ４２と、を利用して、細胞画像１００に含まれる細胞オブジェクトの個数を計数する（図２のＳ４０（図３、図８、図１２））。ここで、画像解析装置１０は、対象部分データにおける値「１」の配列が、対象パターンデータにおける値「１」の配列に一致すると判断される場合（図８のＳ２１５でＹＥＳ、図１２のＳ２５０でＹＥＳ、Ｓ２７５でＹＥＳ、Ｓ３０５でＹＥＳ）に、対象部分データが２個以上の値「１」を含むにも関わらず、対象部分データに対応する細胞オブジェクトの個数として１個を計数する（Ｓ１２５、Ｓ１３０）。従って、画像解析装置１０は、細胞画像１００に含まれる細胞オブジェクトの個数を精度よく計数することができる。【００６２】
また、画像解析装置１０は、第１の特定データ１５０（図２参照）において、１個の細胞オブジェクトについて２個以上の存在値が記述されても、Ｓ４０の計数処理において、隣接する２個以上の存在値に代えて、１個の値「１」が記述された第２の特定データを生成する（Ｓ１２５）。このため、画像処理装置は、細胞オブジェクトの個数を１個として計数することができる。これによっても、画像解析装置１０は、細胞画像１００に含まれる細胞オブジェクトの個数を精度よく計数することができる。【００６３】
（対応関係）
左右方向、上下方向が、それぞれ、「第１方向」、「第２方向」の一例である。存在値「１」、存在値「２」が、それぞれ、「第１の存在値」、「第２の存在値」の一例である。部分データ及びパターンデータ内の３×３個の値が、「（Ｍ×Ｎ）個の値」の一例である。なお、変形例では、Ｍ及びＮは、「２」であってもよいし、「４」以上（例えば奇数「５」等）であってもよい。パターンデータに含まれる値「１」、値「０」が、それぞれ、「第１の所定値」、「第２の所定値」の一例である。図１０（Ｂ）の第１の中間データ４２０内の値「１」、値「０」が、それぞれ、「第３の所定値」、「第４の所定値」の一例である。なお、変形例では、「第３の所定値」、「第４の所定値」は、それぞれ、「第１の所定値」、「第２の所定値」とは異なる値であってもよい。例えば、図９において、パターンデータ２−２が利用される場合の部分データ３０２、パターンデータ３−２が利用される場合の部分データ３０８、図１０（Ｂ）のパターンデータ３−５が利用される場合の部分データ４１２等が、「第１（又は第２）の対象部分データ」の一例である。図８のＳ２２０で記憶される位置（即ち対象部分データ内の中央の位置）が、「所定位置」の一例である。なお、変形例では、Ｓ２２０では、対象部分データ内の中央の位置に代えて、対象部分データ内の他の位置（「所定位置」の一例）が記憶されてもよい。図１０（Ｂ）において、パターンデータ３−５、パターンデータ２−１、パターンデータ２−３が、それぞれ、「第１のパターンデータ」、「第２のパターンデータ」、「第３のパターンデータ」の一例である。図１２のＳ３００で特定される部分データが、「目的データ」の一例である。【００６４】
図２のＳ５の処理、Ｓ１０の処理、Ｓ１５の処理、Ｓ３５の処理、Ｓ４０の処理、Ｓ４５の処理が、それぞれ、「取得部」、「部分画像特定部」、「細胞判断部」、「第１の特定データ生成部」、「計数部」、「出力部」によって実行される処理の一例である。図８のＳ２１５、図１２のＳ２５０、Ｓ２７５、及び、Ｓ３０５の処理が、「第１（又は第２）の存在値判断部」によって実行される処理の一例である。図３のＳ１２５の処理が、「第２の特定データ生成部」によって実行される処理の一例である。図１２のＳ２６５の処理、Ｓ２９０の処理、Ｓ３９５の処理が、それぞれ、「第１の中間データ生成部」、「第２の中間データ生成部」、「第３の中間データ生成部」によって実行される処理の一例である。Ｓ３００の処理、Ｓ３０５の処理が、それぞれ、「目的データ特定部」、「所定値判断部」によって実行される処理の一例である。【００６５】
以上、実施例を詳細に説明したが、これらは例示に過ぎず、請求の範囲を限定するものではない。請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に記載する。【００６６】
図８の比較処理において、各処理スレッドを並行的に実行しなくてもよい。この場合、ＣＰＵ３２は、Ｓ１１０Ａ〜Ｓ１１０Ｃに代えて、６１個のパターンデータ（具体的には、４−１〜４−３２、３−１〜３−２０、２−１〜２−８、及び、１−１）のそれぞれを順次利用して、処理スレッドを順次実行する。例えば、ＣＰＵ３２は、Ｓ２００において、対象パターンデータとしてパターンデータ４−１を選択し、Ｓ２１０〜Ｓ２２５の処理を実行して、Ｓ２３０において、合成前データを生成する手法と同様に、処理済みデータを生成する。次いで、ＣＰＵ３２は、Ｓ２００において、対象パターンデータとしてパターンデータ４−２を選択し、上記の処理済みデータに対してＳ２１０〜Ｓ２２５の処理を実行して、Ｓ２３０において、新たな処理済みデータを生成する。ＣＰＵ３２は、これを繰り返すことによって、最終的な処理済みデータを生成する。本変形例では、最終的な処理済みデータに含まれる値「１」の個数を計数すれば、細胞オブジェクトの個数を計数することができる。そして、本変形例では、複数個の処理スレッドが並列的に実行されないので、上記の比較例の問題が起こらず、この結果、セットを利用する必要がない。従って、「第１の中間データ生成部」、「第２の中間データ生成部」、「第３の中間データ生成部」、「目的データ特定部」、及び、「所定値判断部」を省略可能である。【００６７】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００６８】
１０：画像解析装置、１２：操作部、１４：表示部、１６：入力部、３０：制御部、３２：メモリ、３６：ＯＳプログラム、３８：解析プログラム、４０：解析データ、４２：パターンデータ、４４：分類データ、１００：細胞画像、１１０、１２０、１３０、１４０：細胞オブジェクト、１０２、１０４、１１２、１１４、１１６、１２２、１２４、１３２、１３４、１３６、１３８、１４２、１４４：部分画像、１５０：第１の特定データ、１６０：第２の特定データ、２００、４００：二値データ、２１０、４１０：合成データ、３０２、３０４、３０６、３０８、３１０、４１２、４１４：部分データ、３２０、３３０、４０２、４０４、４０４、４５０：合成前データ、４２０：第１の中間データ、４３０：第２の中間データ、４４０：第３の中間データ
【図１】
2019008753.tif 000003
【図２】
2019008753.tif 000004
【図３】
2019008753.tif 000005
【図４】
2019008753.tif 000006
【図５】
2019008753.tif 000007
【図６】
2019008753.tif 000008
【図７】
2019008753.tif 000009
【図８】
2019008753.tif 000010
【図９】
2019008753.tif 000011
【図１０】
2019008753.tif 000012
【図１１】
2019008753.tif 000013
【図１２】
2019008753.tif 000014
【図１３】
2019008753.tif 000015
【国際調査報告】
2019008753.tif 000016
2019008753.tif 000017