# 脚本

此手册描述了 iSpec 的所有函数功能,并且一些无法在可视化界面中使用的功能也可以从 Python 脚本中进行调用。在 iSpec 目录中有一个名为 example.py 的文件,它实现了下面所列出的例子:

  • read_write_spectrum()

  • convert_air_to_vacuum()

  • plot()

  • cut_spectrum_from_range()

  • cut_spectrum_from_segments()

  • determine_radial_velocity_with_mask()

  • determine_radial_velocity_with_template()

  • correct_radial_velocity()

  • determine_tellurics_shift_with_mask()

  • determine_tellurics_shift_with_template()

  • degrade_resolution()

  • smooth_spectrum()

  • resample_spectrum()

  • coadd_spectra()

  • merge_spectra()

  • normalize_spectrum_using_continuum_regions()

  • normalize_spectrum_in_segments()

  • normalize_whole_spectrum()

  • normalize_whole_spectrum_ignoring_prefixed_strong_lines()

  • normalize_whole_spectrum_with_template()

  • filter_cosmic_rays()

  • find_continuum_regions()

  • find_continuum_regions_in_segments()

  • find_linemasks()

  • fit_lines_determine_ew_and_crossmatch_with_atomic_data(use_ares=False)

  • fit_lines_determine_ew_and_crossmatch_with_atomic_data(use_ares=True)

  • fit_lines_already_crossmatched_with_atomic_data_and_determine_ew(use_ares=False)

  • fit_lines_already_crossmatched_with_atomic_data_and_determine_ew(use_ares=True)

  • calculate_barycentric_velocity()

  • estimate_snr_from_flux()

  • estimate_snr_from_err()

  • estimate_errors_from_snr()

  • clean_spectrum()

  • clean_telluric_regions()

  • adjust_line_masks()

  • create_segments_around_linemasks()

  • synthesize_spectrum(code="spectrum")

  • synthesize_spectrum(code="turbospectrum")

  • synthesize_spectrum(code="sme")

  • synthesize_spectrum(code="moog")

  • synthesize_spectrum(code="synthe")

  • interpolate_spectrum()

  • add_noise_to_spectrum()

  • generate_new_random_realizations_from_spectrum()

  • precompute_synthetic_grid(code="spectrum")

  • precompute_synthetic_grid(code="turbospectrum")

  • precompute_synthetic_grid(code="sme")

  • precompute_synthetic_grid(code="moog")

  • precompute_synthetic_grid(code="synthe")

  • determine_astrophysical_parameters_using_grid()

  • determine_astrophysical_parameters_using_synth_spectra(code="spectrum")

  • determine_astrophysical_parameters_using_synth_spectra(code="turbospectrum")

  • determine_astrophysical_parameters_using_synth_spectra(code="sme")

  • determine_astrophysical_parameters_using_synth_spectra(code="moog")

  • determine_astrophysical_parameters_using_synth_spectra(code="synthe")

  • estimate_initial_ap_with_precomputed_grid_and_determine_ap_using_synth_spectra(code="spectrum")

  • estimate_initial_ap_with_precomputed_grid_and_determine_ap_using_synth_spectra(code="turbospectrum")

  • estimate_initial_ap_with_precomputed_grid_and_determine_ap_using_synth_spectra(code="sme")

  • estimate_initial_ap_with_precomputed_grid_and_determine_ap_using_synth_spectra(code="moog")

  • estimate_initial_ap_with_precomputed_grid_and_determine_ap_using_synth_spectra(code="synthe")

  • determine_abundances_using_synth_spectra(code="spectrum")

  • determine_abundances_using_synth_spectra(code="turbospectrum")

  • determine_abundances_using_synth_spectra(code="sme")

  • determine_abundances_using_synth_spectra(code="moog")

  • determine_abundances_using_synth_spectra(code="synthe")

  • determine_abundances_line_by_line_using_synth_spectra(code="spectrum")

  • determine_abundances_line_by_line_using_synth_spectra(code="turbospectrum")

  • determine_abundances_line_by_line_using_synth_spectra(code="sme")

  • determine_abundances_line_by_line_using_synth_spectra(code="moog")

  • determine_abundances_line_by_line_using_synth_spectra(code="synthe")

  • determine_loggf_line_by_line_using_synth_spectra(code="spectrum")

  • determine_loggf_line_by_line_using_synth_spectra(code="turbospectrum")

  • determine_loggf_line_by_line_using_synth_spectra(code="sme")

  • determine_loggf_line_by_line_using_synth_spectra(code="moog")

  • determine_loggf_line_by_line_using_synth_spectra(code="synthe")

  • determine_astrophysical_parameters_from_ew(code="moog", use_lines_already_crossmatched_with_atomic_data=True)

  • determine_astrophysical_parameters_from_ew(code="moog", use_lines_already_crossmatched_with_atomic_data=False)

  • determine_astrophysical_parameters_from_ew(code="width", use_lines_already_crossmatched_with_atomic_data=True)

  • determine_astrophysical_parameters_from_ew(code="width", use_lines_already_crossmatched_with_atomic_data=False)

  • determine_astrophysical_parameters_from_ew(code="spectrum", use_lines_already_crossmatched_with_atomic_data=True)

  • determine_astrophysical_parameters_from_ew(code="spectrum", use_lines_already_crossmatched_with_atomic_data=False)

  • determine_astrophysical_parameters_from_ew(code="turbospectrum", use_lines_already_crossmatched_with_atomic_data=True)

  • determine_astrophysical_parameters_from_ew(code="turbospectrum", use_lines_already_crossmatched_with_atomic_data=False)

  • determine_abundances_from_ew(code="spectrum", use_lines_already_crossmatched_with_atomic_data=True)

  • determine_abundances_from_ew(code="turbospectrum", use_lines_already_crossmatched_with_atomic_data=True)

  • determine_abundances_from_ew(code="spectrum", use_lines_already_crossmatched_with_atomic_data=True)

  • determine_abundances_from_ew(code="turbospectrum", use_lines_already_crossmatched_with_atomic_data=True)

  • determine_abundances_from_ew(code="moog", use_lines_already_crossmatched_with_atomic_data=True)

  • determine_abundances_from_ew(code="moog", use_lines_already_crossmatched_with_atomic_data=False)

  • determine_abundances_from_ew(code="width", use_lines_already_crossmatched_with_atomic_data=True)

  • determine_abundances_from_ew(code="width", use_lines_already_crossmatched_with_atomic_data=False)

  • determine_abundances_from_ew(code="moog", use_lines_already_crossmatched_with_atomic_data=True)

  • determine_abundances_from_ew(code="width", use_lines_already_crossmatched_with_atomic_data=True)

  • calculate_theoretical_ew_and_depth()

  • paralelize_code()

  • estimate_vmic_from_empirical_relation()

  • estimate_vmac_from_empirical_relation()

  • generate_and_plot_YY_isochrone()

  • interpolate_atmosphere(code="spectrum")

  • interpolate_atmosphere(code="turbospectrum")

  • interpolate_atmosphere(code="moog")

最简单的脚本使用方法就是复制一份 (😂 [Ctrl] + [C] 大法),而后清除所有的函数功能,只保留符合用户需求的那部分。

脚本里的变量 ispec_dir 应该指向 iSpec 的安装路径,比如:

#--- iSpec directory -------------------------------------------------------------
ispec_dir = '/home/virtual/iSpec/'
sys.path.insert(0, os.path.abspath(ispec_dir))
import ispec

在终端输入 python example.py 即可执行该脚本。

最后更新于: 2/9/2021, 9:43:38 AM