Changes since 1.6.2 (released Jan 2012)
1. Autogenerate code for xspec-module at configure time
2. Retrieve literature references from atomdb "ionrec" files.
3. Update xspec module code generator for heasoft-6.12 release.
4. Fix energy level label truncation bug. AtomDB energy level
labels now contain spaces. However, the code assumed that
there were no embedded spaces, so the labels were being wrongly
truncated at the first embedded space.
5. Add support parametrized software RMFs with fittable parameters
(for calibration work).
6. Add assign_back, unassign_back
7. Xspec module was sometimes linking to the wrong library symbol
8. New load_data qualifier supports loading BACKGROUND_UP/DOWN columns
9. Introduce more consistent model definition for flux-corrected data
10. Support setting per-dataset minimum stat_err via load_data qualifier
11. Fix bug associated with change #9 above (variable sometimes
12. Fix indexing bug associated with handling ignore/notice in
change #9 above.
13. get_fit_statistic was returning NULL for slang fit statistics
14. Fix definition of maximum likelihood statistic introduced in
15. 'errorbars' should control plotting of error bars in
rplot_counts and rplot_flux
16. Update xspec module for heasoft-6.13/xspec-12.8 release.
17. Explicitly link Fortran libraries to avoid run-time link
error on new Mac OS X systems.
18. New access functions: get_back_model, get_back_data,
19. conf_loop fits flux-corrected data when 'flux' qualifier
20. Support fit statistic with explicit dependence on background
21. Bug-fix: When several different models were defined using
set_par_fun to assign a different function to the same
parameter index in each model (e.g. param #5 in each
model), the parameter functions assigned to that index
weren't always being restored correctly upon each switch
to a previously defined fit-function. This happened
because the names chosen for the corresponding
auto-generated temporary S-Lang functions were not
sufficiently varied (making function name collisions quite
likely under these conditions). With this fix, the
temporary function names include an md5 checksum and so
are (almost) certain to be unique.
22. Warn about using non-chi-square fit statistic with mpfit/lmdif.
23. Modify implementation of #21 to improve back-compatibility.
24. Update cfitsio module.
25. Fix back-compatibility issue from #23. Sigh.
26. Modify configure script to ensure RPATH is set on Mac OS X.
27. Code cleanup to eliminate compiler warnings;
28. Removed half-pixel offset in contour plots. This offset
was introduced in 1.0.9 to workaround a bug (change #42
following the 1.0.8 release), but the workaround is
apparently no longer needed.
29. cache_fun now supports caching of operator models.
30. Updates to support heasoft-6.16
31. Updates to support heasoft-6.17
32. Regarding BACKGROUND_UP/DOWN, changed background definition
back = BACKGROUND_UP/BACKSCUP + BACKGROUND_DOWN/BACKSCDN
back = (BACKGROUND_UP + BACKGROUND_DOWN)
/(BACKSCUP + BACKSCDN)
32.Mh1. Fix option string update for fit-method "simann".
32.td1. Fix a bug when parsing the lmodel.dat file and loading
33. Merge 32.Mh1, 32.td1 changes into main isis distribution.
Added pgtick wrapper; updated copyright notices and load_rmf
34. src/db-atomic.c: Change int variable to size_t to avoid integer
overflow when loading full atomdb-v3.0.3
35. src/db-cie.c: Increase DEFAULT_HASH_TABLE_SIZE_HINT to better
handle larger line list in atomdb-v3.0.3
36. src/db-atomic.c: Change int variable to size_t to avoid integer
overflow when loading atomdb
37. Updates to support heasoft-6.20
38. Use fits_read_key_longstr to read file paths for RESPFILE,
ANCRFILE, BACKFILE keywords.
39. xspec module: new lmodel keyword for load_xspec_local_models,
build_xspec_local_models. Also, update etc/aped.sl to read
a versioned ionization balance filename.
40. xspec module supports xspec_rename_model_hook to rename
xspec models provided to isis.
41. Updates to support heasoft-6.23
41.td1. gainshift kernel can have negative energy offsets as long
as the resulting energy grid consists entirely of positive
41.td2. update xspec module tabint interface
42. Updates to support heasoft-6.25
43. Rewrite configure script logic to manage linking libpng for pgplot
Changes since 1.6.1 (released Jul 2010)
1. get_params now works with regular expressions, for example:
p = get_params ("mekal(1).*");
2. xspec module cleanup. Fortran name mangling scheme now
determined at configure time.
3. save_input now takes a File_Type pointer
4. Some isis intrinsics were previously available under two
names, one deprecated. The following deprecated names
have been removed: iback_fun, _define_bgd, define_bgd. The
corresponding supported names are: back_fun, _define_back,
5. The path to a site-local setup script can now be specified
at configure time using --with-local-setup=FILE. The
specified FILE will be automatically loaded at isis
6. Add --with-xspec-modelsonly configure option
7. Contours overplotted on a subset of a 2D array were being
8. Don't generate an error when a model parameter value,
obtained from a function evaluation, falls outside the
assigned min/max range (see set_par_fun). Instead, the out
of range value will be ignored and a warning message will
be printed if Isis_Verbose>0.
9. Revise error handling introduced in #8 to interrupt
model evaluation when derived parameters are out of range.
10. eval_fun2 wasn't validating the fitfun reference before
attempting to use it.
11. mpfit exit status was not being signaled correctly.
12. Support for updated aped database.
13. Support simultaneously loading multiple spectroscopy databases.
New intrinsics: db_push, db_list, db_select
14. Plot energy levels with missing LS quantum numbers.
15. line_info returns more energy level details
16. create_aped_fun now supports user-defined ionization balance
17. Fix array indexing bug in ionpop modifier introduced in #16
18. Added xspec_noneq() function.
19. Don't generate NaN when ion fraction rescaling involves 0/0.
20. Updated cfitsio module to version 0.4.7
21. Change #13 moved the slang print function into the _isis
namespace. It should be in the isis namespace.
22. Setting parameter min=max=0 means "unlimited range" but
that setting should respect the hard limits.
23. conf_map_counts provides new a 'flood' algorithm (contributed
by Manfred Hanke and Moritz Böck). The 'flood' algorithm
traverses the 2D parameter region by expanding away from the
best fit point, taking initial free parameter values from
a nearby fit. In contrast, the default algorithm performs a
raster scan of the 2D region, taking initial free parameter
values from the best fit point.
24. Support passing qualifiers to fit-functions implemented in slang
25. array_fit should not assume input parameters are Double_Type
26. New intrinsics __rline_init_tty, __rline_reset_tty will be
used by readline in an upcoming slang release.
27. Support AREASCAL keyword (AREASCAL column was already supported)
28. Get more versatile 'unique' function from slsh:setfuns.sl
29. pileup kernel wasn't properly evaluating dataset-specific models
30. regroup_file: improve OGIP standard compliance.
31. New --stkchk command-line option invokes S-Lang stack checker
32. Parallel conf map calculation could start too many slaves.
33. The structure returned by get_combined2 now contains a
spectral grid and the data values are unpacked.
34. plot_conf now supports user-specified contour colors.
35. Pileup kernel will now generate an error if used with
an rsp matrix; the response must be factored into separate
arf and rmf components.
36. Remove xspec11 legacy table model code; the xspec12 library
has provided the identical interface since March 2010.
37. Choose more sensible confmap parameter grids.
38. Add Poisson maximum likelihood statistic "ml"
39. Fix memory leak associated with xspec local models
40. Restore etable model support to xspec module (add_etable_model)
41. Update xspec module to match heasoft-6.11/xspec-12.7
42. Update atomdb regression test for atomdb-v2.0.1 release
43. add_slang_statistic now provides delta_is_chisqr qualifier
44. list_par prints function name even when there are no parameters
45. Provide xspec_config_hook
46. Fix bug in apec spectral models introduced in 1.6.1-19
(Oct 2010). This bug removed the relative abundance
scaling factor from continuum spectral components in apec
spectral models defined using create_aped_fun. As a
result, continuum components in these models were always
included with the default cosmic abundance. A new
regression test has been added to prevent any future
reoccurrence of this problem.
47. Added __set_fitfun_trace_hook
48. To avoid fortran global namespace collisions, prefixed
all internal isis fortran symbols with 'isis_'.
49. xspec_abund wasn't working with user-defined abundance tables.
50. Simplify xspec model symbol lookup.
51. fork_slaves, manage_slaves provide more control options
through new qualifiers.
52. New parallel_map function.
53. Update configure and install instructions to support
MacOS 10.7 (Lion)
54. Change interface of fit_counts, renorm_counts, fit_flux,
renorm_flux to use a qualifier instead of an optional
function parameter to select response_type, e.g. Ideal_ARF
55. set_par supports setting min/max via qualifiers
56. Apply patch from John E. Davis to fix floating point overflow
bug in pileup kernel
57. When running in parallel, conf_loop should have been passing
all parameters between master and slave processes and not just
the selected parameters.
Changes since 1.6.0 (released Apr 2010)
1. xspec module more closely adheres to local model naming convention
2. Fixed NULL dereference bug (copy_covariance_matrix)
3. array_fit: internally, force 'pars' to be an array and don't
overwrite it on return.
4. A list of summed spectra and models associated with combine_datasets
is now stored internally. See get_combined2.
5. Provided a means to modify data and model spectra immediately
before they are summed by combine_datasets. See set_pre_combine_hook.
6. set_sys_err_frac now accepts a scalar value
7. Error bars in histogram plots now include systematic error
added in quadrature.
8. Added slang rmf support (contributed by John E. Davis).
9. Added 0.5 pixel correction to reference coordinate in confmap
WCS header (contributed by Manfred Hanke).
10. Added support for response, flux qualifiers to all routines
that perform forward folding including conf, conf_loop, etc.
11. New intrinsics: set_rebin_error_method, get_rebin_error_hook
12. Changed set_hard_limits to __set_hard_limits
* arbitrary changes to hard limits are now supported
* hard limits can be changed either for a specific instance
of a model or for the default configuration of a model.
In the latter case, all subsequent instances of the model
will be affected.
13. Fix parameter table vs. dataset list synchronization bug.
14. set_par should respect tied parameters.
15. Improved synchronization between dataset list and fit parameter list.
16. set_par() should warn about attempts to change tied parameters;
set_params should be able to create/destroy parameter ties
17. Revert part of #16 - set_par once again silently ignores
attempts to change tied parameters.
18. Fix bug introduced by recent changes to handling of tied
parameters: load_par/edit_par can once again untie parameters.
Added a regression test to make sure this feature doesn't get
19. conf_loop now defaults to operating on all free parameters.
Setting Fit_Verbose<0 now reduces verbosity during a fit.
20. create_aped_fun: elemental abundance parameter names now have
'abund_' prefix. Use qualifier 'no_abund_prefix' to drop this
prefix (for back-compatibility).
21. set_par was not modifying 'step'
22. The set_par interface was modified so that the absolute
initial parameter step size, 'step', is now specified
using a qualifier. A 'relstep' qualifier was added
to enable setting the relative parameter step size.
The 'relstep' value may be obtained using get_par_info()
and get_params(). It may also be set using set_params().
mpfit was previously configured to use an initial relative
parameter step size of 1% (e.g. relstep=0.01). This is a
bad choice for fits where the min/max range is smaller
than 1% of the parameter value and also for parameters
constrained to better than 1% by the available data. The
fitted center position of strong emission lines in high
quality grating data falls into this latter category.
The default relstep value used by mpfit is now specified
on a per-parameter basis and may be user-specified.
For xspec functions, the default is set by the intrinsic
variable Isis_Default_Relstep, which defaults to 1.e-4.
Changes since 1.5.0 (released Aug 2009)
1. Fixed bug passing string argument to xspec_elabund (xspec.sl)
2. Updates for heasoft-6.7 release.
- link in libxanlib to resolve udmget
- re-run code generator to update spectral model interfaces
3. "-v" command-line argument should be order-independent
4. On Macs, libxanlib is a static library (see #2)
5. -g option should set _traceback=1 in interactive mode.
6. apropos now lists variables as well as functions
7. xspec module: drop libxanlib link (see #2 and #4) and
provide udmget.c from ftools/xanlib/memory.
8. Provide default directory for fit_search output.
9. added _num_statistic_evaluations intrinsic variable
10. Added support for specifying initial parameter step size.
See set_par, get_par_info, get_fun_info, set_param_default_hook
11. New optimization methods contributed by John E. Davis:
diffevol, powell, simplex
12. Updated cfitsio module to version 0.4.6
13. Minor change to slang optimization method interface.
14. Fixed plm bug introduced by #13: best-fit parameters were
being found, but not returned.
15. Added support for hard limits on fit parameters.
16. warn when selected bintable columns lack TUNIT keyword
17. Insert missing parens to fix bug in 'group' function background
18. Better diagnostics for xspec module local model link errors
19. Added assign_model intrinsic.
20. group: change min_sn default to min_sn=0
21. Added set_hard_limits to allow changing parameter hard limits
22. Updated cfitsio module to version 0.4.6-0
23. Change error handling behavior for isis-intrinsic fit functions.
24. Fix bug reported by Manfred Hanke: load_par can now untie
25. Added set_back_exposure() intrinsic
26. Updated xspec module interface on heasoft-6.9 release
27. new interpol qualifier controls alternate extrapolation methods
28. Added mpfit optimization method. Removed lmdif, providing
a backward-compatible lmdif interface that invokes mpfit.
29. Fix bug in array_fit interface (par_step passed as NULL)
1. Added support for parallel processing via fork and select.
New functions: new_slave_list, fork_slave, append_slave,
manage_slaves, send_msg, recv_msg,
2. Parallelized conf_map_counts and conf_map_flux.
On multi-core machines, these functions use all available
cores by default. See the documentation for details.
3. xspec module now defaults to xspec 12.
4. Added Allow_Multiple_Arf_Factors intrinsic variable.
5. Added support for non-standard FITS keywords appearing in
6. slang-2.2 is now a minimum requirement
7. New functions based on contributions from Mike Nowak:
group, group_bin, ignore_values, notice_values, conf_loop
8. Use require.sl from slang distribution
9. Added parallel Levenberg-Marquardt optimization method (plm).
10. Removed cfortran.h. Use autoconf C/Fortran interface.
11. Changes to support compiling isis with a C++ compiler.
12. Look in RMF primary header for XMM/RGS RFLORDER keyword.
13. Parallelized fit_search
14. Adjust formatting of list_data, list_arf output
15. Fix for table model interface bug introduced by #10
(passing strings from C to Fortran)
16. fit_fun(NULL) deletes current model definition.
Changes since 1.4.9 (released Nov 2007)
1. Fixed cfitsio module bug (fits_write_binary_table)
2. Restored support for mt_calc_model optional arguments
contrib_flag and line_list.
3. Added stub for Tcl_PkgProvide to enable loading xspec12
local models; updated interface for _load_xspec_local_models().
4. Minor changes to support building isis on cygwin.
5. Fixed edit_par bug that could un-define the current model
6. Fixed bug that that prevented saving the S-Lang readline history.
7. Fixed memory leak in median function.
8. Xspec module code generator now handles model.dat files that
don't end with a blank line.
9. Updated RMF file input code to support change in OGIP standard;
F_CHAN values, previously 2 bytes, may now be 4 bytes.
10. Fixed sign error in poisson random generator (src/random.c);
constant -0.059 had the wrong sign.
11. Fixed plot_quit bug that disabled all subsequent plotting.
12. Slang errors now generate one line of traceback by default.
13. Fixed bug in model_spectrum interface, presumably broken
since the introduction of line modifiers.
14. Fixed error handling bug in atomic database input code.
15. Update cfitsio module
16. Another cfitsio module update; fixed bug in handling of
17. load_data was failing when the 2nd parameter was an array of
18. Fixed array indexing bug in conf_joint.
19. Added NULL pointer check to src/histogram.c:Hist_get_flux_corr_weights
20. Added maplib module (contributed by John E. Davis)
21. Added support for systematic errors.
22. Update cfitsio module to version 0.4.3
23. Support linking to pgplot and cfitsio in HEASOFT distribution
24. Update default search path definition.
25. load_par provides more informative error messages
26. automatically install wrapper script on Darwin
27. If defined, isis_interactive_hook() will be called when
interactive command-line processing begins; _traceback=0 is
the new default for interactive mode.
28. Added gainshift kernel.
29. configure options --with-pgplot and --with-cfitsio should override
30. Added set_define_model_hook
31. Optimized rmf_file.c:rebin_rmf() for speed.
32. Fixed bug in egauss that appeared for sigma < 1.e-6 keV.
33. Added get_back_exposure function
34. Update cfitsio module to version 0.4.4
35. Patch to better support wildcards in parameter lists
(contributed by Manfred Hanke)
36. Replaced minim fit method with simann, simulated annealing
37. Fixed eval_fun bug - tied parameter values were not getting
38. Update xspec module to support changes new with xspec-12.5.0.
39. New cache_fun() and alias_fun() intrinsics, contributed
by Mike Noble, Mike Nowak and Manfred Hanke.
cache_fun() enables caching of spectral models, reducing
redundant model evaluations during e.g. confidence limit searches.
alias_fun() enables renaming spectral models and model
parameters and changing parameter defaults.
40. Applied patch to retrieve help files using the S-Lang
add_doc_file() intrinsic (from Mike Noble)
41. Added support for displaying xspec12 help files, either pdf
42. Improved support for xspec12 local models
43. At the isis prompt, __argc,__argv now contains the full input
44. Fix xspec module bug: xspec12 local models implemented in
C or C++ were being linked through the wrong interface.
45. Support the double-precision fortran interface for xspec
46. Fixed confusing interaction between fakeit and grouping
47. Fixed malloc bug in xspec module.
48. Added support for xspec model init strings.
49. Xspec model names are now case-sensitive; some lower-case
aliases are provided for back-compatibility.
50. New functions, aped_bib, aped_bib_query_string, provide
access to APED database literature references.
51. New function, aped_fun_details, provides access to
individual emission line flux contributions from each
temperature-density component of every spectral model component
52. New functions, aped_line_modifier_args, aped_line_profile_args,
aped_hook_args simplify eval_fun2 evaluation of aped
53. Updated cfitsio module to get fix for reading vector string
54. PHA file input now looks for the hdu with EXTNAME=SPECTRUM,
instead of moving to hdu=2.
55. Support BACKFILE keyword in Type I pha files. To ignore
this keyword, set Ignore_PHA_Backfile_Keyword=1.
Also, Isis_List_Filenames now defaults to 1.
Changes since 1.4.8 (released Sept 2007)
1. If a script contains an isis_main() function, isis will
execute that function and exit. If the --force-interactive
option is used, isis will prompt for input after executing
isis_main(). Executable scripts can now use
#! /usr/bin/env isis
isis-script is no longer required.
2. Added support for the S-Lang debugger. Use the --sldb
command-line option to invoke the debugger.
3. Added support for the S-Lang profiler. Use the --prof
command-line option to invoke the profiler.
4. create_aped_line_modifier now supports modifiers that
take additional user-defined arguments.
5. xspec table models now load parameter defaults from the
6. Changed line modifier interface to provide plasma state
7. Changed line profile interface to make it more general
8. Line profile and line modifier interfaces both support
functions that take no parameters.
9. Changes to support analysis of INTEGRAL data.
10. Reorganized xspec module build/install logic
11. Added xspec 12 model list to the source code distribution
(it's no longer necessary to run the xspec module code
generator to use isis with xspec 12.)
12. Improved performance of APED spectral models that use a line modifier
13. isis-script --sldb foo.sl runs isis_main automatically.
14. Fixed assign_rsp bug. First listed RMF was not re-defining
the dataset grid when multiple RMFs were assigned to one dataset.
15. All internal pgplot calls now use the pgplot module.
16. Removed obsolete gpileup kernel module.
17. Updated cfitsio module
Changes since 1.4.7 (released June 2007)
1. add_abundances handles necessary typecasts
2. Help hooks now return strings
3. Fixed potential double-free bug in error handling code
4. Models for flux-corrected data should not include the
5. If present, rebin_error_hook manages error propagation
associated with the background (see set_rebin_error_hook).
6. Added support for AREASCAL column in PHA files.
7. APED spectral models now support user-defined modification
of line emissivity functions, with fittable parameters.
See the create_aped_fun() documentation for details.
8. APED spectral models now support user-defined line profiles.
See the create_aped_fun() documentation for details.
Changes since 1.4.6 (released May 2007)
1. Xspec module now provides better access to elemental
abundances, photoionization cross-sections and NEI ionization
fractions. (See xspec_elabund, xspec_gphoto, xspec_ionsneqr,
Changes since 1.4.5 (released Mar 2007)
1. Updated cfitsio module to version 0.3.5
2. Added put_model_counts, put_model_flux, put_convolved_model_flux
3. Added eval_stat_counts, eval_stat_flux
4. Clearer load_par warning when model string exceeds input buffer size
5. Prompt text is ignored if it appears as a prefix on the
command line in interactive mode.
6. Fixed bug in application of optional weights in combine_datasets.
Weights had been applied to both model and data sums. Now, the
weights are applied only to the data sum.
7. Added yshift kernel
8. Expanded documentation for get_combined to clarify how it
might be used with spectra in flux units.
9. Voigt profile norm now includes factor 1/(sqrt(PI)*Doppler_width)
(set Isis_Voigt_Is_Normalized=0 to restore the previous behavior)
10. Added get_cfun2
11. Replaced list_par, save_par, list_data, list_arf, list_rmf with
slang implementations that provide more versatile output redirection
12. Added get_flux_corr_weights
13. Updated cfitsio module to version 0.3.8rc1
Changes since 1.4.4 (released Feb 2007)
1. Added backtrace capability
2. Added pha-grouping functions from Mike Nowak
(regroup_file, use_file_group, i2x_group, x2i_group)
along with new intrinsic variable, Isis_Use_PHA_Grouping.
3. Updated autoconf support for Fortran. Fortran compiler
and flags are now specified with FC and FCFLAGS instead of
F77 and FFLAGS.
Changes since 1.4.3 (released Jan 2007)
1. Error handling uses S-Lang exceptions more consistently
2. Installation procedure should be simpler.
3. fit_flux is independent of the fit-kernel.
Changes since 1.4.2 (released Sep 2006)
1. Numbering of fake datasets should not cause the dataset
list to get out of order.
2. set_plot_options(get_plot_options()) is a no-op.
3. flux_corr skips ignored data
4. xspec.sl is idempotent
5. Static-linking the xspec module works again.
6. Added get_outer_viewport, set_outer_viewport.
** Note that in the past, the low-level pgplot function
_pgsvp was often used to set the viewport for plots
created using isis intrinsic plot functions. With this
change, _pgsvp will no longer have the desired effect
on these plots. Use set_outer_viewport instead of _pgsvp.
7. Changed handling of command-line arguments by isis-script.
Scripts no longer intercept command line arguments supported
8. Removed -l command-line option.
Changes since 1.4.1 (released Sep 2006)
1. Ignored data ranges are now omitted from plots
rather than being plotted as all zeros.
2. Loading a parameter file can now over-ride parameter functions
3. In batch mode, a function named isis_main or slsh_main will
be called automatically, unless over-ridden by the '-t'
4. The configure script includes more thorough checks for
compatibility of GNU readline libraries.
5. Binary packages can now find glob.sl
Changes since 1.3.4 (released Jul 2006)
1. Added atexit() function.
2. Added set_prompt() function (from Mike Noble)
3. set_par() now supports regular expressions (based on
code from John E. Davis).
4. oplot behaves like plot if no plots have been drawn
(from Mike Noble)
5. Extensive rewrite of xspec module; added support for
new model interfaces introduced with xspec12.
6. Added support for reading BACKSCAL, BG_COUNTS and
BG_AREA columns from type I and type II PHA files.
7. Refined computation of background uncertainties
under rebinning; dropped the Gehrels approximation for
the background uncertainty when the number of background
counts is small.
Changes since 1.3.3 (released Apr 2006)
1. Added eval_fun2() to support evaluating a fit-function
on an arbitrary grid without modifying the current
2. add_slang_function() now supports functions defined by
3. set_param_default_hook() now supports passing additional
arguments to the parameter default hook.
4. get_fit_method() and get_fit_statistic() now return
strings containing the complete, current option settings.
5. Operator functions should now be invoked as
operator(id, operand(k)) instead of
In other words, the integer index should be the first
6. Fit-functions can now take arbitrary additional parameters.
For example, something like this:
fit_fun ("foo(1, &bar, array, baz(1))");
is now supported. For details, see the add_slang_function
7. Added GNU readline support (based on patches from Mike Noble)
Changes since 1.3.2 (released Jan 2006)
1. set_rebin_error_hook now takes a reference to a function
2. updated --with-ciao configure option
3. Fixed bug in propagation of background uncertainties for
4. Added Gehrels_Threshold intrinsic variable to provide
more control over handling of uncertainties in low-count
Changes since 1.3.1 (released Nov 2005)
1. xspec module now supports xspec12
2. Added support for fit-constraints (see set_fit_constraint)
3. cursor returns values which account for log-scale axes
4. Added get_plot_options/set_plot_options
Changes since 1.3.0 (released Sep 2005)
1. Modified region_counts/region_flux to handle both emission
and absorption features.
2. Modified internal algorithm for rebinning flux-corrected data
allowing rebin_data/group_data to automatically rebin
flux-corrected data without running flux_corr again.
3. Added isis_fit_improved_hook feature (see conf)
Changes since 1.2.9 (released Jun 2005)
1. Changed the method used to set parameter defaults for
S-Lang fit-functions. See set_param_default_hook().
2. Added Voigt profile fit-function
3. Modified internal parameter handling logic to better support
re-defining fit-functions. Tied parameters are now more
robust against changes in the fitted model.
Changes since 1.2.8 (released Apr 2005)
1. Support more intuitive syntax in set_par_fun() 2nd argument.
See set_par_fun() help page for details.
2. Update xspec module to support HEASOFT-6.0
3. Update to slang2 definition of require/provide
4. Update to include slang2 help-file support
5. Prompt namespace is now named "isis"
6. Added support for backscale vectors defined via _define_bgd
7. Handling of multiple merged grids should now work as
advertised. Earlier versions used the first merged grid
encountered for all subsequent cases.
Changes since 1.2.7 (released Mar 2005)
1. Update cfitsio module (slcfitsio-0.3.2)
2. Added rebin_combined()
3. Added support for slang-2 debugger.
4. Added fit-method "minim" (alternate simplex algorithm)
5. Removed internal limit to support reading RMFs from Swift
Changes since 1.2.6 (released Jan 2005)
1. Added set_dataset_metadata/get_dataset_metadata,
2. Fixed bug in rebin_data() associated with handling of rebin
masks with zeros at the short wavelength end.
3. Fixed bug introduced by recent changing in handling of
zero-based norm indices in add_slang_function.
4. Updated --with-ciao option to work with new Ciao release;
see the INSTALL.txt file for details.
5. Added support for comment header in fit-model parameter files
(comment lines have long been supported, just not as a
header, preceding the model definition line).
6. pgplot module intrinsics are working again on Mac OS X.
7. Uncertainties computed for background-subtracted, rebinned,
flux-corrected data now properly includes the background
8. Fixed obscure bug in fit-parameter lookups when fit-functions
are redefined multiple times while in use.
9. Added isis_start_eval_hook()
10. New intrinsic variable Ignore_PHA_Response_Keywords.
If non-zero, isis will ignore the ANCRFILE and RESPFILE
keywords in PHA file headers. Default value is zero.
11. New intrinsic variable Rmf_OGIP_Compliance.
If zero, isis will require less strict adherence to the
OGIP standard format for RMFs.
12. Update cfitsio module; new version includes many
improvements and greatly expanded documentation.
13. Update pgplot module; the handling of 2D arrays changed.
14. rebin_dataset now supports rebinning the background
Changes since 1.2.4 (released Nov 2004)
1. Updated cfitsio module
2. Better handling of ylog/yrange transitions in rplot_counts/rplot_flux
3. Use unit exposure time when fitting flux-corrected data.
4. Added better Levenberg-Marquardt implementation (lmdif);
the previous implementation is still available, in part
because it provides certain features not available with lmdif.
5. add_slang_function now uses zero-based indices to specify
6. Added --with-atomdb configure option to specify path at compile time
Changes since 1.2.2 (released Jul 2004)
1. Update xspec module to support built-in local models.
2. Updated install documentation to resolve potential
Mac OS X build problems.
3. Added support for setting plot symbol size independent of
character height; see point_size();
4. Plot color 0 now correctly gives the default background color
5. Internal changes to support migration to slang-2.0
6. Support kernel option to control model computation
in ignored energy ranges during fitting.
7. Rebinned RMFs now use threshold=0 to avoid resolution problems.
Changes since 1.2.1 (released Apr 2004)
1. Fix bug in application of s/n threshold during
flux-correction of rebinned data.
2. Added isis_set_par_hook()
3. Added functions get_rmf_arf_grid(), get_rmf_data_grid()
4. Added support for user-defined model evaluation grids,
primarily to support extended grids for convolution models.
5. Added isis_prefit_hook().
6. Added add_abundances() function.
7. get_abundances() now returns a Struct_Type.
8. Fixed bug in single-parameter confidence limits computation:
When confidence limits were computed for one of only two
variable parameters, the remaining free parameter was not
varied during the fit. With the bug-fix, the free parameter
is varied correctly.
9. New function mt_create_from_struct()
Changes since 1.1.8 (released Feb 2004)
1. set_rebin_error_hook(id,NULL) now works as it should
2. Fit parameter names are now parsed on input
3. Added _phabs to xspec-module; _wabs now returns wabs
instead of phabs.
4. Resolved ambiguity in definition of model_flux by
introducing "convolved_model_flux". Now, model_flux
always means \int dE S(E) -- the physical spectrum model
integrated over the bin width. The convolved_model_flux
is this function folded through the RMF, \int dE R(h,E)S(E),
and is useful primarily when dealing with flux-corrected
data. Functions have been provided to get, plot and
oplot this quantity.
5. Added optimization to improve performance when fitting
multiple datasets with overlapping wavelength grids.
6. Modified rebin_data to ensure that the mask array includes
trailing noticed bins (at the long wavelength end)
containing zero counts into the last "good" bin
Changes since 1.1.7 (released Nov 2003)
1. Added frame_time to get_data_info() structure
2. Fixed bug in temp storage allocation logic when combining datasets
3. prand() no longer modifies array arguments
4. Added list_free function to list only free parameters
5. xylabel now works transparently with log axis scales
6. Added support for lheasoft-5.3
7. Corrected cash statistic handling of cases model=0 or data=0
8. New connect_points() option suppresses plotting of points,
drawing the line only.
Changes since 1.1.6 (released Sep 2003)
1. flux_corr_model_counts() now populates the model_flux
rather than the data_flux.
2. Bugfix - under certain conditions, closing a non-existent plot
window and then opening a plot window could cause a segv.
3. interpol() wasn't extrapolating properly.
Changes since 1.1.5 (released Aug 2003)
1. Changed definition of reverse indices for both
histogram and histogram2d. The dimensions of the
histogram2d result now match the input grid sizes.
2. seed_random() bugfix.
3. set_arf_info() bugfix. It was incorrectly modifying
the ARF size.
Changes since 1.1.4 (released July 2003)
1. Support optional weight argument for combine_datasets()
2. Add get_combined() function to simplify handling
3. Added set_post_model_hook ()
4. Fixed obscure isis bug which could cause a segv if
flux_corr() were called from inside a fit-function.
5. Enhanced set_par(), assign_arf(), assign_rmf() to
handle more combinations of vector parameters.
6. Fixed bug in handling of XMM/EPIC rmfs
Changes since 1.1.3 (released June 2003)
1. Provided specialized FFT option to speed pileup fits
2. Fixed bug in line_info() which caused intermittent
problems on some architectures.
3. [*] Changed thermal line profile sigma definition,
adding a factor of 0.5 to the vturb^2 term.
4. Added all_arfs() and all_rmfs() functions.
5. rplot_counts()/rplot_flux() is now consistent with the
current fit-statistic. This required a change in the
interface for user-defined fit-statistics.
6. list_data and list_arf optionally show data filenames;
filenames also available via get_data_info. Related new
intrinsic variable is 'Isis_List_Filenames'.
7. Support listing physical units of fit-function parameters.
8. array_fit() now supports verbose mode.
Changes since 1.1.2 (released May 2003)
1. Added workaround for a known pgplot bug which sometimes
incorrectly plots the last histogram bin width.
2. Added factor_rsp() to support factoring an RSP matrix
into an ARF and a normalized RMF.
3. Removed unused parameter 'npars' from the interface
definition for user-defined fit-statistics.
4. xspec local model input now handles models not written
5. Fixed bug in plot_elev() - plot paging and character
size were not properly updated.
Changes since 1.1.1 (released May 2003)
1. Added plot_linelist() function
2. Updated handling of abundance tables; added new function
Changes since 1.1.0 (released Apr 2003)
1. get/set_arf_info now includes fracexpo
2. improved plot format inheritance logic
3. added add_help_file()
4. added set_fake()
5. Fixed bug in handling of dataset groups.
6. Faster Poisson random generator
Changes since 1.0.50 (released Mar 2003)
o xspec module now loads via require("xspec")
o script and module load paths now use slang-1.4.9 intrinsics
o get_kernel() now returns kernel parameter string.
o new list_kernels() function
o new path-searching functionality.
Related functions include
The older functions
are now deprecated.
o Added _orplot_counts(), _orplot_flux()
o Improved/simplified startup procedures for binary and cdrom
o Fixed bug in FITS RMF input code that, in very rare cases,
could cause a core dump.
o Updated cfitsio module
Changes since 1.0.48
o fixed bug which sometimes allowed fit-function to be
evaluated at parameter values outside specified limits.
o readcol now handles out-of-order columns correctly
o update to remove conflict with cumsum function in slang-1.4.9
Changes since 1.0.41
o Added support for grouping datasets.
o Fixed bug in exposure-scaling of instrument background
when the ARF is included in the RMF.
o Fixed bug in exposure-scaling of numbers read from plot by ifit_fun
o Added support for fitting operator models (such as
convolution models in xspec). Updated xspec module to
include convolution models.
o Read TSTART keyword from spectrum file header.
o By default, isis now installs into /usr/local/isis. After
installing, the source-code directory can now be deleted.
o Added shift, any, howmany
o rebin function handles monotonic decreasing grids, etc.
o histogram function ignores NaNs.
o bugfix: unassign_rmf() wasn't looping over dataset lists
o readcol now skips blank lines
o Removed the Conf_Map_Fail_Hook and Conf_Map_Save_Hook
intrinsic variables. These hooks should now be provided
as struct fields. See conf_map_counts for details.
o conf_map_counts/flux now supports mask function to speed
computations by avoiding user-specified regions of parameter space
o bugfix - flux_corr was zeroing model_flux
Changes since 1.0.35
o get_data_info/set_data_info can modify target name string
o fixed bug in allocation of subplex workspace
o errorbars() supports plotting every Nth errorbar.
o set_frame_line_width/set_line_width functions improve control
over plot line widths.
o support plots with axes X (Y)-axes increasing leftward (downward)
o workaround apparent pgplot bug to properly align low-resolution
o [o]hplot now takes a Struct_Type
o _A() enhanced to take a Struct_Type
o New functions ignore_list, notice_list
o Added flux_corr_model_counts
o Port to Mac OS X; moved INSTALL to INSTALL.txt to avoid
build problems on the case-insensitive Mac filesystem.
o Added seed_random() function to seed the random number generator