安装
由于不熟悉,我选择编译安装,以便更多地了解其细节. 参考: https://psfex.readthedocs.io/en/latest/Installing.html 基本过程如下:
mkdir PSFex
wget https://github.com/astromatic/psfex/archive/refs/tags/3.24.1.tar.gz
mv 3.24.1.tar.gz PSFex/
cd psfex-3.24.1/
ls
./autogen.sh
./configure
make
./src/psfex
在./configure
的时候可能遇到一些包缺失,apt install
之即可。
我没有make install
,也是为了了解运行时具体需要哪些配置。实际使用时建议make install
更加方便。
使用
SExtractor的准备:
使用PSFex的前置条件是已经用SExtractor生成了符合要求的.cat星表。具体要求参考:https://psfex.readthedocs.io/en/latest/GettingStarted.html
也就是说,SExtractor所产生的星表必须是特定的格式,以及必须包含所要求的几个特定参数。以下是我可以成功运行PSFex时,所用的SExtractor的配置文件,分别是.sex和.param文件:
.sex:
#------------------------------- Requirements ----------------------------
CATALOG_NAME ./outputs/test_02.cat # 输出目录文件名
CATALOG_TYPE FITS_LDAC # 必须使用LDAC格式
#------------------------------- Detection -----------------------------------
###选源标准,请根据实际情况调整
DETECT_MINAREA 80
DETECT_THRESH 3.0
ANALYSIS_THRESH 5.0
FILTER Y
FILTER_NAME default.conv
DEBLEND_NTHRESH 8
DEBLEND_MINCONT 0.8
#------------------------------- Photometry ----------------------------------
###测光参数,请根据实际情况调整
PHOT_APERTURES 20 # 直径20像素(约5角秒)
PHOT_AUTOPARAMS 2.5,3.5
SATUR_KEY SATURATE # 从FITS头读取饱和值
SATUR_LEVEL 58950 # 65500*0.9(保留10%余量)
MAG_ZEROPOINT 0.0
#------------------------------- Check Image ----------------------------
###输出检查图像便于查看,非PSFex要求
CHECKIMAGE_TYPE SEGMENTATION,APERTURES # 2种输出类型
CHECKIMAGE_NAME Check_seg.fits,Check_aper.fits # 2个输出文件
.param:
NUMBER
X_IMAGE
Y_IMAGE
XWIN_IMAGE
YWIN_IMAGE
VIGNET(35,35)
FLUX_APER
FLUXERR_APER
FLUX_AUTO
FLUXERR_AUTO
FLUX_RADIUS
SNR_WIN
ELONGATION
BACKGROUND
FWHM_IMAGE
ELLIPTICITY
CLASS_STAR
FLAGS
运行时的命令形如:
~/apps/astro/Sextractor/sextractor-2.28.2/src/sex ~/data/fits/test_image.fit -c ~/conf/sex.sex -PARAMETERS_NAME ~/conf/sex.param -FILTER_NAME ~/apps/astro/sextractor-2.28.2/config/default.conv -STARNNW_NAME ~/apps/astro/sextractor-2.28.2/config/default.nnw
注意,我在这个命令中显式指定了-FILTER_NAME
和-STARNNW_NAME
,以及是通过路径运行的sex
。这是因为我在编译安装的时候未执行make install
。
如果执行了,sex
命令应已成为环境变量,而-FILTER_NAME
和-STARNNW_NAME
将自动读取默认配置(我所显式制定的也只是默认配置)。
(是的,我也编译安装了SExtractor
并且未make install
)。
这样将产生./outputs/test_02.cat
的星表文件,将在下一步作为PSFex
的输入文件。
PSFex运行
运行:
~/data/astro/PSFex/psfex-3.24.1/src/psfex ./outputs/test_02.cat -c ./conf/test_02.psfex
这里./outputs/test_02.cat
是此前SExtractor输出的星表,./conf/test_02.psfex
是PSFex的配置文件。
配置文件的详细描述参见:https://psfex.readthedocs.io/en/latest/GettingStarted.html#configuration-parameter-list
这里我也给出我使用的配置文件作为参考:
#------------------------------- Input -------------------------------
PSF_DIR ./outputs/ # PSF 输出目录
PSF_SUFFIX .psf # PSF 文件后缀
#------------------------------- PSF Modeling ------------------------
BASIS_TYPE PIXEL_AUTO
PSF_SIZE 35,35 # 匹配VIGNET_SIZE
PSF_SAMPLING 0.5 # 超采样
CENTER_KEYS XWIN_IMAGE,YWIN_IMAGE # 使用加权质心
#------------------------------- Star Selection ----------------------
SAMPLE_FWHMRANGE 8.0,42.0
SAMPLE_MAXELLIP 0.8
SAMPLE_MINSN 20
SAMPLE_FLAGMASK 0x0000
SAMPLE_VARIABILITY 0.2
#------------------------------- Output ------------------------------
WRITE_XML Y
XML_NAME psfex_output_02.xml
CHECKIMAGE_TYPE PROTOTYPES # 生成 PSF 原型图像
CHECKIMAGE_NAME psf_model_02.fits #
输出结果
按照我上述使用的配置,PSFex生成的结果包含一个psfex_output_02.xml
,一个psf_model_02_test_02.fits
(test_02来源于输入的test_02.cat星表),以及一个./outputs/test_02.psf
具体的描述参考:https://psfex.readthedocs.io/en/latest/GettingStarted.html#output-files
psfex_output_02.xml
不知为何,我迄今仍未通过浏览器成功打开这一.xml文件。经检查,xml的第二行:
<?xml-stylesheet type="text/xsl" href="file:///usr/local/share/psfex/psfex.xsl"?>
指定了.xsl样式文件的路径,而我没有make install
故不存在此路径。
(我知道错了,我已经make install
了。)
但是在我将此路径修改为psfex.xsl所在目录后(~/psfex-3.24.1/xsl/psfex.xsl
),仍未成功读取。
于是我决定使用topcat
https://www.star.bris.ac.uk/~mbt/topcat/读取此.xml文件:
在官网中下载.jar文件并解压,进入目录,chmod +x topcat
。此后要将刚才的.jar压缩包放到解压出的目录中。然后topcat
运行即可。