Version 1.6.2-51 | Comparing ISIS with XSPEC | |||||||||||||||||||
|
This page is intended to provide a brief comparison between ISIS and xspec, which is currently the most widely used software package for data analysis in X-ray astronomy. It includes a guide to map xspec commands to equivalent ISIS functions. Fully commented examples of xspec and ISIS scripts are also available. ISIS was Designed to be Programmable
The fundamental difference between xspec and ISIS is that
ISIS was designed to be programmable. Because ISIS embeds the
S-Lang scripting language, most ISIS commands are
functions which may take arguments and return values. In
some cases, the design hides this. For example, the
isis> fit_countsOr, if the line-ending semicolon ( ; ) is not
suppressed in the user's startup configuration, this could be:
isis> fit_counts;For scripting use, the full form may be used: s = fit_counts ([&info_struct] [,response_type])Here we have indicated optional function arguments by enclosing them in square brackets ( [] ).
Interactive DocumentationIn addition to the formatted manual, there are three interactive documentation mechanisms in ISIS which can be used to determine the arguments and return values of a function:
ISIS Analogues for Common XSPEC FunctionsThe following table gives the most commonly needed functions for basic interactive analysis. Note that optional ISIS function arguments are enclosed in square brackets ([] ),
and that if all arguments are optional, then a typical
interactive use is to simply type the command name followed by
a semicolon (;<RETURN> ). Function return values are not
shown; in interactive mode, they will be echoed to the
terminal.
XSPEC ISIS _______________________________________________________________ data load_data ("pha_filename", [row_num]) arf load_arf ("filename") assign_arf (arf_index, hist_index[]) unassign_arf (hist_index[]) resp load_rmf ("filename[;name]" [, init_args]) assign_rmf (rmf_index, hist_index[]) unassign_rmf (hist_index[]) assign_rsp (arf[], rmf[], hist_index[]) ignore ignore (hist_index[] [, lo, hi]) ignore_bad (hist_index[]) ignore_en (hist_index[] [, lo, hi]) ignore_list (id, where) notice notice (hist_index[] [, lo, hi]) notice_en (hist_index[] [, lo, hi]) notice_list (id, where) xnotice (hist_index[] [, lo, hi]) xnotice_en (hist_index[] [, lo, hi]) model fit_fun ("function") statistic set_fit_statistic (name) show list_par list_data list_arf list_rmf list_fit_methods list_model newpar set_par (idx, value [,freeze, [ min, max]]) renorm renorm_counts ([response_type]) renorm_flux ([response_type]) method set_fit_method (name) load_fit_method (file, name) fit fit_counts([&info_struct][,response_type]) fit_flux ([response_type][, &info_struct]) error conf(param_index [, level [,tolerance]]) fconf (param_index [, flevel [, tolerance]]) vconf (param_index [, level [, tolerance]]) fakeit fakeit ([&noise_fun]) flux region_flux (hist_index, xmin, xmax [,ymin, ymax]) region_counts(hist_index, rmin, rmax [, ymin, ymax]) dummy (implicit) freeze freeze (par-list) set_par thaw thaw(par-list) set_par newpar set_par edit_par (["filename"]) editmod fit_fun delcomp fit_fun eqwidth - cpd plot_device (device_string) open_plot (["device" [, nxpanes, nypanes]]) multiplot (relative_size_list) window (pid) plot data plot_data(hist-index [, style]) counts plot_data_counts(hist-index [, style]) residuals rplot_counts(hist_index) model rplot_flux(hist_index) plot_model_counts (hist-index [, style]) plot_model_flux (hist-index [, style]) label label ("x-label", "y-label", "title") xylabel (x, y, text [, angle [, justify]]) rescale xrange[ ([xmin], [xmax])] yrange[ ([xmin], [xmax])] log xlog ylog xlin ylin set mission n/a set instru n/a set datadir cd(dir) clear delete_data (hist_index[]) delete_arf (index[]) delete_rmf (index[]) quit exit Within the restrictions imposed by syntax, it is also possible to alias ISIS functions to more directly map to the xspec equivalent. For example, isis> alias ("load_arf", "arf"); isis> arf ("arf.fits"); % cf. xspec> arf arf.fits
What ISIS can do betterThe most important feature of ISIS is that it was designed to be programmable and extensible. As a result, it is often the case that, when there is a useful feature that ISIS does not have, it is possible for anyone to add that feature without either modifying or recompiling ISIS(!).
define
statement. For example,
this pileup modeling script uses an ISIS grouping intrinsic
to write a function which more closely resembles grppha
(from ftools).
|
[ Accessibility | Made with JED | Best Viewed with a Browser | Valid HTML 4.01 | Valid CSS ]
This page is maintained by John C. Houck. Last updated: Apr 3, 2022