# background intensity fitting bg_fit = mat.fitting_linear(np.arange(0, len(bg_int_tseries), 1), bg_int_tseries) pointer_pd = dat.add_columns( pointer_pd, ['bg_linear_fit', 'bg_linear_r2', 'bg_linear_a', 'bg_linear_b'], [[bg_fit[0]] * len(pointer_pd), [bg_fit[1]] * len(pointer_pd), [bg_fit[2]] * len(pointer_pd), [bg_fit[3]] * len(pointer_pd)]) # background correction # use original measurement if fitting does not exist if np.isnan(bg_fit[2]): bg = bg_int_tseries else: bg = bg_fit[0] pointer_pd['bg_cor_int'] = ana.bg_correction(pointer_pd['raw_int'], bg) ctrl_pd['bg_cor_int'] = ana.bg_correction(ctrl_pd['raw_int'], bg) # filter control traces filter_ctrl = [] for i in range(len(ctrl_pd)): ctrl_int = ctrl_pd['bg_cor_int'][i] print(max(ctrl_int)) print(min(ctrl_int)) if (max(ctrl_int) - min(ctrl_int)) / max(ctrl_int) > 0.4: filter_ctrl.append(0) print(0) else: filter_ctrl.append(1) print(1) ctrl_pd['filter'] = filter_ctrl
# background intensity fitting bg_fit = mat.fitting_linear(np.arange(0, len(bg_int_tseries), 1), bg_int_tseries) pointer_pd = dat.add_columns( pointer_pd, ['bg_linear_fit', 'bg_linear_r2', 'bg_linear_a', 'bg_linear_b'], [[bg_fit[0]] * len(pointer_pd), [bg_fit[1]] * len(pointer_pd), [bg_fit[2]] * len(pointer_pd), [bg_fit[3]] * len(pointer_pd)]) # background correction # use original measurement if fitting does not exist if np.isnan(bg_fit[2]): bg = bg_int_tseries else: bg = bg_fit[0] pointer_pd['bg_cor_int'] = ana.bg_correction(pointer_pd['raw_int'], [bg] * len(pointer_pd)) ctrl_pd['bg_cor_int'] = ana.bg_correction(ctrl_pd['raw_int'], [bg] * len(ctrl_pd)) # filter control traces ctrl_pd_ft = ble.filter_ctrl(ctrl_pd) pointer_pd['num_ctrl_spots_ft'] = [len(ctrl_pd_ft)] * len(pointer_pd) data_log['num_ctrl_spots'] = len(ctrl_pd_ft) print("### Image analysis: photobleaching correction ...") # photobleaching factor calculation if len(ctrl_pd_ft) != 0: pointer_pd = ble.frap_pb_correction(pointer_pd, ctrl_pd_ft) # normalize frap curve and measure mobile fraction and t-half based on curve itself frap_pd = ble.frap_analysis(pointer_pd, max_t, acquire_time_tseries, real_time,
# background intensity fitting bg_fit = mat.fitting_linear(np.arange(0, len(bg_int_tseries), 1), bg_int_tseries) pointer_pd = dat.add_columns( pointer_pd, ['bg_linear_fit', 'bg_linear_r2', 'bg_linear_a', 'bg_linear_b'], [[bg_fit[0]] * len(pointer_pd), [bg_fit[1]] * len(pointer_pd), [bg_fit[2]] * len(pointer_pd), [bg_fit[3]] * len(pointer_pd)]) # background correction # use original measurement if fitting does not exist if np.isnan(bg_fit[2]): bg = bg_int_tseries else: bg = bg_fit[0] pointer_pd['bg_cor_int'] = ana.bg_correction(pointer_pd['raw_int'], [bg] * len(pointer_pd)) ctrl_pd['bg_cor_int'] = ana.bg_correction(ctrl_pd['raw_int'], [bg] * len(ctrl_pd)) if analyze_organelle == 'nucleoli': pointer_nuclear_bg_pd = pointer_pd[ pointer_pd['nuclear_bg_int'] != 'na'].copy().reset_index() pointer_nuclear_bg_pd['bg_cor_int'] = ana.bg_correction( pointer_nuclear_bg_pd['raw_int'], pointer_nuclear_bg_pd['nuclear_bg_int']) ctrl_nuclear_bg_pd = ctrl_pd[ ctrl_pd['nuclear_bg_int'] != 'na'].copy().reset_index() ctrl_nuclear_bg_pd['bg_cor_int'] = ana.bg_correction( ctrl_nuclear_bg_pd['raw_int'], ctrl_nuclear_bg_pd['nuclear_bg_int']) # filter control traces