Skip to content

PepeJoseHU/xlp2grb

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="Generator" content="Kate, the KDE Advanced Text Editor" />
<title>readme</title>
</head>
<body>
<pre style='color:#181615;background-color:#ffffff;'>
GWAC数据处理程序中,有关图像交叉和图像相减的过程及说明

整理人:辛立平 

初次编写: 2013-02-28
升级更新: 2013-07-09
升级更新: 2013-07-10

==========================================================================
目前 数据处理主要分为以下几部分:

1. 天测定标;2. 合并图像; 3. 已知天文星表提取; 4. 参考星表制作; 5. 星表交叉;6. 图像相减;
==========================================================================

1.天测定标,具体过程和方法
  lot6c2.py 
	作者:	裘予雷老师编写;
	功能:	对mini-GWAC和GWAC广角相机进行天体位置定标;
	使用说明:	lot6c2.py fwac fitlist 
			其中lot6c2.py是程序名;fwac是镜头代号,表征处理的数据是哪一类镜头产生的;
			其中config.txt中有关于镜头类型编号说明,不同的镜头编号,对应不同的角分辨率和畸变。
			fitlist中是将要进行天测定标的fit图像
	精度:	对于全图亮星,精度约1个角秒;
	结果:	输出视场中心及轮廓面几个点的坐标(prefix.cencc1);
		输出CCD靶面XY与RADEC的转化关系(prefix.acc);

**************************************************************

2.合并图像,具体过程和方法
  com1.sh
	功能:	对一组图像进行自动合并;
	坐标系: 以第一幅图像为参考模板;
	结果:	输出合并图像;
	匹配精度: 亮星RMS~0.1pixel

**************************************************************

3.已知天文星表提取,具体过程和方法
  remote_py程序包
	作者:	韩旭辉;
	功能:	依据不同需求,从USNOB1.0星标中快速提取星表;
	效率:	大部分情况下,1分钟内完成;
	输入参数:  视场大小,视场中心坐标,极限星等,星等范围等,孤立亮星半径;
	结果:	依据不同需求,给出不同星表,例如给出全视场的某个极限星等以上的所有星的RADEC坐标和星等;

**************************************************************

4.参考星表制作,具体过程和方法
  xcctran_temp.sh
	功能:	通过RADEC与XY转化关系将RADEC表转化成XY表;
	输入文件:  remote_py程序包给出的视场天文全星表,视场亮星星表;
		   lot6c2.py通过全图天文位置定标后给出的RADEC-XY转化关系;
		   com1.sh给出的合并图像;
		   认为给定一个视场代号,用于将输出的结果拷贝保存到该代号的目录里,目前程序认为视场代号与目录名字相同;
	结果:	全视场参考星表(XY坐标),也称为模板星标,亮星星表;

**************************************************************
	
