Func_AcXcFit関数において呼び出される関数の一つ。
FCS/FCCSのraw dataにおいて、basal intensityが徐々に変化していく場合がある。
このとき、自己相関関数に遅い成分が現れる。
このBasal intensityの変化(トレンド)を修正するためにMATLABのdetrend関数を使う。
ただし、detrend関数は「入力ベクトルから最適な直線近似を行い、それを除去し、結果を返す」
ものであるため、トレンドが線形のものでないと結果が歪んでしまう。
実際の測定データではトレンドが曲線になることがある。
この場合、detrend関数をそのまま使ってもうまくいかない。
解決方法の一つは、相関関数に対して2成分のfittingを行い、
本来のFCS/FCCSのcorrelation curveと、トレンドによるcorrelation curveを分離することである。
もう一つの方法は、raw dataを一度分割し、分割したそれぞれのデータに対してdetrendを行い、
それらをまた結合するという手順をとる。Func_detrend関数はこの手順を行う。
Raw dataを分割すると、分割したそれぞれのデータではトレンドが直線に近くなり、
detrendでうまく修正することができる。
どれだけ細かく分割するかはraw dataの性質による。
細かいほどトレンドが直線に近くなるが、
細かすぎると本来のデータが歪む可能性がある。
FCS/FCCSの測定データでは経験上30分割ぐらいにすればいいようである。
detrend関数は平均を引いたものが出力されるので、detrendする前に平均を計算しておき、
detrendした後に平均を加える必要がある。
function output = Func_detrend( rawdata )
引数
rawdata(1次元数値配列)
行数がtimepoint, 値が蛍光強度の配列。
Func_tifToTimecourseの戻り値。
戻り値
output(1次元数値配列)
rawdataをdetrendしたもの。
サイズはrawdataと同じ。