增益 是指 CCD 相机的电子数转换为数字数 (ADU, Analog-to-Digital Units) 的比例
增益与信号的关系
每个像素的数字数
而每个像素的电子数服从泊松分布, 泊松分布有一个特点:
又
最终得到
计算 Gain
计算 biasdiff
Question
的噪声主要是读出误差( )
接下来考虑 flatdiff
flat 主要由信号和读出噪声组成
那么
结合俩式
考虑到信号就是ADU, 可求得增益为
这几项可以由图像直接求得
计算噪声
用标准差作为读出误差的估计值, 相应的电子数
Python 代码
## calculate gain and read noise
from astropy.stats import sigma_clipped_stats
## 读取 bias
biasfile1='./raw_data/d4466637BIASR213.fit'
biasfile2='./raw_data/d4466637BIASR214.fit'
## 读取 flat
flatfile1='./raw_data/d4466637FLATR201.fit'
flatfile2='./raw_data/d4466637FLATR202.fit'
## 获取四张图像的中心区域
bias1=fits.getdata(biasfile1)[1500-256:1500+256,1500-256:1500+256]
bias2=fits.getdata(biasfile2)[1500-256:1500+256,1500-256:1500+256]
flat1=fits.getdata(flatfile1)[1500-256:1500+256,1500-256:1500+256]
flat2=fits.getdata(flatfile2)[1500-256:1500+256,1500-256:1500+256]
## 计算均值
mean_flat1=np.median(flat1)
mean_flat2=np.median(flat2)
mean_bias1=np.median(bias1)
mean_bias2=np.median(bias2)
## 计算差分方差 sigma_biasdiff & sigma_flatdiff
_,_,std_biasdiff=sigma_clipped_stats(bias1-bias2,sigma=4.0,maxiters=2)
_,_,std_flatdiff=sigma_clipped_stats(flat1-flat2,sigma=4.0,maxiters=2)
print(mean_bias1,mean_bias2,mean_flat1,mean_flat2,std_biasdiff,std_flatdiff)
## 计算增益和读出误差
gain=((mean_flat1+mean_flat2)-(mean_bias1+mean_bias2))/((std_flatdiff**2-std_biasdiff**2))
rdnoise=gain*std_biasdiff/np.sqrt(2)
print("gain: ",gain, "readout noise:",rdnoise)