以下、図面を参照して、本発明の実施形態に係るコロニー計数支援装置について説明する。
(実施形態)
まず、図1を参照して、本実施形態に係るコロニー計数支援装置100のハードウェア構成について説明する。なお、本発明が適用されるコロニー計数支援装置は、図1に示すコロニー計数支援装置100に限られない。例えば、コロニー計数支援装置100に種々の装置が組み込まれたコロニー計数支援装置に本発明が適用されてもよいし、コロニー計数支援装置100から適宜、種々の装置が除外されたコロニー計数支援装置に本発明が適用されてもよい。
まず、図1を参照して、コロニー計数支援装置100の物理的な構成について説明する。図1に示すようにコロニー計数支援装置100は、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、記憶装置104、入力装置105、通信装置106、撮像制御部107、画像記憶部109、表示制御部110、音声処理部112、を備える。コロニー計数支援装置100が備えるこれらの構成要素は、バス120により相互に接続される。なお、撮像制御部107には、撮像装置108が接続される。また、表示制御部110には、表示装置111が接続される。そして、音声処理部112には、音声出力装置113が接続される。
CPU101は、コロニー計数支援装置100の全体の動作を制御する。なお、CPU101は、ROM102に格納されているプログラムに従って動作し、RAM103をワークエリアとして使用する。
ROM102には、コロニー計数支援装置100の全体の動作を制御するためのプログラムやデータが記憶される。
RAM103は、CPU101のワークエリアとして機能する。つまり、CPU101は、RAM103にプログラムやデータを一時的に書き込み、これらのプログラムやデータを適宜参照する。
従って、CPU101とROM102とRAM103とは、制御部を構成する。制御部は、バス120に接続された各部を制御して、コロニー計数支援処理などを実行する。
記憶装置104は、撮像画像やパラメータなどを記憶する。記憶装置104は、内蔵型の記憶装置であってもよいし、リムーバル型の記憶装置であってもよい。記憶装置104は、例えば、ハードディスク装置、メモリカードを備えるメモリカードスロット、CD−ROM(Compact Disk Read Only Memory)を備えるCD−ROMドライブなどにより構成される。
入力装置105は、コロニーの個数をカウントする作業者などの操作入力を受け付ける装置である。入力装置105は、例えば、マウス、キーボード、タッチスクリーン、コントローラ、ボタンなどにより構成される。
通信装置106は、CPU101による制御のもと、無線通信もしくは有線通信により、コロニー計数支援装置100の外部の装置などと通信を確立し、データを受信したり送信したりする。例えば、通信装置106は、インターネットなどの電気通信網を介してコロニー計数支援装置100に接続されたデータベースサーバから、撮像装置108などにより撮像された撮像画像を受信する。通信装置106は、NIC(Network Interface Card)、USB(Universal Serial Bus)ポートなどにより構成される。
撮像制御部107は、CPU101による制御のもと、撮像制御部107に接続された撮像装置108を制御する。撮像制御部107は、例えば、撮像開始指示、撮像終了指示などを示す制御信号を撮像装置108に送信することにより、撮像装置108の動作を制御する。また、撮像制御部107は、例えば、解像度、露光時間、明るさなどの撮像設定を撮像装置に送信することにより、撮像条件を撮像装置108に設定する。そして、撮像制御部107は、撮像装置108により取得された撮像画像を、撮像装置108から受信する。
撮像装置108は、被写体を撮像し、この被写体を示す撮像画像を生成する。撮像装置108は、撮像制御部107から供給される制御信号に従って、被写体を撮像する。撮像装置108は、生成した撮像画像を撮像制御部107に送信する。撮像画像は、例えば、各画素が、R(Red)の輝度値とG(Green)の輝度値とB(Blue)の輝度値とにより表されるカラー画像であってもよいし、各画素が1つの輝度値により表されるモノクロ画像であってもよい。撮像画像は、例えば、ディジタルデータにより表される。また、撮像画像のアスペクト比や解像度は、適宜調整が可能である。撮像装置108は、ディジタルカメラ、ディジタルビデオカメラ、フラットベッドスキャナ、専用リーダなどにより構成される。
なお、本実施形態では、撮像装置108による撮像の被写体は、検体に含まれる微生物の培養後の培地200である。ここで、検体は、検査対象の食品などから採取される。また、微生物は、例えば、大腸菌などの菌類である。なお、微生物の培養により、培地には、微生物のコロニー210が発生する。コロニー210は、基本的には丸い形状(円状)であるが、撮像画像内において多少変形して確認されることもある。従って、本実施形態では、丸い形状のもののほか、楕円形状のものやその他の形状のものも示している。
図2に示すように、培地200は、例えば、基材シート220とカバーシート230との間に挟まれたシート状の培養層である。本実施形態では、図2に示すように、培地200全体と基材シート220の一部とを含む領域240を撮像対象の領域としている。なお、カバーシート230は透明であるため撮像されない。ただし、撮像対象の領域は、この例に限られない。例えば、撮像対象の領域は、培地200の一部のみを含む領域であってもよいし、培地200の一部と基材シート220の一部とを含む領域であってもよい。これらの場合でも、培地200の面積に対するコロニー210の個数の割合、つまりコロニー210の密度を求めることにより、培地200全体に存在するコロニー210の総数を求めることができる。
ここで、培地200の色とコロニー210の色とは異なるため、撮像画像上において培地200を表す領域とコロニー210を表す領域とを区別することができる。本実施形態では、コロニー210の色が暗めの青緑色に近い色であり、培地200の色が明るめの肌色に近い色であり、基材シート220の色は明るい白色に近い色であるものとする。撮像画像がモノクロ画像(グレースケール化された画像)である場合、例えば、培地200を表す画素の輝度値よりも低い第1の閾値よりも低い輝度値の画素がコロニー210を表す画素であり、培地200を表す画素の輝度値よりも高い第2の閾値よりも高い輝度値の画素が基材シート220を表す画素であり、第1の閾値よりも高く第2の閾値よりも低い輝度値の画素が培地200の色である。以下、「第1の閾値」を、適宜、単に「閾値」という。撮像画像上において、コロニー210を表す画素や培地200を表す画素を検出する方法の詳細については、後述する。
なお、本実施形態では、フィルムないしシート状の乾燥培地である培地200を採用する例について説明するが、シャーレに充填された寒天培地を採用してもよい。フィルムないしシート状の乾燥培地である培地200を採用する場合、撮像装置108として、スキャナなどを採用することが好適である。一方、シャーレに充填された寒天培地を採用する場合、撮像装置108として、ディジタルカメラなどを採用することが好適である。
画像記憶部109は、コロニー210の検出対象の培地200を撮像して得られた撮像画像を記憶する。画像記憶部109は、例えば、撮像装置108から取得された撮像画像、記憶装置104に記憶されている撮像画像、もしくは、通信装置106により外部の装置から取得された撮像画像などを記憶する。画像記憶部109は、例えば、フラッシュメモリなどにより構成される。
表示制御部110は、CPU101による制御のもと、表示装置111を制御する。例えば、表示制御部110は、表示装置111に表示させる画像を表す画像信号を生成し、生成した画像信号を表示装置111に供給する。
表示装置111は、表示制御部110から供給された画像信号に基づく画像を表示する。表示装置111は、例えば、LCD(Liquid Crystal Display)や有機EL(Electro Luminescence)などの表示装置により構成される。表示装置111は、タッチスクリーンであってもよい。この場合、タッチスクリーンは、表示装置として機能するほか、入力装置105としても機能する。
音声処理部112は、CPU101から供給されたディジタルオーディオ信号をD/A(Digital/Analog)コンバータ(図示せず)でアナログオーディオ信号に変換して、音声出力部113に供給する。音声処理部112は、CPU101から供給されたディジタルオーディオ信号に各種処理を加えるDSP(Digital Signal Processor)を含んでもよい。
音声出力装置113は、音声処理部112から供給されたアナログオーディオ信号を音声に変換して、出力する。音声出力装置113は、例えば、スピーカにより構成される。音声出力装置113は、ディジタルオーディオ信号またはアナログオーディオ信号を増幅する増幅装置を含んでもよい。
次に、図3を参照して、コロニー計数支援装置100が作業者に提示する画面300について説明する。
画面300は、自動検出結果表示領域310と、手動検出結果表示領域320と、を有する。また、画面300には、ポインタ331、下限長スライダ332、上限長スライダ333、閾値スライダ334、反映指示ボタン335、クリア指示ボタン336、除外指示アイコン337が表示される。
自動検出結果表示領域310は、コロニー計数支援装置100により自動で検出されたコロニー210の位置や数を示す画像が、撮像画像に重ねて表示される領域である。自動検出結果表示領域310の全体には、撮像画像が背景画像として表示される。
なお、図3においては、撮像画像の一部が拡大された画像が、背景画像として、自動検出結果表示領域310の全体と手動検出結果表示領域320の全体とに表示された例を示す。このように、作業者は、撮像画像を、自由に、拡大・縮小、スクロールすることができる。なお、自動検出結果表示領域310と手動検出結果表示領域320とで連動して、撮像画像が表示されることが望ましい。スクロール指示や拡大・縮小指示は、例えば、マウスやキーボードなどを含む入力装置105の操作により実現される。
そして、自動検出結果表示領域310に表示された撮像画像上の、コロニー210の検出位置のそれぞれには、自動検出位置マーク341が重ねて表示される。自動検出位置マーク341は、例えば、撮像画像上に表示されたコロニー210に外接する矩形の枠状の画像である。このように、自動検出位置マーク341は、検出されたコロニー210の撮像画像上における位置や形状をわかりやすく作業者に提示する。
また、自動検出結果表示領域310には、自動検出位置マーク341の個数を示す個数画像342が表示される。なお、個数画像342が表示される位置は、画面300のどこでもよい。
そして、自動検出結果表示領域310には、検出されるコロニー210に外接する矩形の短辺の下限長を、撮像画像上のスケールで示す下限長提示画像343が表示される。下限長提示画像343は、自動検出結果表示領域310に表示された撮像画像の拡大率と下限長とに基づく適切な長さで描画される。なお、この下限長は、例えば、下限長スライダ332に対する操作により設定される。
さらに、自動検出結果表示領域310には、検出されるコロニー210に外接する矩形の長辺の上限長を、撮像画像上のスケールで示す上限長提示画像344が表示される。上限長提示画像344は、自動検出結果表示領域310に表示された撮像画像の拡大率と上限長とに基づく適切な長さで描画される。なお、この上限長は、例えば、上限長スライダ333に対する操作により設定される。
手動検出結果表示領域320は、コロニー計数支援装置100により自動で検出されたコロニー210の位置や数に基づいて作業者が編集したコロニー210の位置や数を示す画像が、撮像画像に重ねて表示される領域である。手動検出結果表示領域320の全体には、撮像画像(撮像画像の一部が拡大された画像)が背景画像として表示される。
そして、手動検出結果表示領域320に表示された撮像画像上の、コロニー210の検出位置のそれぞれには、手動検出位置マーク351が重ねて表示される。手動検出位置マーク351は、例えば、撮像画像上に表示されたコロニー210の重心を交点とする十字型の枠状の画像である。このように、手動検出位置マーク351は、検出されたコロニー210もしくは作業者により追加されたコロニー210の撮像画像上における位置をわかりやすく作業者に提示する。
また、手動検出結果表示領域320には、手動検出位置マーク351の個数を示す個数画像352が表示される。なお、個数画像352が表示される位置は、画面300のどこでもよい。
ポインタ331は、画面300に表示されているボタンなどの操作対象の画面300内における位置を明示する。ポインタ331は、例えば、入力装置105が備えるマウスの操作により、画面300内で移動する。なお、画面300内における位置は、例えば、画面300内における座標により示される。また、撮像画像上の位置は、撮像画像上の座標により示される。つまり、CPU101は、撮像画像の拡大率(縮小率)やスクロール量により、画面300内における座標と、撮像画像内における座標と、を相互に変換することができる。
また、ポインタ331は、手動検出位置マーク351の追加位置や削除位置を示す。例えば、マウスのクリック操作が手動検出位置マーク351の追加指示を示す場合、マウスがクリックされたときにポインタ331が表示されている位置に手動検出位置マーク351が追加される。同様に、例えば、Ctrlキーを押しながらのマウスのクリック操作が手動検出位置マーク351の削除指示を示す場合、Ctrlキーが押されながらマウスがクリックされたときにポインタ331が表示されている位置に表示されている手動検出位置マーク351が削除される。
下限長スライダ332は、検出されるコロニー210に外接する矩形の短辺の下限長の指定を作業者から受け付けるとともに、この下限長を作業者に明示する。下限長スライダ332は、例えば、マウスのドラッグ操作により画面300内で移動する。下限長スライダ332の画面300内での位置は、この下限長を示す。なお、作業者は、下限長提示画像343の長さを参照することにより、撮像画像上における下限長の現在値を知ることができる。下限長の設定範囲は、適宜、調整することが可能である。例えば、下限長の設定範囲を、0ミリメートルから数ミリ程度にすることができる。
上限長スライダ333は、検出されるコロニー210に外接する矩形の長辺の上限長の指定を作業者から受け付けるとともに、この上限長を作業者に明示する。上限長スライダ333は、例えば、マウスのドラッグ操作により画面300内で移動する。上限長スライダ333の画面300内での位置は、この上限長を示す。なお、作業者は、上限長提示画像344の長さを参照することにより、撮像画像上における上限長の現在値を知ることができる。上限長の設定範囲は、適宜、調整することが可能である。例えば、上限長の設定範囲を、0ミリメートルから数ミリ程度にすることができる。また、上限長の設定範囲は、下限長の設定範囲と連動して設定されてもよい。例えば、上限長の設定範囲は、下限長の現在値以上の範囲に制限されてもよい。
閾値スライダ334は、検出されるコロニー210を表す画素の輝度値の閾値の指定を作業者から受け付けるとともに、この閾値を作業者に明示する。閾値スライダ334は、例えば、マウスのドラッグ操作により画面300内で移動する。閾値スライダ334の画面300内での位置は、この閾値を示す。
反映指示ボタン335は、手動検出結果表示領域320に表示されている内容を、自動検出結果表示領域310の表示に反映する旨の指示を作業者から受け付ける。なお、自動検出結果表示領域310に表示されている内容は、コロニー計数支援装置100により自動で検出されたコロニー210の位置や数などである。例えば、反映指示ボタン335がマウスによりクリック操作されると、撮像画像に対する相対的な位置が、自動検出位置マーク341と同じである、手動検出結果表示領域320内の位置に、手動検出位置マーク351が追加表示される。つまり、自動検出位置マーク341の、自動検出結果表示領域310に表示されている撮像画像に対する相対的な位置と、新たに追加される手動検出位置マーク351の、手動検出結果表示領域320に表示されている撮像画像に対する相対的な位置と、は同じである。
クリア指示ボタン336は、手動検出結果表示領域320に表示されている内容をクリアする旨の指示を作業者から受け付ける。つまり、クリア指示ボタン336がマウスによりクリック操作された直後は、手動検出結果表示領域320から全ての手動検出位置マーク351が削除されるとともに、個数画像352が示す個数は0になる。クリア指示ボタン336は、例えば、消しゴムを表す画像により表現することができる。
除外指示アイコン337は、現在のモードが通常モードと除外領域指定モードとのうちのいずれのモードであるのかを示す。例えば、除外指示アイコン337は、通常モードのときは普通に表示され、除外領域指定モードのときは凹んで表示される。なお、除外指示アイコン337がクリック操作される度に、通常モードと除外領域指定モードとの間でモードが切り替わる。そして、例えば、通常モードのときは、マウスのドラッグ操作によっては何も実行されず、除外領域指定モードのときは、マウスのドラッグ操作によって除外領域が指定される。
画面300に表示される内容を示すデータは、例えば、RAM103、記憶装置104などに記憶される。このようなデータは、例えば、撮像画像を構成する各画素の輝度値、自動検出位置マーク341の個数や各々の位置や大きさ、手動検出位置マーク351の個数や各々の位置、下限長、上限長、閾値、最短短辺長、最長長辺長、ポインタ331の位置、除外指示アイコン337の状態などである。
次に、図4〜図6を参照して、本実施形態に係るコロニー計数支援装置100が実行するラベリング処理について説明する。なお、以下に説明するラベリング処理の他、種々のラベリング処理を、本発明に採用することができる。なお、理解を容易にするため、撮像画像は、縦方向の16行×横方向の16行=256画素により構成されるものとして説明する。
まず、CPU101は、撮像画像を二値化する。例えば、撮像画像がモノクロ画像である場合、CPU101は、撮像画像を構成する各画素の輝度値が閾値以上であるか否かを判別し、判別結果に従って各画素を二値化する。二値化処理により、例えば、撮像画像を構成する各画素が0〜255までの256階調で表現されている場合でも、二値化後の撮像画像を構成する各画素が0もしくは1の2階調で表現される。ここで、コロニー210のように暗い部分を示す画素の輝度値は0(黒)になり、培地200のように明るい部分を示す画素の輝度値は1(白)にされる。
なお、閾値は、例えば、コロニー210を示す画素の輝度値よりも十分に高く、培地200を示す画素の輝度値よりも十分に低い輝度値に設定される。本実施形態では、閾値は、閾値スライダ334によって設定されるが、あらかじめ定められていてもよい。閾値は、撮像環境、コロニー210を構成する微生物の種類、培地の素材などにより、適宜調整される。
一方、撮像画像がカラー画像である場合、CPU101は、撮像画像をグレースケール画像に変換した後、グレースケール画像を構成する各画素の輝度値が閾値以上であるか否かを判別し、判別結果に従って各画素を二値化する。例えば、NTSC(National Television System Committee)係数による加重平均法を採用して、撮像画像をグレースケール画像に変換することができる。例えば、撮像画像における各色の輝度値をR、G、Bとし、グレースケール画像における輝度値をYとすると、Y=(0.298912*R+0.586611*G+0.114478)である。
図4に、二値化された撮像画像を示す。図4において、ハッチングで示している画素は、輝度値が0(黒)の画素であり、白抜きで示している画素は、輝度値が1(白)の画素である。ここで、輝度値が0(黒)の画素は、コロニー210を示す画素である。従って、輝度値が0(黒)の画素は、撮像画像上において数個のまとまりを構成する。このまとまりのそれぞれは、1つのコロニー210を示し、以下適宜、連結成分という。図4に示す例では、C01、C02、Co3で示される3つの連結成分(3つのコロニー210)が検出された例を示す。
ここで、各連結成分は、ラベル付けして管理することが望まれる。つまり、このラベルにより、連結成分を特定できることが望ましい。以下、図5を参照して、ラベリング処理について説明する。本実施形態では、縦、横、斜め方向に連続している部分を同じラベルにする8連結を採用する例について説明するが、縦、横方向に連続している部分を同じラベルにする4連結を採用することもできる。
まず、CPU101は、ラベリングのために、各々がいずれかの画素に対応する画素数分のラベル番号を格納するための変数をRAM103などに用意する。そして、CPU101は、全てのラベル番号を0に初期化する。ここで、ある画素のラベル番号が0であることは、このある画素がラベル付けされていないことを示し、ある画素のラベル番号が0以外の整数nであることは、このある画素が整数nにラベル付けされていることを示す。また、本実施形態では、画素の輝度値が0(黒)の場合、この画素がラベル付けされ、画素の輝度値が1(白)の場合、この画素がラベル付けされないものとする。
CPU101は、注目画素のラベル番号の更新処理を、注目画素を走査しながら実行することにより、全ての画素のラベル番号の更新処理を実行する。なお、注目画素は、最初は、図5における左上の画素(1行目1列目の画素)であり、右方向(列方向、横軸方向)に向かって1つずつシフトし、右端に至ると1つ下の行の左端の画素にシフトし、以下同様に図5における右下の画素(16行目16列目の画素)までシフトする。
ここで、ラベル番号の更新処理について説明する。まず、注目画素の輝度値が1(白)である場合、注目画素のラベル番号は更新されない。一方、注目画素の輝度値が0(黒)である場合、注目画素のラベル番号が更新される。注目画素のラベル番号が何に更新されるかは、注目画素を基準として、左上の画素、上の画素、右上の画素、左の画素の4つの画素のラベル番号が何であるかに依存する。例えば、図5におけるP34で示される3行目4列目の画素(以下「P34」とする。)が注目画素である場合、P23、P24、P25、P33のラベル番号に応じて、P34のラベル番号が付される。
具体的には、4つの画素のラベル番号が全て0である場合、注目画素に新たなラベル番号が割り振られる。つまり、過去に付されたラベル番号のうち最も大きいラベル番号よりも1大きいラベル番号が注目画素のラベル番号に設定される。一方、4つの画素のラベル番号のいずれかが0でない場合、4つのラベル番号のうちで最も小さいラベル番号(ただし、0以外のラベル番号)が注目画素のラベル番号に設定される。また、4つのラベル番号のうちに、この最も小さいラベル番号以外のラベル番号(ただし、0以外のラベル番号)がある場合、この最も小さいラベル番号以外のラベル番号が付されている全ての画素のラベル番号を、この最も小さいラベル番号に書き換える。
以上説明したラベル番号の更新処理を全ての画素に対して実行すると、ラベリング処理が完了する。図5は、ラベリング処理により、C01、C02、C03の3つの連結成分が検出された例を示している。なお、他のラベル番号により書き換えられたラベル番号は使用されないので、使用されるラベル番号が連番になるようにラベル番号の振り直しをすることが望ましい。
図5に示すように、連結成分は不定形である。しかしながら、連結成分を矩形で近似すると、連結成分の大きさなどを判別する処理などが容易になる。このため、本実施形態では、図6に示すように、連結成分をこの連結成分に外接する矩形で近似する。図6では、C01で示された連結成分をC11で近似し、C02で示された連結成分をC12で近似し、C03で示された連結成分をC13で近似する例を示している。なお、矩形は、撮像画像における縦軸方向(行方向)に平行な2本の線分と、撮像画像における横軸方向(列方向)に平行な2本の線分と、により囲まれる。
なお、コロニー210が単独で存在する場合、このコロニー210に対応する連結成分は、円形であることが予想される。従って、この連結成分は、正方形で近似されて表示されることになる。一方、複数個のコロニー210が重なって存在する場合、これらのコロニー210に対応する連結成分は、不定形の1つの連結成分として検出されることが予想される。従って、この連結成分は、長方形で近似されて表示されることになる。このため、作業者は、短辺と長辺との割合が大きく異なる長方形により連結成分が表示されている場合、撮像画像内におけるこの部分を注意深く観察することにより、コロニー210が正しくカウントされているか否かを判別することができる。作業者は、コロニー210が正しくカウントされていないと判別した場合、入力装置105を操作して、手動検出位置マーク351を追加することができる。
次に、図7を参照して、本実施形態に係るコロニー計数支援装置100の機能的な構成について説明する。図7に示すように、コロニー計数支援装置100は、撮像画像取得部11、コロニー検出部12、反映指示受付部13、表示制御部14、追加指示受付部15、削除指示受付部16、表示補正部17、閾値受付部18、下限長受付部19、上限長受付部20、培地面積検出部21、平均コロニー数算出部22、除外指示受付部23を備える。
撮像画像取得部11は、検体に含まれる微生物の培養後の培地を撮像して得られた撮像画像を取得する。撮像画像は、カラー画像でもよいし、モノクロ画像でもよい。また、撮像画像は、静止画像でもよいし、動画像でもよい。撮像画像取得部11は、例えば、CPU101を含む。
コロニー検出部12は、撮像画像取得部11により取得された撮像画像上において、微生物のコロニー210を検出する。例えば、コロニー検出部12は、撮像画像に対してラベリング処理を実行することで、コロニー210を表す連結成分を検出する。コロニー検出部12は、例えば、CPU101を含む。
反映指示受付部13は、手動検出位置マーク351の反映指示を受け付ける。この反映指示は、自動検出結果表示領域310に表示されている自動検出による検出結果を、手動検出結果表示領域320の表示に反映させる指示である。反映指示受付部13は、例えば、入力装置105や通信装置106を含む。
表示制御部14は、表示装置111が有する画面内における手動検出結果表示領域320に、撮像画像と手動検出位置マーク351とを重ねて表示する。ここで、手動検出位置マーク351は、撮像画像上における、コロニー検出部12により検出されたコロニー210の位置に重ねて表示される。典型的には、表示制御部14は、反映指示受付部13により反映指示が受け付けられたことに応答して、コロニー検出部12により検出されたコロニーに対応する手動検出位置マーク351を手動検出結果表示領域320に表示された撮像画像に重ねて表示する処理を実行する。
なお、反映指示受付部13により反映指示が受け付けられた際に既に手動検出位置マーク351が表示されている場合、表示制御部14は、既に表示されている手動検出位置マーク351に加え、新たに検出されたコロニー210に対応する手動検出位置マーク351をさらに表示してもよい。なお、表示制御部14は、新たに追加する手動検出位置マーク351が、既に表示されている手動検出位置マーク351に重なることになる場合、新たに追加する手動検出位置マーク351の表示を省略することができる。なお、新たに追加する手動検出位置マーク351が、既に表示されている手動検出位置マーク351に重なることは、新たに検出されたコロニー210の位置が、既に検出されたコロニー210の位置と同じであることを意味する。表示制御部14は、例えば、CPU101や表示制御部110を含む。
追加指示受付部15は、手動検出結果表示領域320上における手動検出位置マーク351の追加位置の指定を含む追加指示を受け付ける。追加位置は、例えば、画面300内における座標により示される。なお、CPU101は、手動検出結果表示領域320に表示される撮像画像や自動検出結果表示領域310に表示される撮像画像の画面300内における位置関係を把握しているため、マウスのクリックなどにより指定された画面300内における座標から、撮像画像上の座標を把握することができる。追加指示受付部15は、例えば、入力装置105や通信装置106を含む。
削除指示受付部16は、手動検出結果表示領域320上に表示されている削除対象の手動検出位置マーク351の指定を含む削除指示を受け付ける。削除対象の手動検出位置マーク351の指定は、例えば、画面300内における座標により示される。例えば、マウスがクリックされた画面300内における座標に表示されている手動検出位置マーク351が削除対象に指定される。削除指示受付部16は、例えば、入力装置105や通信装置106を含む。
表示補正部17は、追加指示受付部15により追加指示が受け付けられたことに応答して、追加指示により指定された追加位置に手動検出位置マーク351を新たに追加するように表示制御部14を制御する。また、表示補正部17は、削除指示受付部16により削除指示が受け付けられたことに応答して、削除指示により指定された削除対象の手動検出位置マーク351を削除するように表示制御部14を制御する。表示補正部17は、例えば、CPU101を含む。
なお、表示制御部14は、画面300に、手動検出結果表示領域320に表示されている手動検出位置マーク351の個数をさらに表示してもよい。
また、表示制御部14は、画面300内における自動検出結果表示領域310に、コロニー検出部12により検出されたコロニー210の位置に自動検出位置マーク341が表示されるように、撮像画像と自動検出位置マーク341とを重ねて表示する。
なお、表示制御部14は、画面300に、自動検出結果表示領域310に表示されている自動検出位置マーク341の個数をさらに表示してもよい。
自動検出位置マーク341は、例えば、コロニー検出部12により検出されたコロニー210を、撮像画像の縦方向に平行な線分と撮像画像の横方向に平行な線分とにより構成される矩形の枠で囲む画像である。
閾値受付部18は、輝度値の閾値を受け付ける。閾値受付部18は、例えば、入力装置105や通信装置106を含む。
ここで、表示制御部14は、画面300に、閾値受付部18により受け付けられた閾値とこの閾値の設定可能範囲とを示す閾値スライダ334、をさらに表示してもよい。
また、コロニー検出部12は、この閾値と撮像画像を構成する各画素の輝度値とを比較して撮像画像を二値化することにより、コロニー210を検出することができる。
下限長受付部19は、コロニー210の下限長を受け付ける。下限長受付部19は、例えば、入力装置105や通信装置106を含む。
上限長受付部20は、コロニー210の上限長を受け付ける。上限長受付部20は、例えば、入力装置105や通信装置106を含む。
ここで、表示制御部14は、画面300に、下限長受付部19により受け付けられた下限長とこの下限長の設定可能範囲とを示す下限長スライダ332と、上限長受付部20により受け付けられた上限長とこの上限長の設定可能範囲とを示す上限長スライダ333と、をさらに表示してもよい。
また、コロニー検出部12は、撮像画像上において、撮像画像の縦方向に平行な線分と撮像画像の横方向に平行な線分とにより構成されコロニー210に外接する矩形の短辺の長さがこの下限長よりも長く、かつ、この矩形の長辺の長さがこの上限長よりも短いコロニー210を検出することができる。
また、表示制御部14は、画面300に、これらの矩形の短辺の下限長を撮像画像上における長さで示す下限長提示画像343と、これらの矩形の長辺の上限長を撮像画像上における長さで示す上限長提示画像344と、をさらに表示してもよい。
培地面積検出部21は、撮像画像上における培地の面積を検出する。培地面積検出部21は、例えば、CPU101を含む。
平均コロニー数算出部22は、培地面積検出部21により検出された面積に対する、手動検出結果表示領域320に表示されている手動検出位置マーク351の個数の割合を示す平均コロニー数を算出する。平均コロニー数算出部22は、例えば、CPU101を含む。
除外指示受付部23は、コロニー210の検出の対象から除外する除外領域の指定を含む除外指示を受け付ける。除外指示受付部23は、例えば、入力装置105や通信装置106を含む。
ここで、コロニー検出部12は、撮像画像上における、除外指示受付部23により受け付けられた除外指示に含まれる除外領域以外の領域から、コロニー210を検出してもよい。
この場合、培地面積検出部21は、撮像画像上における、除外指示受付部23により受け付けられた除外指示に含まれる除外領域に含まれない培地の面積を検出してもよい。
次に、本実施形態に係るコロニー計数支援装置100が実行するコロニー係数支援処理について説明する。図8は、コロニー計数支援装置100が実行するコロニー係数支援処理を示すフローチャートである。コロニー計数支援装置100は、例えば、作業者によるコロニー係数支援処理の開始指示が入力装置105に受け付けられたことを検知すると、図8に示すコロニー係数支援処理を開始する。
まず、CPU101は、撮像画像を取得する(ステップS101)。撮像画像の取得元は、典型的には、撮像装置108であるが、記憶装置104、画像記憶部109、通信装置106が通信可能な外部の装置などであってもよい。撮像画像は、モノクロ画像でもよいし、カラー画像でもよい。なお、CPU101は、取得した撮像画像に対して、種々のトリミング処理やフィルタリング処理を実行してもよい。CPU101は、例えば、取得した撮像画像をRAM103に記憶する。
CPU101は、ステップS101の処理を完了すると、初期画面表示を実行する(ステップS102)。例えば、CPU101は、図3に示す画面300のうち、自動検出位置マーク341、手動検出位置マーク351、個数画像342、個数画像352、を除く画像を表示する。つまり、CPU101は、自動検出結果表示領域310と手動検出結果表示領域320とのそれぞれに背景画像としての撮像画像を表示し、さらに、ポインタ331と、下限長スライダ332と、上限長スライダ333と、閾値スライダ334と、反映指示ボタン335と、クリア指示ボタン336と、除外指示アイコン337と、下限長提示画像343と、上限長提示画像344と、を表示する。
CPU101は、ステップS102の処理を完了すると、自動検出処理を実行する(ステップS103)。自動検出処理については、図9を参照して、詳細に説明する。図9は、コロニー計数支援装置100が実行する自動検出処理を示すフローチャートである。
まず、CPU101は、撮像画像を二値化する(ステップS201)。撮像画像がモノクロ画像である場合、CPU101は、撮像画像を構成する各画素の輝度値を、閾値スライダ334の操作などにより設定された閾値よりも大きいか否かに従って、0と1とのいずれかの輝度値に二値化する。一方、撮像画像がカラー画像である場合、CPU101は、撮像画像をグレースケール画像に変換した後、モノクロ画像の場合と同様に、撮像画像を二値化する。二値化された撮像画像は、例えば、図4に示す画像である。CPU101は、例えば、二値化された撮像画像をRAM103に記憶する。なお、閾値は、例えば、記憶装置104などに記憶されているものとする。
CPU101は、ステップS201の処理を完了すると、二値化された撮像画像をラベリングする(ステップS202)。ラベリングについては、図5の説明において詳細に説明したので、ここでの説明は省略する。ラベリングにより、図5にC01、C02、C03として示しているような連結成分が検出される。なお、CPU101は、例えば、自動検出により検出された各連結成分に関する情報(以下「自動検出用連結成分情報」という。)を、配列としてRAM103に記憶する。自動検出用連結成分情報は、例えば、検出された連結成分を構成する画素の位置(撮像画像上の座標)、検出された連結成分に割り当てられたラベル番号などである。
CPU101は、ステップS202の処理を完了すると、未選択の連結成分があるか否かを判別する(ステップS203)。例えば、CPU101は、RAM103に記憶されている自動検出用連結成分情報の配列を参照して、後述するステップS204において選択されていない連結成分があるか否かを判別する。
CPU101は、未選択の連結成分がないと判別すると(ステップS203:NO)、自動検出処理を終了する。一方、CPU101は、未選択の連結成分があると判別すると(ステップS203:YES)、連結成分を1つ選択する(ステップS204)。例えば、CPU101は、RAM103に記憶されている自動検出用連結成分情報の配列を参照して、未選択の連結成分の中から1つの連結成分を選択する。なお、CPU101は、連結成分が選択済みであるか否かを、RAM103に記憶されている、連結成分毎に用意されたフラグにより識別することができる。
CPU101は、ステップS204の処理を完了すると、選択された連結成分に外接する矩形を求める(ステップS205)。この矩形は、例えば、図6にC11、C12、C13として示している近似された連結成分の外形である。CPU101は、例えば、自動検出用連結成分情報にこの矩形に関する情報を含めてRAM103に記憶する。この矩形に関する情報は、例えば、撮像画像における縦方向(行方向)における長さや、撮像画像における横方向(列方向)における長さである。
CPU101は、ステップS205の処理を完了すると、矩形のサイズが所定の範囲内であるか否かを判別する(ステップS206)。例えば、CPU101は、矩形を短辺の長さが、下限長スライダ332の操作などにより設定された下限長よりも長く、かつ、上限長スライダ333の操作などにより設定された上限長よりも短い場合、矩形のサイズが所定の範囲内であると判別する。一方、CPU101は、矩形を短辺の長さが下限長よりも短く、もしくは、上限長よりも長い場合、矩形のサイズが所定の範囲内でないと判別する。なお、下限長や上限長は、例えば、記憶装置104などに記憶されているものとする。
CPU101は、矩形のサイズが所定の範囲内であると判別した場合(ステップS206:YES)、ステップS203に処理を戻す。一方、CPU101は、矩形のサイズが所定の範囲内でないと判別した場合(ステップS206:NO)、ステップS204で選択された連結成分を削除する(ステップS207)。具体的には、CPU101は、RAM103に記憶されている自動検出用連結成分情報の配列から、ステップS204選択された連結成分の連結成分情報を削除する。なお、CPU101は、適宜、自動検出用連結成分情報に含まれるラベル番号の振り直しを実行する。
なお、連結成分のサイズはコロニー210のサイズであるが、コロニー210のサイズは予測される範囲であるはずである。従って、連結成分のサイズが予測される範囲を超える場合、この連結成分はコロニー210を表すものではないと判断される。CPU101は、ステップS207の処理を完了すると、ステップS203に処理を戻す。
CPU101は、ステップS103の処理を完了すると、自動検出結果表示領域更新処理を実行する(ステップS104)。自動検出結果表示領域更新処理については、図10を参照して詳細に説明する。図10は、コロニー計数支援装置100が実行する自動検出結果表示領域更新処理を示すフローチャートである。
CPU101は、未選択の連結成分があるか否かを判別する(ステップS301)。具体的には、CPU101は、RAM103に記憶されているフラグなどを参照して、全ての連結成分が後述するステップS302において選択済みであるか否かを判別する。
CPU101は、未選択の連結成分があると判別すると(ステップS301:YES)、未選択の連結成分の中から連結成分を1つ選択する(ステップS302)。
CPU101は、ステップS302の処理を完了すると、自動検出位置マーク341を描画する(ステップS303)。例えば、CPU101は、RAM103に記憶されている、ステップS302で選択された連結成分に関する自動検出用連結成分情報を参照して、撮像画像上における、この連結成分に外接する矩形の位置やサイズを特定する。なお、矩形のサイズは、短辺の長さと長辺の長さとにより決定される。そして、CPU101は、自動検出結果表示領域310に表示されている撮像画像上の特定した位置に、特定したサイズの自動検出位置マーク341を重ねて表示する。CPU101は、ステップS303の処理を完了すると、ステップS301に処理を戻す。
一方、CPU101は、未選択の連結成分がないと判別すると(ステップS301:NO)、自動検出位置マーク341の数をカウント値として表示する(ステップS304)。例えば、CPU101は、自動検出位置マーク341の数を表す個数画像342を自動検出結果表示領域310の下部に表示する。なお、CPU101は、自動検出位置マーク341の数を、適宜、RAM103などに記憶する。
CPU101は、ステップS304の処理を完了すると、CPU101は、ステップS305の処理を完了すると、自動検出結果表示領域更新処理を完了する。
CPU101は、ステップS104の処理を完了すると、反映指示があるか否かを判別する(ステップS105)。具体的には、CPU101は、入力装置105から供給される制御信号などを監視して、作業者から入力装置105に対して反映指示に対応する操作がなされたか否かを判別する。例えば、反映指示は、反映指示ボタン335のクリック操作により実行される。
CPU101は、反映指示があると判別すると(ステップS105:YES)、手動検出結果表示領域更新処理を実行する(ステップS106)。手動検出結果表示領域更新処理については、図11を参照して詳細に説明する。図11は、コロニー計数支援装置100が実行する手動検出結果表示領域更新処理を示すフローチャートである。
まず、CPU101は、手動検出用連結成分情報を生成する(ステップS401)。具体的には、CPU101は、RAM103などに記憶されている自動検出用連結成分情報の配列に基づいて、手動検出用連結成分情報の配列を生成し、RAM103に記憶する。手動検出用連結成分情報は、例えば、自動で検出された連結成分もしくは手動で追加された連結成分を構成する画素の位置(撮像画像上の座標)、自動で検出された連結成分もしくは手動で追加された連結成分に割り当てられたラベル番号などである。なお、手動検出用連結成分情報の配列が既に存在する場合(既に手動検出位置マーク351が表示されている場合)、自動検出用連結成分情報の配列に基づいて新たに生成された手動検出用連結成分情報を、手動検出用連結成分情報の配列に追加する。
CPU101は、ステップS401の処理を完了すると、未選択の連結成分があるか否かを判別する(ステップS402)。具体的には、CPU101は、RAM103に記憶されているフラグなどを参照して、全ての連結成分が後述するステップS403において選択済みであるか否かを判別する。
CPU101は、未選択の連結成分があると判別すると(ステップS402:YES)、未選択の連結成分の中から連結成分を1つ選択する(ステップS403)。
CPU101は、ステップS403の処理を完了すると、手動検出位置マーク351を描画する(ステップS404)。例えば、CPU101は、RAM103に記憶されている、ステップS403で選択された連結成分に関する自動検出用連結成分情報を参照して、撮像画像上における、この連結成分の位置を特定する。そして、CPU101は、手動検出結果表示領域320に表示されている撮像画像上の特定した位置に、手動検出位置マーク351を重ねて表示する。CPU101は、ステップS404の処理を完了すると、ステップS402に処理を戻す。
一方、CPU101は、未選択の連結成分がないと判別すると(ステップS402:NO)、手動検出位置マーク351の数をカウント値として表示する(ステップS405)。例えば、CPU101は、手動検出位置マーク351の数を表す個数画像352を手動検出結果表示領域320の下部に表示する。なお、CPU101は、手動検出位置マーク351の数を、適宜、RAM103などに記憶する。CPU101は、ステップS404の処理を完了すると、手動検出結果表示領域更新処理を完了する。
CPU101は、反映指示がないと判別した場合(ステップS105:NO)、もしくは、ステップS106の処理を完了した場合、編集指示があるか否かを判別する(ステップS107)。具体的には、CPU101は、入力装置105から供給される制御信号などを監視して、作業者から入力装置105に対して編集指示に対応する操作がなされたか否かを判別する。例えば、編集指示は、手動検出結果表示領域320に表示されている撮像画像に対するクリック操作(追加指示)、手動検出結果表示領域320に表示されている手動検出位置マーク351に対するCtrlキーを押しながらのクリック操作(削除指示)、クリア指示ボタン336のクリック操作(全削除指示)である。
CPU101は、編集指示があると判別すると(ステップS107:YES)、手動検出位置マーク351を編集する(ステップS108)。編集指示は、手動検出位置マーク351の追加指示、手動検出位置マーク351の削除指示、もしくは、手動検出位置マーク351の全削除指示である。
CPU101は、追加指示があると判別した場合、クリック操作がなされた位置に基づいて決定される撮像画像上の座標を含む自動検出用連結成分情報を、自動検出用連結成分情報の配列に追加する。そして、CPU101は、クリック操作がなされた位置に、手動検出位置マーク351を新たに表示する。さらに、CPU101は、RAM103に記憶されている手動検出位置マーク351の数を1つ増加させる。そして、CPU101は、増加後の個数を示す個数画像352を表示する。
CPU101は、削除指示があると判別した場合、Ctrlキーが押されている状態においてクリック操作がなされた位置に表示されている手動検出位置マーク351の自動検出用連結成分情報を、自動検出用連結成分情報の配列から削除する。そして、CPU101は、クリック操作がなされた位置に表示されている手動検出位置マーク351の表示を消す。さらに、CPU101は、RAM103に記憶されている手動検出位置マーク351の数を1つ減少させる。そして、CPU101は、減少後の個数を示す個数画像352を表示する。
CPU101は、全削除指示があると判別した場合、全ての手動検出位置マーク351の自動検出用連結成分情報を、自動検出用連結成分情報の配列から削除する。そして、CPU101は、全ての手動検出位置マーク351の表示を消す。さらに、CPU101は、RAM103に記憶されている手動検出位置マーク351の数を0にする。そして、CPU101は、0を示す個数画像352を表示する。
CPU101は、編集指示がないと判別した場合(ステップS107:NO)、もしくは、ステップS108の処理を完了した場合、スライダ操作があるか否かを判別する(ステップS109)。具体的には、CPU101は、入力装置105から供給される制御信号などを監視して、作業者から入力装置105に対してスライダ操作がなされたか否かを判別する。例えば、スライダ操作は、下限長スライダ332、上限長スライダ333、閾値スライダ334に対するドラッグ操作により実行される。
CPU101は、スライダ操作があると判別すると(ステップS109:YES)、スライダに対応するパラメータを変更する(ステップS110)。スライダ操作は、下限長スライダ332による下限長の変更指示、上限長スライダ333による上限長の変更指示、閾値スライダ334による閾値の変更指示、のうちのいずれかである。
CPU101は、下限長の変更指示があると判別した場合、RAM103に記憶されている下限長を、下限長スライダ332の位置に基づいて決定される下限長で更新し、下限長提示画像343を再描画する。CPU101は、上限長の変更指示があると判別した場合、RAM103に記憶されている上限長を、上限長スライダ333の位置に基づいて決定される上限長で更新し、上限長提示画像344を再描画する。CPU101は、閾値の変更指示があると判別した場合、RAM103に記憶されている閾値を、閾値スライダ334の位置に基づいて決定される閾値で更新する。
CPU101は、ステップS110の処理を完了すると、ステップS103に処理を戻し、自動検出処理を実行する。つまり、下限長、上限長、閾値などのパラメータのうちのいずれかが変更された場合、変更後のパラメータを用いた自動検出処理が再度実行される。
一方、CPU101は、スライダ操作がないと判別した場合(ステップS109:NO、除外指示があるか否かを判別する(ステップS111)。具体的には、CPU101は、入力装置105から供給される制御信号などを監視して、作業者から入力装置105に対して除外指示がなされたか否かを判別する。例えば、除外指示は、除外領域指定モード中における、自動検出結果表示領域310に表示されている撮像画像に対するポインタ338のドラッグ操作により実行される。なお、CPU101は、RAM103に記憶されている、除外指示アイコン337の状態と連動するフラグを参照することにより、現在のモードが、通常モードであるのか、除外領域指定モードであるのかを判別することができる。
CPU101は、除外指示があると判別すると(ステップS111:YES)、除外領域を設定する(ステップS112)。除外領域の設定については、図12を参照して、詳細に説明する。
除外領域指定モード中は、図12に示すように、ポインタ331の代わりにポインタ338が画面300に表示される。ポインタ338は、円形のポインタである。自動検出結果表示領域310のうち、ドラッグ操作中にポインタ338が通過した領域360に対応する撮像画像内の領域(以下「除外領域」という。)が、コロニー210の検出対象から除外される。例えば、CPU101は、RAM103に記憶されている撮像画像を構成する画素のうち、除外領域に対応する画素の輝度値を全て最大の輝度値(255)にする(除外領域を真っ白にする。)。なお、除外領域が設定された場合、CPU101は、例えば、除外領域情報をRAM103に記憶する。除外領域情報は、撮像画像を構成する画素のうち、除外領域に対応する全ての画素を特定可能な情報であってもよいし、撮像画像を構成する画素のうち、除外領域に対応する画素の個数を特定可能な情報であってもよい。
CPU101は、ステップS112の処理を完了すると、ステップS103に処理を戻し、自動検出処理を実行する。つまり、除外領域が設定された場合、再度、自動検出処理が実行される。
一方、CPU101は、除外指示がないと判別した場合(ステップS111:NO、終了指示があるか否かを判別する(ステップS113)。具体的には、CPU101は、入力装置105から供給される制御信号などを監視して、作業者から入力装置105に対して終了指示がなされたか否かを判別する。終了指示は、例えば、コロニー計数支援処理の終了指示に割り当てられたキーの押圧操作である。
CPU101は、終了指示がないと判別した場合(ステップS113:NO)、ステップS105に処理を戻す。一方、CPU101は、終了指示があると判別した場合(ステップS113:YES)、補正コロニー数を算出する(ステップS114)。
具体的には、まず、CPU101は、単位面積あたりの平均コロニー数を求める。ここで、平均コロニー数=連結成分数÷(培地面積−除外領域の面積)、である。なお、連結成分数は、個数画像352により示される個数である。また、培地面積は、撮像画像を構成する画素のうち、第1の閾値よりも高く、かつ、第2の閾値よりも低い輝度値の画素の個数により特定可能である。そして、除外領域の面積は、RAM103に記憶されている除外領域情報により特定可能である。
そして、CPU101は、補正コロニー数を求める。ここで、補正コロニー数=連結成分数+平均コロニー数×除外領域の面積、である。なお、異物の映り込みなどにより撮像画像に適切でない領域が含まれている場合、この適切でない領域は除外領域に設定される。そして、除外領域以外の領域について、平均コロニー数が求められる。一方、除外領域に存在していると推定されるコロニーの個数は、この平均コロニー数により求められる。このように、本実施形態のコロニー計数支援装置100は、コロニー210のカウントに不適当な異常領域が培地200内に存在する場合でも、面積補正により、適切にコロニー210の個数を求めることができる。CPU101は、平均コロニー数や補正コロニー数を、記憶装置104に記憶したり、画面300内に表示したりすることができる。
本実施形態によれば、作業者は、自動で検出された撮像画像上におけるコロニー210の位置や大きさを確認しながら、手動で撮像画像上にコロニー210を追加したり、手動で撮像画像上のコロニー210を削除したりすることができる。このため、作業者は、手動でコロニー210をカウントする場合よりも速やかにコロニー210をカウントできるとともに、コロニー210の自動検出による結果が疑わしい場合には、容易にコロニー210の検出結果を補正することができる。
なお、自動検出結果表示領域310に表示される自動検出位置マーク341の位置や個数は、最新の検出条件(閾値、下限長、上限長など)による検出結果に基づいて決定される。一方、手動検出結果表示領域320に表示される手動検出位置マーク351の位置や個数は、過去の検出条件による検出結果や手動による編集結果に基づいて決定される。従って、作業者は、検出条件を適宜変更しながら自動検出による検出結果の妥当性などを判定することにより、コロニー210の正確な個数を求めることができる。
(変形例)
本発明は、上記実施形態に開示したものに限られない。
上記実施形態では、自動検出結果表示領域310と手動検出結果表示領域320とが左右に並べられている例を示した。本発明において、自動検出結果表示領域310と手動検出結果表示領域320との位置関係は、この例に限定されない。例えば、自動検出結果表示領域310と手動検出結果表示領域320とが上下に並べて設定されてもよいし、自動検出結果表示領域310と手動検出結果表示領域320とが別々の移動可能なウインドウにより示されてもよい。また、本発明において、自動検出結果表示領域310が設定されていなくてもよい。この場合でも、作業者は、手動検出結果表示領域320に表示された情報に基づいて、コロニーのカウント数を補正することができる。
上記実施形態では、自動検出結果表示領域310と手動検出結果表示領域320とのそれぞれに、撮像画像の一部が拡大表示されている例を示した。本発明において、撮像画像の表示方法はこの例に限定されない。例えば、撮像画像が自動検出結果表示領域310と手動検出結果表示領域320とのそれぞれにおいて、そのまま表示されてもよい。また、例えば、除外領域の設定、手動検出位置マーク351の追加や削除の際に、アンドゥー操作が有効にされていてもよい。
下限長スライダ332、上限長スライダ333、閾値スライダ334、反映指示ボタン335、クリア指示ボタン336、除外指示アイコン337、下限長提示画像343、上限長提示画像344、個数画像342、個数画像352などの有無、形状、配置などが図3に示す例に限定されないことはもちろんである。なお、これらの画像が示すデータは、適宜、記憶装置104などに記憶され、後に作業者により確認されてもよい。また、自動検出位置マーク341や手動検出位置マーク351の形状も適宜調整が可能である。さらに、これらの画像、アイコン、ボタンなどの色も適宜調整が可能である。
上記実施形態では、反映指示により、手動検出結果表示領域320に既に表示されている手動検出位置マーク351に加え、さらに自動検出位置マーク341に対応する手動検出位置マーク351が追加表示される例を示した。本発明において、反映指示により、手動検出結果表示領域320に既に表示されている手動検出位置マーク351に代えて、自動検出位置マーク341に対応する手動検出位置マーク351が表示されてもよい。つまり、反映指示は、上記実施形態におけるクリア指示と反映指示との双方を指示するものであってもよい。
上記実施形態では、コロニー計数支援装置100がCPU101とROM102とRAM103とを備え、CPU101が、ROM102に記憶されているプログラムに従って、ソフトウェアによりコロニー計数支援処理が実現される例を示した。しかし、コロニー計数支援装置100が実行するコロニー計数支援処理は、ソフトウェアにより実現されるものに限定されない。例えば、コロニー計数支援装置100は、マイクロコンピュータ、FPGA(Field Programmable Gate Array)、PLD(Programmable Logic Device)、DSP(Digital Signal Processor)などにより構成されてもよい。
なお、本発明に係るコロニー計数支援装置は、専用のシステムによらず、通常のコンピュータシステムを用いても実現可能である。例えば、コンピュータに、上記動作を実行するためのプログラムを、フレキシブルディスク、CD−ROM(Compact Disk-Read Only Memory)、DVD(Digital Versatile Disk)、MO(Magnet Optical Disk)などのコンピュータ読み取り可能な記録媒体に記憶して配布し、これをコンピュータシステムにインストールすることにより、上述の処理を実行するコロニー計数支援装置を構成しても良い。さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを記憶しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。