-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathChanges.txt
1266 lines (1200 loc) · 59.7 KB
/
Changes.txt
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
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
(see fit_flux).
10. Support setting per-dataset minimum stat_err via load_data qualifier
11. Fix bug associated with change #9 above (variable sometimes
uninitialized)
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
1.6.1-38
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,
get_back_data_scale_factor
19. conf_loop fits flux-corrected data when 'flux' qualifier
is present
20. Support fit statistic with explicit dependence on background
(e.g. wstat)
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;
drop modules/xspec/src/xspec-compat.inc
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
from:
back = BACKGROUND_UP/BACKSCUP + BACKGROUND_DOWN/BACKSCDN
to:
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
local models
33. Merge 32.Mh1, 32.td1 changes into main isis distribution.
Added pgtick wrapper; updated copyright notices and load_rmf
documentation.
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
values
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
43.td1 Implements complex type as columns in the cfitsio module
44. Handle SIGABRT signal from xspec function failure, and print
an informative error message.
45. Updates to support heasoft-6.27
46. Apply xspec module patches from Jakob Stierhof:
- fix bug in interface to xspec tabint function
- avoid potential invalid free on exit
- add exponential table model
47. Add fit object parameter access function [from Jakob Stierhof]
48. Apply xspec module patches from Jakob Stierhof:
- heasoft-6.29 release moved xsFortran.h
- heasoft-6.29 release broke CFITSIO_VERSION; workaround
computes a floating point version number.
Also:
* Update xspec module for heasoft-6.29 release
* Configure script checks for slsh on command path
49. Fix aped_bib to check that reference files listed in the APED
filemap exist in APED before attempting to read
50. Apply xspec module patch from Jakob Stierhof:
- update XSPEC12_TABLE_MODEL_FUN macro with const declarations
51. Updates to support heasoft-6.30 release
52. Updates to support heasoft-6.34 release
- change isis intrinsic fit-function name from voigt to Voigt
- update xspec module test script
- Add linker option --disable-new-dtags to gcc builds
53. mpfit.c: call 'isfinite' instead of 'finite'
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,
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
startup.
6. Add --with-xspec-modelsonly configure option
7. Contours overplotted on a subset of a 2D array were being
plotted incorrectly.
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
(create_aped_ionpop_modifier, aped_ionpop_modifier_args).
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
broken again.
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
scaling.
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
parameters
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)
pre1.5.0
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,
read_array, write_array
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
INTEGRAL data.
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
Parallelized 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
isis_set_par_hook
17. load_data was failing when the 2nd parameter was an array of
length one.
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
--with-headas
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
updated.
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
or html.
42. Improved support for xspec12 local models
43. At the isis prompt, __argc,__argv now contains the full input
command line
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
local models
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
functions
53. Updated cfitsio module to get fix for reading vector string
columns
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.
56. Added support for optimization methods implemented in slang.
See new intrinsics register_slang_optimizer and open_fit.
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
table file.
6. Changed line modifier interface to provide plasma state
information.
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
hist-cmds.c:set_notice_using_mask, set_notice_using_list
4. Models for flux-corrected data should not include the
instrumental background.
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,
xspec_phfit2, xspec_photo)
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
by isis.
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'
command-line argument.
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
fit_fun() definition.
2. add_slang_function() now supports functions defined by
reference.
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
operator(operand(k), id)
In other words, the integer index should be the first
argument.
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
documentation.
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
rebinned data.
4. Added Gehrels_Threshold intrinsic variable to provide
more control over handling of uncertainties in low-count
data.
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
and set_data_backscale.
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,
load_data_hook, list_data_hook
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
contribution.
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
norm parameters
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.
See set_eval_grid_method()
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.
See set_eval_grid_method().
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
dataset combinations.
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.
see add_slang_statistic().
4. xspec local model input now handles models not written
in Fortran.
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
get_abundances()
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)
----------------------------------------
1. xspec module now loads via require("xspec")
2. script and module load paths now use slang-1.4.9 intrinsics
3. get_kernel() now returns kernel parameter string.
4. new list_kernels() function
5. new path-searching functionality.
Related functions include
get_isis_load_path() get_isis_module_path()
set_isis_load_path() set_isis_module_path()
prepend_to_isis_load_path() prepend_to_isis_module_path()
append_to_isis_load_path() append_to_isis_module_path()
The older functions
add_to_isis_load_path()
add_to_isis_module_path()
are now deprecated.
6. Added _orplot_counts(), _orplot_flux()
7. Improved/simplified startup procedures for binary and cdrom
distributions
8. Fixed bug in FITS RMF input code that, in very rare cases,
could cause a core dump.
9. Updated cfitsio module
Changes since 1.0.48 (released Feb 2003)
----------------------------------------
1. fixed bug which sometimes allowed fit-function to be
evaluated at parameter values outside specified limits.
2. readcol now handles out-of-order columns correctly
3. better plot line width handling
4. update to remove conflict with cumsum function in slang-1.4.9
Changes since 1.0.8 (released April 2002)
-----------------------------------------
1. pileup model error handling code could segv
2. axes of 2nd page plots weren't always getting labeled
3. added include/exclude functions
4. add_atable_model() now automatically includes a norm parameter
5. new function: get_fit_fun()
6. updated FITS module
7. new_function: array_fit()
8. added xspec_abund() and xspec_xsect() functions to XSPEC module
9. Cash statistic matches XSPEC definition and supports conf. limits
10. Updated handling of EXPTIME, TIMEDEL keywords to compute CCD frame_time
11. Modified handling of automatic color changes on overplots.
12. contrib files updated
13. Added interface version checking for all plugins
14. plot_bin_density now plots count-rates
15. Added histogram2d() function
16. Added make_hi_grid() function
17. Added plot_image(), plot_image_ctrl(), set_palette(), plot_contour()
18. Better error messages for RMF input validity checks
19. Added xspec-module auto-loader
20. xspec table models now read param names from the FITS file.
21. Added interpol() function to do linear interpolation
22. Added interpol_points() and fit_search()
23. Added array_struct_field()
24. New 'Use_Memory' options support loading all continua up front
25. Added get_fun_components().
26. Added xspec_xset(), xspec_set_cosmo(), xspec_get_cosmo()
27. Added mt_def_model(), mt_calc_model(), mt_list_model(),
mt_save_model(), mt_load_model().
28. Added create_aped_fun()
29. Added _bmc() wrapper in xspec-module
30. Added fit_search_info() and isis_save_par_hook()
31. xspec [m,e]table models now support a redshift parameter
32. plot_image and plot_contour now respect [xy]range and
can automatically plot images with the correct aspect-ratio.
33. Updated xspec-module _shock, _nei, _sedov to include Ar abundance.
34. Tweak create_aped_fun() so renorm works.
35. New no-semicolons interactive mode (see Isis_Append_Semicolon)
36. xspec-module can now load XSPEC local models.
37. get_data_info/set_data_info can modify target name string
38. fixed bug in allocation of subplex workspace
39. errorbars() supports plotting every Nth errorbar.
40. set_frame_line_width/set_line_width functions improve control
over plot line widths.
41. support plots with axes X (Y)-axes increasing leftward (downward)
42. workaround apparent pgplot bug to properly align low-resolution
contour plots
43. [o]hplot now takes a Struct_Type
44. _A() enhanced to take a Struct_Type
45. New functions ignore_list, notice_list
46. Added flux_corr_model_counts
47. Port to Mac OS X; moved INSTALL to INSTALL.txt to avoid
build problems on the case-insensitive Mac filesystem.
48. Added seed_random() function to seed the random number generator
49. Added support for grouping datasets.
50. Fixed bug in exposure-scaling of instrument background
when the ARF is included in the RMF.
51. Fixed bug in exposure-scaling of numbers read from plot by ifit_fun
52. Added support for fitting operator models (such as
convolution models in xspec). Updated xspec module to
include convolution models.
53. Read TSTART keyword from spectrum file header.
54. By default, isis now installs into /usr/local/isis. After
installing, the source-code directory can now be deleted.
55. Added shift, any, howmany
56. rebin function handles monotonic decreasing grids, etc.
57. histogram function ignores NaNs.
58. bugfix: unassign_rmf() wasn't looping over dataset lists
59. readcol now skips blank lines
60. conf_map_counts/flux now supports mask function.
61. 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.
62. conf_map_counts/flux now supports mask function to speed
computations by avoiding user-specified regions of parameter space
63. bugfix - flux_corr was zeroing model_flux
64. added cumulative sum function, cumsum
#######################################################################
#######################################################################
Changes to pre-release 1.0:
--------------------------
* improve conf_[o]plot
* add support for handling fit-parameters by name
(see set_par() and related functions)
* add --with-lheasoft config option to support
statically linking the xspec module
* added --disable-xspec_tables config option
* support default parameter values for user-defined
functions
* add load_dataset() function to simply common
sequence of load_data/arf/rmf, assign_arf/rmf
* support assign_rmf() to grouped data
* fixed minor bug in conf-limits convergence test;
should now converge better
* better pileup regression test (from John Davis)
(the last pre-1.0 version was 0.9.86)
Changes since 0.9.60
* Added ignore_en(), notice_en(), xnotice_en()
* Added readcol() and writecol()
* Added fconf(), vfconf()
* Added set_rebin_error_hook()
* Added Conf_Map_Counts_Hook, Conf_Map_Flux_Hook
* Added isis_add_help_hook()
* Added isis_set_pager(), isis_get_pager();
* Wrote a code-generator which automatically generates ISIS
bindings for all additive and multiplicative models in XSPEC.
To avoid conflicts with the XSPEC names, two ISIS intrinsic