FRETImageProcess2.AlignStack 関数
タイムラプスイメージで、
画像の位置が時間がたつにつれてずれていくのを修正する。
刺激を入れた時などに一気に位置がずれた場合も
多少であれば修正できる。
ずれ幅が小さければ処理にかかる時間が短くなるようにしている。
画像が暗すぎたり、画像のずれが大きすぎたりする場合は
処理に時間がかかり、いつまでたっても終わらないこともある。
timepointの数をNとしたとき、
1 <= t <= N であるtについて
timepoint=1の画像とtimepoint=tの画像を比較し、
timepoint = 1, t の画像を縦横にずらしながら差分を計算する。
差分が最小になるようなずらし幅x,yを取得し、
その分だけ画像の位置を補正する。
位置が補正されると、画像がずれた分だけ空白の部分が生じるが、
その部分のintensityは、
FRETImageProcess2.FigureBackground 関数で計算された
background intensityが代入される。
AlignedStack = AlignStack(ImageStack)
引数
ImageStack (3次元セル配列)
画像データの行列を要素とする、
{wavelength,position,timepoint}の形式のセル配列。
FRETImageProcess2.ReadTiffFile関数の戻り値のImage_arrayと同じ形式である。
ずれ幅を求めるための上記のアルゴリズムは、
引数のセル配列におけるwavelengthのインデックスが1である
タイムラプスイメージについて実行される。
求めたずれ幅は、すべてのwavelengthに適用され、補正される。
戻り値
AlignedStack (3次元セル配列)
引数と同じ形式。
位置が補正された画像データ。