5.星表交叉,具体调用过程
  xotOnline.sh
	功能: 启动数据处理程序;
	输入: 原始数据路径;
	       自动所需拷贝匹配文件
	调用软件:1. xmknewfile.sh 依据当前日期自动建立结果保存目录,用于保存数据处理出的结果文件;
		  2. xmatch11.cata.sh	对新图像进行图像匹配,并位置交叉;
	
   xmatch11.cata.sh
	功能:对新图像进行匹配;星表交叉;
	处理步骤:	1. 暗场改正(xdarkcorr.sh);
			   暗场平场改正(xdarkflatcoor.sh); 
			2. 提取单像素高于1.5倍信噪比的全部星象(sextracotr),其中 信噪比可以修改。
			3. 对目标进行亮度排序;提取出2000颗亮星;
			4. 调用xyxymatch进行位置交叉,交叉方式为tolerance=20;
			5. 调用geomap进行位置关系拟合;
			6. 判断交叉拟合后二维上各精度是否小于0.15, 如果是,提取图像偏移量shift和拟合精度rms,并进行后面的处理;
			                                              如果否,则调取最新的图像的偏移表newxyshift.cat,提取其中的偏移量。
								      将新图像中位置信息提前进行偏移量的修正,然后在进行匹配拟合,提取出最终的偏移量和rms提取出来。
								      如果此时还是没有成功,则退出程序(可能此时需要考虑增加三角算法,这样程序就不需要退出了)
			7. 利用上一步得到的位置关系,调用iraf.geoxytran将新图像坐标转化到模板坐标系中;
			8. 调用C语言程序crossmatch(蔡洪波软件)进行新图像和模板图像的星表交叉,形成OT候选体星表,(这一步是在模板图像坐标系下完成);
			9.  在这些候选体中剔除图像边上,由于位置平移,旋转而错位处的目标;    
			10.如果OT候选体目标过多(目前设置为超过300个),则认为是匹配错误,终止下面的处理,转而处理下一幅图像。
			11. 坐标系转移:调用iraf.cctran将OT候选体的xy转化成RADEC;
			12. 坐标系转移:调用iraf.geoxytran将OT候选体的xy转化到新图像坐标中;
			13. 整理OT候选体信息:将OT的RA DEC,新图像坐标下的XY以及模板坐标下的XY,观测时间,星等,误差,椭率等信息都整理到一个文本中;
			14. 去掉坏像素;
			15. 去掉亮星边上的影响;
			16. 调用xChbTempBatch.sh从图像序列中进一步选择OT候选体,目前程序设置为5幅中出现过两次;
			     这里需要输入一个预先准备好的文本,xChbTempBefore.log
			     
			17. 在gnuplot图像中显示连续40幅图像以内的OT候选体,同时标出新连续出现的候选体。用不同的符号表示出来。
			18. 在ds9中图像显示,并将多次出现的OT候选体标记出来;
			
			18. 从图像匹配中整理出图像平移信息,整理后调用xsentshift发送给望远镜控制系统进行导星;
			
			19. 调用xFwhmCal_single.sh对与参考星匹配上的亮星进行FWHM计算,并将结果发送到望远镜控制系统中,进行自动调焦;	
			
			20. 调用xTrimIm.sh进行OT窗口图像剪切。暂时该功能屏蔽;
			
			21. 将模板星表,模板合并图像,模板扣除背景图像,XY-RADEC转化关系文件,亮星匹配文件,拷贝到图像相减文件夹处(该目录区在程序开头宏定义中已经做了定义);
			22. 将匹配结果文件(记录新图像和模板图像中匹配上的新的位置关系,有限离散点),
			    新图像星表,背景图像,新图像和模板图像坐标转化关系,拷贝到图像相减文件夹处;
			23. 将其他结果拷贝到结果目录中。    
			    

**************************************************************

6. 图像相减:
   xsubOnline.sh
	功能:启动图像相减程序
	输入:无手动输入
	调用程序: 1. xmknewfile.sh 依据当前日期自动建立结果保存目录;
		  2. xmatch8.geotran.sh 进行图像重建;

   xmatch8.geotran.sh
	功能:对新的图像进行重建,合并,相减;
	处理步骤:	1. 依据图像匹配关系,调用iraf.geotran将新图像进行重建;
			2. 判断没有合并的新图像的数目,小于5幅,等待并重新重建新的图像。
			3. 如果等于5幅,调用xcom_withoutshift.sh;
			4. 调用xcom_withoutshift.sh进行图像合并,生成新的合并图像,图像名与中间图像名有关;
			5. 调用xmatch8.sub.sh进行图像相减,具体过程如下:
				1. 利用sextractor找合并图像中的单像素信噪比30以上的星,同时去除图像边缘的星;
				2. 调用flux_obj_ref程序,将合并图像中亮星与参考亮星表相匹配,产生流量匹配星表,命名为refsmall_new;
				3. 通过5次递归进行流量比值计算,精度在50%以内;输出新合并图像和模板图像之间流量的比值和误差;
				4. 调用iraf.imarith,对合并图像进行背景扣除,流量改正,图像相减,形成残差图;
				5. 在残差图中,提取单像素信噪比在2以上的目标;
				6. 剔除图像边缘由于图像平移而产生的假目标;
				7. 调用gmatch_1程序,将新目标星表与参考模板相比较,防止星体相减残留(可选屏蔽,如果功能屏蔽,变星将不能自动触发);
				8. 调用iraf.cctran将OT候选体的xy转化成RADEC;
				9. 调用iraf.geoxytran将OT的xy转化到新图像坐标中;
				10. 整理OT信息到一个与合并图像名相关的文本中;
				11. 在ds9中显示残差图。新目标候选体及其天球坐标信息实时进行标示,以备观测人员读取确认;
				12. 删除中间过程;
				13. 结果备份(目前该功能被屏蔽);

**************************************************************

其它软件说明:
名字:			功能:

xdarkcom.sh		自动合并暗场,并生成暗场合并图像和热点坏像素表;

