JP6733984B2 - 画像解析装置 - Google Patents

画像解析装置 Download PDF

Info

Publication number
JP6733984B2
JP6733984B2 JP2019528311A JP2019528311A JP6733984B2 JP 6733984 B2 JP6733984 B2 JP 6733984B2 JP 2019528311 A JP2019528311 A JP 2019528311A JP 2019528311 A JP2019528311 A JP 2019528311A JP 6733984 B2 JP6733984 B2 JP 6733984B2
Authority
JP
Japan
Prior art keywords
data
values
partial
target
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019528311A
Other languages
English (en)
Other versions
JPWO2019008753A1 (ja
Inventor
暢 長坂
暢 長坂
Original Assignee
暢 長坂
暢 長坂
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 暢 長坂, 暢 長坂 filed Critical 暢 長坂
Publication of JPWO2019008753A1 publication Critical patent/JPWO2019008753A1/ja
Application granted granted Critical
Publication of JP6733984B2 publication Critical patent/JP6733984B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0012Biomedical image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10056Microscopic image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30004Biomedical image processing
    • G06T2207/30024Cell structures in vitro; Tissue sections in vitro
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30242Counting objects in image

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Quality & Reliability (AREA)
  • Radiology & Medical Imaging (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Investigating Or Analysing Biological Materials (AREA)
  • Image Analysis (AREA)
  • Apparatus Associated With Microorganisms And Enzymes (AREA)

Description

本明細書では、細胞オブジェクトを含む細胞画像を解析するための画像解析装置を開示する。
近年、画像解析装置を利用した病理組織診又は細胞診が行われている(例えば、特表2011−52700号公報)。この技術では、細胞オブジェクトを分類するためのデータを画像解析装置に学習させておき、病理組織標本、細胞診標本等から得られる細胞画像データを画像解析装置に入力することで、細胞画像データによって表わされる細胞画像に含まれる細胞オブジェクトの分類結果が得られる。
画像解析装置を利用した病理診断補助又は自動細胞解析では、通常、細胞画像から複数個の部分画像のそれぞれが順次特定される。そして、複数個の部分画像のそれぞれについて、当該部分画像に含まれる細胞オブジェクトに対応する細胞が分類され、その分類結果に基づいて細胞画像に含まれる各種の細胞オブジェクトの個数が計数される。しかしながら、例えば、2個以上の部分画像のそれぞれに同じ細胞オブジェクトが含まれる場合に、当該2個以上の部分画像のそれぞれに異なる1個の細胞オブジェクトが含まれると誤って認識され得る。この場合、当該2個以上の部分画像に含まれる細胞オブジェクトの個数として、実際には1個が計数されるべきにも関わらず、2個以上が計数されてしまう。
本明細書は、細胞画像に含まれる細胞オブジェクトの個数を精度よく計数するための技術を開示する。
本明細書によって開示される画像解析装置は、1種類以上の細胞オブジェクトを含む細胞画像を表わす細胞画像データを取得する取得部と、前記細胞画像から複数個の部分画像を特定する部分画像特定部であって、前記複数個の部分画像のそれぞれは同じサイズを有し、前記細胞画像は、第1方向に沿って並ぶ2個以上の部分画像と、前記第1方向に直交する第2方向に沿って並ぶ2個以上の部分画像と、を含む、前記部分画像特定部と、前記複数個の部分画像のそれぞれについて、当該部分画像が前記1種類以上の細胞オブジェクトのいずれかを含むのか否かを判断する細胞判断部と、前記複数個の部分画像に対応する複数個の位置に配置されている複数個の値を含む第1の特定データを生成する第1の特定データ生成部であって、前記第1の特定データに含まれる前記複数個の値は、前記1種類以上の細胞オブジェクトのいずれも含まないと判断された部分画像に対応する位置に配置されている不存在値と、前記1種類以上の細胞オブジェクトのうちの第1種の細胞オブジェクトを含むと判断された部分画像に対応する位置に配置されている第1の存在値と、を含む、前記第1の特定データ生成部と、前記第1の特定データから複数個の部分データを特定する部分データ特定部であって、前記部分データは、前記第1方向に沿って並ぶM個(前記Mは2以上の整数)の値と、前記第2方向に沿って並ぶN個(前記Nは2以上の整数)の値と、によって構成される(M×N)個の値を含む、前記部分データ特定部と、前記複数個の部分データと、予め決められている複数個のパターンデータと、を利用して、前記細胞画像に含まれる前記第1種の細胞オブジェクトの個数を計数する計数部であって、前記パターンデータは、前記第1方向に沿って並ぶM個の値と、前記第2方向に沿って並ぶN個の値と、によって構成される(M×N)個の値を含み、前記パターンデータに含まれる前記(M×N)個の値は、2個以上の第1の所定値と、1個以上の第2の所定値と、を含み、前記複数個のパターンデータのそれぞれでは、前記第1の所定値の配列が異なる、前記計数部と、前記計数の結果を出力する出力部と、を備える。前記計数部は、前記複数個の部分データのそれぞれについて、当該部分データにおける前記第1の存在値の配列が、前記複数個のパターンデータのいずれかにおける前記第1の所定値の配列に一致するのか否かを判断する第1の存在値判断部を備え、前記計数部は、前記複数個の部分データのうちの第1の対象部分データにおける前記第1の存在値の配列が、前記複数個のパターンデータのいずれかにおける前記第1の所定値の配列に一致すると判断される場合に、前記第1の対象部分データに含まれる(M×N)個の値が2個以上の前記第1の存在値を含むにも関わらず、前記第1の対象部分データに対応する前記第1種の細胞オブジェクトの個数として1個を計数する。
上記の構成によると、画像解析装置は、細胞画像から特定される複数個の部分画像に対応する複数個の位置に配置されている複数個の値を含む第1の特定データを生成し、第1の特定データから複数個の部分データを特定し、複数個の部分データと、予め決められている複数個のパターンデータと、を利用して、細胞画像に含まれる第1種の細胞オブジェクトの個数を計数する。ここで、画像解析装置は、複数個の部分データのうちの第1の対象部分データにおける第1の存在値の配列が、複数個のパターンデータのいずれかにおける第1の所定値の配列に一致すると判断される場合に、第1の対象部分データが2個以上の第1の存在値を含むにも関わらず、第1の対象部分データに対応する第1種の細胞オブジェクトの個数として1個を計数する。従って、画像解析装置は、細胞画像に含まれる第1種の細胞オブジェクトの個数を精度よく計数することができる。
前記画像解析装置は、さらに、前記複数個の部分データと、前記複数個のパターンデータと、を利用して、前記複数個の部分画像に対応する複数個の位置に配置されている複数個の値を含む第2の特定データを生成する第2の特定データ生成部を備えてもよい。前記第2の特定データに含まれる前記複数個の値は、前記1種類以上の細胞オブジェクトのいずれも含まないと判断された部分画像に対応する位置に配置されている前記不存在値と、1個以上の前記第1の存在値と、を含んでもよい。前記第2の特定データ生成部は、前記第1の対象部分データにおける前記第1の存在値の配列が、前記複数個のパターンデータのいずれかにおける前記第1の所定値の配列に一致すると判断される場合に、前記第1の対象部分データに含まれる隣接する2個以上の前記第1の存在値に代えて、前記第1の対象部分データに対応する所定位置に1個の前記第1の存在値を記述することによって、前記第2の特定データを生成してもよい。前記計数部は、前記第2の特定データに含まれる前記第1の存在値の個数を計数することによって、前記細胞画像に含まれる前記第1種の細胞オブジェクトの個数を計数してもよい。この構成によると、画像解析装置は、第2の特定データを利用して、細胞画像に含まれる細胞オブジェクトの数を精度よく計数することができる。
前記M及び前記Nは、3以上の同じ奇数であってもよく、前記複数個のパターンデータは、予め決められている3個以上のパターンデータのセットを含んでもよい。前記計数部は、さらに、前記第1の対象部分データにおける前記第1の存在値の配列が、前記セットのうちの第1のパターンデータにおける前記第1の所定値の配列に一致すると判断される場合に、第1の中間データを生成する第1の中間データ生成部であって、前記第1の中間データでは、前記第1の対象部分データに含まれる(M×N)個の値のうちの中央の値に対応する位置に第3の所定値が記述されていると共に、前記第1の対象部分データに含まれる前記(M×N)個の値のうちの前記中央の値以外の各値に対応する各位置に第4の所定値が記述されている、前記第1の中間データ生成部と、前記複数個の部分データのうちの第2の対象部分データであって、前記第1の対象部分データに隣接する前記第2の対象部分データにおける前記第1の存在値の配列が、前記セットのうちの第2のパターンデータであって、前記第1のパターンデータとは異なる前記第2のパターンデータにおける前記第1の所定値の配列に一致すると判断される場合に、第2の中間データを生成する第2の中間データ生成部であって、前記第2の中間データでは、前記第2の対象部分データに含まれる(M×N)個の値のうちの中央の値に対応する位置に前記第3の所定値が記述されていると共に、前記第2の対象部分データに含まれる前記(M×N)個の値のうちの前記中央の値以外の各値に対応する各位置に前記第4の所定値が記述されている、前記第2の中間データ生成部と、前記第1の中間データと前記第2の中間データとを合成して、第3の中間データを生成する第3の中間データ生成部であって、前記第3の中間データでは、前記第1の中間データに含まれる前記第3の所定値と前記第2の中間データに含まれる前記第3の所定値とが隣接する、前記第3の中間データ生成部と、前記第3の中間データから複数個の目的データを順次特定する目的データ特定部であって、前記目的データは、前記第1方向に沿って並ぶM個の値と、前記第2方向に沿って並ぶN個の値と、によって構成される(M×N)個の値を含む、前記目的データ特定部と、前記複数個の目的データのそれぞれについて、当該目的データにおける前記第3の所定値の配列が、前記セットのうちの第3のパターンデータであって、前記第1及び第2のパターンデータとは異なる前記第3のパターンデータにおける前記第1の所定値の配列に一致するのか否かを判断する所定値判断部と、を備えてもよい。前記計数部は、前記複数個の目的データのうちの対象目的データであって、隣接する2個以上の前記第3の所定値を含む前記対象目的データにおける前記第3の所定値の配列が、前記第3のパターンデータにおける前記第1の所定値の配列に一致すると判断される場合に、前記第1の対象部分データに対応する前記第1種の細胞オブジェクトの個数として1個を計数してもよい。この構成によると、画像解析装置は、細胞オブジェクトの個数をより精度よく計数することができる。
前記第1の特定データに含まれる前記複数個の値は、さらに、前記1種類以上の細胞オブジェクトのうちの第2種の細胞オブジェクトであって、前記第1種の細胞オブジェクトとは異なる前記第2種の細胞オブジェクトを含むと判断された部分画像に対応する位置に配置されている第2の存在値であって、前記第1の存在値とは異なる前記第2の存在値を含んでもよい。前記計数部は、前記複数個の部分データのそれぞれについて、当該部分データにおける前記第2の存在値の配列が、前記複数個のパターンデータのいずれかにおける前記第1の所定値の配列に一致するのか否かを判断する第2の存在値判断部を備えてもよい。前記計数部は、前記複数個の部分データのうちの第2の対象部分データにおける前記第2の存在値の配列が、前記複数個のパターンデータのいずれかにおける前記第1の所定値の配列に一致すると判断される場合に、前記第2の対象部分データに含まれる(M×N)個の値が2個以上の前記第2の存在値を含むにも関わらず、前記第2の対象部分データに対応する前記第2種の細胞オブジェクトの個数として1個を計数してもよい。この構成によると、画像解析装置は、2種類以上の細胞オブジェクトのそれぞれの個数を精度よく計数することができる。
本技術は、上記の画像解析装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能媒体も、新規で有用である。
画像解析装置のブロック図を示す。 画像解析装置が実行する処理のフローチャートを示す。 計数処理のフローチャートを示す。 パターンデータの一例を示す。 パターンデータの一例を示す。 パターンデータの一例を示す。 パターンデータの一例を示す。 比較処理のフローチャートを示す。 図8の処理を説明するための説明図を示す。 パターンデータのセットを説明するための説明図を示す。 パターンデータのセットの一例を示す。 図8の続きのフローチャートを示す。 画像解析装置によって生成される各データの一例を示す。
(画像解析装置の構成:図1)
図1は、画像解析装置10の構成を示す。画像解析装置10は、操作部12と、表示部14と、入力部16と、制御部30と、を備える。各部12〜30は、バス線(符号省略)に接続されている。操作部12は、例えば、マウス、キーボード等を備える。ユーザは、操作部12を操作することによって、様々な指示を画像解析装置10に与えることができる。表示部14は、様々な情報を表示するためのディスプレイである。
入力部16は、1種類以上の細胞を示す1種類以上の細胞オブジェクトを含む細胞画像を表わす細胞画像データを画像解析装置10に入力するための装置である。入力部16は、有線通信又は無線通信を実行するための通信インターフェースであってもよいし、USBメモリ等が挿入されるメモリインターフェースであってもよい。例えば、入力部16が、顕微鏡、Whole Slide Image、バーチャルスライド等によって撮影される細胞画像データを格納するデバイスとの有線通信又は無線通信を実行して、当該デバイスから細胞画像データを受信することによって、細胞画像データが画像解析装置10に入力されてもよい。また、例えば、入力部16が、細胞画像データを格納するメモリから細胞画像データを読み出すことによって、細胞画像データが画像解析装置10に入力されてもよい。
制御部30は、CPU32と、メモリ34と、を備える。CPU32は、メモリ34に記憶されているプログラム36,38に従って様々な処理を実行する。メモリ34は、画像解析装置10の基本的な動作を実現するためのOSプログラム36と、畳み込みニューラルネットワーク(以下では「CNN(Convolutional Neural Networkの略)」と呼ぶ)に従った画像解析を実行するための解析プログラム38と、を格納する。例えば、汎用的なPC、サーバ等に解析プログラム38をインストールすることによって、画像解析装置10が実現される。なお、解析プログラム38は、CNNを部分構造として有する大規模ネットワーク(例えば、GoogLeNet(登録商標)、Residual Network等)に従った画像解析を実行してもよい。解析プログラム38は、解析データ40を含む。解析データ40は、予め決められている複数個のパターンデータ42と、細胞オブジェクトを分類するための分類データ44と、を含む。
複数個のパターンデータ42は、細胞オブジェクトの個数を計数するための処理を実行するためのデータである。複数個のパターンデータ42のそれぞれは、左右方向に沿って並ぶ3個の値と、上下方向に沿って並ぶ3個の値と、によって構成される9(3×3)個の値を含む。1個のパターンデータに含まれる9(3×3)個の値は、1個以上の値「1」と、1個以上の値「0」と、を含む。
分類データ44は、複数個の画像のそれぞれについて、当該画像と、当該画像に含まれる細胞オブジェクトの種類(例えばマクロファージ、好中球)と、が関連付けられたデータである。分類データ44は、本実施例では、複数種類の細胞オブジェクトを分類可能なデータであるが、変形例では、1種類の細胞オブジェクトのみを分類(即ち特定)可能なデータであってもよい。
(画像解析装置10の処理:図2)
続いて、図2を参照して、画像解析装置10のCPU32が解析プログラム38に従って実行する処理について説明する。S5では、CPU32は、入力部16を介して、1種類以上の細胞オブジェクト110,120,130,140を含む細胞画像100を表わす細胞画像データを取得する。細胞画像データは、多階調(例えば256階調)のRGB値を有する複数個の画素によって構成されるビットマップデータである。なお、ビットマップデータのファイルフォーマットは、BMP(Microsoft Windows(登録商標) Bitmap Image)に限られず、JPEG(Joint Photographic Experts Group)、TIFF(Tagged Image File Format)等であってもよい。細胞画像データは、以下のように生成される。例えば、患者から採取された検体である気管支肺胞洗浄液をスライドガラスに塗抹して、ギムザ染色をすることによって病理標本が作製される。そして、病理標本が顕微鏡によって撮影されることによって、細胞画像データが生成される。なお、病理標本は、上記のものに限られない。例えば、検体は、血液検体、生体検体等であってもよく、染色法は、パパニコロウ染色法、ヘマトキシリン・エオジン染色法、免疫組織化学染色法、免疫蛍光染色法等であってもよい。さらには、培養細胞等に対する無染色の位相差顕微鏡像等であってもよい。
S10では、CPU32は、細胞画像100から1個の部分画像を特定する。図2の例では、細胞画像100内に描かれた複数本の破線で囲まれた1個の矩形が1個の部分画像を示す。具体的には、CPU32は、1回目のS10において、細胞画像100の左上の隅に位置する1個の部分画像102を特定する。1個の部分画像のサイズ(即ち左右方向の長さ及び上下方向の長さ)は予め決められている。1個の部分画像は、本実施例では、正方形の矩形形状を有するが、変形例では、長方形の矩形形状を有していてもよいし、別の変形例では、矩形以外の形状(円形状等)を有していてもよい。また、CPU32は、1回目のS10と後述のS15〜S30とを経た後の2回目のS10において、部分画像102の右側に隣接する部分画像104を特定する。CPU32は、これを繰り返すことによって、左側から右側に向かう順序で各部分画像を順次特定する。そして、CPU32は、最も右側の部分画像を特定し終えると、次のS10において、部分画像102の下側に隣接する部分画像を特定し、さらに、次のS10において、当該部分画像の右側に隣接する部分画像を特定する。CPU32は、これを繰り返すことによって、細胞画像100から、左右方向に沿って並ぶ2個以上の部分画像と、上下方向に沿って並ぶ2個以上の部分画像と、を含む複数個の部分画像を順次特定する。なお、本実施例では、各部分画像が重なり合わないように、各部分画像が特定されるが、変形例では、各部分画像が重なり合うように、各部分画像が特定されてもよい。
S15では、CPU32は、S10で特定された部分画像(以下では「対象部分画像」と呼ぶ)と分類データ44とを利用したCNNを実行して、対象部分画像が、分類データ44が分類可能な複数種類の細胞オブジェクトのいずれかを含むのか否かを判断する。具体的には、分類データ44を構成する複数個の画像のそれぞれは、細胞オブジェクトを含む。CPU32は、対象部分画像が、分類データ44を構成する複数個の画像に含まれるいずれかの細胞オブジェクトに一致又は類似する細胞オブジェクトを含むと判断する場合には、S15でYESと判断してS20に進み、対象部分画像が、分類データ44を構成する複数個の画像に含まれるいずれの細胞オブジェクトにも一致又は類似しないと判断する場合には、S15でNOと判断してS25に進む。
S20では、CPU32は、対象部分画像に含まれる細胞オブジェクトの種類を分類して、分類結果に応じた存在値を設定する。上述したように、分類データ44では、複数個の画像のそれぞれについて、当該画像と、当該画像に含まれる細胞オブジェクトの種類(例えばマクロファージ)と、が関連付けられている(図1参照)。CPU32は、分類データ44を構成する複数個の画像の中から、対象部分画像に含まれる細胞オブジェクトに一致又は類似するとS15で判断された画像を特定し、当該画像に関連付けられている細胞オブジェクトの種類を特定する。これにより、CPU32は、細胞オブジェクトの種類を分類することができる。そして、CPU32は、対象部分画像の位置と、分類結果に応じた存在値と、を関連付けてメモリ34に記憶させる。ここで、本実施例では、対象部分画像の位置は座標(x,y)によって表現される。xは左右方向の位置を示し、yは上下方向の位置を示す。例えば、部分画像102の位置は(1,1)であり、部分画像104の位置は(2,1)である。また、存在値は、部分画像内に細胞オブジェクトが存在することを示す値であり、第1種の細胞オブジェクト(例えばマクロファージ)に対応する存在値は「1」であり、第2種の細胞オブジェクト(例えば好中球)に対応する存在値は「2」であり、第3種の細胞オブジェクトに対応する存在値は「3」である。
図2の例では、各部分画像112,114,116,142,144については、第1種の細胞オブジェクトを含むと判断されるので(S15でYES)、各部分画像112等の位置と存在値「1」とが関連付けて記憶される(S20)。また、各部分画像122,124については、第2種の細胞オブジェクトを含むと判断されるので(S15でYES)、各部分画像122等の位置と存在値「2」とが関連付けて記憶される(S20)。また、各部分画像132,134,136,138については、第3種の細胞オブジェクトを含むと判断されるので(S15でYES)、各部分画像132等の位置と存在値「3」とが関連付けて記憶される。S20が終了すると、S30に進む。
一方、S25では、CPU32は、対象部分画像の位置(即ち座標)と不存在値とを関連付けてメモリ34に記憶させる。不存在値は、部分画像内に細胞オブジェクトが存在しないことを示す値であり、本実施例では「0」である。図2の例では、部分画像112〜144以外の各部分画像(例えば102,104)が細胞オブジェクトを含まないと判断されるので(S15でNO)、当該各部分画像の位置と不存在値「0」とが関連付けて記憶される(S25)。S25が終了すると、S30に進む。
S30では、CPU32は、細胞画像100から全ての部分画像をS10で特定済みであるのか否かを判断する。CPU32は、全ての部分画像を特定済みであると判断する場合(S30でYES)には、S35に進み、全ての部分画像を特定済みでないと判断する場合(S30でNO)には、S10に戻り、次の部分画像を特定する。
S35では、CPU32は、S20及びS25で記憶された各情報(即ち、位置(即ち座標)と存在値(又は不存在値)とが関連付けられた各情報)を利用して、第1の特定データ150を生成する。具体的には、CPU32は、S20及びS25で記憶された各情報について、当該情報によって示される位置(即ち座標)に、当該情報によって示される存在値又は不存在値を記述する。図2の例では、5個の存在値「1」と2個の存在値「2」と4個の存在値「3」とを含む第1の特定データ150が生成される。このように、例えば、細胞画像100内の第1種の細胞オブジェクト110は、第1の特定データ150内では隣接する3個の存在値「1」として表現され、細胞画像100内の第1種の細胞オブジェクト140は、第1の特定データ150内では隣接する2個の存在値「1」として表現される。従って、仮に、第1の特定データ150に含まれる存在値「1」の合計個数「5」をそのまま第1種の細胞オブジェクトの個数として計数してしまうと、実際には、細胞画像100が2個の第1種の細胞オブジェクト110,140しか含まないので、誤った計数結果になってしまう。このため、CPU32は、以下のS40において、隣接する2個以上の存在値を1個の細胞オブジェクトとして計数するための処理を実行する。
S40では、CPU32は、第1の特定データ150とパターンデータ42とを利用して、計数処理(図3参照)を実行する。計数処理は、第1の特定データ150とパターンデータ42とを利用して第2の特定データ160を生成し、第2の特定データ160から細胞オブジェクトの個数の計数するための処理である。図2の例では、第2の特定データ160は、第1種の細胞オブジェクトに対応する2個の存在値「1」と、第2種の細胞オブジェクトに対応する1個の存在値「2」と、第3種の細胞オブジェクトに対応する1個の存在値「3」と、を含む。このために、第1種の細胞オブジェクトの個数として2個が計数され、第2種の細胞オブジェクトの個数として1個が計数され、第3種の細胞オブジェクトの個数として1個が計数される。
S45では、CPU32は、S40の計数の結果を出力する。本実施例では、細胞オブジェクトの種類毎の計数結果が出力される。図2の第2の特定データ160の例では、「第1種の細胞オブジェクト=2」を示す情報と、「第2種の細胞オブジェクト=1」を示す情報と、「第3種の細胞オブジェクト=1」を示す情報と、が出力される。変形例では、細胞オブジェクトの種類毎の計数結果に代えて、全ての種類の細胞オブジェクトの計数結果の和が出力されてもよいし、細胞オブジェクトの種類毎に単位面積当たりの細胞オブジェクトの密度が出力されてもよい。
(計数処理の詳細;図3)
続いて、図3を参照して、図2のS40の計数処理の詳細を説明する。S100では、CPU32は、処理対象の存在値を示すポインタk(kは1以上の整数)を「1」に設定する。
S105では、CPU32は、図2のS35で生成された第1の特定データ150を二値化して二値データ200を生成する。具体的には、CPU32は、第1の特定データ150に含まれる複数個の値のそれぞれについて、当該値がkに一致するのか否かを判断し、当該値がkに一致する場合に、当該値に対応する位置に「1」を記述し、当該値がkに一致しない場合に、当該値に対応する位置に「0」に記述する。これにより、「1」又は「0」を示す複数個の値によって構成される二値データ200が生成される。図3は、k=1の場合に、第1の特定データ150から生成される二値データ200を示す。
S110Aでは、CPU32は、二値データ200とパターンデータ42とを利用して、ステップAの比較処理(図8参照)と、当該比較処理の結果として生成される複数個の合成前データの合成と、を実行して、合成データを生成する。
S110Bでは、CPU32は、S110Aで生成された合成データとパターンデータ42とを利用して、ステップBの比較処理(図8参照)と、当該比較処理の結果として生成される複数個の合成前データの合成と、を実行して、合成データを生成する。
S110Cでは、CPU32は、S110Bで生成された合成データとパターンデータ42とを利用して、ステップCの比較処理(図8参照)と、当該比較処理の結果として生成される複数個の合成前データの合成と、を実行して、合成データを生成する。
S110A〜S110Cの処理は、二値データ200内の隣接する2個以上の値「1」に代えて1個の値「1」が記述された合成データ210を生成するための処理である。図3の例では、二値データ200内の隣接する3個の値「1」に代えて1個の値「1」が記述されていると共に、二値データ200内の隣接する2個の値「1」に代えて1個の値「1」が記述されている合成データ210が生成される。
図13(A)〜(D)では、値「1」、値「0」が、それぞれ、白色、黒色で表現されている。例えば、S105において、図13(A)の二値データが生成される場合には、S110Aでは、図13(B)の合成データが生成される。これにより、図13(A)内の符号500で示される隣接する4個の値「1」に代えて、隣接する3個の値「1」が記述され、符号510で示される隣接する3個の値「1」に代えて、隣接する2個の値「1」が記述される。
また、S110Bでは、図13(B)の合成データから図13(C)の合成データが生成される。これにより、図13(B)内の符号500で示される隣接する3個の値「1」に代えて、隣接する2個の値「1」が記述され、符号510で示される隣接する2個の値「1」に代えて、1個の値「1」が記述される。そして、S110Cでは、図13(C)の合成データから図13(D)の合成データが生成される。これにより、図13(C)の合成データにおいて符号500で示される隣接する2個の値「1」に代えて、1個の値「1」が記述される。このように、S110A〜S110Cの処理によって、二値データ内の隣接する2個以上の値「1」に代えて1個の値「1」が記述された合成データが完成する。当該合成データ内の値「1」の個数を計数すれば、細胞オブジェクトの個数を正確に計数することができる。
S115では、CPU32は、kをインクリメントする。次いで、S120では、CPU32は、インクリメントされたkがkMAXよりも大きいのか否かを判断する。kMAXは、分類データ44が分類可能な細胞オブジェクトの種類の数(例えば「3」)を示す。CPU32は、kがkMAXよりも大きいと判断する場合(S120でYES)に、S125に進み、kがkMAX以下であると判断する場合(S120でNO)に、S105に戻り、インクリメントされたk(例えば「2」)を利用して、二値データを生成する。CPU32は、kの値(即ち存在値)に応じたS105〜S120の処理を繰り返すことによって、kの値に応じた複数個の二値データを生成し(S105)、kの値に応じた複数個の合成データを生成する(S110A〜S110C)。
S125では、CPU32は、kの値に応じた複数個の合成データを利用して、第2の特定データ160(図2参照)を生成する。CPU32は、まず、k=2に対応する合成データに含まれる各値「1」を、kに一致する値「2」に変換する。同様に、CPU32は、k=3、4・・・等に対応する各合成データに含まれる各値「1」を、kに一致する値に変換する。そして、CPU32は、k=1に対応する合成データ(即ち値「1」を含む合成データ)と、k=2、3・・・等に対応する各変換後のデータ(即ち値「2」、「3」・・・を含む合成データ)と、を合成して、第2の特定データ160を生成する。ここで、「合成」は、論理和を意味する。例えば、あるデータ内の位置(1,1)の値が「1」を示し、他のデータ内の位置(1,1)の値が「0」を示す場合には、位置(1,1)の値「1」になるように合成後のデータが生成される。また、あるデータ内の位置(1,1)の値が「0」を示し、他のデータ内の位置(1,1)の値が「0」を示す場合には、位置(1,1)の値「0」になるように合成後のデータが生成される。以下でも、「合成」と記載する場合には、複数個の値の論理和を意味する。
S130では、CPU32は、第2の特定データ160を利用して、各種の細胞オブジェクトの個数を計数する。具体的には、CPU32は、まず、第2の特定データ160に含まれる値「1」の個数を計数して、当該計数結果を第1種のオブジェクト(例えばマクロファージ)の個数として特定する。同様に、CPU32は、第2の特定データ160に含まれる値「2」、「3」・・・の個数をそれぞれ計数して、第2種、第3種・・・のオブジェクトの個数として特定する。S130の処理が終了すると、図3の処理が終了する。
(パターンデータ42の詳細;図4〜図7)
図3のS110A〜S110Cの処理の内容を説明する前に、図4〜図7を参照して、S110A等で利用されるパターンデータ42の詳細を説明しておく。図4〜図7は、複数個のパターンデータを示す。各パターンデータは、上下方向に沿って並ぶ3個の値と、左右方向に沿って並ぶ3個の値と、によって構成される9(3×3)個の値を含み、これら9個の値のそれぞれは値「1」又は「0」を示す。図4は、1個の値「1」(即ち8個の値「0」)を含む1個のパターンデータ1−1と、2個の値「1」(即ち7個の値「0」)を含む8個のパターンデータ2−1〜2−8と、を示す。例えば、パターンデータ2−1は、パターンデータ2−1内の2個の値「1」の配列に一致するデータが存在する場合に、2個の値「1」に代えて、中央の位置に1個の値「1」のみが記述されているデータを生成するためのデータである。図5は、3個の値「1」(即ち6個の値「0」)を含む20個のパターンデータ3−1〜3−20を示す。図6及び図7は、4個の値「1」(即ち5個の値「0」)を含む32個のパターンデータ4−1〜4−32を示す。
いずれのパターンデータ1−1〜4−32においても、9個の値のうちの中央に位置する値が「1」を示す。各パターンデータ1−1〜4−32では、値「1」の配列が異なる。例えば、パターンデータ2−1では、中央の値とその上の値とが「1」を示すが、パターンデータ2−5では、中央の値とその左上の値とが「1」を示す。なお、変形例では、パターンデータ1−1〜4−32のうちの一部が省略されてもよい。例えば、パターンデータ4−1〜4−32が省略されてもよい。別の変形例では、パターンデータ3−1〜3−20及びパターンデータ4−1〜4−32が省略されてもよい。また、別の変形例では、各パターンデータ1−1〜4−32に加えて、5個以上の値「1」を含むパターンデータがさらに利用されてもよい。
(比較処理及び合成;図8〜図12)
続いて、図8〜図12を参照して、図3のS110Aの比較処理及び合成の詳細を説明する。S110Aの比較処理では、パターンデータ42に含まれる複数個のパターンデータのうちの35個のパターンデータ(具体的には4−3〜4−28、3−1〜3−4、2−3、2−4、2−7、2−8、及び、1−1)が利用されるべきことが予め決められている。また、S110Aの比較処理では、後述の複数個のセットが利用されるべきことが予め決められている。当該複数個のセットは、4−1セット、4−2セット、4−29セット〜4−32セット、及び、3−5セット〜3−20セットの22個のセットを含む。図8のS200では、CPU32は、上記の35個のパターンデータ及び22個のセットから、1個のパターンデータ又はセットを選択する。以下では、ここで選択されたパターンデータ又はセットのことを「対象パターンデータ」と呼ぶ。なお、CPU32は、57個のパターンデータ及びセット(即ち35個のパターンデータ及び22個のセット)のそれぞれを利用してS205以降の各処理(以下では「処理スレッド」と呼ぶ)を並列的に実行する。例えば、CPU32は、S200で選択された第1の対象パターンデータを利用した処理スレッドと、S200で選択された第2の対象パターンデータを利用した処理スレッドと、を並列的に実行する。同様に、CPU32は、他の対象パターンデータを利用した処理スレッドも並列的に実行するので、合計で57個の処理スレッドを並列的に実行する。このように複数個の処理スレッドを並列的に実行するので、処理時間を短縮することができる。
S205では、CPU32は、対象パターンデータがセットであるのか否かを判断する。CPU32は、対象パターンデータがセットであると判断する場合(S205でYES)には図12のS245に進み、対象パターンデータがセットでないと判断する場合(S205でNO)にはS210に進む。
S210では、CPU32は、二値データ200(図3参照)から1個の部分データを特定する。1個の部分データは、左右方向に沿って並ぶ3個の値と、上下方向に沿って並ぶ3個の値と、によって構成される9(3×3)個の値を含む。即ち、1個の部分データのサイズは、1個のパターンデータのサイズに等しい。具体的には、CPU32は、1回目のS210において、二値データ200の左上の隅に位置する1個の部分データを特定する。また、CPU32は、1回目のS210と後述のS215〜S225とを経た後の2回目のS210において、右側に1つだけ移動して、1個の部分データを特定する。即ち、1回目の部分データと2回目の部分データとは重複する。CPU32は、これを繰り返すことによって、左側から右側に向かう順序で各部分データを順次特定する。そして、CPU32は、最も右側の部分データを特定し終えると、次のS210において、下側に1つだけ移動して、最も左側の1個の部分データを特定し、さらに、次のS210において、右側に1つだけ移動して、1個の部分データを特定する。CPU32は、これを繰り返すことによって、二値データ200から、左右方向に沿って並ぶ2個以上の部分データと、上下方向に沿って並ぶ2個以上の部分データと、を含む複数個の部分データを順次特定する。
S215では、CPU32は、S210で特定された部分データ(以下では「対象部分データ」と呼ぶ)と対象パターンデータとを比較して、対象部分データが対象パターンデータに一致するのか否かを判断する。具体的には、CPU32は、対象部分データにおける値「1」の配列が、対象パターンデータにおける値「1」の配列に一致する場合に、対象部分データが対象パターンデータに一致すると判断して(S215でYES)に、S220に進む。一方、CPU32は、対象部分データにおける値「1」の配列が、対象パターンデータにおける値「1」の配列に一致しない場合に、対象部分データが対象パターンデータに一致しないと判断して(S215でNO)に、S225に進む。
S220では、CPU32は、対象部分データ内の中央の値の位置(即ち座標)をメモリ34に記憶させる。
S225では、CPU32は、全ての部分データがS210で特定されたのか否かを判断する。CPU32は、全ての部分データが特定されたと判断する場合(S225でYES)に、S230に進み、全ての部分データが特定されていないと判断する場合(S225でNO)に、S210に戻り、次の部分データを特定する。
S230では、CPU32は、S220で記憶された各位置(即ち座標)の情報を利用して、合成前データを生成する。具体的には、CPU32は、S220で記憶された各位置に値「1」を記述すると共に、S220で記憶されなかった各位置に値「0」を記述して、「1」又は「0」を示す複数個の値を含む合成前データを生成する。S230が終了すると、図8の比較処理が終了する。
例えば、図9に示される二値データ200が存在し、図8のS200でパターンデータ3−2(図5参照)が選択される状況を想定する。この場合、二値データ200から各部分データ302〜310が順次特定され(S210)、特定済みの部分データ(即ち対象部分データ)とパターンデータ3−2とが比較される(S215)。各部分データ302〜306,310についてはパターンデータ3−2に一致しないと判断されるので(S215でNO)、各部分データ302等の中央の値の位置は記憶されない(S220が実行されない)。一方、部分データ308についてはパターンデータ3−2に一致すると判断されるので(S215でYES)、部分データ308の中央の値の位置が記憶される(S220)。このために、当該位置に値「1」が記述されている合成前データ330が生成される(S230)。
上述したように、S110Aの比較処理では、57個のパターンデータ及びセット(即ち35個のパターンデータ及び22個のセット)に対応する57個の処理スレッドが並列的に実行される。このために、57個のパターンデータ及びセットに対応する57個の合成前データが生成される(S230)。S110A(図3参照)では、さらに、CPU32は、57個の合成前データを合成して、合成データを生成する。
S110Bの比較処理では、CPU32は、S110Aで生成された合成データを利用して、図8の比較処理及び合成を実行する。S110Bの比較処理では、パターンデータ42に含まれる複数個のパターンデータのうちの9個のパターンデータ(具体的には、3−1〜3−4、2−1、2−2、2−5、2−6、及び、1−1)が利用されるべきことが予め決められている。また、S110Bの比較処理では、3−5セット〜3−20セットの16個のセットが利用されるべきことが予め決められている。従って、CPU32は、25個のパターンデータ及びセット(即ち9個のパターンデータ及び16個のセット)に対応する25個の処理スレッドを並列的に実行する。ここで、S210では、S110Aで生成された合成データから部分データが特定される。CPU32は、25個のパターンデータ及びセットに対応する25個の合成前データを生成し(S230)、25個の合成前データを合成して、合成データを生成する。
例えば、S110Bの比較処理で利用される25個のパターンデータ及びセットは、パターンデータ2−2(図4参照)及びパターンデータ3−2(図5参照)を含む。例えば、図9の符号200がS110Aの比較処理で生成された合成データである状況を想定する。この場合、パターンデータ3−2が選択される場合には、上述したように、合成前データ330が生成される。また、パターンデータ2−2が選択される場合には、部分データ302についてはパターンデータ2−2に一致すると判断されるので(S215でYES)、部分データ302の中央の値の位置が記憶される(S220)。このために、当該位置に値「1」が記述されている合成前データ320が生成される(S230)。そして、合成前データ320,330を含む25個の合成前データが合成され、合成データ210が生成される。
S110Cの比較処理では、CPU32は、S110Bで生成された合成データを利用して、図8の比較処理及び合成を実行する。S110Cの比較処理では、パターンデータ42に含まれる複数個のパターンデータのうちの5個のパターンデータ(具体的には、2−1、2−2、2−5、2−6、及び、1−1)が利用されるべきことが予め決められている。ここでは、セットが利用されない。従って、CPU32は、5個のパターンデータに対応する5個の処理スレッドを並列的に実行する。ここで、S210では、S110Bで生成された合成データから部分データが特定される。CPU32は、5個のパターンデータに対応する5個の合成前データを生成し(S230)、5個の合成前データを合成して、合成データを生成する。
ここで、図3のS110A〜S110Cに代えて、以下の処理を実行する比較例の構成を想定する。比較例の構成では、パターンデータ42に含まれる61個のパターンデータ(即ち、4−1〜4−32、3−1〜3−20、2−1〜2−8、及び、1−1)のみが利用され、セットが利用されない。この場合、61個のパターンデータに対応する61個の処理スレッドが並行的に実行されて、61個のパターンデータに対応する61個の合成前データが生成される。そして、61個の合成前データが合成されて、合成データが生成される。
例えば、図10(A)に示される二値データ400が存在する状況を想定する。二値データ400は、3個の部分画像について同じ1個の細胞オブジェクトを含むと判断されたことに起因して(S15でYES)、隣接する3個の値「1」を含む。パターンデータ3−5が選択される場合には、二値データ400内の実線で囲まれた部分データとパターンデータ3−5とが一致するので、合成前データ402が生成される。また、パターンデータ2−1が選択される場合には、合成前データ404が生成され、パターンデータ2−3が選択される場合には、合成前データ406が生成される。そして、合成前データ402、404、及び、406が合成されると、合成データ410が生成される。この場合、合成データ410に含まれる値「1」の配列が、二値データ400に含まれる値「1」の配列と同じである。従って、合成データ410が3個の値「1」を含むので、細胞オブジェクトの個数として、実際には1個と計数されるべきにも関わらず、3個と誤って計数される。このような問題を解消するために、本実施例では、比較処理において、パターンデータに加えて、セットを利用する。
例えば、図10(B)は、3−5セットが利用される例を示す。3−5セットは、第1段階の2個のパターンデータ(即ち3−5及び2−1)と、第2段階の1個のパターンデータ(即ち2−3)と、を含む。この場合、まず、二値データ400に対して、第1段階のパターンデータ3−5を利用した処理が実行される。この場合、二値データ400のうちの部分データ412とパターンデータ3−5とが一致すると判断され、部分データ412の中央の値の位置に対応する位置に値「1」が記述されている第1の中間データ420が生成される。また、二値データ400に対して、第1段階のパターンデータ2−1を利用した処理が実行される。この場合、二値データ400のうちの部分データ414とパターンデータ2−1とが一致すると判断され、部分データ414の中央の値の位置に対応する位置に値「1」が記述されている第2の中間データ430が生成される。そして、第1の中間データ420と第2の中間データ430とが合成されて、第3の中間データ440が生成される。第3の中間データ440では、第1の中間データ420に含まれる値「1」と第2の中間データ430に含まれる値「1」とが隣接する。その後、第3の中間データ440に対して、第2段階のパターンデータ2−3を利用した処理が実行され、合成前データ450が生成される。このように、1個の値「1」のみを含む合成前データ450が生成されるので、細胞オブジェクトの個数として1個と正確に計数することができる。
図12は、図10(B)に例示される処理を実行するためのフローチャートを示す。図8のS205において、対象パターンデータとしてセットが選択されたと判断される場合(即ち、S205でYES)には、CPU32は、図12に示す処理を実行する。S245〜S260は、セットに含まれる第1段階の2個のパターンデータのうちの一方である第1のパターンデータが利用される点を除いて、図8のS210〜S225と同様である。S265では、CPU32は、S255で記憶された各位置(即ち座標)の情報を利用して、第1の中間データを生成する。これにより、例えば、図10(B)のパターンデータ3−5(第1のパターンデータの一例)が利用されて、第1の中間データ420が生成される。
S270〜S285は、セットに含まれる第1段階の2個のパターンデータのうちの他方である第2のパターンデータが利用される点を除いて、図8のS210〜S225と同様である。S290では、CPU32は、S280で記憶された各位置(即ち座標)の情報を利用して、第2の中間データを生成する。これにより、例えば、図10(B)のパターンデータ2−1(第2のパターンデータの一例)が利用されて、第2の中間データ430が生成される。なお、第1のパターンデータが利用されるS245〜S265の処理と、第2のパターンデータが利用されるS270〜S290の処理と、は並列的に実行されてもよい。このようにすれば、処理時間を短縮することができる。
S295では、CPU32は、S265で生成された第1の中間データとS290で生成された第2の中間データとを合成して、第3の中間データを生成する。これにより、例えば、図10(B)の第1の中間データ420と第2の中間データ430とが合成されて、第3の中間データ440が生成される。
S300〜S315は、S295で生成された第3の中間データから部分データが特定される点と、セットに含まれる第2段階のパターンデータである第3のパターンデータが利用される点と、を除いて、S210〜S225と同様である。S320では、CPU32は、S310で記憶された各位置(即ち座標)の情報を利用して、合成前データを生成する。これにより、例えば、図10(B)の第3の中間データ440に対して、パターンデータ2−3(第3のパターンデータの一例)が利用されて、合成前データ450が生成される。S320が終了すると、図12の処理が終了し、図8の処理が終了する。
図11は、本実施例の他のセットを示す。例えば、3−6セットは、第1段階の2個のパターンデータ3−6,2−2と、第2段階の1個のパターンデータ2−4と、を含む。同様に、3−7セット〜3−20セット、及び、4−1セット、4−2セット、4−29〜4−32セットのそれぞれは、図11に示される3個のパターンデータ(即ち第1段階の2個のパターンデータと第2段階の1個のパターンデータ)を含む。
CPU32は、例えば、図3のS110Aの比較処理では、パターンデータ42に含まれる22個のセット(即ち、4−1セット、4−2セット、4−29セット〜4−32セット、及び、3−5セット〜3−20セット)のそれぞれを利用して、図12の処理を実行する。また、CPU32は、S110Bの比較処理では、パターンデータ42に含まれる16個のセット(即ち、3−5セット〜3−20セット)のそれぞれを利用して、図12の処理を実行する。本実施例では、このようにセットを利用した比較処理が実行されるので、上記の比較例の構成の問題が起こらず、細胞オブジェクトの個数を正確に特定することができる。また、S110A〜S110Cのそれぞれでは、一部のパターンデータ及び一部のセットを利用しながら、段階的に最終的な合成データ(例えば図3の符号210)が生成される。このため、1個の細胞オブジェクトについて2個以上の値「1」が記述されている合成データが生成されることを抑制することができ、この結果、細胞オブジェクトの個数を正確に特定することができる。
(本実施例の効果)
本実施例では、画像解析装置10は、細胞画像100から特定される複数個の部分画像102等に対応する複数個の位置に配置されている複数個の値を含む第1の特定データ150(図2参照)を生成し(S35)、第1の特定データ150から複数個の部分データを特定し(図8のS210)、複数個の部分データと、予め決められている複数個のパターンデータ42と、を利用して、細胞画像100に含まれる細胞オブジェクトの個数を計数する(図2のS40(図3、図8、図12))。ここで、画像解析装置10は、対象部分データにおける値「1」の配列が、対象パターンデータにおける値「1」の配列に一致すると判断される場合(図8のS215でYES、図12のS250でYES、S275でYES、S305でYES)に、対象部分データが2個以上の値「1」を含むにも関わらず、対象部分データに対応する細胞オブジェクトの個数として1個を計数する(S125、S130)。従って、画像解析装置10は、細胞画像100に含まれる細胞オブジェクトの個数を精度よく計数することができる。
また、画像解析装置10は、第1の特定データ150(図2参照)において、1個の細胞オブジェクトについて2個以上の存在値が記述されても、S40の計数処理において、隣接する2個以上の存在値に代えて、1個の値「1」が記述された第2の特定データを生成する(S125)。このため、画像処理装置は、細胞オブジェクトの個数を1個として計数することができる。これによっても、画像解析装置10は、細胞画像100に含まれる細胞オブジェクトの個数を精度よく計数することができる。
(対応関係)
左右方向、上下方向が、それぞれ、「第1方向」、「第2方向」の一例である。存在値「1」、存在値「2」が、それぞれ、「第1の存在値」、「第2の存在値」の一例である。部分データ及びパターンデータ内の3×3個の値が、「(M×N)個の値」の一例である。なお、変形例では、M及びNは、「2」であってもよいし、「4」以上(例えば奇数「5」等)であってもよい。パターンデータに含まれる値「1」、値「0」が、それぞれ、「第1の所定値」、「第2の所定値」の一例である。図10(B)の第1の中間データ420内の値「1」、値「0」が、それぞれ、「第3の所定値」、「第4の所定値」の一例である。なお、変形例では、「第3の所定値」、「第4の所定値」は、それぞれ、「第1の所定値」、「第2の所定値」とは異なる値であってもよい。例えば、図9において、パターンデータ2−2が利用される場合の部分データ302、パターンデータ3−2が利用される場合の部分データ308、図10(B)のパターンデータ3−5が利用される場合の部分データ412等が、「第1(又は第2)の対象部分データ」の一例である。図8のS220で記憶される位置(即ち対象部分データ内の中央の位置)が、「所定位置」の一例である。なお、変形例では、S220では、対象部分データ内の中央の位置に代えて、対象部分データ内の他の位置(「所定位置」の一例)が記憶されてもよい。図10(B)において、パターンデータ3−5、パターンデータ2−1、パターンデータ2−3が、それぞれ、「第1のパターンデータ」、「第2のパターンデータ」、「第3のパターンデータ」の一例である。図12のS300で特定される部分データが、「目的データ」の一例である。
図2のS5の処理、S10の処理、S15の処理、S35の処理、S40の処理、S45の処理が、それぞれ、「取得部」、「部分画像特定部」、「細胞判断部」、「第1の特定データ生成部」、「計数部」、「出力部」によって実行される処理の一例である。図8のS215、図12のS250、S275、及び、S305の処理が、「第1(又は第2)の存在値判断部」によって実行される処理の一例である。図3のS125の処理が、「第2の特定データ生成部」によって実行される処理の一例である。図12のS265の処理、S290の処理、S395の処理が、それぞれ、「第1の中間データ生成部」、「第2の中間データ生成部」、「第3の中間データ生成部」によって実行される処理の一例である。S300の処理、S305の処理が、それぞれ、「目的データ特定部」、「所定値判断部」によって実行される処理の一例である。
以上、実施例を詳細に説明したが、これらは例示に過ぎず、請求の範囲を限定するものではない。請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に記載する。
図8の比較処理において、各処理スレッドを並行的に実行しなくてもよい。この場合、CPU32は、S110A〜S110Cに代えて、61個のパターンデータ(具体的には、4−1〜4−32、3−1〜3−20、2−1〜2−8、及び、1−1)のそれぞれを順次利用して、処理スレッドを順次実行する。例えば、CPU32は、S200において、対象パターンデータとしてパターンデータ4−1を選択し、S210〜S225の処理を実行して、S230において、合成前データを生成する手法と同様に、処理済みデータを生成する。次いで、CPU32は、S200において、対象パターンデータとしてパターンデータ4−2を選択し、上記の処理済みデータに対してS210〜S225の処理を実行して、S230において、新たな処理済みデータを生成する。CPU32は、これを繰り返すことによって、最終的な処理済みデータを生成する。本変形例では、最終的な処理済みデータに含まれる値「1」の個数を計数すれば、細胞オブジェクトの個数を計数することができる。そして、本変形例では、複数個の処理スレッドが並列的に実行されないので、上記の比較例の問題が起こらず、この結果、セットを利用する必要がない。従って、「第1の中間データ生成部」、「第2の中間データ生成部」、「第3の中間データ生成部」、「目的データ特定部」、及び、「所定値判断部」を省略可能である。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
10:画像解析装置、12:操作部、14:表示部、16:入力部、30:制御部、32:メモリ、36:OSプログラム、38:解析プログラム、40:解析データ、42:パターンデータ、44:分類データ、100:細胞画像、110、120、130、140:細胞オブジェクト、102、104、112、114、116、122、124、132、134、136、138、142、144:部分画像、150:第1の特定データ、160:第2の特定データ、200、400:二値データ、210、410:合成データ、302、304、306、308、310、412、414:部分データ、320、330、402、404、404、450:合成前データ、420:第1の中間データ、430:第2の中間データ、440:第3の中間データ

Claims (5)

  1. 画像解析装置であって、
    1種類以上の細胞を示す1種類以上の細胞オブジェクトを含む細胞画像を表わす細胞画像データを取得する取得部と、
    前記細胞画像から複数個の部分画像を特定する部分画像特定部であって、前記複数個の部分画像のそれぞれは同じサイズを有し、前記細胞画像は、第1方向に沿って並ぶ2個以上の部分画像と、前記第1方向に直交する第2方向に沿って並ぶ2個以上の部分画像と、を含む、前記部分画像特定部と、
    前記複数個の部分画像のそれぞれについて、当該部分画像が前記1種類以上の細胞オブジェクトのいずれかを含むのか否かを判断する細胞判断部と、
    前記複数個の部分画像に対応する複数個の位置に配置されている複数個の値を含む第1の特定データを生成する第1の特定データ生成部であって、前記第1の特定データに含まれる前記複数個の値は、前記1種類以上の細胞オブジェクトのいずれも含まないと判断された部分画像に対応する位置に配置されている不存在値と、前記1種類以上の細胞オブジェクトのうちの第1種の細胞オブジェクトを含むと判断された部分画像に対応する位置に配置されている第1の存在値と、を含む、前記第1の特定データ生成部と、
    前記第1の特定データから複数個の部分データを特定する部分データ特定部であって、前記部分データは、前記第1方向に沿って並ぶM個(前記Mは2以上の整数)の値と、前記第2方向に沿って並ぶN個(前記Nは2以上の整数)の値と、によって構成される(M×N)個の値を含む、前記部分データ特定部と、
    前記複数個の部分データと、予め決められている複数個のパターンデータと、を利用して、前記細胞画像に含まれる前記第1種の細胞オブジェクトの個数を計数する計数部であって、前記パターンデータは、前記第1方向に沿って並ぶM個の値と、前記第2方向に沿って並ぶN個の値と、によって構成される(M×N)個の値を含み、前記パターンデータに含まれる前記(M×N)個の値は、2個以上の第1の所定値と、1個以上の第2の所定値と、を含み、前記複数個のパターンデータのそれぞれでは、前記第1の所定値の配列が異なる、前記計数部と、
    前記計数の結果を出力する出力部と、を備え、
    前記計数部は、前記複数個の部分データのそれぞれについて、当該部分データにおける前記第1の存在値の配列が、前記複数個のパターンデータのいずれかにおける前記第1の所定値の配列に一致するのか否かを判断する第1の存在値判断部を備え、
    前記計数部は、前記複数個の部分データのうちの第1の対象部分データにおける前記第1の存在値の配列が、前記複数個のパターンデータのいずれかにおける前記第1の所定値の配列に一致すると判断される場合に、前記第1の対象部分データに含まれる(M×N)個の値が2個以上の前記第1の存在値を含むにも関わらず、前記第1の対象部分データに対応する前記第1種の細胞オブジェクトの個数として1個を計数する、画像解析装置。
  2. 前記計数部は、さらに、
    前記複数個の部分データと、前記複数個のパターンデータと、を利用して、前記複数個の部分画像に対応する複数個の位置に配置されている複数個の値を含む第2の特定データを生成する第2の特定データ生成部であって、前記第2の特定データに含まれる前記複数個の値は、前記1種類以上の細胞オブジェクトのいずれも含まないと判断された部分画像に対応する位置に配置されている前記不存在値と、1個以上の前記第1の存在値と、を含む、前記第2の特定データ生成部を備え、
    前記第2の特定データ生成部は、前記第1の対象部分データにおける前記第1の存在値の配列が、前記複数個のパターンデータのいずれかにおける前記第1の所定値の配列に一致すると判断される場合に、前記第1の対象部分データに含まれる隣接する2個以上の前記第1の存在値に代えて、前記第1の対象部分データに対応する所定位置に1個の前記第1の存在値を記述することによって、前記第2の特定データを生成し、
    前記計数部は、前記第2の特定データに含まれる前記第1の存在値の個数を計数することによって、前記細胞画像に含まれる前記第1種の細胞オブジェクトの個数を計数する、請求項1に記載の画像解析装置。
  3. 前記M及び前記Nは、3以上の同じ奇数であり、
    前記複数個のパターンデータは、予め決められている3個以上のパターンデータのセットを含み、
    前記計数部は、さらに、
    前記第1の対象部分データにおける前記第1の存在値の配列が、前記セットのうちの第1のパターンデータにおける前記第1の所定値の配列に一致すると判断される場合に、第1の中間データを生成する第1の中間データ生成部であって、前記第1の中間データでは、前記第1の対象部分データに含まれる(M×N)個の値のうちの中央の値に対応する位置に第3の所定値が記述されていると共に、前記第1の対象部分データに含まれる前記(M×N)個の値のうちの前記中央の値以外の各値に対応する各位置に第4の所定値が記述されている、前記第1の中間データ生成部と、
    前記複数個の部分データのうちの第2の対象部分データであって、前記第1の対象部分データに隣接する前記第2の対象部分データにおける前記第1の存在値の配列が、前記セットのうちの第2のパターンデータであって、前記第1のパターンデータとは異なる前記第2のパターンデータにおける前記第1の所定値の配列に一致すると判断される場合に、第2の中間データを生成する第2の中間データ生成部であって、前記第2の中間データでは、前記第2の対象部分データに含まれる(M×N)個の値のうちの中央の値に対応する位置に前記第3の所定値が記述されていると共に、前記第2の対象部分データに含まれる前記(M×N)個の値のうちの前記中央の値以外の各値に対応する各位置に前記第4の所定値が記述されている、前記第2の中間データ生成部と、
    前記第1の中間データと前記第2の中間データとを合成して、第3の中間データを生成する第3の中間データ生成部であって、前記第3の中間データでは、前記第1の中間データに含まれる前記第3の所定値と前記第2の中間データに含まれる前記第3の所定値とが隣接する、前記第3の中間データ生成部と、
    前記第3の中間データから複数個の目的データを順次特定する目的データ特定部であって、前記目的データは、前記第1方向に沿って並ぶM個の値と、前記第2方向に沿って並ぶN個の値と、によって構成される(M×N)個の値を含む、前記目的データ特定部と、
    前記複数個の目的データのそれぞれについて、当該目的データにおける前記第3の所定値の配列が、前記セットのうちの第3のパターンデータであって、前記第1及び第2のパターンデータとは異なる前記第3のパターンデータにおける前記第1の所定値の配列に一致するのか否かを判断する所定値判断部と、を備え、
    前記計数部は、前記複数個の目的データのうちの対象目的データであって、隣接する2個以上の前記第3の所定値を含む前記対象目的データにおける前記第3の所定値の配列が、前記第3のパターンデータにおける前記第1の所定値の配列に一致すると判断される場合に、前記第1の対象部分データに対応する前記第1種の細胞オブジェクトの個数として1個を計数する、請求項1又は2に記載の画像解析装置。
  4. 前記第1の特定データに含まれる前記複数個の値は、さらに、前記1種類以上の細胞オブジェクトのうちの第2種の細胞オブジェクトであって、前記第1種の細胞オブジェクトとは異なる前記第2種の細胞オブジェクトを含むと判断された部分画像に対応する位置に配置されている第2の存在値であって、前記第1の存在値とは異なる前記第2の存在値を含み、
    前記計数部は、前記複数個の部分データのそれぞれについて、当該部分データにおける前記第2の存在値の配列が、前記複数個のパターンデータのいずれかにおける前記第1の所定値の配列に一致するのか否かを判断する第2の存在値判断部を備え、
    前記計数部は、前記複数個の部分データのうちの第2の対象部分データにおける前記第2の存在値の配列が、前記複数個のパターンデータのいずれかにおける前記第1の所定値の配列に一致すると判断される場合に、前記第2の対象部分データに含まれる(M×N)個の値が2個以上の前記第2の存在値を含むにも関わらず、前記第2の対象部分データに対応する前記第2種の細胞オブジェクトの個数として1個を計数する、請求項1から3のいずれか一項に記載の画像解析装置。
  5. 画像解析装置のためのコンピュータプログラムであって、
    前記画像解析装置のコンピュータを、以下の各部、即ち、
    1種類以上の細胞を示す1種類以上の細胞オブジェクトを含む細胞画像を表わす細胞画像データを取得する取得部と、
    前記細胞画像から複数個の部分画像を特定する部分画像特定部であって、前記複数個の部分画像のそれぞれは同じサイズを有し、前記細胞画像は、第1方向に沿って並ぶ2個以上の部分画像と、前記第1方向に直交する第2方向に沿って並ぶ2個以上の部分画像と、を含む、前記部分画像特定部と、
    前記複数個の部分画像のそれぞれについて、当該部分画像が前記1種類以上の細胞オブジェクトのいずれかを含むのか否かを判断する細胞判断部と、
    前記複数個の部分画像に対応する複数個の位置に配置されている複数個の値を含む第1の特定データを生成する第1の特定データ生成部であって、前記第1の特定データに含まれる前記複数個の値は、前記1種類以上の細胞オブジェクトのいずれも含まないと判断された部分画像に対応する位置に配置されている不存在値と、前記1種類以上の細胞オブジェクトのうちの第1種の細胞オブジェクトを含むと判断された部分画像に対応する位置に配置されている第1の存在値と、を含む、前記第1の特定データ生成部と、
    前記第1の特定データから複数個の部分データを特定する部分データ特定部であって、前記部分データは、前記第1方向に沿って並ぶM個(前記Mは2以上の整数)の値と、前記第2方向に沿って並ぶN個(前記Nは2以上の整数)の値と、によって構成される(M×N)個の値を含む、前記部分データ特定部と、
    前記複数個の部分データと、予め決められている複数個のパターンデータと、を利用して、前記細胞画像に含まれる前記第1種の細胞オブジェクトの個数を計数する計数部であって、前記パターンデータは、前記第1方向に沿って並ぶM個の値と、前記第2方向に沿って並ぶN個の値と、によって構成される(M×N)個の値を含み、前記パターンデータに含まれる前記(M×N)個の値は、2個以上の第1の所定値と、1個以上の第2の所定値と、を含み、前記複数個のパターンデータのそれぞれでは、前記第1の所定値の配列が異なる、前記計数部と、
    前記計数の結果を出力する出力部と、を備え、
    前記計数部は、前記複数個の部分データのそれぞれについて、当該部分データにおける前記第1の存在値の配列が、前記複数個のパターンデータのいずれかにおける前記第1の所定値の配列に一致するのか否かを判断する第1の存在値判断部を備え、
    前記計数部は、前記複数個の部分データのうちの第1の対象部分データにおける前記第1の存在値の配列が、前記複数個のパターンデータのいずれかにおける前記第1の所定値の配列に一致すると判断される場合に、前記第1の対象部分データに含まれる(M×N)個の値が2個以上の前記第1の存在値を含むにも関わらず、前記第1の対象部分データに対応する前記第1種の細胞オブジェクトの個数として1個を計数する、コンピュータプログラム。
JP2019528311A 2017-07-07 2017-07-07 画像解析装置 Active JP6733984B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/024994 WO2019008753A1 (ja) 2017-07-07 2017-07-07 画像解析装置

Publications (2)

Publication Number Publication Date
JPWO2019008753A1 JPWO2019008753A1 (ja) 2020-03-19
JP6733984B2 true JP6733984B2 (ja) 2020-08-05

Family

ID=64950746

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019528311A Active JP6733984B2 (ja) 2017-07-07 2017-07-07 画像解析装置

Country Status (4)

Country Link
US (1) US11257212B2 (ja)
EP (1) EP3640888B1 (ja)
JP (1) JP6733984B2 (ja)
WO (1) WO2019008753A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6733984B2 (ja) 2017-07-07 2020-08-05 暢 長坂 画像解析装置
JP7167355B2 (ja) * 2019-09-03 2022-11-08 富士フイルム株式会社 学習装置、学習装置の作動方法、学習装置の作動プログラム
EP3876193A1 (de) * 2020-03-02 2021-09-08 Euroimmun Medizinische Labordiagnostika AG Bildverarbeitungsverfahren zum anzeigen von zellen mehrerer gesamtbilder

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6370384A (ja) 1986-09-12 1988-03-30 Hitachi Ltd 複数物体個数縮退抽出方法
US7383134B2 (en) * 2002-01-15 2008-06-03 Piper James R Method and/or system for analyzing biological samples using a computer system
US20060036372A1 (en) 2004-03-18 2006-02-16 Bulent Yener Method and apparatus for tissue modeling
JP5315411B2 (ja) 2008-07-03 2013-10-16 エヌイーシー ラボラトリーズ アメリカ インク 有糸分裂像検出装置および計数システム、および有糸分裂像を検出して計数する方法
JP5525774B2 (ja) 2009-07-24 2014-06-18 オリンパス株式会社 細胞画像解析装置
JP2011052700A (ja) 2009-08-31 2011-03-17 Thk Co Ltd 潤滑油供給装置及びこれを用いた運動案内装置
JP6544763B2 (ja) 2014-12-12 2019-07-17 学校法人東京理科大学 対象物検出装置及びプログラム
JP6733984B2 (ja) 2017-07-07 2020-08-05 暢 長坂 画像解析装置

Also Published As

Publication number Publication date
JPWO2019008753A1 (ja) 2020-03-19
WO2019008753A1 (ja) 2019-01-10
EP3640888B1 (en) 2021-05-26
EP3640888A4 (en) 2020-05-06
EP3640888A1 (en) 2020-04-22
US20200219250A1 (en) 2020-07-09
US11257212B2 (en) 2022-02-22

Similar Documents

Publication Publication Date Title
JP7422825B2 (ja) 顕微鏡スライド画像のための焦点重み付き機械学習分類器誤り予測
CN111524106B (zh) 颅骨骨折检测和模型训练方法、装置、设备和存储介质
Zhang et al. Automated semantic segmentation of red blood cells for sickle cell disease
CN109447998B (zh) 基于PCANet深度学习模型下的自动分割方法
JP5174040B2 (ja) 画像の構成要素と背景とを区別するためにコンピュータで実行される方法および画像の構成要素と背景とを区別するためのシステム
JP6733983B2 (ja) 画像解析装置
JP2017521779A (ja) 画像解析を用いた核のエッジの検出
CN108765386A (zh) 一种隧道裂缝检测方法、装置、电子设备及存储介质
JP6733984B2 (ja) 画像解析装置
WO2019026104A1 (ja) 情報処理装置、情報処理プログラム及び情報処理方法
Bashar et al. Automatic extraction of nuclei centroids of mouse embryonic cells from fluorescence microscopy images
US20220284580A1 (en) Image analysis in pathology
Chidester et al. Discriminative bag-of-cells for imaging-genomics
CN113096080A (zh) 图像分析方法及系统
CN116228753B (zh) 肿瘤预后评估方法、装置、计算机设备和存储介质
CN107742299B (zh) 一种图像分割方法和装置
CN111753722B (zh) 一种基于特征点类型的指纹识别方法及装置
WO2022167483A1 (en) System for clustering data points
CN117995317B (zh) 一种基于电子密度图预估重原子位置的方法、装置和介质
CN111862003B (zh) 医疗影像目标信息获取方法、装置、设备和存储介质
CN117274817B (zh) 裂缝自动化识别方法、装置、终端设备及存储介质
WO2024034374A1 (ja) オブジェクト分類装置、オブジェクト分類方法及びオブジェクト分類システム
JP2024014265A (ja) 生産装置、画像処理装置、生産方法、画像処理方法、およびプログラム
Hao et al. Automatic detection of breast nodule in the ultrasound images using CNN
Hu et al. Flexible and Highly-Efficient Feature Perception for Molecular Traits Prediction via Self-interactive Deep Learning

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191025

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200623

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200706

R150 Certificate of patent or registration of utility model

Ref document number: 6733984

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150