安装
# 由于不熟悉,我选择编译安装,以便更多地了解其细节。
参考:
https://psfex.readthedocs.io/en/latest/Installing.html
基本过程如下:
1
2
3
4
5
6
7
8
9
10
11
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/
tar -xzf 3.24.1.tar.gz
cd psfex-3.24.1/
ls
./autogen.sh
./configure
make
./src/psfex
copy 执行 ./configure 时可能遇到缺少依赖包的问题,使用 apt install 安装即可。
我没有执行 make install,也是为了了解运行时具体需要哪些配置。实际使用时建议执行 make install,会更加方便。
使用
# 使用 PSFEx 的前置条件是已经用 SExtractor 生成符合要求的 .cat 星表。具体要求参考:https://psfex.readthedocs.io/en/latest/GettingStarted.html
也就是说,SExtractor 生成的星表必须采用特定格式,并包含几个指定参数。以下是我成功运行 PSFEx 时使用的 SExtractor 配置文件,分别是 .sex 和 .param 文件。
.sex:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#------------------------------- 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个输出文件
copy .param:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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
copy 运行命令形如:
1
~/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
copy 注意,我在这个命令中显式指定了 -FILTER_NAME 和 -STARNNW_NAME,并通过路径运行 sex。这是因为我在编译安装时未执行 make install。
如果执行了 make install,sex 命令应已加入 PATH,而 -FILTER_NAME 和 -STARNNW_NAME 将自动读取默认配置(我显式指定的也只是默认配置)。
(是的,我也编译安装了 SExtractor,并且未执行 make install。)
这样将产生 ./outputs/test_02.cat 星表文件,并在下一步作为 PSFEx 的输入文件。
运行 PSFEx
# 运行:
1
~/data/astro/PSFex/psfex-3.24.1/src/psfex ./outputs/test_02.cat -c ./conf/test_02.psfex
copy 这里的 ./outputs/test_02.cat 是此前 SExtractor 输出的星表,./conf/test_02.psfex 是 PSFEx 的配置文件。
配置文件的详细描述参见:https://psfex.readthedocs.io/en/latest/GettingStarted.html#configuration-parameter-list
这里也给出我使用的配置文件作为参考:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#------------------------------- 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 #
copy 输出结果
# 按照上述配置,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
不知为何,我迄今仍未通过浏览器成功打开这一 XML 文件。经检查,XML 的第二行是:
1
<?xml-stylesheet type="text/xsl" href="file:///usr/local/share/psfex/psfex.xsl"?>
copy 它指定了 .xsl 样式文件的路径,而我没有执行 make install,所以该路径不存在。
(我知道错了,我已经make install了。)
但是,将此路径修改为 psfex.xsl 所在目录后(~/psfex-3.24.1/xsl/psfex.xsl),仍未成功读取。
于是,我决定使用 TOPCAT 读取此 XML 文件。
从官网下载压缩包并解压,将 .jar 文件放在解压后的目录中,然后执行 chmod +x topcat。此后运行 topcat 即可。