sentfwhm		发送最新图像的FWHM到转台控制中心;

xcctranRaDec2xy.sh	转化RADEC为XY,程序内部默认调用的转化关系名称为refcom.acc;
xcctranXY2RaDec.sh	转化XY为RADEC,程序内部默认调用的转化关系名称为refcom.acc;

xcrossotForlast3Frames.sh 从最近连续3幅图像中挑选出都出现的目标,并生成新的文本;
xcrossotForlast2Frames.sh 从最近连续2幅图像中挑选出都出现的目标,并生成新的文本;

xUpdate_refcom3d.cat.sh 自动更新模板星表;

display  linux下imagemagic软件下的一个显示图像的命令

xfwhmave  用于在xFwhmCal_single.sh程序中,计算平均的FWHM。

sentfwhm (原代码为sentfwhm.c)用于通过socket将最新fwhm发送个调焦控制机上。(目标用#屏蔽,需要是可以打开该功能)

xTrimIm.sh   自动将OT候选体周围的图像及模板相对应的图像进行剪切,大小目前设置为20pixel,可以自由设置。并且将剪切图像保存到指定的文件夹下。
	     (该程序目前被屏蔽,主要是该程序编写较早,而其他程序发展了
             很多版本,很有可能在运行中出现一些bug。目前还没有对该程序进行调试。)

xAutotvmark2.sh, xAutotvmark20.sh, xAutotvmark.sh 都是在ds9中能够自动mark上OT位置,用于调试使用,没有加入主程序中。

xds9mark.sh, xds9mark1all.sh  自动启动ds9,并且mark上OT位置,用于调试使用。没有加入主程序中。


**************************************************************

各主要输入输出文本或者文件的名称,内容,格式:

refcom3d.cat  名称:模板星表
	      内容: xi, yi, Rmag
	      
refcom.fit    名称:模板图像(经过程序com1.sh合并后的fit图像)

refcom_subbg.fit  名称: 模板扣除背景图像(也就是refcom.fit扣除背景后的图像)

refcom.acc   名称: RADEC-XY转化关系文件(由裘老师的程序lot6c2.py进行天文位置定标产生)

Dark.fit      名称:暗场合并图像

Flat_bg.fit   名称:平城合并后扣除背景图像

listmatch     名称: 待处理图像列表(xmatch11.cata.sh就是依次处理这里边的图像)

xmatchdaofind.sex   名称:sextracotr进行图像星象目标提取时的配置文件

$output  	是以图像.fit之前的名称为前缀,以.sex为结尾的名称,是sextractor产生的星表文件
		内容: xi, yi, flux, flags, background, threshold, mag_aper, merr_aper, ellipticity, class_star

$output_new  	是$output中挑选出的用于位置匹配的亮星星表,以.sexnew为结尾
		内容:xi, yi, flux, flags, background, threshold, mag_aper, merr_aper, ellipticity, class_star
	     
Gwactandallcat   名称:由程序xcctran_temp.sh产生的“标准”亮星星表
		 内容:xi, yi,  flux(adu)
		 
$OUTPUT_geoxytran2   也就是当前图像.fit.tran2文件,通过位置变换后,将图像中星表坐标从新图像坐标转换到模板坐标下的坐标。
		    内容: x0, y0, flux, flags, background, threshold, mag_aper, merr_aper, ellipticity, class_star

$crossoutput_xy    由CrossMatch程序产生的输出文件,是没有匹配上的文件,后缀是.tempxyOT
		   内容:x0, y0, flux, flags, background, threshold, mag_aper, merr_aper, ellipticity, class_star

$crossoutput_sky   是由$crossoutput_xy产生。目的是将xy坐标转化成RADEC坐标。后缀是.skyOT.
		   该文件在后来来进行了新的整理,里边包含了OT候选体的更多信息,具体为:
		  内容包含了RA(d),DEC(d), xi, yi, x0, y0, 观测时间,图像名称,flux, flags, background, threshold, mag_aper, merr_aper, ellipticity, class_star
		  
$newimageOTxyFis    是将$crossoutput_xy中的模板坐标系下的坐标转化成新图像中的坐标。后缀为.newxyOT1
		    内容: xi, yi, flux, flags, background, threshold, mag_aper, merr_aper, ellipticity, class_star
		    
$imagetrans2sd    内容: 模板和新图像坐标转化文件,里边包含了转化关系,由iraf产生,后缀为.trans2sd

badpixelFile.db   热点表(可能包含坏像素),由darkcom.sh进行暗场合并是同时产生
		 内容 :xi,yi, flux, flags, background, threshold, mag_aper, merr_aper, ellipticity, class_star

brightstarsFile.db  亮星的影响表格,表中给出了亮星坐标。程序xAutoEjectBrightstar则去除亮星一定范围内的可疑目标。
		     内容,xi,yi

listsky		包含当前目录下所有.skyOT的列表

listsky1	包含lisysky中最后5个.skyOT的列表,也是最新的五个文件的列表

matchchb.log	从最后listsky1中5幅图像中挑选出出现过2次的目标的及相关列表。???????输出的内容没有完全弄明白(调用函数为TemplateMark.cpp),包装程序为xChbTempBatch.sh
		内容: ra,dec,xi, yi, x0, y0, time, imagename, flux,     flags, bgflux, threshold, mag, merr, ellipticity, class_star,imagenum (不正确,需要chb合适)
		
temp2framecoord_ref  从matchchb.log中提取的OT候选体在模板坐标系下的坐标。

temp2framecoord_new  从matchchb.log中提取的OT候选体在新图像坐标系下的坐标。
		
matchchb_all.log   将所有的matchchb.log中的信息全部顺序写入该文件,形成一个总的文件

list2frame.list    拷贝matchchb_all.log文件,用于做图使用。

newframeOT.obj     拷贝matchchb.log文件,用于做图使用。

plot2frame.gn	   用gnuplot画图软件进行OT候选体及其历史数据显示的做图程序。

listskyot.list     包含OT候选体的在最近若干图像中的所有信息(目前程序设置为40幅图像。该参数可以任意设置)

newxyshift.cat     包含新图像相对于模板图像的二维偏移量 xshift   yshift,这些参数有可能由负值。

xyshiftall.cat     包含所有处理过图像的相对于模板图像的图像偏移量。可以用于分析转台指向和跟踪的检验数据。

$OUTPUT_fwhm       后缀名.fwhm,用于记录不同被测试星的坐标和FWHM
		    格式为:xi, yi, fwhm, 0,0,0
		    
plot.fwhm.gn	   用于gnuplot做图程序的输入程序

fwhm_lastdata      包含最新图像的FWHM信息

averagefile_fin	   包含处理过的所有图像的FWHM历史变化数据,用于检测FWHM的变化。

average_fwhm.png   fwhm变化图。


**************************************************************


匹配方法精度:
    位置匹配: 
	      方法: 1. 对图像进行天测定标(裘老师软件);
		     2. 读取全视场天文坐标(韩旭辉软件);
		     3. 将天文坐标转化成XY坐标;
		     4. 两CCD星表XYXY交叉(蔡洪波软件);
	      精度:
	             天测定标(裘老师软件):全图亮星可以达到1个角秒左右;
		     图像匹配xyxymatch精度,全图亮星可以达到0.1pixel;
	             两CCD星表XYXY交叉(蔡洪波软件),交叉半径需要达到2个pixel,具体看图;

    流量定标: 
	      方法:  1. 对亮星进行半径10pixel的测光;
		      2. 对星进行位置匹配;
		      3. 匹配上的星进行流量比值拟合,进行5次递归;
	      精度: 全图亮星RMS10%;

**************************************************************

目前处理速度:
    位置匹配:
	      天测定标: ~5秒以内;
	      两图匹配: 小于2秒左右(依赖于转台的指向,导星功能,所以只进行一次位置匹配);
	      CCD坐标匹配:小于1秒;
    找星:    SEXTRACTOR: 4秒左右(~3万颗星);		
    半高全靠计算:  小于3秒;
    流量匹配:       约2秒;
    图像匹配后重建:       约8秒(3k*3kCCD);
    全星表坐标系转化: 2秒;
    图像合并:       约1秒;

*************************************************************

目前提高速度方法(确保实时运行):
    分两个进程进行:
	      1. 位置交叉程序。用时约10秒左右(找星4秒+图像匹配2秒+坐标转化2秒+位置交叉1秒+半高全靠2秒);
	      2. 图像重建,图像合并,图像相减。约13秒;
	      备注:图像重建过程依赖第一步位置交叉程序中,图像匹配产生的关系;
	      
**************************************************************

现在遇到的问题:	
	
	1. 星表交叉后, OT候选体的提取与预警
	 (希望蔡洪波等人能够抽些时间帮忙写个软件处理这一部分);
	   这部分涉及到后随观测,结果显示,数据库管理等问题。
	   很可能需要联合黄垒,吴潮,裘老师,韩旭辉,万萌等人进行联合工作。
	 
        2.  图像相减以后,OT的有效识别(包括亮星残余剔除,耀星的发现,
	    星系位置位置和范围,OT候选体,(从位置关系和亮度比值出发考虑));
	    
已经解决的问题:
	1. 已知天文星表漏星(小韩已经升级完成,问题解决!);
	2. 在视场边缘处,天测定标位置定标不是很准(很可能是在做天测定标时,
	   选取的亮星偏少,边缘区域照顾不够,或者是边缘角落处畸变太大,
	   在拟合中去点了,具体还需要裘老师确认一下)。该问题可能基本解决,还需进一步测试确认。;
	
**************************************************************

正在进行的工作:

* mini-GWAC CCD控制软件的完成(xyf负责);

* mini-GWAC与转台的联动通讯,目前由黄垒和宣圆峰进行。

* 热点改正(通过合并暗场后从暗场中提取可以目标形成本市场的热点表;(基本完成)

* 坏像素改正(通过数据处理之后不断更新来完成,不同CCD对应不同的坏像素表);

* 流量定标,测光部分(裘老师,吴潮等人正在进行中);

* 光变曲线的形成(徐洋正在进行);

* Fermi触发软件的完成。这部分需要黄垒和吴潮,宣圆峰的配合;
 之前,吴潮完成了从GCN获取Fermi触发信息的软件。
      辛立平传给了宣圆峰包含fermi触发信息的socket程序和目前在兴隆80cm望远镜上成功运行的只包含SWIFT触发信息的程序作为参考。
      备注:FERMI GRB130702A的光学对应体在4个小时以后被iptf探测到了,亮度约为17mag,与GBM给出的位置相差3.8度,光谱确认红移为0.145。

 * 云量检测等工作(李晓龙正在进行);
 
 * 星表交叉程序的成功率模拟。相关软件目前由裘老师负责编写。光变由辛立平等人负责收集。
 
 *  建议建立一个GOOD亮星星表模板,以此为模板进行亮度匹配,位置,FWHM,flux匹配,作为历史数据保留,
   可以作为数据处理和天气等的质量判断(韩旭辉,辛立平);
   
 *  GWAC,mini-GWAC相机阵的指向策略(韩旭辉);  
 
**************************************************************

下一步工作建议:

 
*  数据处理中每一步的精度测试和确认,以及各参数调试;

* 平场改正:目前来看,数据处理中,很难利用当天的平场。一个可能的解决方案是,
  很多天的平场数据进行合并后生成最终平场,进行数据修正。

* 多余目标信息整理(坐标信息,时间,亮度,变化?类型?证认图...);

* 多余目标的预警,数据库管理,网页显示,查询;

* CCD图像文件头中信息的确定;

* 数据处理软件中对CCD图像文件头的信息依赖,需要更新,但是前提是CCD控制软件或者协议完成之后进行;

* 视场的拼接相关测试软件;

**************************************************************

软件使用说明及安装:

	语言:有shell脚本语言,python,C,C++,g77语言;
	安装:一些程序包需要进行编译,编译程序写在了command的文本里;
	运行环境:linux (Fedora14 x86_64位,个人觉得很稳定)。
	运行方式:开始两个shell,一个shell运行xotOnline.sh;另一个shell运行xsubOnline.sh;
	运行目录:xsubOnline所在的目录名称已经写在了xmatch11.cata.sh中,如果在新的目录下,
	          可以在程序中重新修改这个目录名,或者将来需要,可以修改软件,使得每次运行都给出运行目录;
	运行需要的软件:shell, ds9, iraf,pyraf,sextracotr,gnuplot,gcc,g++,display,python;
	                 特别是pyraf版本最好选用2.0的版本。目前发现更高版本安装很空难。
			 sextracotr可以下载rpm包进行安装。


* 需要讨论电脑及系统版本,以及维护问题,否则这部分精力消耗会很大;

**************************************************************


</pre>
</body>
</html>

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 92.9%
  • C 3.1%
  • C++ 2.2%
  • Python 1.5%
  • Roff 0.1%
  • Forth 0.1%
  • Filebench WML 0.1%