(58)【調査した分野】(Int.Cl.,DB名)
前記幅のプロットにおける前記ピークを決定するステップは、前記幅のプロットの導関数を計算するステップと、前記導関数の複数のゼロ交差を記録するステップとを含み、各ゼロ交差は、前記平滑化された幅のプロットにおけるピークを示す、請求項2に記載の方法。
前記発振器の周波数範囲を通してスキャンし、前記離脱点が前記フローサイトメータのノズルに最も近くなる周波数を選択することにより、最適の周波数を決定するステップをさらに含む、請求項2に記載の方法。
前記流れを撮像するステップは、前記流れの複数の画像を撮影しながら、前記流れの長さに沿ってカメラを走行させるステップと、単一の画像を形成するように前記複数の画像を一緒にステッチするステップとを含む、請求項2に記載の方法。
前記バイアス補正係数は、線形関数aX+bに等しく、式中、Xは、ノズルから離脱までの時間であり、パラメータ「a」および「b」は、システム応答の実験的測定から決定される、請求項8に記載の方法。
前記発振器の駆動電圧は、前記カメラが前記流れのほぼ最上部にある時に、動作値から増加させられ、前記駆動電圧は、前記カメラが前記離脱点に向かって下方に駆動される時に、動作値まで減少させられる、請求項6に記載の方法。
前記幅のプロットにおける前記決定されたピークに基づいて滴下遅延を計算するための手段は、前記幅のプロットの前記導関数のゼロ交差に応じて、そのようにする、請求項16に記載のフローサイトメータシステム。
前記流れの画像を撮影するための手段は、前記流れの複数の画像を撮影することを含み、前記サイトメータシステムはさらに、前記流れの1つの全体画像を形成するように前記流れの前記複数の画像をステッチするための手段を備える、請求項14に記載のフローサイトメータシステム。
【発明を実施するための形態】
【0012】
(詳細な説明)
滴下遅延を計算するためのシステムおよび方法の以下の詳細な説明は、例示的実施形態を図示する添付図面を参照する。特に記述がない限り、全ての実施形態および実施例は、予言的実施例と見なされるべきである。他の実施形態が可能である。本発明の精神および範囲から逸脱することなく、本明細書で説明される実施形態に修正を行うことができる。したがって、以下の詳細な説明は、限定的となるように意図されていない。さらに、以下で説明されるシステムおよび方法は、ハードウェア、ソフトウェア、および/またはファームウェアの多くの異なる実施形態で実装できることが、当業者に明白となるであろう。説明されるいずれの実際のハードウェア、ソフトウェア、および/またはファームウェアも、限定的となるように意図されていない。
【0013】
図1は、上記で参照することにより組み込まれた、米国特許第5,643,796号で教示されているような従来技術のフローサイトメータシステムの概略図である。
図1は、本発明のシステムおよび方法で採用することができる、フローサイトメータシステムの基本部品を示すように提示されている。しかしながら、
図1はまた、本発明のシステムおよび方法とは異なる、滴下遅延を計算するために反復試行錯誤過程を採用するシステムを示すように提示されている。
【0014】
具体的には、
図1は、ノズルコンテナ2を含むノズルシステム42を有する、液滴フローサイトメータを示す。ノズル容量3内では、シース貯留部5からシース流体ポート4を通るシース流体が導入される。被分析物粒子が、物質貯留部8から物質導入ポート9を通してシース流体内で導入される。シース流体は、その混入被分析物粒子とともに、個々の被分析物粒子が一列の配向で並び、ノズル出口6から自由落下領域7の中へ放出されるように、流体力学的に集束される。
【0015】
均一な液滴を形成するために、発振器10は、シース流体内の圧力波、またはシース流体の実際の移動を引き起こすように適合される。発振器10は、交流電圧源22によって制御される。シース流体内の振動の結果として、流れ12は、液滴13を形成するように周期的に摂動させられる。各液滴13は、液滴13が関心の被分析物を含有するかどうかを評価するように、流れ12の中にある間に分析される。
【0016】
図1に示されるように、物質特性センサ62は、自由液滴形成の直前に(すなわち、液滴が流れから抜け出す時点で)流れ12の中の被分析物から発生する放出を感知するように位置付けられる。物質特性センサ62によって感知される信号は、分析機器15等のプロセッサによって処理される。次いで、液滴13は、仕分け機器16を含む構成要素によって特徴付けることができる。示されるように、仕分け機器16は、帯電液滴が偏向させられる一方で、非帯電液滴が偏向させられないように、静電場を作成する。別の液滴とは対照的な1つの液滴の示差帯電は、電極72との分析機器15の相互接続を通して達成することができる。分析機器15が、物質特性センサ62からその情報を取得することができるため、電極72は、物質特性センサ62に応答することができる。電極72は、シース流体上の帯電を引き起こすよう、ノズル容量3内に位置付けることができる。したがって、シース流体は、電極72に応答することができる。電荷は、液滴が形成される時に、その液滴を帯電させることができるように、流れ12の終点に伝送することができる。次いで、電極72は、形成される次の液滴が不注意に帯電されないように、迅速に中和させることができる。このようにして、液滴13が仕分け機器16を通過する時に、いくつかの個々の液滴、すなわち、分析機器15によって判定されるような所望の物質を含有する、または含有しないものが、偏向させられる。したがって、偏向した液滴は、サンプル収集コンテナ82の中で収集することができる一方で、偏向していない液滴は、排水容器81に移ることができる。電極72の作用を通した流れ12の帯電の適切なタイミングは、液滴形成時間遅延(または「滴下遅延」)推定値、具体的には、流れ12の中の液滴13が所望の被分析物を含有するかどうかを物質特性センサ62および分析機器15が実際に判定した後に、液滴が形成するのにかかる時間量の正確な利用を必要とする。
【0017】
最適な滴下遅延を判定するために、
図1のシステムは、仕分け機器16によって仕分けられた液滴をサンプリングする、自動液滴サンプラ73を採用する。自動液滴サンプラ73は、可動大皿74の上に位置する、またはそれによって支持される複数の収集領域75を有する。移動する可動大皿74を通して、異なるコンテナ75は、自由落下領域7に連続して位置付けることができ、したがって、液滴を集めることができる。重要なことには、可動大皿74は、別々に、かつ増分的に、種々のコンテナ75を自由落下領域7に位置付けることができるように、ステッパ76に応答することができる。したがって、単一のサンプリング事象の全体を通して、いくつかの異なるサンプルを採取することができる。
【0018】
図1のシステムでは、液滴形成時間遅延調整80が、時間遅延を最適化するように自動液滴サンプラ73と協働する。自動物質最大限化手段、本質的には、仕分けされた物質の最大限化を可能にするように情報を自動的に提供する、任意の構成要素、ソフトウェア、または回路を作成することによって、最適化が達成される。物質最大限化手段は、電極72を制御する際に分析機器15によって実際に印加される種々の時間遅延を自動的に調整するように作用するデバイスである、増分制御77を含むことができる。増分制御77を通して、分析機器15によって電極72に印加される時間遅延は、それぞれの異なるコンテナ75が自由落下領域7内に位置付けられるにつれて、増分量を変化させることができる。したがって、各コンテナ75は、異なる時間遅延量を表すことができる。次いで、これらの結果は、最適な(またはより最適な)滴下形成時間遅延推定値を達成するために使用することができる。
【0019】
そのような自動構成では、セルカウンタ79は、時間遅延調整80が処理中に使用された実際の時間遅延を改変することを可能にする情報を生じる。このようにして、異なる時間遅延量を適用し、どれが最大カウントを生じるかを確かめるように自動的に試験することができる。
【0020】
当業者によって認識されるように、
図1のシステムが自動システムであるという事実にもかかわらず、そのようなシステムは、最適な時間遅延を判定するように、反復試行錯誤プロトコルを辿る。
【0021】
図2は、本発明の実施形態による、フローサイトメータシステム200の概略図である。他のフローサイトメータシステムと同様に、フローサイトメータ200は、ノズルシステム242と、発振器210と、調査チャンバエンクロージャ209とを含む。
【0022】
調査チャンバエンクロージャ209内で、1つ以上のレーザ源208が、レーザ傍受250において流れ207を横断する1つ以上のレーザビームを発する。検出器(図示せず)が、流れ207の中の被分析物粒子からの放射を検出するために使用される。次いで、分析システム(図示せず)は、レーザ傍受250を横断する被分析物粒子が関心の被分析物であるかどうかを判定する。そのような分析は、典型的には、被分析物粒子の蛍光、側方散乱、または前方散乱に基づく。
【0023】
典型的なフローサイトメータのように、発振器210は、液滴213を形成するように流れ207を摂動させる。本発明の方法では、発振器210は、滴下遅延の計算のための参照周波数および参照相としての機能を果たす。ノズルシステム242の底部に接続されているものとして図示されているが、発振器は、ノズルシステム242上の他の場所に取り付けることができると理解される。関心の被分析物がレーザ傍受250を横断する時と、関心の被分析物が離脱点214に到達する時間との間の時間は、典型的には、発振器210の周波数に対して期間が参照される、「滴下遅延」である。典型的には、システムは、レーザ傍受250を横断する被分析物粒子が関心の被分析物であるかどうかを判定するように、約400マイクロ秒を有する。
【0024】
本発明のシステムに特有であり、フローサイトメータ200は、精密較正可動カメラステージを含む。一実施形態では、可動カメラステージは、ボールネジ線形運動ステージ201である。ステージ201上にはカメラ202が載置されている。典型的には、カメラ202は、高倍率対物カメラである。動作中に、カメラ202は、ステージ201の進路に沿って移動させられ、カメラの位置は、光学エンコーダ203等のステージ位置測定能力を用いて測定される。カメラ202の移動は、サーボモータ204等の精密モータまたは駆動機構によって作動させられる。
【0025】
以下でさらに説明されるように、カメラ202は、流れ207の複数の高分解能画像を取得するために、進路203を下方に精密に駆動される。具体的には、カメラ202は、進路203を下方に増分的に駆動され、各増分において画像を撮影する。次いで、画像は、デジタル画像処理アルゴリズムを使用して一緒にステッチされる。代替実施形態では、流れ207全体の画像(または複数の画像)を撮影するために、広角レンズカメラを採用することができる。以下で完全に理解されるように、従来技術のシステムが、滴下遅延を判定するために反復試行錯誤プロトコルを使用する一方で、本発明のシステムおよび方法は、流れ207のステッチした画像に基づいて滴下遅延を計算する。本質的に、本明細書で提示される方法は、レーザ傍受250と離脱点214との間の液滴、ピーク、および/または期間の数を識別するように、ステッチした画像を処理する。これら2つの点の間の液滴、ピーク、および/または期間の数を識別した後、システムは、滴下遅延に影響を及ぼす変数を補うことによって、滴下遅延を正確に予測することができる。そのようなものとして、本発明のシステムおよび方法は、蛍光ビーズ、または実験的反復プロトコルを必要としない。
【0026】
図7は、本明細書で提示される方法を示す高レベルフローチャートである。
図7の方法は、4つの主要な下位方法、すなわち、フローサイトメータのレーザ位置を精密に見出すための方法800、初期化スキャンを行う方法900、滴下遅延が計算される、較正スキャンを行う方法1000、および滴下遅延を維持するための方法1100を含む。滴下遅延を維持するための方法1100は、当業者に公知であり、本発明に関連せず、したがって、本明細書では詳細に論議されない。
【0027】
図8は、フローサイトメータのレーザ位置を精密に見出すための方法800を示すフローチャートである。典型的には、フローサイトメータを組み立てる時に、ユーザは、レーザが位置する物理的空間を気にかけない。ユーザは、典型的には、レーザが流れと整合されていることしか気にかけない。しかしながら、本発明による、滴下遅延を計算する方法について、流れとのレーザの傍受の正確な位置が、滴下遅延を計算する際の変数であるため、その場所は重要である。
図2のフローサイトメータ200を参照すると、方法800は、最初にカメラ202を移動の最上部(すなわち、流れ207がノズル242から退出する場所)まで移動させることによって、ステップ802から始まる。移動の最上部では、カメラ202の正確な場所が分かっている。移動の最上部におけるカメラ202の場所は、全てのその後の計算のための参照点としての機能を果たす。ステップ804では、関心のレーザのみがオンにされるように、レーザシャッタの状態が保存される。ステップ806では、カメラ202の輝度、コントラスト、および/または露光が、レーザ視認のために設定される。ステップ808では、レーザのスナップショットが撮影され、画像が二値画像に処理される。ステップ810では、レーザの重心が、画像ピクセルの関数として測定される。レーザ重心の測定が行われると、カメラステージに対する流れとのレーザの傍受の正確な位置が分かる。
【0028】
図9Aは、初期化スキャンを行う方法900を示すフローチャートである。方法900は、最短の液滴離脱を判定するように、一連の周波数を通して発振器10をスキャンするためのステップ902と、レーザスポットの場所およびサイズが有効である(またはもっともらしい)ことを確認するステップ904と、ミクロン/ピクセル単位のピクセルサイズを較正するステップ906とを含む。
【0029】
図9Bは、
図9Aに示される方法900のサブプロトコルステップ902を示すフローチャートである。サブプロトコルステップ902は、フローサイトメータノズルから退出する流れの最短液滴離脱を判定するためのプロセッサにプログラムすることができる。一般に、このサブプロトコルで行われるものは、発振器210(
図2)が所与の周波数に設定され、滴下213が流れ214から離脱する場所を判定するように、流れ207がカメラ202によってスキャンされることである。いったんこの場所214が見出されると、発振器周波数は、所与の増分だけ変更され、流れは、カメラによって再びスキャンされる。この過程は、離脱点がノズルに向かって移動することを止め、ノズルから離れて移動し始めるまで繰り返される。ノズルまでの離脱の最も近い位置の点を引き起こす周波数が、最適な周波数である。次いで、発振器周波数は、この最適な周波数で保持され、流れは、離脱が始まる点214(
図3)が判定されるまで、より細かい分解能で再びスキャンされる。
【0030】
より詳細に、ステップ911では、プログラムは、発振器周波数スキャンに対する発振器駆動周波数の上限および下限を設定する。ステップ913では、カメラがノズル位置より下側に移動させられる。ステップ915では、スキャンステップサイズが、最初に1200Hzに設定される。代替実施形態では、スキャンステップサイズは、代替的な周波数に設定することができる。ステップ917では、第1の滴下分離の位置の分位リストが、粗いスキャンの最短70%および次のより細かいスキャンの最短75%のサブスキャンを記録するよう、メモリに初期化される。ステップ919では、プログラムが、全てのスキャンが行われたかどうかを尋ねる。もしそうであれば、プログラムは終了する。そうでなければ、プログラムはステップ921にすすみ、そこで、プログラムは、発振器周波数範囲の中の各周波数にわたってカメラを用いて流れをスキャンし、各周波数増分における離脱位置を記録する。この一連のステップは、ノズルまでの離脱点の最も近い接近点の周囲で分布を形成する、一連の測定値を生成する。分位に分割されるのが、この分布であり、上下の分位は破棄される。
【0031】
ステップ921は、ステップ921A−921Gで概説されるプロトコルによって行われる。具体的には、周波数が上限未満である間に921A、スキャンが継続する。各設定発振器周波数において、ステップ921Bでは、カメラは、最初の着脱した滴下が可視的になるまで移動させられる。次いで、ステップ921Cでは、全ての可視的な滴下の中心の間の距離を平均することによって、着脱した滴下の間の平均距離(滴下波長)が計算される。ステップ921Dでは、第1の着脱した滴下の中心から1つの平均滴下波長を引くことによって、最後の着脱した滴下の位置が計算される。ステップ921Eでは、現在のカメラ運動位置から最後の付着した滴下の質量中心を引くことによって、離脱位置が計算される。ステップ921Fでは、発振器周波数および離脱位置が記録される。ステップ921Gでは、発振器周波数が増分され、プロトコルがステップ921Aに戻る。
【0032】
次いで、サブプロトコルステップ921は、ステップ923に移動し、そこで、スキャンの離脱位置が仕分けられ、離脱点の分布の中の特定の分位より上側のものが保存される。ステップ925では、スキャンステップサイズが、半分だけ増分される。ステップ927では、メモリへの分位指数が増分される。ステップ929では、より細かいステップサイズを使用して、保存されたリストを再スキャンするように、周波数の上限および下限が設定される。
【0033】
図9Cは、
図9Aに示される方法のサブプロトコルステップ906を示すフローチャートである。サブプロトコル906では、画像のピクセルあたりのミクロン数が測定され、較正される。ステップ930では、ピクセルあたりのミクロン数が、(光学設計公称値に基づく)デフォルト値に設定される。次いで、ステップ932、934、および936が、3回繰り返される。ステップ932では、最上滴下が画面の下部25%の中にあるように、カメラの位置が設定される。ステップ934では、カメラが(モータ位置座標において)既知の距離で下方に移動させられる。一実施形態では、移動させられた距離は、(画像列において)表示画面の約50%に対応する。ステップ936では、最上滴下の画面上の新しい位置が測定され、(ミクロン単位の)命令されたモータ移動に応じて移動させられた画像列の数を判定するように、元の位置が差し引かれる。ステップ932、934、および936を繰り返した後、ピクセルあたりのミクロン数は、3つの測定値の中央値に等しくなるように設定される。
【0034】
図10Aは、較正スキャンを行う方法を示すフローチャートである。次に、一般に、離脱点の位置は、発振器の周波数だけでなく、駆動周波数の振幅の影響も受ける。結果として、発振器振幅の一連の変化が生じ、画像の再現性への変化の影響が判定される。同様に、画像のストロービングも変化させられ、画像の再現性へのストローブ変化の影響が判定される。これらのステップは一緒に、滴下遅延維持と称される。ステップ1010(滴下遅延維持のために写真を最適化するストローブスキャン)およびステップ1020(滴下遅延維持のために流れの応答を測定する振幅スキャン)は、設定滴下遅延のための維持に関係するステップ(ステップ1100)であり、当技術分野で公知であり、したがって、本明細書では詳細に論議されない。
【0035】
ステップ1030は、滴下遅延を判定するための例示的なアルゴリズムを提供する。
図10Bは、一実施形態による、滴下遅延を判定するステップを概説する。ステップ1040では、ストローブ相(滴下波長におけるピークに対するカメラストローブの印加の位置)が、180°を加えた帯電相(滴下波長におけるピークに対する流れへの帯電の印加が発生する位置)に設定される。実践では、帯電相は、典型的には、参照相(すなわち、発振器駆動周波数の位相)からわずかにオフセットされるように設定される。ステップ1050では、流れの複数の画像を捕捉するために可動カメラが使用され、複数の画像をステッチして完全な流れの画像を形成するために処理ユニットが使用される。
【0036】
図10Cは、本発明の一実施形態による、完全な流れの画像を捕捉し、ステッチするステップを概説する、ステップ1050のサブプロトコルである。
図3は、本発明による、フローサイトメータの中のカメラから撮影された複数の画像から作成された、例示的なステッチした画像を示す。
図2のフローサイトメータ200を参照すると、ステップ1051で、カメラ202が、ホーム位置(すなわち、流れ207の最上部)へと移動させられ、ステップ1052で、第1の画像が撮影される。ステップ1053では、記憶された背景画像が、その位置のために差し引かれる。ステップ1054では、カメラ202が、ほぼ1つの画面いっぱいにステージ201を下方に移動させられるが、特定量の重複を残す(例えば、画像の10%)。次いで、後続の画像が撮影される。この過程は、カメラ202が液滴213のみを撮像する(すなわち、カメラ202が離脱点214を通り過ぎて移動し、モータ移動の底部に来るまで)まで繰り返される(ステップ1056)。
【0037】
流れ207の最上部付近の画像は、ピーク情報の抽出を複雑にし得る、不明瞭な幅形跡を有し得る。この理由により、発振器の低い駆動振幅設定とともに動作する時に、一実施形態では、最初のいくつかの画像を撮影している間に、滴下駆動電圧設定が増加させられる。滴下駆動電圧を増加させることには、流れの摂動の振幅を増加させる効果があるが、液滴位置を移行しない。そのようなものとして、滴下カウントは一貫したままである。しかしながら、駆動電圧設定が液滴の完全離脱を変化させるため、流れの過剰に下方にカメラを移動させる前に、駆動電圧は、その動作設定まで減少させられるべきである。
【0038】
一実施形態では、C++プログラミング言語で書かれた、以下のプログラムを行うことによって、フローサイトメータの流れの複数の画像を撮影するための手段が提供される。
【0039】
【化1】
上記のコンピュータプログラム、および本明細書で提示される任意の他のコンピュータプログラムは、例示的にすぎないことが理解される。同じ目的を達成するために、同じまたは他のプログラミング言語での他の論理を使用することができる。
【0040】
次いで、方法は、ステップ1057に進み、そこで、以下でさらに論議されるように、最高相関ピクセル値を伴う位置に複数部分を重複することによって、画像がステッチされる。複数の画像は、デジタル画像処理アルゴリズムを使用して一緒にステッチされる。典型的には、画像は、不完全に整合される。垂直整合は、モータ移動の精度、カメラステージ(カメラ指向)の一貫性、およびピクセルあたりのミクロン数の推定値の関数である。水平整合は、モータ移動および流れの垂直整合の関数であり、数10ピクセルだけ外れる傾向がある。
【0041】
最良の画像合致を見出すために、第1段階で集められた画像のそれぞれは、ピクセル空間内の最良の整合を見出すように、真上にある前の画像に適合される。適合を達成するために、下の画像は、適合に関して(画像ピクセル空間内の)最良の場所を見出すように、上の画像に対して移動させられる。画像は、両方の画像に共通する相関ウィンドウの中でサンプリングされる。一実施形態では、C++プログラミング言語で書かれた、以下のプログラムを行うことによって、フローサイトメータの流れの複数の画像をステッチするための手段が提供され、以下のアルゴリズムでは、(dr)は、行検索空間の幅の1/2であり、(dc)は、画像相関のための列検索空間の1/2であり、行オフセットおよび行深度の値は、第2の画像の相関ウィンドウが最初に撤退することなく、画像を下向きおよび左向きに移動させることができるように、選択され、関数で順序付けられたピクセルは、各行スキャンラインを連続的に解くことによって、([rowbegin, rowend, colbegin, colend]によって画定される)画像の長方形の領域をベクトルに変換する。
【0042】
【化2】
上記のコンピュータプログラム、および本明細書で提示される任意の他のコンピュータプログラムは、例示的にすぎないことが理解される。同じ目的を達成するために、同じまたは他のプログラミング言語での他の論理を使用することができる。
【0043】
画像はしばしば、画像の最初の処理時に一致しない。例えば、400×1280ピクセル画像、および10%重複を用いると、下の画像がピクセルオフセットg=(0,1152)で適合することが予測される。第2の画像空間に固定されて外れるボックス内の全てのピクセルについては、2つの画像のピクセルは、2つの大きいベクトル(vtおよびvb)として扱われ、入力はピクセルカラーによって定義される(行および列によって展開される)。相関係数は、2つのベクトルのドット積c=(vt,vb)\(|vt||vb|)を計算(および正規化する)ことによって判定される。この係数(0
<c
<1)は、2つの画像が所与のオフセットgについてどれだけ良く整合するかを判定する。適合は、2つの画像が正確に同じである時に最大である。
【0044】
係数gは、所与の相関ウィンドウ内で移動させられ、これら2つの画像に対するステッチしたオフセットとして、最良のオフセットが使用される。この過程は、全ての画像が上記の1つに相関するまで、流れの下方に継続する。過程が継続するにつれて、(最上部の画像空間に対して単純にピクセルをコピーすることによって)シーケンス全体を単一の画像の中へ配置するよう、ステッチングオフセットが第1の画像に対して保持される。画像が重複する場合、2組のピクセルが平均され、それは、ステッチングの質を判定する画像の目視検査を可能にする。
【0045】
流れの画像の周期性により、最初の推測は、正しいピクセルオフセットの滴下波長の半分以内であるように、十分に良好でなければならない。そうでなければ、所与の波形が、正しい波形の前または後の波形に潜在的に合致させられる場合があり、したがって、システムからの期間を挿入または削除する。
【0046】
図3に示されるように、画像が一緒にステッチされた後、画像中の各線における流れの幅が、流れの幅の画像のピークおよび谷を検出するために使用される幅のプロット(
図4)に抽出される。
図10Dは、本発明の一実施形態による、幅のプロットのピークおよび谷を計算するサブプロトコルである。
【0047】
図4は、
図3に示される画像等のステッチした画像から測定された幅のプロット例である。粒子の速度が波の速さに密接に関連すると仮定して、これらのピークの数は、調査(またはレーザ傍受250)から離脱点214まで粒子が横断するのにかかる時間量の推定を可能にし、したがって、滴下遅延の計算を可能にする。
【0048】
一実施形態では、ステッチした画像は、標準処理(ヒストグラム平坦化、ガウス平滑化、および行ごとの平均値閾値化)を介して白黒に変換される。次いで、白が背景集団を表し、黒が流れの集団を表す、結果として生じる白黒画像は、流れの幅のプロットに変換される。一実施形態では、C++プログラミング言語で書かれた、以下のプログラムを行うことによって、ステッチした画像を白黒画像に変換するための手段が提供される。
【0049】
【化3】
上記のコンピュータプログラム、および本明細書で提示される任意の他のコンピュータプログラムは、例示的にすぎないことが理解される。同じ目的を達成するために、同じまたは他のプログラミング言語での他の論理を使用することができる。
【0050】
幅のプロットは、白黒の画像から得られるため、極めて雑音が多い。特に、流れの上の発振器の振幅が低いノズル付近では、幅のプロットの信号対雑音比があまり良好ではない。行から行へ、閾値アルゴリズムは、いくつかのピクセルを間違ったカテゴリに割り当てさせ(誤検出または検出漏れ)、非常に雑音が多い信号をもたらす。この信号上でピークおよび谷を見出そうとすることは非常に困難となる。そのようなものとして、一実施形態では、関連信号特性(主要な信号のピークおよび谷)を抽出するために幅のプロットをフィルタにかけるように、フーリエ分析が行われる。具体的には、幅のプロットをフィルタにかける(または平滑化する)ように、周波数領域フィルタリングのためのフーリエ分析が行われる。フーリエ領域中のフィルタリングは、空間領域信号のフーリエ変換を介した、選択された周波数の保持および他の周波数の拒絶、周波数領域信号への単純ウィンドウィング関数の適用を可能にし、その後に、空間領域に戻る逆フーリエ変換が続く。そのようなフーリエ分析は、
図10Dで概説される。
【0051】
前処理が、ウィンドウィング関数を使用して離散信号を効果的にフィルタにかけるのに有用となり得る。ステップ1081では、幅のプロットのノズル領域(すなわち、幅のプロットの左縁)を除去するように、幅のプロットが切り取られる。高速離散フーリエ変換の効率的な実装は、長さが2の偶数累乗であるデータに作用する。ステップ1082では、元のデータが、ゼロを伴う元の長さから、2の次に高い累乗の長さまで水増しされる。信号値から水増し値への突然の遷移は、注意が払われなければ階段関数を導入し、変換されたデータのギブスリンギングをもたらす。可能な限り円滑な遷移でデータを水増しするために、行のゼロにおける測定データが、流れの平均幅に等しいDCオフセットへ(左へ)集中するため、データが左縁から拡張される。一実施形態では、C++プログラミング言語で書かれた、以下のプログラムを行うことによって、幅のプロットを水増しするための手段が提供される。
【0052】
【化4】
上記のコンピュータプログラム、および本明細書で提示される任意の他のコンピュータプログラムは、例示的にすぎないことが理解される。同じ目的を達成するために、同じまたは他のプログラミング言語での他の論理を使用することができる。
【0053】
ステップ1083では、離散フーリエ変換が幅のプロットに行われる。
図10Dのフローチャートが、フーリエ変換およびハンフィルタ分析の使用を図示する一方で、同じ目的を達成するように代替的なフィルタリング技法を設計することができる。次いで、データをフィルタにかけるように、ウィンドウウィング(windowing)が行われる。最も単純なフィルタウィンドウは、停止周波数については0、通過周波数については1である、長方形のウィンドウである。このウィンドウは、逆変換信号においてリンギングを生じるが、a)相対的強度が非常に異なる信号、またはb)周波数がともに近すぎる信号を分解することを困難にし得る。長方形のウィンドウの代わりに、代替実施形態は、ハンウィンドウと呼ばれる、一般的に使用されている適度のウィンドウウィング関数を使用する。ステップ1084では、ハンフィルタウィンドウが作成され、液滴波長に中心がある。ハンウィンドウ(以下で提供される関数)は、長方形のウィンドウをと比較して空間漏出を低減するが、依然として、幅のプロットのような低帯域幅信号に対する良好な感度を有する。
【0054】
【化5】
ハンウィンドウの中心周波数は、フーリエ変換データ上の第1のピークの周波数に合致するように選択される。ハンウィンドウの幅は、周波数データの中の二次およびより高次のピークを除外しながら、所与のノズルサイズ(例えば、70ミクロンノズル)に対する第1のピーク情報の大部分を包含するように、極めて恣意的に選択することができる。フィルタの左端および右端カットオフ値は、大きさがピークの大きさの約10%未満であるピークおよびカットオフ周波数に関して対称である。フィルタウィンドウの幅は、他のノズルおよび流れ情報を取り扱うようにパラメータ化することができる。
【0055】
ステップ1085では、フィルタウィンドウに周波数領域水増しデータを掛けることによって、データがフィルタにかけられる。次いで、ステップ1086では、周波数領域データが、逆変換関数を用いて空間領域に逆変換される。
図5Aは、
図4の元の幅のプロットおよびフィルタにかけられた(平滑化された)幅のプロットを示す。元の幅のプロットは、両方のプロットが重複なしで示されることを可能にするように垂直にオフセットされている。
図5Bは、未加工データおよびフィルタにかけられた(平滑化された)データの両方を示すように重ね合わせられた、ノズル付近のデータを示す、
図5Aのプロットの拡大図である。全体に、フィルタにかけられたデータは、元のデータまで常に密接に追跡するが、ピーク値の場所が計算されることを可能にする円滑な湾曲を有する、ピークおよび谷を有する。
【0056】
ピークデータをフィルタにかけた後、ステップ1087で、(単純な差異による)フィルタにかけられたデータの導関数が計算され、ステップ1088で、ゼロ交差が識別される。ピークは、左から右に減少しているゼロ交差を選択することによって識別される。ノズルにおいて、ノズルの存在により、最後の波形または2つの波形が形成不良となり得るため、外挿が行われる。一実施形態では、C++プログラミング言語で書かれた、以下のプログラムを行うことによって、ピークをフィルタにかけるための手段が提供される。
【0057】
【化6】
上記のコンピュータプログラム、および本明細書で提示される任意の他のコンピュータプログラムは、例示的にすぎないことが理解される。同じ目的を達成するために、同じまたは他のプログラミング言語での他の論理を使用することができる。
【0058】
図10Eは、本発明の一実施形態による、滴下遅延を計算するサブプロトコルである。滴下遅延を計算する方法は、以下のように概説される。ステップ1092では、傍受前の幅のプロットのピークおよび傍受後の幅のプロットのピークの位置を測定することによって、発振器周波数に対するレーザ傍受の位相が計算される。次いで、位相は、以前のピークから測定されるような、レーザが傍受するピーク間の波長の部分に等しくなるように設定される。ステップ1094では、システムが、液滴の流れの電荷パルスの位相オフセットを識別するように調べられる。帯電相は、典型的には、電荷パルスの上昇傾斜時間を計上するように、参照駆動周波数からオフセットされる。ステップ1096では、液滴生成波に対するレーザ傍受の位相を足し、帯電相を引き、バイアス構成要素を足した、フィルタにかけられた幅のデータの中のピークの数に等しくなるように滴下遅延を設定することによって、滴下遅延が計算される。ステップ1092、1094、および1096のプロトコルは、以下で提供される説明に基づいてさらに理解されるであろう。
【0059】
一実施形態では、滴下遅延を計算するための方法が、発振器の位相、充電電極、ストローブシステム、カメラ画像、および/またはレーザ等の位相変数を計上する。具体的には、滴下遅延の分数部分(fractional part)を求めるために、システム内の種々の位相変数が照合される。これらの変数は、従来技術のシステムのように、滴下遅延を実験的に判定するためにビーズを使用する時に無視することができるが、本発明の予測方法では計上されるべきである。
【0060】
適切な帯電相は、明確に仕分けされた流れが取得されるまで、帯電相ウィンドウを移動させることによって選択される。この過程は、液滴帯電を最適化するように、滴下駆動クロックと帯電との間のオフセットを効果的に整合させる。主要な認識は、液滴帯電相が、離散した一式の時間のみ、すなわち、滴下駆動期間につき1回、発生できることである。
図6は、どのように帯電ウィンドウ(下)が発振器サイクルの特定の位相(上)にあるかを示す。
【0061】
実践では、事象に対する基本ライフサイクルは、1)タイムスタンプがレーザ傍受時に割り当てられる、2)滴下遅延が追加される、3)選択された液滴が帯電させられる。具体的には、レーザ調査の瞬間に、高精度タイムスタンプが事象に追加される。タイムスタンプは、粒子が最終的にとどまる最終滴下を推定する、ソフトウェアに入れられる。これに対する式は、
滴下=(傍受時間+滴下遅延)div(滴下駆動期間)
であり、式中、divは、整数除算である(余りを捨てる)。滴下遅延を選択することによって、時間(正確に1期間の長さ)における移動ウィンドウと滴下数との間でマッピングが作成される。時間における各後続のウィンドウは、後続の滴下にマップする。
【0062】
滴下遅延の分数部分を変更することの効果は、滴下に入ることが予測される事象の時間におけるウィンドウを摺動させることである。分数部分の計算が間違っている時、システムは、不正確に「滴下前」を効果的に予測し、これらの時間の範囲に入る事象は、1つより多くの液滴に、または所望の液滴以外の液滴にマップする。
【0063】
レーザ相に関して、レーザ相の効果を例証するための非常に単純な始点は、滴下駆動期間に対するゼロストローブ相で撮影された写真について、2つのピークの間の谷でレーザが傍受する時を考慮することである。基本仮定(必ずしも厳密に真とは限らない)は、液滴ピークを中心とするそのような領域が、(流れを下方に移動するにつれて)最終的に収縮して液滴(すなわち「滴下前」)を形成することである。
【0064】
同時に、レーザを通過する仮想粒子を考慮する。そのタイムスタンプは、特定の滴下の中へマップするように所望される時間間隔の始まりをマークする。「滴下前」の最上部にある粒子は、1つ後の期間でレーザを通過するため、時間における間隔全体が(div演算の下で)同じ滴下にマップするように、滴下遅延を配設することが所望される。この配設は、滴下遅延の分数部分の本質である。そのような粒子上のタイムスタンプは、滴下駆動期間の完全整数倍数であるタイムスタンプを有する。div演算の下で、期間内にある全ての時間は、それらの余りを失い、この第1の粒子と同じ滴下にマップする。
【0065】
分数滴下遅延の一次導入は、レーザが正確にはゼロ位相における「滴下前」の開始時にない時の場合を計上することである。例えば、代わりに、レーザが流れの中の隆起の中心にあった場合、全ての粒子は、レーザが流れの隆起間の谷に集中した場合よりも1/2早い期間で、このレーザに衝打する。このレーザ位置における平行移動を計上するために、一実施形態では、期間の1/2をADC時間に人為的に加えることによって、移行が計上される。
滴下=({傍受時間+1/2期間}+滴下遅延)div(滴下駆動期間)
しかしながら、実際には、事象に与えられたADCタイムスタンプを変更することは可能ではない。代わりに、この分数オフセットを滴下遅延に吸収するために、加算の結合性が使用される。
滴下=(傍受時間+{1/2期間+滴下遅延})div(滴下駆動期間)
そのようなものとして、遅延は分数構成要素を有する。レーザが何らかの他の分数オフセット(1/2以外)にある場合、同じ手順に従う。当然ながら、所与の期間内で、1つより多くの粒子がレーザを通過する可能性は極めて低い。しかしながら、最後の付着液滴の数が1つの各期間だけ増分されるため、上記の手順が依然として該当する。
【0066】
帯電相に関して、液滴が期間中の何らかの(未知の)位相できれいに離脱するため、(帯電相に応じて)仕分けのために帯電させられる実際の滴下が、ゼロ位相または(後の帯電相に対する)次のより高い位相において画像の中で依然として接続されている滴下となり得ることが可能である。どれがそのような場合であるかを画像処理が明確に検出することを可能にするために、画像は正確に帯電相で撮影される。このようにして、どの滴下が帯電のために選択されるかを検出することができる。後の位相で画像を撮影することにより、対応する分数相だけ「滴下前」の上方にレーザを効果的に移動させる。この効果的な移動を補うために、アルゴリズムは、分数移動を差し引くことによって、レーザを効果的に下方に戻し、最終滴下遅延推定値は、
滴下遅延={分数レーザオフセット+整数滴下遅延−分数帯電相}
であり、画像は、正確に帯電相でストローブされる。
【0067】
実験的に観察されたバイアスについて、最終適応を行うことができる。代替的なノズルサイズについて、バイアスが存在し得る。そのようなバイアスは、実験的に判定することができ、バイアスを計上するために、代数関数に推定することができる(バイアス=aX+b)。例えば、70ミクロンノズルに対するバイアスは、例えば、以下の式の関数として設定される。
−0.015465X+0.891189、式中、X=0.1(離脱ミクロン数−帯電/360*最終波長ミクロン数)/平均速度である。
【0068】
この変数は、基本的には、(ほぼ100kHzの期間における)数10ミクロン単位のノズルから離脱までの時間である。
【0069】
本発明の広さおよび範囲は、上記の例示的実施形態のうちのいずれによっても限定されるべきではないが、以下の請求項およびそれらの同等物に従ってのみ定義されるべきである。