[第1の実施形態]
第1の実施形態は、細胞等を液体の培養液中で浮遊培養するシステムに関する。一般に浮遊培養は、接着培養の場合に行われる酵素的又は機械的に細胞を培養容器から解離させることを必要とせず、植え継ぎが容易である。また、接着培養の場合のように細胞数が容器の表面積によって制限されず、培養液中で3次元的に細胞を培養できるので、培養のスケールアップが容易である。このため、浮遊培養は、培養細胞を大量に取得したり、大量の細胞から大量のタンパク質を取得したりといった多くの用途に用いられている。浮遊培養では、十分な気体交換のために培養液の適切な撹拌が継続的に必要である。また、浮遊培養では、成長パターンを追跡するために、適時に細胞数をカウントすることが必要である。浮遊培養では、細胞を適切な濃度で撹拌することで、細胞の成長を促進することができる。また、浮遊培養において、細胞数又は細胞塊の大きさ等の情報は、有益な情報になり得る。
本実施形態の培養システムは、カメラを用いて浮遊培養を行っているサンプルの画像を取得する。培養システムは、得られた画像に基づいて、細胞の密度、細胞の形態等を含み得る培養の状況を解析する。培養システムは、培養の状況を取得する解析装置を備えていると言える。培養システムは、解析装置を有する解析システムを含んでいると言える。
〈システム構成〉
本実施形態に係る培養システム10の構成例の概略を図1に示す。培養システム10は、コントローラ100と、カメラ200と、スターラー300と、スピナーフラスコ400とを備える。培養液と細胞等とを含むサンプル500は、スピナーフラスコ400の内部に入れられる。
スピナーフラスコ400は、円筒形状をした容器本体402を有する。ここで、円筒形状とは、おおよそ円筒形状という意味であり、厳密に円筒形状であることを要しない。容器本体402の上部には蓋404が設けられている。蓋404の容器本体402内側の中心部には、回転軸412の上端が、回転自在に取り付けられている。回転軸412は、円筒形状をした容器本体402の中心軸に沿って、下方向に延びて配置される。回転軸412の下端には、スターラーバー452が固定されている。また、回転軸412のスターラーバー452の上側には、複数枚の羽根420が、回転軸412を中心として放射状に設けられている。羽根420は、容器本体402に入れられたサンプル500に浸かるように設けられている。羽根420は、カメラ200によるサンプル500の撮影時に、照明光を反射することが好ましい。このため、羽根420は、例えば白色であったり、鏡面であったりする。
培養時には、サンプル500が入ったスピナーフラスコ400は、後述するスターラー300の上に配置される。容器本体402内のスターラーバー452は、スターラー300によって回転させられる。これに伴って、容器本体402内の羽根420は、回転軸412の周りに回転する。この回転によって羽根420は、サンプル500を撹拌する。
ここに示したスピナーフラスコ400の形態は一例である。同様の機能を有していれば、スピナーフラスコ400は、他の形態を採っていてもよい。
スターラー300は、磁石板352と、モータ354とを備える。磁石板352は、スターラー300上のスターラーバーを回転させるための、磁石を有する回転板である。モータ354は、磁石板352を回転させる。モータ354の回転軸は、磁石板352の中心に接続されている。
また、スターラー300は、第3の入力装置332及び第3の表示装置334を備える。第3の入力装置332は、磁石板352の回転の有無を切り換えるためのスイッチ、及び磁石板352の回転速度を調整するためのつまみ等を含む。第3の表示装置334は、磁石板352の回転の有無及び回転速度等の情報を示す。また、スターラー300は、スターラー300の各部の動作を制御する制御回路等を含む第3の回路群305を備える。
カメラ200は、スピナーフラスコ400内のサンプル500を撮影する。カメラ200は、スピナーフラスコ400の側面に配置される。カメラ200は、撮像素子260を含むカメラ本体202と、レンズユニット250とを備える。レンズユニット250は、撮像素子260上に被写体像を結像させるレンズ群を含む。カメラ200は、被写体を照明する照明光を放射する照明ユニット280を備える。カメラ本体202は、カメラ200の各部の動作を制御する制御回路等を含む第2の回路群205を備える。カメラ200は、支柱290に固定されている。このとき、レンズユニット250がスピナーフラスコ400内のサンプル500と対向するように、カメラ200の向き及び高さ等は調整される。
なお、スピナーフラスコ400内で浮遊又は沈殿する細胞の分布を確認するためにはスピナーフラスコ400を垂直方向に広く撮影する必要がある。一般的にカメラ200の撮像素子260は長方形のものが多い。そこで、カメラ200は、その撮像素子260の長辺が垂直方向となるように配置されることが好ましい。また、スピナーフラスコ400の垂直方向を広く撮影可能であればよいため、カメラ200は、その撮像素子260の斜めの対角が垂直方向となるように配置されてもよい。さらには、広範囲を撮影するために、複数のカメラが配置されてもよい。
本実施形態では、XYZ軸を次のように定義する。カメラ200のレンズユニット250の光軸の向きであって水平方向にZ軸を定義する。鉛直上向き、すなわちスピナーフラスコ400の回転軸412と平行にY軸を定義する。Z軸とY軸とに垂直にX軸を定義する。
コントローラ100は、パーソナルコンピュータ(PC)又はタブレット型情報端末といった情報処理装置である。図1には、タブレット型情報端末が示されている。コントローラ100は、カメラ200と通信し、カメラ200から画像を取得する。コントローラ100は、取得した画像を解析して、必要な情報を算出する。
コントローラ100は、各種演算を行うプロセッサといった回路を含む第1の回路群105を備える。また、コントローラ100は、表示装置及び入力装置としての機能を有するタッチスクリーン133を備える。コントローラ100は、入力装置としてさらに入力ボタン136を備える。コントローラ100は、培養の状況を解析する解析装置として機能する。
コントローラ100及びカメラ200の構成について、さらに図2に示すブロック図を参照して説明する。
コントローラ100は、第1の入力装置132と第1の表示装置134とを含む。第1の入力装置132は、タッチスクリーン133の一部であるタッチパネル、及び入力ボタン136等を含む。第1の表示装置134は、タッチスクリーン133の一部である表示装置等を含む。この表示装置は、液晶ディスプレイ又は有機ELディスプレイ等であり得る。
コントローラ100は、上述の第1の回路群105に含まれ得る、第1のプロセッサ110と、第1の記憶回路116と、第1の通信回路120とを備える。第1のプロセッサ110と、第1の記憶回路116と、第1の通信回路120と、第1の入力装置132と、第1の表示装置134とは、互いに第1のバスライン119を介して接続され得る。
第1のプロセッサ110は、例えば、Central Processing Unit(CPU)、Application Specific Integrated Circuit(ASIC)、Field Programmable Gate Array(FPGA)、又はGraphics Processing Unit(GPU)等の集積回路を含む。第1のプロセッサ110は、1つの集積回路等で構成されてもよいし、複数の集積回路等が組み合わされて構成されてもよい。第1のプロセッサ110は、例えば第1の記憶回路116又は第1のプロセッサ110内の記録領域に記録されたプログラムに従って行われる。
第1の記憶回路116は、起動プログラム等を記録しているRead Only Memory(ROM)、CPUの主記憶装置として機能するRandom Access Memory(RAM)、ストレージ等を含む。RAMには、例えば、Dynamic RAM(DRAM)、Static RAM(SRAM)等が用いられ得る。ストレージには、例えば、Hard Disk Drive(HDD)、Solid State Drive(SSD)、Embedded Multi Media Card(eMMC)等が用いられる。ストレージには、CPUで用いられるプログラム、パラメータ等各種情報が記録されている。
第1の通信回路120は、カメラ200と通信するための回路である。カメラ200との通信は、有線で行われても、無線で行われてもよい。無線で行われる場合、画像の送受信には、例えばWi-Fi(登録商標)といった比較的高速な通信方式が用いられ得る。動作の命令など情報量が少ないデータの送受信には、例えばBluetooth(登録商標)といった、低消費電力な通信方式が用いられてもよい。
カメラ200は、上述のレンズユニット250、撮像素子260、照明ユニット280に加えて、第2の入力装置232と、第2の表示装置234とを備える。第2の入力装置232は、ユーザがカメラ200に指示を入力するための各種装置である。第2の入力装置232は、ボタンスイッチ、ダイヤル、又はタッチパネル等を含み得る。第2の表示装置234は、カメラ200の状態又はカメラ200で撮影した画像等を表示するための表示装置である。第2の表示装置234は、液晶ディスプレイ、又はパイロットランプ等を含み得る。
カメラ200は、上述の第2の回路群205に含まれる、第2のプロセッサ210と、画像処理回路214と、第2の記憶回路216と、第2の通信回路220とを備える。
第2のプロセッサ210は、例えば、CPU、ASIC、又はFPGA等の集積回路を含む。第2のプロセッサ210は、1つの集積回路等で構成されてもよいし、複数の集積回路等が組み合わされて構成されてもよい。第2のプロセッサ210は、例えば第2の記憶回路216又は第2のプロセッサ210内の記録領域に記録されたプログラムに従って行われる。
画像処理回路214は、ASIC又はGPU等の画像処理のための専用集積回路を含み得る。画像処理回路214は、第2のプロセッサ210と別体として設けられず、画像処理回路214の機能が第2のプロセッサ210によって担われてもよい。
第2の記憶回路216は、ROM、RAM、フラッシュメモリ等の必要な記憶媒体を含む。カメラ200は、カメラ200から取り外し可能な記憶媒体が接続されるように構成されていてもよい。
第2の通信回路220は、コントローラ100と通信するための回路である。コントローラ100とカメラ200との通信は、上述のとおり有線で行われても、無線で行われてもよい。無線で行われる場合、画像の送受信には、例えばWi-Fiといった比較的高速な通信方式が用いられ得る。
第2のプロセッサ210、画像処理回路214、第2の記憶回路216、第2の通信回路220、第2の入力装置232、第2の表示装置234、レンズユニット250、撮像素子260、照明ユニット280等は、第2のバスライン219を介して互いに接続されている。
〈システムの動作〉
本実施形態に係る培養システム10では、スターラー300は、スピナーフラスコ400の羽根420を予め設定された回転数で回転させる。カメラ200は、スピナーフラスコ400内のサンプル500の画像を連続的に取得する。カメラ200は、取得した画像をコントローラ100へと送信する。コントローラ100は、カメラ200が撮影した連続画像を取得して、これら画像に基づいて各種解析を行う。コントローラ100が行う解析には、サンプル500内の細胞又は細胞塊の形態、大きさ等の情報、サンプル500における細胞又は細胞塊の数又は密度、培養液のpH等の情報が含まれ得る。
培養システム10の動作について図3を参照して説明する。ステップS101において、コントローラ100は、カメラ200から連続画像を取得する。この連続画像は、カメラ200が連続的に撮影したスピナーフラスコ400内のサンプル500の画像である。連続画像は、動画であってもよいし、複数の静止画の集合であってもよい。何れの場合も連続画像は、複数の画像を含む画像群を形成する。ステップS102において、コントローラ100は、得られた画像の周期的な変化に基づいて、スピナーフラスコ400の羽根420の単位時間当たりの回転数を特定する。
ステップS103において、コントローラ100は、取得した連続画像の中から第1の画像を抽出する。第1の画像は、細胞を単層で観察できる画像である。第1の画像の抽出には、特定した羽根420の回転数の情報も利用され得る。ステップS104において、コントローラ100は、取得した連続画像の中から第2の画像を抽出する。第2の画像は、多層の細胞を観察できる画像である。第2の画像の抽出には、特定した羽根420の回転数の情報も利用され得る。
第1の画像と第2の画像について、図4A及び図4Bを参照して説明する。図4A及び図4Bは、カメラ200の光軸を通るスピナーフラスコ400の水平断面を模式的に示す図である。カメラ200において、カメラ本体202に取り付けられたレンズユニット250は、スピナーフラスコ400の中心の方向を向いている。スピナーフラスコ400は、回転軸412周りに固定された、第1の羽根421、第2の羽根422、第3の羽根423及び第4の羽根424の4枚の羽根を有している。サンプル500は、培養液520と、培養液520内に浮遊している細胞510とを含む。ここで、細胞510は、1つの細胞として、又は複数の細胞が集まった細胞塊として培養液520中に浮遊し得る。図4Aは、第1の画像が取得される際の、カメラ200に対する羽根420の位置を模式的に示す図である。図4Bは、第2の画像が取得される際の、カメラ200に対する羽根420の位置を模式的に示す図である。
第1の画像が取得されるとき、羽根420のうちの1枚が、図4Aの例では第1の羽根421が、レンズユニット250の光軸に沿って位置している。このとき、第1の羽根421の端面431と容器本体402との間に比較的薄い培養液520の層が生じる。この層は、厚さが例えば約5mmとなる。したがって、カメラ200から見たときに、培養液520の奥行きは約5mmに制限される。このため、培養液520中の細胞は、Z方向(レンズユニット250の光軸方向)の存在位置が制限される。その結果、カメラ200は、細胞をほぼ均一の条件で撮像でき、遠くにあるので小さく写るといった誤差を取り除くことができる。したがって、撮影画像に基づく細胞又は細胞塊の大きさの解析の精度は高くなる。また、この層においては、レンズユニット250の光軸方向に1つの細胞又は細胞塊が存在する状態になり得る。言い換えると、レンズユニット250の光軸方向に、細胞塊等が重なり合うことなく単層で存在する状態が生じ得る。このような状態の細胞510を、本実施形態では単層細胞511と称することにする。図4Aに示すような状態のとき、カメラ200は、単層細胞511の画像を第1の画像として取得できる。
第2の画像が取得されるとき、羽根420のうちの2枚の間に、図4Bの例では第1の羽根421と第4の羽根424との間に、レンズユニット250の光軸が位置している。言い換えると、第1の羽根421と第4の羽根424とがレンズユニット250の光軸を挟む。すなわち、何れの羽根420も、レンズユニット250の光軸に沿っていない。このとき、カメラ200から、第1の羽根421の主面432及び第4の羽根424の主面432と容器本体402とに囲まれ比較的厚い培養液520の層が見えることになる。この厚い培養液の層においては、レンズユニット250の光軸方向に複数の細胞又は細胞塊が存在する状態になり得る。言い換えると、カメラ200は、培養液520に多数の細胞510が懸濁された状態を撮影することができる。カメラ200から見えるこのようなサンプル500を、本実施形態では懸濁サンプル512と称することにする。図4Bに示すような状態のとき、懸濁サンプル512の画像が、第2の画像として取得され得る。
ステップS105において、コントローラ100は、抽出した第1の画像に基づいて、例えば以下の解析を行う。コントローラ100は、第1の画像に基づいて、細胞塊などである単層細胞511の形態を解析できる。コントローラ100は、第1の画像に基づいて、細胞塊の大きさを解析できる。コントローラ100は、第1の画像に基づいて、単位面積当たりの単層細胞511の数をカウントし、細胞510の密度を算出できる。
ステップS106において、コントローラ100は、抽出した第2の画像に基づいて、例えば以下の解析を行う。コントローラ100は、第2の画像に基づいて、サンプル500の混濁度を算出し、この混濁度に基づいて懸濁サンプル512中の細胞510の密度を算出できる。細胞510の密度が求まれば、サンプル500内の細胞数も求まる。コントローラ100は、第2の画像に基づいて、培養液520の色を特定し、特定した色に基づいて、この色と関係性を有する培養液520のpH値を算出できる。例えば培養液520にフェノールレッドが添加されている場合、pH値が適切であれば、培養液520は赤色を示し、細胞510が増えて培養液520が酸性になれば、培養液520は黄色に変化する。コントローラ100は、第2の画像の色データに基づいて、培養液の状態を解析することができる。コントローラ100は、培養液の状態として、pH値を算出することができる。pH値の算出にあたっては、第2の画像の色データについて、複数回の積算値又は平均値を算出し、当該値を用いる等、簡単な処理で高精度な値の算出ができる。また、pH値の算出は、第2の画像に基づくので、pH値を算出する場合には、培養容器は、スピナーフラスコのような羽根を用いて培養液を撹拌するものに限らず、浮遊培養が可能な種々の容器が用いられ得る。
ステップS107において、コントローラ100は、解析結果等をタッチスクリーン133等を用いてユーザに提示する。提示される解析結果等には、スピナーフラスコ400の羽根420の単位時間当たりの回転数、第1の画像、第2の画像、細胞塊の特徴量、細胞510の密度、細胞の密度に基づく細胞の総数、細胞塊の特徴量毎の粒子数の分布、又は培養液520のpH値等が含まれ得る。また、コントローラ100は、これらの情報を第1の記憶回路116に記録する。例えば、細胞塊の特徴量は、細胞塊の形態又は細胞塊の大きさを含み、細胞塊の形態又は大きさとして、細胞塊の面積・体積・平均径・最大径が例示される。
以上のように、本実施形態に係る培養システム10では、カメラ200は、羽根420が回転するスピナーフラスコ400内のサンプル500の画像を連続的に取得する。コントローラ100は、取得された連続的な画像から、第1の画像及び第2の画像という2種類の画像を抽出する。コントローラ100は、スターラー300の回転速度や、カメラ200の撮影条件を用いずに、カメラ200から得た画像に基づいて画像抽出を行う。スピナーフラスコ400の側面から撮影することで、浮遊している細胞を対象とした解析が行われ得る。コントローラ100は、抽出した画像に基づいて、細胞塊の形態、細胞塊の大きさ、細胞510の密度、細胞数、又は培養液520のpH値等の情報を取得することができる。
本実施形態によれば、培養システム10は、培養中のサンプル500の状態を監視することができる。培養システム10を用いれば、ユーザは、培地交換、継代などのタイミングといった培養作業に必要な情報を得ることができる。ユーザは、細胞密度、細胞塊の形態、又は細胞塊の大きさ等、解析しているサンプル500の状態の情報を得ることができる。これらの情報は、各種実験又は細胞培養を行っているユーザにとって有意義な情報である。
例えばiPS細胞又はES細胞といった幹細胞の生産における品質管理では、細胞塊の特徴量及び細胞密度等の情報が重要な役割を持つ。本実施形態の培養システム10は、こういった情報を容易に取得することができる。
なお、本実施形態では、カメラ200の撮影に関する情報を取得しない場合を例に挙げて説明した。一方で、コントローラ100は、カメラ200から撮影条件、撮影タイミングなど、撮影に関する情報を取得することも可能である。コントローラ100は、カメラ200から取得した撮影の情報も用いて、画像の抽出や解析を行ってもよい。また、本実施形態では、第1の画像と第2の画像との両方を抽出し、両方の画像を用いて解析を行う場合を示した。一方で、第1の画像と第2の画像とのうち一方を抽出し、抽出した画像のみを用いて解析を行ってもよい。
[第1の変形例]
第1の変形例について、第1の実施形態との相違点について説明する。上述の実施形態では、コントローラ100は、PC又はタブレット型情報端末といった情報処理装置であると説明したが、これに限らない。コントローラ100の機能の一部又は全部は、ネットワーク上のサーバが担ってもよい。画像の解析等の機能は、ウェブサービスなどの形態で提供されてもよい。
[第2の変形例]
第2の変形例について、第1の実施形態との相違点について説明する。上述の実施形態では、図4Aを参照して説明したように、第1の画像は、カメラ200のレンズユニット250の光軸と羽根420とが直線状に並んだときに取得される例を示した。この場合、カメラ200は、撮像素子260の正面から入射する単層細胞511の被写体像を撮影する。
これに対して本変形例では、図5に示すように、カメラ200は、レンズユニット250の光軸に対して斜めに入射する被写体像を撮影するように構成されている。より詳細には、カメラ200は、レンズユニット250の光軸がスピナーフラスコ400の回転軸412からずれた方向に向けられる。レンズユニット250に単層細胞511の像が斜めから入射するように、照明ユニット280は、レンズユニット250の光軸に対して斜めの方向から照明光を照射する。
この例のように、被写体像がレンズユニット250の光軸に対して斜めから入射することで、カメラ200は、微分干渉画像のような単層細胞511の立体的な形状を捉えやすい画像を取得できる。細胞塊の形態などを示す第1の画像が、疑似的な微分干渉画像のような立体的な形状を捉えやすい画像として取得されることは有意義である。
[第3の変形例]
第3の変形例について、第1の実施形態との相違点について説明する。上述の実施形態では、図4Aを参照して説明したように、第1の画像は、スピナーフラスコ400の羽根420の端面431の部分にある単層細胞511の画像として取得されている。本変形例では、このような単層細胞511の画像を取得しやすいように、スピナーフラスコ400の羽根420の端部に平板435が設けられている。平板435のカメラ200と対向する面は、照明光を反射しやすい特性を有していることが好ましい。
言い換えると、本変形例のスピナーフラスコ400は、円筒の形状を有する容器本体402と、円筒の軸から円周方向に延びる面を有し、この軸の周りに回転する羽根420と、羽根420に設けられ、円筒形状の容器本体402の円周面と対向する平板435とを備える。なお、平板435の形状は、平板に限らない。羽根420の円周面の側に設けられ、円周面と対向する面を有している板であればどのような形状でもよい。
羽根420の端部に、端面431よりも広い平板435が設けられることで、第1の画像の取得において、単層細胞511の画像が取得されやすくなる。また、羽根に板が設けられているに限らず、例えば羽根420が端の方で厚くなっている等、羽根の端に面が設けられていればよい。また、この面は、円周面と対向しておらず、円周面に対して斜めに設けられていてもよい。
[第2の実施形態]
第2の実施形態について説明する。ここでは、第1の実施形態との相違点について説明し、同一の部分については、同一の符号を付してその説明を省略する。第1の実施形態では、カメラ200は、コントローラ100から独立して、連続的に画像を取得して、取得した画像をコントローラ100へと送信している。コントローラ100は、取得した画像のみに基づいて、各種の解析を行っている。これに対して、本実施形態では、コントローラ100は、カメラ200の動作を制御する。
本実施形態に係る培養システム10の動作の概略について、図7に示すフローチャートを参照して説明する。このフローチャートには、コントローラ100の動作とカメラ200の動作とが示されている。
ステップS201において、コントローラ100は、カメラ200に対して画像を要求する。この要求に応じて、ステップS202において、カメラ200は、連続的な撮影を行い、取得した画像をコントローラ100宛に送信する。
ステップS203において、コントローラ100は、カメラ200が撮影した画像を取得する。コントローラ100は、取得した画像に基づいて、撮影についての解析を行う。より具体的には、スピナーフラスコ400の羽根420の回転を解析し、第1の画像のために撮影するタイミングと第2の画像のために撮影するタイミングとに関する情報を得る。ステップS204において、コントローラ100は、解析結果に基づいて、第1の画像及び第2の画像を取得するための撮影タイミングを特定する。ステップS205において、コントローラ100は、特定した撮影タイミングを含む撮影条件に関する情報をカメラ200宛に送信する。
ステップS206において、カメラ200は、コントローラ100から送信された撮影条件に関する情報を取得する。カメラ200は、取得した情報に基づいて、撮影条件を設定する。ステップS207において、カメラ200は、設定した撮影条件に基づいて撮影動作を行う。このようにして、カメラ200は、第1の画像及び第2の画像の撮影を行う。カメラ200は、取得した第1の画像及び第2の画像をコントローラ100宛に送信する。
ステップS208において、コントローラ100は、カメラ200から第1の画像及び第2の画像を取得する。コントローラ100は、取得した第1の画像及び第2の画像に基づいて、第1の実施形態の場合と同様に各種解析を行う。ステップS209において、コントローラ100は、解析結果等を第1の表示装置134を用いてユーザに提示したり、第1の記憶回路116に記憶したりする。
上述した本実施形態に係る培養システム10の動作のうち、コントローラ100の動作について、図8に示すフローチャートを参照して説明する。
ステップS301において、コントローラ100は、第1の表示装置134にメニュー画面を表示させる。図9に、タッチスクリーン133に表示されるメニュー画面810の一例を示す。タッチスクリーン133には、カメラ設定アイコン811と、測定アイコン812と、終了アイコン813とが表示されている。ユーザは、これらアイコンの何れかをタッチすることで、実行したい機能を選択することができる。
ステップS302において、コントローラ100は、カメラ設定機能が選択されたか否かを判定する。例えば、カメラ設定アイコン811がタッチされたとき、カメラ設定機能が選択されたと判定される。カメラ設定機能が選択されていないとき、処理はステップS304に進む。一方、カメラ設定機能が選択されたとき、処理はステップS303に進む。
ステップS303において、コントローラ100は、カメラ設定処理を実行する。カメラ設定処理は、コントローラ100がカメラ200による撮影条件等を決定し、その撮影条件等をカメラ200に送信する処理である。カメラ設定処理の詳細は後述する。カメラ設定処理の後、処理はステップS304に進む。
ステップS304において、コントローラ100は、測定機能が選択されたか否かを判定する。例えば、測定アイコン812がタッチされたとき、測定機能が選択されたと判定される。測定機能が選択されていないとき、処理はステップS306に進む。一方、測定機能が選択されたとき、処理はステップS305に進む。
ステップS305において、コントローラ100は、測定処理を実行する。測定処理は、撮影条件等が設定されたカメラ200からコントローラ100が画像を取得し、取得した画像に基づいて、サンプル500の状態を解析すること等を含む処理である。測定処理の詳細は後述する。測定処理の後、処理はステップS306に進む。
ステップS306において、コントローラ100は、本処理を終了するか否かを判定する。例えば、終了アイコン813がタッチされたとき、終了すると判定される。終了しないとき、処理はステップS301に戻り、上述の処理を繰り返す。終了するとき、本処理は終了する。
ステップS303で行われるカメラ設定処理について、図10に示すフローチャートを参照して説明する。カメラ設定処理は、コントローラ100がカメラ200による撮影条件等を決定し、その撮影条件等をカメラ200に送信する処理である。
ステップS401において、コントローラ100は、カメラ200に、スピナーフラスコ400のサンプル500を撮影した連続画像を要求する。すなわち、コントローラ100は、要求信号をカメラ200宛に送信する。ステップS402において、コントローラ100は、カメラ200から画像の受信を開始したか否かを判定する。画像の受信が始まるまで、コントローラ100は待機する。画像の受信が開始したとき、処理はステップS403に進む。
ステップS403において、コントローラ100は、カメラ200から送信されたサンプル500の連続画像を受信する。コントローラ100は、受信した画像を解析する。解析結果に基づいて、ステップS404において、コントローラ100は、カメラ200が撮影によって第1の画像を取得すべきタイミングと、第2の画像を取得すべきタイミングとの特定を試みる。ステップS405において、コントローラ100は、画像取得のタイミングを特定できたか否かを判定する。特定できていないとき、処理はステップS403に戻る。このとき、カメラ200から画像の取得を繰り返し、その結果に基づいて画像取得のタイミングの特定を繰り返し試みる。画像取得のタイミングを特定できたとき、処理はステップS406に進む。より具体的には以下のとおりである。
スピナーフラスコ400の羽根420は、回転軸412の周りで回転している。したがって、第1の画像を取得するのに適している状態と、第2の画像を取得するのに適している状態とが、交互に繰り返されることになる。ここで、第1の画像を取得するのに適している状態とは、羽根420の端面431がカメラ200を向いている状態である。第2の画像を取得するのに適している状態とは、2つの羽根420の主面432がカメラ200を向いている状態である。
カメラ200が画像を取得する間隔が羽根420の回転速度に対して十分に短いとき、羽根420の端面431がカメラ200を向く全ての場合と、その間の全ての場合とについて撮影が行われることになる。しかしながら、撮影間隔をそれほど短くする必要はない。例えば羽根420の端面431がカメラ200を向く周期の整数倍と撮影の周期とが一致していなければよい。この場合も、複数回の撮影のうち少なくとも1回では、羽根420の端面431がカメラ200を向いた状態となるし、複数回の撮影のうち少なくとも1回では、2つの羽根420の主面432がカメラ200を向いている状態となる。コントローラ100は、得られた画像とその画像が得られたタイミングとを解析し、カメラ200が撮影によって第1の画像を取得すべきタイミングと、第2の画像を取得すべきタイミングとを特定する。一般に、第1の画像及び第2の画像は、例えば数秒又は数分おき等に取得されれば十分である。
コントローラ100は、撮影タイミング以外の撮影条件も、カメラ200に指示することができる。コントローラ100は、カメラ200から取得した画像にぶれが生じている場合には、露光時間を短くするように、カメラ200に指令してもよい。コントローラ100は、カメラ200から取得した画像がぼけている場合には、焦点位置を調節するようにカメラ200に指令してもよい。コントローラ100は、カメラ200から取得した画像が明るすぎるとき又は暗すぎるとき、露光条件の変更をカメラ200に指令してもよい。露光条件は、絞り値又は露光時間を変更すること、あるいは、照明ユニット280が放射する照明光の輝度を変更すること等によって変更され得る。
ステップS406において、コントローラ100は、特定した第1の画像を取得すべきタイミングと第2の画像を取得すべきタイミングとを含む撮影条件の指示を、カメラ200宛に送信する。指示を受信したカメラ200は、指示に基づいてカメラ200の撮影条件を設定する。以上でカメラ設定処理は終了する。処理はステップS304の処理に戻る。
ステップS305で行われる測定処理について、図11に示すフローチャートを参照して説明する。測定処理は、コントローラ100が、撮影条件等が設定されたカメラ200から画像を取得し、取得した画像に基づいてサンプル500の状態を解析すること等を含む処理である。
ステップS501において、コントローラ100は、カメラ200に対して、現在設定されているカメラ200の撮影条件の情報を要求する。この要求に対して、カメラ200は、現在の設定の条件をコントローラ100宛に送信する。ステップS502において、コントローラ100は、カメラ200から送信されたカメラ200の設定条件を取得する。
ステップS503において、コントローラ100は、取得したカメラ200の設定条件に基づいて、カメラ200の撮影条件が最適化されているか否かを判定する。例えば取得したカメラ200の設定条件に、最適化が完了しているか否かの情報が含まれていてもよい。上述のカメラ設定処理によって撮影条件の設定がなされたとき、カメラ200に最適化が完了している旨の情報が記録されてもよい。
ステップS503において最適化が完了していないと判定されたとき、処理はステップS504に進む。ステップS504において、コントローラ100は、最適化が必要な旨を第1の表示装置134を用いてユーザに提示する。ユーザへの提示は、表示によらず、音声等によって行われてもよい。提示の後、行われている測定処理は終了する。
ステップS503において最適化が完了していると判定されたとき、処理はステップS505に進む。ステップS505において、コントローラ100は、カメラ200に画像を要求する。この要求に応じて、カメラ200は、設定され得た撮影条件に基づいた撮影によって取得された画像を、コントローラ100宛に送信する。
ステップS506において、コントローラ100は、カメラ200から送信された画像を取得する。この画像は、第1の画像と第2の画像とを含む。コントローラ100は、取得した画像に基づいて、画像解析を行う。この解析には、カメラ200の撮影条件が用いられてもよい。この解析結果には、細胞塊の特徴量、細胞510の密度、細胞510の数、細胞の密度に基づく細胞の総数、細胞塊の特徴量毎の粒子数の分布、又は培養液520のpH値等の情報が含まれ得る。例えば、細胞塊の特徴量は、細胞塊の形態又は細胞塊の大きさを含み、細胞塊の形態又は大きさとして、細胞塊の面積・体積・平均径・最大径が例示される。
ステップS507において、コントローラ100は、解析結果を第1の表示装置134に表示させるなどしてユーザに提示したり、第1の記憶回路116に記憶させたりする。図12Aに、タッチスクリーン133に表示される解析結果を示す測定画面820の一例を示す。この測定画面820は、測定中である旨を示す表示821を含む。また、測定画面820は、カメラ200から取得した画像、特に個々の細胞塊の様子などが確認できる第1の画像が表示される画像表示領域822を含む。測定画面820は、第2の画像に基づいて取得された培養液520の混濁度の時間変化を示すグラフ823と、培養液520のpH値の時間変化を示すグラフ824とを含む。測定画面820は、測定画面820を閉じて測定処理を終了させるための終了アイコン825を含む。
測定画面820は、細胞塊の大きさ等、他の情報を含み得る。すなわち、培養液520の混濁度の時間変化を示すグラフ823と培養液520のpH値の時間変化を示すグラフ824とに代えて、又はそれらに加えて、他のグラフが測定画面820に表示されてもよい。有効なグラフの一例として、その測定タイミングにおける細胞の分布がわかるようなものであってもよい。例えば、細胞培養の過程では、大きくなった細胞塊の表面積は、細胞数が同じでありばらばらに存在する個々の細胞の表面積の総和よりも小さくなる。その結果、細胞塊は、大きくなるに従って、抵抗が小さくなるため浮かびにくくなる。すなわち、細胞塊が大きくなるに従って、細胞塊は沈殿する。このような状況では、低いところに大きな細胞塊があり、高いところに小さい細胞塊が浮遊している状態になりがちである。このようなときには大きな細胞塊をも浮遊させて栄養と酸素を与えやすくした方がよいため、攪拌を強くする。例えば羽根420の回転数を増加させる。測定画面820に表示されるグラフとして、例えば細胞塊の大きさを分類し、それが培養液内のどこにあるかを示すグラフであってもよい。このようなグラフの一例として、細胞塊の大きさと、浮遊位置(高さ)との関係を表すグラフであってもよい。さらに、細胞塊の大きさと、浮遊位置(高さ)と、細胞塊の個数との関係を表すグラフであってもよい。このようなグラフの例としては、バブルマップ(縦軸が位置、横軸が大きさ、バブルの大きさが粒子数を示す)、ヒートマップ(縦軸が位置、横軸が大きさ、色が粒子数を示す)、グラフでなく統計処理された結果を色や形状で表した画像などであってもよい。図12B乃至図12Dは、このようなグラフの一例である。図12B乃至図12Dでは、細胞塊の大きさが、細胞の形態としてクラス分けされている。図12Bは3次元棒グラフの例を示し、図12Cはバブルマップを示し、図12Dはヒートマップを示す。コントローラ100は、こういったグラフを作成するプログラムを備えている。
このように、コントローラ100は、第1の画像、第2の画像、培養液520の混濁度、言い換えると、単位量の培養液520中の細胞数、培養液520のpH値、細胞塊の大きさ、細胞塊の形態的特徴等の情報を取得することができる。
ステップS508において、コントローラ100は、解析結果が所定の条件を満たしているか否かを判定する。所定の条件を満たしていないとき、処理はステップS510に進む。一方、所定の条件を満たしているとき、処理はステップS509に進む。ステップS509において、コントローラ100は、条件を満たした解析結果に応じた処理を行う。この処理は適宜に設定され得る。
例えば、混濁度が所定値よりも高くなったとき、単位培養液あたりの細胞数が所定の値になったとき、又は、培養液のpH値が所定値よりも低くなったとき、コントローラ100は、培養液の交換を行ったり、継代作業を行ったりすべきである旨をユーザに提示する。コントローラ100は、カメラ200の撮影条件を変更すべきであると判断したときには、カメラ200宛に変更後の撮影条件を送信する。コントローラ100は、ユーザが予め設定した条件、例えば培養を終了する条件、又は試薬を添加する条件等を満たしたとき、その旨をユーザに提示する。ステップS509の処理の後、処理はステップS510に進む。
ステップS510において、コントローラ100は、測定処理を終了するか否かを判定する。例えば、終了アイコン825がタッチされたとき、終了すると判定される。終了しないとき、処理はステップS506に戻る。このとき、上述の解析等の処理が継続される。一方、ステップS510で終了すると判定されたとき、処理はステップS511に進む。
ステップS511において、コントローラ100は、カメラ200宛に撮影条件をリセットすべき旨の指示を送信する。この指示を受け取ったカメラ200は、設定された撮影条件をリセットする。この処理は、測定処理を終了するにあたって、次に行われる測定処理の際に、カメラ200が不適切な設定で撮影を行うことを防止するための処理である。ステップS511の処理の後、測定処理は終了する。
本実施形態に係るカメラ200の処理について、図13に示すフローチャートを参照して説明する。
ステップS601において、カメラ200は、コントローラ100から画像の要求があるか否かを判定する。コントローラ100から画像の要求がないとき、処理はステップS604に進む。一方、コントローラ100から画像の要求があるとき、処理はステップS602に進む。
ステップS602において、カメラ200は、現在設定されている撮影条件で撮影を行う。この際、カメラ200は、照明ユニット280によって照明光を放射し、サンプル500を照明する。カメラ200は、撮影により得られた画像をコントローラ100宛に送信する。ステップS603において、カメラ200は、コントローラ100から他の指示があるか否かを判定する。他の指示がないとき、処理はステップS602に戻る。すなわち、カメラ200は、撮影と画像送信を継続する。ステップS603で他の指示があると判定されたとき、処理はステップS604に進む。
ステップS604において、カメラ200は、コントローラ100から撮影条件を受信したか否かを判定する。撮影条件を受信していないとき、処理はステップS606に進む。一方、撮影条件を受信したとき、処理はステップS605に進む。ステップS605において、カメラ200は、コントローラ100から受信した撮影条件を設定する。その後、処理はステップS606に進む。
ステップS606において、カメラ200は、コントローラ100から撮影条件の要求があるか否かを判定する。撮影条件の要求がないとき、処理はステップS608に進む。一方、撮影条件の要求があるとき、処理はステップS607に進む。ステップS607において、カメラ200は、コントローラ100宛に撮影条件の現在の設定値を送信する。その後、処理はステップS608に進む。
ステップS608において、カメラ200は、コントローラ100から撮影条件をリセットするべき旨の指示を受信したか否かを判定する。リセットすべき旨の指示を受信していないとき、処理はステップS610に進む。一方、リセットすべき旨の指示を受信したとき、処理はステップS609に進む。ステップS609において、カメラ200は、撮影条件をリセットする。その後、処理はステップS610に進む。
ステップS610において、カメラ200は、本処理を終了するか否かを判定する。例えば、電源を切る指示が入力されたとき等、終了すると判定されたとき、本処理は終了する。終了しないとき、処理はステップS601に戻り、上述の処理が繰り返される。
本実施形態によれば、培養システム10は、コントローラ100の制御下でカメラ200が動作する。コントローラ100が必要としている画像を取得するようにコントローラ100がカメラ200の動作を制御するので、カメラ200は、無駄なく最適な画像取得を行える。その結果、コントローラ100による解析の精度も向上する。
[第3の実施形態]
第3の実施形態について説明する。ここでは、第2の実施形態との相違点について説明し、同一の部分については、同一の符号を付してその説明を省略する。第2の実施形態では、カメラ200がコントローラ100の制御下で動作している。第3の実施形態では、カメラ200に限らず、スターラー300及びカメラ200を固定する支柱290の動作もコントローラ100によって制御され得る。
〈システム構成〉
本実施形態に係る培養システム10の構成例の概略を図14のブロック図に示す。図14に示すように、コントローラ100及びカメラ200の構成は、第2の実施形態と同様である。スターラー300の基本構成は第2の実施形態の場合と同様である。スターラー300は、第3の回路群305として、さらに第3のプロセッサ310と、第3の記憶回路316と、第3の通信回路320とを備える。
第3のプロセッサ310は、例えば、CPU、ASIC、又はFPGA等の集積回路を含む。第3のプロセッサ310は、1つの集積回路等で構成されてもよいし、複数の集積回路等が組み合わされて構成されてもよい。第3のプロセッサ310は、例えば第3の記憶回路316又は第3のプロセッサ310内の記録領域に記録されたプログラムに従って行われる。第3の記憶回路316は、ROM、RAM、フラッシュメモリ等の必要な記憶媒体を含む。
第3の通信回路320は、コントローラ100と通信するための回路である。コントローラ100とスターラー300との通信は、有線で行われても、無線で行われてもよい。無線で行われる場合、Wi-Fiといった比較的高速な通信方式が用いられてもよいが、送受信する情報が少ないので、Bluetoothといった低速であるが低消費電力である通信方式が用いられてもよい。
第3のプロセッサ310、第3の記憶回路316、第3の通信回路320、第3の入力装置332、第3の表示装置334等は、第3のバスライン319を介して互いに接続されている。モータ354も、図示しない駆動回路を介して第3のバスライン319に接続されている。
第3の通信回路320を介してコントローラ100からの指令を受信した第3のプロセッサ310は、その指令に基づいてモータ354の回転速度を制御する。このようにして、コントローラ100は、スピナーフラスコ400の羽根420の回転速度を制御することができる。
また、本実施形態に係る支柱290は、固定されたカメラ200の位置を変更するために駆動機構294を備えている。駆動機構294の動作は、第4のプロセッサ292によって制御される。また、支柱290は、コントローラ100と通信するための第4の通信回路291を備える。支柱290は、コントローラ100の制御下で、カメラ200の位置を調整することができる。
〈システムの動作の概略〉
本実施形態に係る培養システム10の動作の概要を、図15A、図15B及び図15Cに示すフローチャートを参照して説明する。本実施形態では、コントローラ100のタッチスクリーン133には、図16に示すようなメニュー画面830が表示され得る。すなわち、メニュー画面830には、観察位置設定アイコン831と、測定設定アイコン832と、測定アイコン833と、終了アイコン834とが含まれ得る。観察位置設定アイコン831は、観察位置の設定を開始する際に選択されるアイコンである。測定設定アイコン832は、測定についての設定を開始する際に選択されるアイコンである。測定アイコン833は、測定を開始する際に選択されるアイコンである。終了アイコン834は、終了を指示する際に選択されるアイコンである。
本実施形態では、観察位置設定アイコン831が選択されてカメラ200の位置の調整が行われることが想定される。ステップS701において、コントローラ100は、スターラー300宛に、磁石板352を回転させる指令を送信する。さらに、コントローラ100は、カメラ200に対して画像を要求する。これらの指令に応じて、ステップS702において、カメラ200は、連続撮影を開始し、取得した画像のコントローラ100宛の送信を開始する。また、ステップS703において、スターラー300は、モータ354を回転させて磁石板352を回転させることを開始する。
ステップS704において、コントローラ100は、カメラ200から取得した画像に基づいて、カメラ200の位置が適切であるか否かを解析する。カメラ位置の適否の解析方法の一例を図17A及び図17Bを参照して説明する。図17A及び図17Bは、横軸に経過時間を示し、縦軸にカメラ200で取得された画像の明るさを示す。カメラ200が適切にスピナーフラスコ400の方向を向き、サンプル500が入れられている高さに設置されているとき、スピナーフラスコ400の羽根420による撹拌の結果、図17Aに示すように、取得される明るさは周期的に変動する。これに対して、例えば、カメラ200がサンプル500が入っている高さよりも高い位置に設置されているとき等、カメラ200の設置が適切でないとき、図17Bに示すように、周期的な明るさの変動が得られない。コントローラ100は、例えば、このような情報に基づいて、カメラ200の位置の適否を判断する。
ステップS705において、コントローラ100は、カメラ位置が適切であるか否かを判定する。適切でないとき、処理はステップS706に進む。ステップS706において、コントローラ100は、カメラ200が固定された支柱290宛にカメラ200の位置を変更するように指示を送信する。ステップS707において、支柱290は、コントローラ100の指示に基づいて、カメラの位置を変更する。例えば、支柱290の第4のプロセッサ292は、コントローラ100の指示に基づいて、駆動機構294を動作させる。その後、処理はステップS702及びステップS703の処理に戻る。上述のとおりカメラ200によって取得された画像に基づいて、カメラ位置が調整される。
ステップS705の判定において、カメラ位置が適切であると判定されたとき、処理はステップS708に進む。本実施形態では、カメラ位置の設定の後、図16に示すメニュー画面830で測定設定アイコン832が指定されて、カメラ200の撮影条件及び羽根420の回転速度の設定が行われることが想定されている。
ステップS708において、コントローラ100は、カメラ200に画像を要求し、スターラー300に羽根420の位置の情報を要求する。羽根420の位置は、スターラー300の磁石板352の回転位置に対応する。ステップS709において、カメラ200は、連続撮影を行い、取得した画像をコントローラ100宛に送信する。ステップS710において、スターラー300は、羽根420の位置に対応する磁石板352の回転位置の情報をコントローラ100宛に送信する。
ステップS711において、コントローラ100は、カメラ200から画像を取得し、スターラー300から羽根420の位置の情報を取得する。ステップS712において、コントローラ100は、得られた画像及び羽根420の位置の情報に基づいて、カメラ200の撮影条件及び羽根420の回転速度を決定する。コントローラ100は、決定した撮影条件をカメラ200宛に送信する。また、コントローラ100は、決定した羽根420の回転速度をスターラー300宛に送信する。
羽根420の回転速度は、一般的に適切と考えられている範囲がある。コントローラ100は、図17Aに示したような画像の周期的な明るさの変動に基づいて、羽根420の回転数を特定する。コントローラ100は、適切な範囲内となるように回転数を決定する。コントローラ100は、サンプル500の細胞密度に基づいて、回転数を調整してもよい。例えば、細胞密度が高いとき、回転数を比較的高く設定し、細胞密度が低いとき、回転数を比較的低く設定してもよい。
コントローラ100は、撮影条件については、画像の明るさ等に基づいて露光条件を決定することができる。また、コントローラ100は、実験目的等に応じて画質、撮影頻度等を決定することができる。
ステップS713において、カメラ200は、コントローラ100から取得した情報に基づいて、カメラ200の撮影条件を設定する。ステップS714において、スターラー300は、コントローラ100から取得した情報に基づいて、モータ354の回転速度を設定する。
ステップS715において、コントローラ100は、カメラ200の撮影条件及びスターラー300の回転速度は適切であるか否かを判定する。適切でないとき、処理はステップS709及びステップS710に戻る。すなわち、上述の処理が繰り返される。適切であると判定されたとき、処理はステップS716に進む。
ここでは、コントローラ100の判断に基づいて、観察位置、撮影条件及び回転速度が設定される例を示したがこれに限らない。観察位置、撮影条件及び回転速度は、ユーザによって手動で設定されてもよい。例えば、タッチスクリーン133に図18に示すようなコントロール画面840が表示されてもよい。このコントロール画面840は、例えば観察位置を設定しているときにはその旨を示すように、観察位置設定表示841が示される。また、コントロール画面840は、十字キー842を含む。十字キー842は、例えば、支柱290にカメラ200の高さを変更させたり、カメラ200の向きを変更させたりするための指示入力用の表示である。また、コントロール画面840は、カメラ200で取得された画像のライブビュー表示843を含む。ユーザは、ライブビュー表示843を見ながら、撮影の状況を把握することができる。また、コントロール画面840は、スターラー300の回転速度を設定するときに選択される回転速度設定アイコン844を含む。回転速度設定アイコン844が選択されたとき、コントローラ100は、回転速度設定画面に遷移する。ユーザは、例えば十字キー842を操作して、回転速度を上昇させたり低下させたりすることができる。また、コントロール画面840は、カメラ設定アイコン845を含む。カメラ設定アイコン845が選択されたとき、コントローラ100は、カメラ設定画面に遷移する。ユーザは、例えば十字キー842を操作して、撮影条件等を設定することができる。
図15Cに戻って説明を続ける。ステップS716において、コントローラ100は、カメラ200に画像を要求し、スターラー300に羽根420の位置の情報を要求する。ステップS717において、カメラ200は、ステップS713で設定した撮影条件で連続撮影を行い、取得した画像をコントローラ100宛に送信する。ステップS718において、スターラー300は、ステップS714で設定された条件で回転する磁石板352の回転位置、すなわち、羽根420の位置の情報を送信する。
ステップS719において、コントローラ100は、カメラ200から画像を取得し、スターラー300から羽根420の位置の情報を取得する。ステップS720において、コントローラ100は、取得した画像に基づいて、各種解析を行う。ここで行われる解析は、例えば第1の実施形態及び第2の実施形態と同様である。ステップS721において、コントローラ100は、画像及び解析結果を、第1の表示装置134を用いてユーザに提示する。また、コントローラ100は、画像及び解析結果を第1の記憶回路116に記録する。
ステップS722において、コントローラ100は、カメラ200の撮影条件及びスターラー300の回転速度は適切であるか否かを判定する。適切でないとき、処理はステップS708に戻る。すなわち、ステップS708乃至ステップS715の、撮影条件及び回転速度の設定動作が改めて行われる。ステップS722において設定は適切であると判定されたとき、処理はステップS723に進む。ステップS723において、コントローラ100は、本処理を終了するか否かを判定する。例えば終了の指示が入力されたとき、終了する。終了しないとき、処理はステップS717及びステップS718に戻る。一方、終了するとき、本処理は終了する。
〈システムの動作の詳細〉
本実施形態に係る培養システム10の動作についてさらに説明する。本実施形態の培養システム10におけるコントローラ100の動作について、図19乃至図21を参照して説明する。
ステップS801において、コントローラ100は、タッチスクリーン133に、例えば図16に示したメニュー画面830を表示させる。
ステップS802において、コントローラ100は、観察位置設定アイコン831がタッチされ、観察位置の設定が選択されたか否かを判定する。観察位置の設定が選択されていないとき、処理はステップS804に進む。一方、観察位置の設定が選択されたとき、処理はステップS803に進む。ステップS803において、コントローラ100は、観察位置設定処理を実行する。観察位置設定処理については後述する。観察位置設定処理の後、処理はステップS804に進む。
ステップS804において、コントローラ100は、測定設定アイコン832がタッチされ、測定に係る設定が選択されたか否かを判定する。測定の設定が選択されていないとき、処理はステップS806に進む。一方、測定の設定が選択されたとき、処理はステップS805に進む。ステップS805において、コントローラ100は、測定設定処理を実行する。測定設定処理については後述する。測定設定処理の後、処理はステップS806に進む。
ステップS806において、コントローラ100は、測定アイコン833がタッチされ、測定の開始が選択されたか否かを判定する。測定が選択されていないとき、処理はステップS808に進む。一方、測定が選択されたとき、処理はステップS807に進む。ステップS807において、コントローラ100は、測定処理を実行する。測定処理については後述する。測定処理の後、処理はステップS808に進む。
ステップS808において、コントローラ100は、終了アイコン834がタッチされ、処理の終了が選択されたか否かを判定する。終了が選択されていないとき、処理はステップS801に戻る。一方、終了が選択されたとき、本処理は終了する。
ステップS803で行われる観察位置設定処理について、図20に示すフローチャートを参照して説明する。
ステップS901において、コントローラ100は、スターラー300宛に、回転を開始させる旨の指示を送信する。ステップS902において、コントローラ100は、カメラ200に対して、連続した撮影画像を要求する。ステップS903において、コントローラ100は、カメラ200から連続画像の受信を開始したか否かを判定する。受信を開始していないとき、処理は待機する。受信を開始したとき、処理はステップS904に進む。
ステップS904において、コントローラ100は、カメラ200から画像を取得する。ステップS905において、コントローラ100は、取得した連続画像に基づいて、例えば図17A及び図17Bを参照して説明したような方法を用いて、カメラ200の位置の適否を解析する。ステップS906において、コントローラ100は、カメラ200の位置が適切であるか否かを判定する。カメラ200の位置が適切でないとき、処理はステップS907に進む。ステップS907において、コントローラ100は、カメラ200の位置を変更させる指示を支柱290宛に送信する。その結果、支柱290は、駆動機構294を動かして、カメラ200の位置を変更する。その後、処理はステップS904に戻る。カメラ200の位置が適切になるまで、ステップS904乃至ステップS907の処理が繰り返される。
ステップS906の判定でカメラ200の位置は適切であると判定されたとき、処理はステップS908に進む。ステップS908において、コントローラ100は、カメラ200の位置は適切であると決定し、その旨を支柱290宛に送信する。その結果、支柱290は、カメラ200の位置を固定する。
ステップS805で行われる測定設定処理について、図21に示すフローチャートを参照して説明する。
ステップS1001において、コントローラ100は、スターラー300に対して、羽根420の位置、すなわち、磁石板352の回転位置を要求する。ステップS1002において、コントローラ100は、カメラ200に対して、画像を要求する。ステップS1003において、コントローラ100は、スターラー300からの羽根420の位置についての情報とカメラ200からの連続画像との受信を開始したか否かを判定する。受信を開始していないとき、処理は待機する。受信を開始したとき、処理はステップS1004に進む。
ステップS1004において、コントローラ100は、カメラ200から画像を取得する。ステップS1005において、コントローラ100は、羽根420の位置の情報を取得する。ステップS1006において、コントローラ100は、取得した画像を解析する。
ステップS1007において、コントローラ100は、画像解析の結果に基づいて、撮影条件及び回転速度についての解析を行う。例えば、第2の実施形態の場合と同様に、コントローラ100は、カメラ200が撮影によって第1の画像を取得すべきタイミングと、第2の画像を取得すべきタイミングとの特定を試みる。また、コントローラ100は、カメラ200の撮影条件を設定する。コントローラ100は、カメラ200から取得した画像にぶれが生じている場合には、露光時間を短くする。コントローラ100は、カメラ200から取得した画像がぼけている場合には、焦点位置を調節する。コントローラ100は、カメラ200から取得した画像が明るすぎるとき又は暗すぎるとき、絞り値を調整したり照明ユニット280から照射される照明光の輝度を変更したりする等の露光条件の変更を行う。コントローラ100は、培養液520中の細胞510の状態を確認し、適切な撹拌がなされているか判定する。細胞数が増え、培養液520の下の方で細胞密度が高いようであれば、羽根420の回転速度を上昇させる。
ステップS1008において、コントローラ100は、カメラ200による撮影条件及びスターラー300による羽根420の回転速度等の設定が適切であるか否かを判定する。設定が適切であると判定されたとき、本測定設定処理は終了する。一方、設定が適切でないと判定されたとき、処理はステップS1009に進む。
ステップS1009において、コントローラ100は、ステップS1007の解析結果を利用して、カメラ200による撮影条件及びスターラー300による羽根420の回転速度等を決定する。ステップS1010において、コントローラ100は、スターラー300宛に回転速度についての指令を送信する。ステップS1011において、コントローラ100は、カメラ200宛に、撮影条件についての指令を送信する。これらの指令を受けたスターラー300及びカメラ200は、設定を変更する。このようにして、培養システム10の測定の条件が適切に設定される。
ステップS807で行われる測定処理について説明する。測定処理は、図11を参照して説明した第2の実施形態の測定処理と概ね同じである。異なる点について説明する。
ステップS508及びステップS509で行われる処理は、第2の実施形態で説明したような動作に加えて、次のような動作が行われてもよい。例えば細胞510の培養が進み、ステップS508で羽根420の回転速度が適切でないと判定されたとき、コントローラ100は、適切な回転速度を決定し、その指令をスターラー300宛に送信することができる。例えば細胞510の培養が進み、ステップS508で撮影条件が適切でないと判定されたとき、コントローラ100は、図21を参照して説明した測定設定処理を実行することができる。
カメラ200は、本実施形態においても第2の実施形態の場合と同様に、図13を参照して説明したような動作を行う。
本実施形態に係る支柱290の動作について図22に示すフローチャートを参照して説明する。
ステップS1101において、支柱290は、コントローラ100からカメラ200の位置を変更すべき旨の指示があるか否を判定する。位置変更の指示がないとき、処理はステップS1103に進む。一方、位置変更の指示があるとき、処理はステップS1102に進む。ステップS1102において、支柱290は、コントローラ100からの指示に基づいて、駆動機構294を動作させる。すなわち、支柱290は、コントローラ100からの指示に基づいてカメラ200の位置を変更する。その後、処理はステップS1103に進む。
ステップS1103において、支柱290は、コントローラ100から位置決定の指示があるか否かを判定する。位置決定の指示がないとき処理はステップS1105に進む。一方、位置決定の指示があるとき、処理はステップS1104に進む。ステップS1104において、支柱290は、コントローラ100から指示に基づいて、カメラ200の位置を固定するように、駆動機構294をロックする。その後、処理はステップS1105に進む。
ステップS1105において、支柱290は、本処理を終了するか否かを判定する。終了しないとき、処理はステップS1101に戻る。すなわち、支柱290は、上述の処理を繰り返す。処理を終了するとき、本処理は終了する。
本実施形態に係るスターラー300の動作について図23に示すフローチャートを参照して説明する。
ステップS1201において、スターラー300は、コントローラ100から磁石板352の回転を開始させる旨の指示があるか否かを判定する。回転開始の指示がないとき、処理はステップS1203に進む。一方、回転開始の指示があるとき、処理はステップS1202に進む。ステップS1202において、スターラー300は、モータ354の回転を開始させる。その後、処理はステップS1203に進む。
ステップS1203において、スターラー300は、コントローラ100から磁石板352の回転位置の要求があるか否かを判定する。位置要求がないとき、処理はステップS1205に進む。一方、位置要求があるとき、処理はステップS1204に進む。ステップS1204において、スターラー300は、磁石板352の回転位置の情報をコントローラ100宛に送信することを開始する。その後、処理はステップS1205に進む。
ステップS1205において、スターラー300は、コントローラ100から回転速度に関する情報を受信したか否かを判定する。回転速度を受信していないとき、処理はステップS1207に進む。一方、回転速度を受信したとき、処理はステップS1206に進む。ステップS1206において、スターラー300は、コントローラ100から指示に基づいて、モータ354の回転速度を設定する。その後、処理はステップS1207に進む。
ステップS1207において、スターラー300は、本処理を終了するか否か判定する。処理は終了しないとき処理はステップS1201に戻る。一方、終了するとき本処理は終了する。
本実施形態によれば、コントローラ100は、カメラ200の位置を変更するために支柱290を制御することができる。また、コントローラ100は、スピナーフラスコ400の羽根420の回転速度を変更するために、スターラー300の磁石板352の回転速度を制御することができる。したがって、コントローラ100は、培養システム10全体の動作を細かく設定することができる。
上述の各実施形態は、従来ユーザの感覚的によって調整されていた事項である。これらの事項をコントローラ100が機械的に制御することによって、浮遊培養の詳細な制御が可能になる。また、培養システム10は、浮遊培養の状況を正確に捉え、ユーザに提示したり記録したりすることができる。これらのことは、実験等の精度を高めたり、これまで困難であった新たな実験の可能性を広げたりする。また、本実施形態の培養システム10は、実験室レベルの培養に限らず、産業利用のための細胞の大量培養の正確な制御をも可能にする。また、上述の技術は、細胞培養等に限らず、バイオリアクター等にも適用され得る。
各実施形態では、各種解析がコントローラ100で行われる例を示した。しかしながらこれに限らない。各種解析は、ネットワーク上のサーバ等で行われてもよい。解析と各装置の制御又は結果の表示等の機能は、複数の装置によって分散して行われてもよい。
各実施形態で説明した技術のうち、主にフローチャートで説明した制御に関しては、プログラムを用いて実現され得る。このプログラムは、記憶媒体や記録部に収められ得る。この記憶媒体又は記録部への記録の方法は様々であり、製品出荷時に記録されてもよく、配布された記憶媒体が利用されて記録されてもよく、インターネットを介したダウンロードが利用されて記録されてもよい。
また、上述の制御と同様の機能は、例えばディープラーニングによって構築された人工知能によって実現されてもよい。すなわち、従来人が経験によって判断してきた事項、例えば、スピナーフラスコ400の羽根420の回転速度、培養密度、培養液のpH値等の調整をディープラーニングによって適切に実行することが可能になる。
なお、実施形態において、「部」(セクションやユニット)として記載した部分は、専用の回路や、複数の汎用の回路を組み合わせて構成してもよく、必要に応じて、予めプログラムされたソフトウェアに従って動作を行うマイコン、CPU等のプロセッサ、又はFPGA等のシーケンサを組み合わせて構成されてもよい。また、その制御の一部又は全部を外部の装置が引き受けるような設計も可能で、この場合、有線又は無線の通信回路が介在する。通信は、Bluetooth通信、Wi-Fi通信、電話回線等で行われればよく、USB等で行われてもよい。専用の回路、汎用の回路や制御部を一体としてASICとして構成してもよい。