以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係る観察システム10の構成例を示す。観察システム10は、観察装置12、撮像装置14、センサ16、記憶装置20、表示装置18、入力装置22、および制御装置100を備える。観察システム10は、観察装置12が観察対象を撮像した対象画像を、ユーザの行動情報および観察装置12に対するユーザの操作を示す操作情報とともに記録し、記録された履歴を表示する。
観察装置12は、試料の表面または内部の固体、液体、または生物等の対象物の画像を表示し、ユーザは当該対象物の表面形状等を観察する。観察装置12は、一例として、制御装置100に接続された光学顕微鏡である。これに代えて、観察装置12は、レーザ顕微鏡、電子顕微鏡、X線顕微鏡、超音波顕微鏡、マイクロスコープ、望遠鏡、または双眼鏡等の観察対象を観察して観察データ(画像、信号等)を得る任意の装置であってよい。試料は、観察対象が保持されたプレパラート、ディッシュ、またはウェルプレートであってよい。観察装置12は、一例としてCCD、またはCMOS等の撮像素子を有し、当該撮像素子および光学系を用いて対象を撮像する。観察装置12は、撮像した対象画像を制御装置100に送信する。
撮像装置14は、制御装置100に接続され、観察装置12を操作しているユーザを撮像する。撮像装置14は、撮像画像を制御装置100に有線または無線で送信する。撮像装置14は、例えば、スチールカメラ、ビデオカメラ、または赤外線カメラ等である。撮像装置14は、ユーザおよび観察装置12を撮像可能な位置に設置されてよく、例えば、観察装置12自体、観察装置12が設置された防振台、天井、または壁に設けられる。また、撮像装置14は、パーソナルコンピュータの内蔵カメラであってもよい。
1または複数のセンサ16は、制御装置100に接続され、観察装置12が設置された外部環境の状態、ユーザの身体に関する情報、および/または音声等を検出する。センサ16は、検出データを制御装置100に有線または無線で送信する。センサ16は、外部環境として気温、気圧、湿度、環境音、または明るさ等を検出してよい。また、センサ16は、ユーザが発した音声を検出するマイクロフォン等を含んでよい。また、少なくとも一部のセンサ16は、接触または非接触で、ユーザの心拍、脳波、および体温等を検出してよい。
表示装置18は、制御装置100に接続され、観察装置12で撮像された試料の対象画像、観察装置12に対するユーザの操作の履歴、および/またはユーザの行動の履歴を、制御装置100から受信して表示する。表示装置18は、例えば、CRT、液晶ディスプレイ、プラズマディスプレイ、有機ELディスプレイ、またはプロジェクタ等であり、複数人での観察を可能とすべく大画面を有していてもよい。
入力装置22は、制御装置100に接続され、マウス、キーボード、タッチパネル、またはペンタブレット等であってよく、ユーザからの指示を取得して制御装置100に送信する。また、入力装置22は、音声認識が可能な装置であってよく、ユーザからの指示を、音声により入力してよい。ユーザは、例えば、観察装置12の観察条件の変更、観察対象の撮像、または制御装置100による画像処理等についての指示を入力装置22に入力する。
なお、入力装置22および表示装置18は、スマートフォン、タブレット、またはパーソナルコンピュータ等の制御装置100とは分離したユーザ端末に含まれてよい。ユーザ端末は、画面を有し、当該画面上に試料の画像等を表示する表示装置18として機能するだけでなく、タッチパネル等のポインティングデバイスを有し、入力装置22としても機能する。
記憶装置20は、制御装置100に接続され、制御装置100から送信されるデータを記憶する。記憶装置20は、観察装置12により対象を撮像した対象画像、観察装置12に対する操作情報、およびユーザの行動情報等を記憶する。また、記憶装置20は、制御装置100からの読み出し要求に応じて、指定された対象画像等を制御装置100に送信する。記憶装置20は、制御装置100に直接またはネットワークを介して間接的に接続されたサーバ等であってよい。
制御装置100は、接続された各装置を制御する。制御装置100は、操作情報受信部102と、行動情報取得部104と、画像受信部106と、記憶制御部108と、表示処理部110と、例外処理部112と、信頼性判定部114と、を備える。
操作情報受信部102は、対象の観察に用いられる観察装置12をユーザが操作して対象を観察している期間等において、操作情報を観察装置12から受け取り、受け取った操作情報を、記憶制御部108を介して記憶装置20に記憶させる。操作情報は、観察装置12自体で検出可能なユーザの操作を示す情報であってよい。操作情報受信部102は、例えば、観察装置12に接続され、ユーザが観察装置12の観察条件を変更した際に当該変更された観察条件の情報を観察装置12から受信する。また、操作情報受信部102は、ユーザから入力装置22を介してまたは観察装置12に直接入力された観察装置12の観察条件の変更指示を受信して、受信した変更指示の内容を記憶装置20に記憶させてもよい。
行動情報取得部104は、観察装置12を操作しているユーザの行動を観察して得られた行動情報を取得する。行動情報取得部104は、撮像装置14に接続され、ユーザを撮像した撮像画像を撮像装置14から受信し、当該撮像画像に基づいて、ユーザの行動情報を取得する。また、行動情報取得部104は、センサ16から、観察装置12が設置された室内の外部環境の状態データ、またはユーザが発した音声の録音データ等を受信して、受信したデータに基づいて行動情報を取得してよい。
画像受信部106は、観察装置12に接続され、観察装置12に対するユーザの操作に応じた観察条件で観察装置12により撮像された対象画像を受信する。制御装置100は、例えば、観察条件が所定期間変更されていないことを検出すると撮像指示を観察装置12に送信し、画像受信部106は、当該撮像指示に応じて撮像された対象画像を受信してよい。また、画像受信部106は、ユーザによる撮像指示に応じて撮像された対象画像を受信してよい。また、画像受信部106は、観察条件の変更および撮像操作を自動で行う観察装置12から、撮像された対象画像を受信してもよい。
信頼性判定部114は、操作情報および行動情報の少なくとも一方に基づいて、ユーザの観察作業の信頼性を判定する。信頼性判定部114は、操作情報受信部102および行動情報取得部104に接続され、操作情報受信部102からの観察装置12の操作情報および行動情報取得部104からのユーザの行動情報の少なくとも一方を受信する。信頼性判定部114は、判定した信頼性を、画像受信部106が受信した対象画像、行動情報、および/または操作情報とともに記憶制御部108に送信して、記憶装置20に記憶させる。
記憶制御部108は、記憶装置20に接続され、操作情報受信部102で受け取った操作情報の履歴、行動情報取得部104で取得した行動情報の履歴、信頼性判定部114が判定した信頼性、および画像受信部106が受信した対象画像を、記憶装置20に格納する。記憶制御部108は、これらの情報を、取得した時刻とともに記憶装置20に記憶させてよい。ここで、操作情報、行動情報、信頼性、対象画像、および時刻を含む、記憶制御部108によって記憶装置20に記憶させる情報を、まとめて履歴情報とも呼ぶ。また、記憶制御部108は、表示処理部110からの要求に応じて、履歴情報を記憶装置20から受け取り、表示処理部110に送信する。
記憶制御部108は、記憶装置20に格納する履歴情報に改竄防止を施してよい。例えば、記憶制御部108は、観察装置ID(例えば観察装置12のシリアル番号等)、または観察された試料の試料ID、ユーザID、または観察日時等を含めたチェックサムを履歴情報とともに記憶装置20に記憶させることができる。
例外処理部112は、行動情報取得部104が受信した撮像画像内でユーザの行動が観察できない場合に、所定の例外処理を行う。
表示処理部110は、表示装置18に接続され、記憶装置20に格納された履歴情報に基づいて、観察装置12に対するユーザの操作および行動の履歴を表示装置18に表示させる。表示処理部110は、画像表示処理部116と、履歴表示処理部118と、ブラウジング処理部120と、を有する。
画像表示処理部116は、記憶装置20により記憶された履歴情報を用いて、異なる観察条件で撮像された複数の対象画像を表示装置18の表示画面に表示させる。画像表示処理部116は、試料観察について撮像した対象画像を1人または複数人で観察するための画像表示を担う。画像表示処理部116は、入力装置22を介したユーザの入力に応じて、表示画面上での各対象画像のサイズおよび/または配置等を観察条件等に基づいて決定する。そして、画像表示処理部116は、複数の対象画像に画像処理等を施し、当該対象画像を表示装置18に送信して、表示画面に表示させる。画像表示処理部116が表示させる対象画像は、記憶装置20に記憶された対象画像であってよく、観察装置12で現在観察中の試料のライブビューを含んでもよい。
履歴表示処理部118は、記憶装置20に記憶された履歴情報を用いて、観察装置12のユーザによる試料観察の履歴を表示装置18に表示させる。履歴表示処理部118は、現在または過去の観察における観察処理、操作の確認、再現等の履歴表示を担う。履歴表示処理部118は、例えば、入力装置22を介したユーザの入力に応じて、ユーザによる試料観察の履歴を、テキストおよび/または画像の形態で、時系列に配置して表示させる。
ブラウジング処理部120は、記憶装置20に記憶された履歴情報を用いて、複数の対象画像のうち1または複数の対象画像をユーザが選択可能である表示を作成し、表示装置18に表示させる。ブラウジング処理部120は、過去から蓄積された大量の対象画像および履歴を整理して、分かり易く表示するブラウジング処理を担う。ブラウジング処理部120は、対象における複数の位置の中から一の位置が選択されたことに応じて、当該一の位置において観察装置12により異なる観察条件で撮像された複数の対象画像を選択可能に提示する。
図2は、対象画像の撮像および操作情報取得のフローを示す。例えば、観察装置12の電源が投入されることで、制御装置100は、一連の手順を開始する。
ステップS200では、制御装置100は、観察装置12の各構成部の状態を取得して初期設定する。ここで、観察装置12の構成部は、試料の拡大像を生成する光学系(例えば、接眼レンズ、複数の対物レンズ、レボルバ、および鏡筒)、試料を照明する光を生成する照明系、および試料が載置されるステージ等を有してよい。初期設定において、例えば、操作情報受信部102は、観察装置12の光学系、照明系、およびステージからそれらの設定情報を収集する。これに先立って、観察装置12は、鏡筒の光軸方向に関する位置、およびステージの6DOF(Degrees of Freedom)方向それぞれの位置等を較正してもよい。
また、制御装置100は、タイマの設定時間をセットする。タイマの設定時間は、一例として、観察条件が変更されてから、観察装置12によって試料の対象画像を撮像するまでの時間間隔である。制御装置100は、観察条件が最後に変更されてから観察条件が維持された状態で設定時間が経過すると、観察装置12に撮像指示を送信する。設定時間は、予め設定されている時間であってよく、または、入力装置22を介してユーザにより入力されてもよい。
ステップS202では、制御装置100は、観察条件が変更されたことを示すフラグFをクリアし、ゼロとする。
ステップS204では、制御装置100は、観察条件の変更の有無を判断する。操作情報受信部102は、観察装置12に対するユーザからの操作の指示を取得し、観察装置12の各構成部の状態設定の変更を判断する。ユーザは、観察装置12に観察条件の変更指示を入力してよく、またはユーザは、入力装置22に観察条件の変更指示を入力し、制御装置100を介して観察装置12に変更指示を送信してよい。また、操作情報受信部102は、観察装置12に取り付けられたリニアエンコーダ等のセンサによって観察装置12の各構成部の状態が変更されたことを検出してもよい。なお、操作情報受信部102は、観察条件の変更を、操作情報として取得してよい。操作情報は、観察装置12自体で検出可能なユーザの操作を示す情報であってよい。
観察条件の変更は、例えば、倍率の変更、フォーカスの変更、照明条件の変更、ステージの位置(観察位置)の変更、観察条件の再現、および画像処理の変更等を含む。なお、倍率の変更は、接眼レンズの交換および対物レンズの切り替えを含む。フォーカスの変更は、光軸方向への鏡筒およびステージの駆動を含む。照明条件の変更は、照明の輝度、波長、偏光、および絞り等の変更を含む。ステージの位置の変更は、ステージの6DOF方向への移動を含む。観察条件の再現は、過去に設定された観察条件の中からユーザにより選択された観察条件(例えば設定等)を再現することを含む。画像処理は、対象画像を画像処理マスク等により処理すること、および、画像処理により対象画像の特徴または観察された試料の特徴等の特徴量を生成することを含む。なお、制御装置100は、行動情報取得部104により取得された行動情報を用いて観察条件の変更の有無を判断してよい。
ステップS204において判断が肯定されるとステップS208に移行し、否定されるとステップS206に移行する。
ステップS206では、制御装置100は、フラグFが立てられているか否か(Fは1であるか否か)判断する。判断が肯定されるとステップS210に移行し、否定されるとステップS204に戻る。観察装置12の電源が投入された直後の段階では、フラグFはクリアされているので、ステップS204に戻る。すなわち制御装置100は、観察条件が変更されるまで、ステップS204、S206の動作を繰り返す。
ステップS208では、制御装置100は、フラグFを立てる(Fに1を代入する)とともにタイマをスタートさせ、観察条件の変更からの経過時間を計る。
ステップS210では、制御装置100は、設定時間が経過したか否か、またはユーザの撮像指示があったか否かを判断する。制御装置100は、ステップS204において観察条件の変更が検出された後、当該観察条件(観察装置12の設定状態)を維持した状態が継続する時間を、タイマを用いて測定する。そして、制御装置100は、タイマによる計測時間が設定時間を経過したか否かを判断する。制御装置100は、さらに、観察装置12に対してユーザによる撮像指示が入力されたか否かを判断する。いずれかの判断が肯定されるとステップS212に進み、両方の判断が否定されるとステップS204に戻る。
ステップS210の判断が否定された場合のフローをより詳細に説明する。
ステップS204に戻った後、次の観察条件の変更があると、ステップS204の判断が肯定され、制御装置100は、ステップS208,S210を繰り返す。ステップS208では、制御装置100は、フラグFを継続して立て、且つタイマをリセット(リスタート)する。そして、ステップS210において、制御装置100は、リスタートしたタイマにより、観察条件が変更されてから変更後の観察条件を維持した時間が設定時間を経過したか否かを判断する。
ステップS204に戻った後、次の観察条件の変更がないと、ステップS204の判断が否定され、制御装置100はステップS206,S210を繰り返す。ステップS210では、観察条件が最後に変更されたまま設定時間を経過したか否か、またはユーザの撮像指示があるか否かが判断されることとなる。ユーザによる撮像指示を受信すると、または観察条件が最後に変更されたまま設定時間が経過すると、ステップS210の判断が肯定され、ユーザによる観察条件変更の操作が完了したものとして、制御装置100はステップS212に移行する。
ステップS212では、制御装置100は、観察装置12に試料を撮像させる。制御装置100は、観察装置12の撮像素子(不図示)により、現在設定されている観察条件において試料を撮像させる。観察装置12の撮像素子(不図示)は、試料を撮像することによって、対象画像として、静止画像または動画(例えばタイムラプス動画)を取得してよい。なお、対象画像は、観察装置12等により、撮像後の画像に画像処理マスクを適用したものであってよい。また、対象画像は、Z面を変えながら(フォーカス深度を変えながら)撮像していき、当該撮像された画像を重ねて合成した3次元画像であってよい。
ステップS214では、画像受信部106は、観察装置12から対象画像を受信して、受信した対象画像を、記憶制御部108を介して記憶装置20に記憶させる。また、記憶制御部108は、操作情報受信部102が検出した観察条件等の操作情報を受信し、記憶装置20に記憶させる。なお、記憶制御部108は、操作情報受信部102が新たな操作情報を検出する度に操作情報を記憶装置20に記憶させてよく、または、撮像操作の度に1または複数の操作情報を記憶装置20に記憶させてよい。
そして、制御装置100は、観察装置12の電源がオフにされた場合、フローを終了し、電源がオンのままの場合、ステップS202に戻る。
図3は、観察装置12を使用するユーザの行動情報の取得フローを示す。制御装置100は、図2のフローと並行して行動情報の取得フローを行う。観察装置12の電源が投入されることで、制御装置100は、一連の手順を開始する。
ステップS300では、制御装置100は、接続された撮像装置14およびセンサ16から、それらの設定情報を取得して初期設定する。制御装置100は、撮像装置14によって撮像される撮像画像を受信して、撮像画像を解析することにより観察装置12を認識し、観察装置ID、観察装置12の向き、および観察装置12の各構成部の位置(例えば撮像画像内の座標)等を検出する。例えば、制御装置100は、記憶装置20に予め記憶された観察装置12の参照画像(例えば3D画像等)を用いて撮像画像を解析し、観察装置12を認識して、観察装置12の向きおよび各構成部の位置等を検出してよい。
制御装置100は、観察装置12に取り付けられた、識別情報を符号化したパターンを表す識別マーク(識別シール、または光学タグ等)を撮像装置14により撮像し、受信した撮像画像内の当該パターンをデコードして、観察装置12を認識してよい。識別情報は、例えば、観察装置IDおよび/または観察装置12の各構成部を示す情報であってよい。制御装置100は、観察装置12の複数の構成部にそれぞれ対応する複数の識別マークを撮像画像内で認識し、対応する構成部の位置等を検出してよい。また、制御装置100は、観察装置12との相対位置が固定された撮像装置14(例えば観察装置12に直接固定された撮像装置14)を用いてもよい。制御装置100は、相対位置が固定された撮像装置14の撮像画像の各領域(座標)を観察装置12の各構成部に対応付けてもよい。
ステップS302では、行動情報取得部104は、観察装置12を使用するユーザの行動が観察できるか否かを判断する。行動情報取得部104は、撮像装置14から受信される撮像画像において、ユーザの存在が認識できない、ユーザの体の一部が認識できない、または観察装置12の所定領域が観察できない等の場合に、ユーザの行動が観察できないと判断してよい。具体的には、行動情報取得部104は、観察装置12から所定の距離範囲内(例えば1m以内)に人間を検出できない、または撮像画像内のユーザの顔認証ができない場合に、ユーザの行動を観察できないと判断する。また、行動情報取得部104は、撮像画像内でユーザの手が認識できない場合に、ユーザの行動を観察できないと判断してよい。また、行動情報取得部104は、撮像画像内で、ユーザ等により遮蔽されて観察装置12の所定の領域(例えばステージ、補正環、または観察装置12に取り付けられた識別マーク等)が認識できない場合に、ユーザの行動を観察できないと判断してよい。また、行動情報取得部104は、撮像装置14の電源がオフにされた場合に、ユーザの行動を観察できないと判断してよい。
ステップS302において判断が肯定されるとステップS306に移行し、否定されるとステップS304に移行する。
ステップS304では、例外処理部112は、行動情報取得部104からユーザの行動が取得できないことを示す指示を受信することに応じて、例外処理を行う。例外処理としては、警告を出力すること、観察装置12の少なくとも一部の機能を制限すること、および、履歴情報に対して信頼性の低下を示す情報を付加することのうちの少なくとも1つであってよい。具体的には、例外処理部112は、表示装置18の表示画面上にアラートを表示させる、または観察装置12のランプを点灯または点滅させることによって、ユーザに警告を出力してよい。また、例外処理部112は、観察装置12の撮像機能を不能にする、ステージの移動を不能する、または照明をオフにすること等の実行を、観察装置12に指示してもよい。また、例外処理部112は、ステップS302において判断が肯定されるまでの間に取得される履歴情報について、信頼性の低下を示す情報の付加を信頼性判定部114に指示してもよい。制御装置100は、ユーザの行動が観察可能になるまでステップS302およびS304を繰り返し、ユーザの行動が観察可能になるとステップS306に移行する。なお、行動情報取得部104は、ステップ306に移行する場合、信頼性低下の情報の付加を解除する指示を信頼性判定部114に送信してもよい。
ステップS306では、行動情報取得部104は、撮像装置14からの撮像画像およびセンサ16からのデータに基づいてユーザの行動情報を取得する。行動情報取得部104は、補正環の操作または試料の交換等を含む、観察装置12自体では検出できないユーザの操作に関する行動情報を取得してよい。
行動情報取得部104は、撮像装置14からの撮像画像に基づいて、ユーザが観察装置12に対して行った操作を推測し、推測した操作を含む行動情報を取得する。行動情報取得部104は、撮像画像において、観察装置12の構成部にそれぞれ対応する範囲内に、ユーザの手が所定時間入ったことを検知すると、当該構成部をユーザが操作したとする行動情報を取得してよい。記憶装置20は、観察装置12の構成部に行動情報を対応付けたテーブルを記憶してよい。例えば、行動情報取得部104は、補正環に対応する範囲の場合は、テーブルから行動情報「補正環の操作」を取得し、ステージに対応する範囲の場合は、テーブルから行動情報「試料の交換」を取得する。具体的には、行動情報取得部104は、撮像画像において観察装置12の補正環の範囲内にユーザの手が5秒以上入ったことを検出すると、または当該範囲の少なくとも一部が5秒以上撮像装置14から遮蔽されたことを検出すると、当該範囲に対応する「補正環の操作」という行動情報を取得してよい。
また、行動情報取得部104は、マイクロフォン等のセンサ16によってユーザの音声の録音データを検出して、録音データを音声認識して得られたテキストを、ユーザの行動情報として取得してよい。行動情報取得部104は、録音データから得られたテキストの全てまたはテキスト内のキーワードを行動情報として取得してよい。具体的には、行動情報取得部104は、得られたテキスト内から、「サンプルの内容」、「メモ」、または「注意」等のキーワードを検索して、行動情報として取得する。行動情報取得部104は、記録装置に記憶された複数のキーワードを用いて検索してよい。
また、行動情報取得部104は、センサ16により、ユーザの身体に関する情報(例えば、ユーザの心拍、脳波、および体温等)を行動情報として取得してもよい。また、行動情報取得部104は、加速度センサにより観察装置12の揺れまたは傾き等を検出して、行動情報として取得してもよい。また、行動情報取得部104は、センサ16により、観察装置12が設置された室内の気温、湿度、環境音、または明るさ等の外部環境の状態を検出して、ユーザの行動情報を取得してもよい。
ステップS308では、行動情報取得部104は、取得した行動情報を、記憶制御部108を介して記憶装置20に記憶させる。
そして、制御装置100は、観察装置12の電源がオフにされるとフローを終了し、電源オフにされていないと、ステップS302に戻る。
このように、観察システム10は、観察装置に対する操作情報および撮像した対象画像等とともに、ユーザの行動情報を取得して保存することで、観察の再現性および/または信頼性を高めることができる。これにより、例えば観察装置を用いて観察対象を観察した結果に基づいて研究または判断(医療においては治療方針の決定等)を行うことを支援できる。
制御装置100は、取得した操作情報および行動情報を用いて、観察作業の信頼性を判定してよい。制御装置100の信頼性判定部114による信頼性の判定について詳細に説明する。信頼性判定部114は、操作情報受信部102および行動情報取得部104が取得した履歴情報に基づいて、ユーザの観察作業の信頼性を判定する。信頼性判定部114は、履歴情報毎に、対象画像が撮像される毎に、観察される試料毎に、所定の期間毎に、または観察装置12の電源オンからオフまでの期間毎に信頼性を判定してよい。信頼性判定部114は、操作情報受信部102、画像受信部106、および行動情報取得部104から履歴情報を受信した際に当該履歴情報の信頼性を判定してよく、または、記憶装置20に記憶されている履歴情報を取得して、当該履歴情報の信頼性を判定してよい。
信頼性判定部114は、操作、行動、複数の操作の組み合わせ、複数の行動の組み合わせ、操作と行動の組み合わせ、および外部環境の状態等のそれぞれを、信頼度(例えば、点数、パーセント等)と対応付けたテーブルを用いてよい。例えば、信頼性判定部114は、行動情報取得部104から、ユーザの手が試料に接触したことを示す情報、またはユーザがポケット内に手を入れた情報等を受信した場合に、受信後に取得された履歴情報の信頼度を低下させる。また、信頼性判定部114は、行動情報取得部104から、加速度センサにより検出された観察装置12の揺れまたは傾きを示す情報、またはセンサにより検出されたユーザの心拍、脳波、体温、または表情等の異常を示す情報等を受信した場合は、受信後に取得された履歴情報の信頼度を低下させる。信頼性判定部114は、例外処理部112から信頼性低下の指示を受信した後は、所定の期間または例外処理部112から信頼性低下解除の指示を受信するまで、取得した全ての履歴情報の信頼度を低下させる。
例えば、信頼性判定部114は、信頼性判定される対象画像について、前回対象画像を受信してから当該判定される対象画像を受信するまでの間に取得した履歴情報に基づいて、信頼性を判定する。信頼性判定部114は、取得された履歴情報が示す操作等に対応する信頼度をテーブルで検索して、取得した信頼度により、対象画像の信頼性を判定してよい。具体的には、履歴情報として、ステージの移動、倍率の変更、および観察装置12の揺れが記憶装置20に記憶されている場合を説明する。信頼度は、テーブルにおいて、ステージの移動は100%、倍率の変更は100%、ステージの移動と倍率の変更の組み合わせは80%、観察装置12の揺れは20%と規定されているとする。信頼性判定部114は、これらの信頼度の平均値(75%)を算出し、当該平均値を、判定する対象画像の信頼度としてよい。
信頼性判定部114は、算出した信頼度を対象画像等の履歴情報と対応付けて記憶装置20に記憶させてよい。また、信頼性判定部114は、信頼度が所定の閾値より低い履歴情報を、信頼性が低いことを示すフラグとともに記憶装置20に記憶させてもよい。
記憶制御部108は、履歴情報を、信頼度、フラグ、試料ID、観察装置ID、ユーザID、対象画像ID、チェックサム、および/または日時(例えば、観察日時、撮像時刻、または取得時刻等)と対応付けて記憶装置20に記憶させてよい。試料ID、観察装置ID、ユーザID、および対象画像IDは、観察装置12または制御装置100によって自動で割り当てられてよく、またはユーザにより入力装置22を介して入力されたものであってよい。例えば、制御装置100は、各試料に貼り付けたバーコードを読み取ることにより試料IDを取得してよい。また、制御装置100は、試料の特定部位(または全体)の画像から異同をチェックし、異なる試料に別の試料IDを割り当ててよい。具体的には、制御装置100は、試料の少なくとも一部の画像から、ハッシュ等を用いて電子署名を生成し、これを試料IDとして用いてよい。また、試料IDは、試料を採取された人の名前等であってもよい。
記憶制御部108は、ユーザが入力装置22を介してマーキング指示を入力した場合には、履歴情報を、マーキングを示すタグとともに記憶装置20に記憶させてよい。例えば、ユーザは、観察装置12で細胞を観察している際に、悪性の腫瘍であると判断するとマーキング指示を入力する。記憶制御部108は、マーキング指示に応じて、マーキング指示の直前または直後に撮像された対象画像とともにタグを記憶させてよい。
このように、観察システム10は、操作情報、行動情報、対象画像、および信頼性の情報等を相互に関連付けて、保存することができる。
観察システム10は、ユーザの行動情報および観察装置12の操作情報を含む観察の履歴を対象画像等と関連付けて記憶装置20に記憶させる。これにより、制御装置100の表示処理部110は、記憶された履歴情報を用いて、再現性のよい観察履歴の表示を表示装置18に表示させることができる。
制御装置100の表示処理部110は、取得した履歴情報を用いて、観察作業の履歴を表示装置18に表示させることができる。図4は、観察の履歴表示の一例である。表示処理部110に含まれる履歴表示処理部118は、入力装置22を介してユーザから履歴の表示の指示を取得すると、当該指示に応じて、観察の履歴表示を作成し、表示装置18に当該履歴表示を送信して表示させる。履歴表示処理部118は、ユーザにより指定された条件で、記憶制御部108を介して、記憶装置20に記憶された履歴情報を検索して取得する。履歴表示処理部118は、ユーザの行動、観察装置12の観察条件、および対象画像等の履歴を、テキストおよび/または画像として時系列で表示する履歴表示を作成する。履歴表示処理部118は、履歴において補助的な情報を吹き出し等の形式を用いて表示させてよい。
履歴表示処理部118は、複数の履歴をそれぞれボックス内に表示してよい。履歴表示処理部118は、表示する履歴の数と表示装置18の表示画面の大きさとに応じて、複数の履歴をクラスタリングして、クラスタリングされた複数の履歴を代表する1以上又は2以上の履歴のボックスを代表ボックスとして表示する。履歴表示処理部118は、履歴の類似度および/または取得時間に基づいて、ボックス同士をクラスタリングしてよい。
クラスタ分析では、履歴の各々に対して類似度を定義し、その類似度に基づいて複数の履歴を1以上のクラスタに分類する。ここで、類似度は、観察装置12のどの構成部についての履歴であるか、操作の種類、および行動の種類等により決定される。具体的には、履歴表示処理部118は、算出対象の履歴について、当該算出対象の履歴と取得時間の間隔が最も短い履歴との間で類似度を算出する。履歴表示処理部118は、観察装置12の同じ構成部(例えばステージ)を操作した履歴同士の類似度をより大きく算出し、さらに、当該構成部に対する同種の操作(例えばステージを同じ方向へ移動させた)を行った履歴同士の類似度をより大きく算出してよい。履歴表示処理部118は、類似度が所定の閾値を超える履歴同士、または算出した類似度の中で最大の類似度を有する履歴同士を1つのクラスタにクラスタ化する。履歴表示処理部118は、クラスタ化された履歴同士で類似度を算出して、さらにクラスタリングすることで、階層的にクラスタリングを行ってもよい。
図4は、ユーザにより2016年3月18日の履歴を指定された場合の履歴表示の例である。図4に示す履歴では、AM9:00に観察装置12に電源投入し(400)、20倍の対物レンズに変更し(410)、ステージを移動させ(420)、試料を交換し(430)、試料を撮像し(440)、AM12:00に電源をオフ(450)していることが表示されている。「ステージ移動」を示すボックス420は、複数の「ステージ移動」を示すボックス同士がクラスタリングされたものである。「対物20×」を示すボックス410の吹き出し460の情報は、DICスライダおよび補正環が変更されたことを示す。また、「試料の交換」を示すボックス430の吹き出し470の情報は、音声等によるユーザメモが入力されたことを示す。ユーザは、当該吹き出しの枠内を選択することで、対応するユーザの音声を再生することができる。また、「撮像」を示すボックス440の吹き出し480の情報は、撮像時の撮像パラメータである。「撮像」を示すボックス440は、信頼性低下を示すフラグが表示されている例である。「撮像」を示すボックス440は、撮像された対象画像がボックス内に貼り付けられたものであってよい。また、「撮像」を示すボックス440は、対象画像へのリンクが貼り付けられ、ユーザは、当該ボックス440を選択することで、撮像された対象画像を表示させることができる。
なお、制御装置100は、ユーザが、履歴を選択して当該履歴に沿って観察作業を行うことを支援することもできる。制御装置100は、実行中の観察作業の履歴情報を取得しながらユーザの作業をモニタリングし、次の観察作業が実行可能なタイミングで、表示装置18の表示画面または観察装置12等を介して、次の作業を示すプロンプトをユーザに提示してよい。
なお、履歴表示処理部118は、制御装置100によって履歴情報が受信されると、当該履歴情報に対応する画像を表示する(例えば履歴表示に新たなボックスを追加する)ことによって、表示装置18の表示画面に、リアルタイムで履歴を表示させてもよい。
このように、観察システム10は、観察作業中のユーザの行動情報等を反映させた履歴を表示することができる。
さらに、制御装置100の表示処理部110は、取得した履歴情報を用いて、異なる観察条件で撮像された複数の対象画像からなる履歴マップを、表示装置18に表示させることができる。図5は、履歴マップ作成フローを示す。表示処理部110の画像表示処理部116は、ユーザの重要度に応じて、複数の対象画像を表示画面に配置した履歴マップを作成する。
ステップS500では、画像表示処理部116は、ユーザから入力装置22を介して入力された履歴条件を受信する。入力される履歴条件は、観察日時、対象画像ID、試料ID、観察装置ID、および保存フォルダ名の少なくとも1つを含んでよい。
ステップS502では、画像表示処理部116は、ユーザから入力装置22を介して入力された評価項目を受信する。評価項目は、対象画像の撮像タイミングの前後、同一の観察条件をベースに分岐した観察条件の数、観察条件が同一のまま維持された時間の長さ、および、ユーザが対象画像に対してマーキングをしたか否か、の少なくとも1つを含んでよい。
ステップS504では、画像表示処理部116は、表示画面に表示させる複数の対象画像のそれぞれのサイズを、評価項目に基づいて変更する。画像表示処理部116は、入力された履歴条件を満たす複数の対象画像および当該対象画像に対応する履歴情報を、記憶制御部108を介して記憶装置20から取得して、対象画像のサイズを決定する。
画像表示処理部116は、対象画像の撮像タイミングの前後が評価項目として入力された場合には、撮像時刻がより新しい対象画像をより大きいサイズに変更してよい。画像表示処理部116は、同一の観察条件をベースに分岐した観察条件の数(分岐数)が評価項目として入力された場合には、ユーザが再現した回数がより多い(分岐元の)観察条件で撮像した対象画像をより大きいサイズに変更してよい。画像表示処理部116は、観察条件が同一のまま維持された時間の長さ(観察期間)が評価項目として入力された場合には、観察期間がより長い対象画像をより大きいサイズに変更してよい。画像表示処理部116は、ユーザが対象画像に対してマーキングをしたか否かが評価項目として入力された場合には、ユーザがマーキング指示を入力してタグが設定された対象画像を、タグが設定されていない対象画像より大きいサイズに変更してよい。
画像表示処理部116は、ユーザが指定した、複数の評価項目のそれぞれに対する重み付けに応じて、表示画面に表示させる複数の対象画像のそれぞれのサイズを決定する。例えば、画像表示処理部116は、対象画像について、各評価項目についてスコアリング等を行い、複数の対象画像のサイズ比を決定してよい。画像表示処理部116は、記憶装置20に記憶された、複数の評価項目に対する点数を規定したテーブルまたは計算式等を用いてスコアリングを行ってよい。
一例として、3つの対象画像i1、i2、i3について、撮像時刻が同日のAM9:00、AM10:00、AM11:00であり、分岐数が2,1,2であり、観察期間が10分、30分、5分であり、タグが対象画像i2にのみ付けられている場合を説明する。画像表示処理部116は、対象画像i1、i2、i3について、撮像時刻のスコアリングを1点、2点、3点とする。画像表示処理部116は、対象画像i1、i2、i3について、分岐数のスコアリングを2点、1点、2点とする。画像表示処理部116は、対象画像i1、i2、i3について、観察期間のスコアリングを2点、6点、1点とする。画像表示処理部116は、対象画像i1、i2、i3について、タグのスコアリングを0点、5点、0点とする。画像表示処理部116は、対象画像i1、i2、i3について、複数の評価項目の点数の合計を、5点、14点、6点と算出する。画像表示処理部116は、対象画像i1、i2、i3のサイズ比を、i1:i2:i3=5:14:6に決定して各対象画像のサイズを変更してよい。
ステップS506では、画像表示処理部116は、履歴マップを作成して、表示装置18の表示画面上に表示させる。画像表示処理部116は、決定したサイズ比を維持しながら、表示装置18の表示画面の範囲内となるように対象画像を配置してよい。そして、制御装置100は、新たな履歴条件の選択が入力されるとステップS500に戻り、履歴条件の選択がない場合にはフローを終了する。
このようなフローにより表示される履歴マップの例を図6−8に示す。図6は、評価項目が選択されていない場合の履歴マップの一例である。画像表示処理部116は、履歴マップ上に複数の対象画像600、602、604を配置する。画像表示処理部116は、観察条件の遷移の前後に撮像された対象画像同士の間に観察条件の遷移があったことを識別するための遷移表示画像606を表示装置18に表示させる。遷移表示画像606は、観察条件の前後を表す矢印画像であってよく、さらに、観察装置12に対する操作の内容(例えば、移動量等)に応じて種類(例えば、異なる色、形状、線種等)が異なる画像であってよい。画像表示処理部116は、対象画像の類似度等によってクラスタリングを行って、クラスタ化した対象画像600を表示させてよい。画像表示処理部116は、記憶装置20に記憶された対象画像とともに、観察装置12で現在観察中の対象画像(ライブビュー)604を表示させてもよい。
図7は、対象画像の撮像タイミングの前後が評価項目として選択されている場合の履歴マップの一例である。画像表示処理部116は、複数の撮像位置を含む試料の全体画像700を表示画面の下側に配置する。画像表示処理部116は、当該複数の撮像位置のうち1つの位置702をユーザが選択すると、当該選択された位置702で撮像された、観察条件が異なる複数の対象画像704,706,708,710を、遷移表示画像712とともに表示画面の上側に表示させる。画像表示処理部116は、対象画像704,706,708,710を、撮像時刻順にサイズが大きくなっていくように表示させる。
図8は、複数の評価項目が選択されている場合の履歴マップの一例である。対象画像800は、2つの対象画像に分岐しており(分岐数=2)、分岐数が他の対象画像より多いためサイズが大きくなるように変更されている。対象画像802は、ユーザによりタグ806が設定されているため、サイズが大きくなるように変更されている。対象画像804は、最後に撮像された画像であるため、サイズが大きくなるように変更されている。
なお、画像表示処理部116は、記憶装置20に格納された履歴に含まれる操作情報および行動情報と、操作情報および行動情報に対応する観察条件で撮像された対象画像とを対応付けて表示装置18に表示させてもよい。画像表示処理部116は、操作情報および行動情報を示すテキストを、履歴マップの対応する対象画像に関連付けて表示させてよい(例えば対象画像上に重ねてよい)。また、画像表示処理部116は、図4に示す履歴と、図6−8に示す履歴マップとを、表示画面上に、関連付けて同時に表示させてもよい。
なお、画像表示処理部116は、表示された履歴マップにおいて、入力装置22を介してユーザの画像選択が入力されると、対応する対象画像のサイズを大きく表示させてよい。また、画像表示処理部116は、複数のユーザ端末に1つの履歴マップをそれぞれ送信して表示させてよい。
このように、観察システム10は、履歴情報を用いて作成された履歴マップを表示することにより、例えば研究、教室等の現場では、観察装置による観察結果を複数人で共有し、検討する上での利便性を提供できる。
観察システム10は、取得した履歴情報を用いて、複数の対象画像のうち目的の対象画像をユーザに選択させることができる。図9は、対象画像の選択のフローである。図10は、対象画像の選択のための表示の一例である。ブラウジング処理部120は、観察システム10において、HCA(High Content Analysis)等で撮像される大量の対象画像から、目的の対象画像をユーザが選択可能であるように表示を作成して、表示装置18に表示させる。
ステップS900では、ブラウジング処理部120は、ユーザから入力装置22を介して検索条件の指定を受信する。検索条件は、観察日時、観察条件、試料ID、観察装置ID、およびユーザID等を含んでよい。ブラウジング処理部120は、記憶装置20に格納された対象画像の中から、指定された検索条件を満たす複数の対象画像および対応する履歴情報を検索して取得する。記憶装置20に格納された対象画像は、ユーザにより観察条件を変更しながら撮像された対象画像と、コンピュータにより自動で、観察条件を変更しながら撮像された対象画像とを含んでよい。
ステップS920では、ブラウジング処理部120は、ユーザによる対象選択のための対象選択画像を作成し、表示装置18に表示させる。ブラウジング処理部120は、取得した対象画像の履歴情報に基づいて、試料毎に観察範囲を特定し、観察範囲(例えば、視野)を示す1または複数の対象選択画像1000、1010,1020を作成する。例えば、ブラウジング処理部120は、履歴情報から、試料における撮像位置(例えば、座標等)と、倍率による視野の範囲とを算出し、観察範囲を特定する。図10の表示画像aは、例えば、ユーザがステップS900において観察日を検索条件として入力した場合の対象選択画像である。図10の表示画像aは、ディッシュの対象選択画像1000,1010およびウェルプレートの対象選択画像1020を含む。ディッシュ1000,1010は、観察が実施された範囲を示す矩形の観察範囲1030を含む。ブラウジング処理部120は、ウェルプレート1020において、観察が実施されたウェルと観察が実施されていないウェルとを色分け等よって区別表示してよい。
ステップS940では、ブラウジング処理部120は、複数の対象の中からの一の対象の選択を、ユーザから入力装置22を介して受信する。例えば、図10表示画像aでは、ユーザは、ディッシュの対象選択画像1010を選択する。なお、ユーザは、ウェルプレート、複数のディッシュ、またはディッシュおよびウェルプレートを選択してもよい。
ステップS950では、ブラウジング処理部120は、複数の対象の中から一の対象が選択されたことに応じて、当該一の対象における複数の位置の中から一の位置を選択させるためのマップを作成して、表示装置18に表示させる。ブラウジング処理部120は、選択された対象の対象画像上に、撮像位置等を表す選択画像および遷移表示画像を重ねることによって、マップを作成してよい。例えば、図10の表示画像bに示すように、ブラウジング処理部120は、選択された対象選択画像1010に対応するマップ1040を作成する。マップ1040は、試料の対象画像上で、選択可能な撮像位置(例えば、1050、1052、1054)を点で表す。
ステップS960では、ブラウジング処理部120は、マップ1040上で一の位置に対する選択を入力させる。例えば、図10の表示画像bにおいて、ユーザは、複数の撮像位置1050、1052、1054のうち、入力装置22を介して撮像位置1050を選択することができる。
ステップS970では、ブラウジング処理部120は、位置の選択を受信して、検索により取得した対象画像のうち、選択位置において撮像された対象画像の全てまたは一部を表示装置18に表示させる。ブラウジング処理部120は、撮像条件、試薬、撮像後の画像処理マスク、撮像時刻、チャネル、または定量結果等が異なる複数の対象画像を表示させてよい。例えば、図10の表示画像cでは、ブラウジング処理部120は、位相差観察で撮像された動画1060と画像処理マスクが適用された画像1070、および、蛍光観察で撮像された動画1080と画像処理マスクが適用された画像1090を表示させる。
そして、制御装置100は、新たな検索条件が入力されるとステップS900に戻り、検索条件の入力がない場合にはフローを終了する。
なお、ブラウジング処理部120は、記憶装置20に格納された複数の対象画像のうち指定された対象画像同士を比較した結果を表示装置18に表示させてもよい。ユーザが、対象選択(ステップS940)および位置選択(ステップS960)のうちの少なくとも一方において複数選択した場合、ブラウジング処理部120は、異なる位置または異なる対象の対象画像を表示画面上に、並べてまたは重ねて、比較可能に表示させてよい。例えば、ステップS940で、ユーザがウェルプレートの対象選択画像1020を選択した場合には、ブラウジング処理部120は、ステップS960において、当該ウェルプレートの対象選択画像1020における複数のウェルをユーザに選択させてもよい。
このように、観察システム10は、相互に関連付けて記憶された履歴情報を用いて、ブラウジング表示を作成し、ユーザに提示することで、ユーザは、大量の観察結果から目的の結果を効率よく見つけ出すことができる。
図11は、本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びCD−ROMドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部とを備える。
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、CD−ROMドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。CD−ROMドライブ2060は、CD−ROM2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、CD−ROM2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
コンピュータ1900にインストールされ、コンピュータ1900を制御装置100として機能させるプログラムは、設定モジュールと、操作モジュールと、表示処理モジュールと、記憶モジュールと、表示モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、操作情報受信部102、行動情報取得部104、画像受信部106、記憶制御部108、表示処理部110、例外処理部112、および信頼性判定部114としてそれぞれ機能させる。
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である操作情報受信部102、行動情報取得部104、画像受信部106、記憶制御部108、表示処理部110、例外処理部112、および信頼性判定部114として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の制御装置100が構築される。
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、又はCD−ROM2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
また、CPU2000は、ハードディスクドライブ2040、CD−ROMドライブ2060(CD−ROM2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、CD−ROM2095の他に、DVD又はCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。