• Download HEASOFT
  • ********************************************************************************
                             RELEASE NOTES FOR HEASOFT 6.20
                                     January 18, 2017
    The HEASoft 6.20 release is primarily driven by updates to XSPEC, NuSTARDAS,
    XRTDAS, and the Hitomi software, but also includes updates to other packages
    which have been revised to mirror the current development versions in use at
    the HEASARC.
    As before, configuration-related changes thoughout the package means that
    users who already have HEASoft v6.x.x installed will need to completely
    replace their software installation; there is no clean way to simply
    overlay this new release or to update an existing installation.
    Version 3.41:
    - The change made in version 3.40 to include strings.h caused problems on
      Windows (and other) platforms, so this change was backed out. The reason
      for including it was to define the strcasecmp and strcasencmp functions,
      so as an alternative, new equivalent functions called fits_strcasecmp and
      fits_strncasecmp have been added to CFITSIO.as a substitute. All the
      previous calls to the str[n]casecmp functions have been changed to now
      call fits_str[n]casecmp. In addition, the previously defined ngp_strcasecmp
      function (in grparser.c) has been removed and the calls to it have been
      changed to fits_strcasecmp.
    - The speed.c utility program was changed to correctly call 
      the gettimeofday function with a NULL second arguement. 
    Version 3.40:
    - fixed a bug when writing long string keywords with the CONTINUE convention
      which caused the CONTINUE'd strings to only be 16 characters long, instead
      of using up all the available space in the 80-character header record.
    - fixed a missing 'defined' keyword in fitsio.h.
    - replaced all calls to strtok (which is not threadsafe) with a new ffstrtok
      function which internally calls the threadsafe strtok_r function.  One 
      byproduct of this change is that <strings.h> must also be included
      in several of the C source code files.
    - modified the ffphbn function in putkey.c to support TFORM specifiers that
      use lowercase 'p' (instead of uppercase) when referring to a variable-length
      array column.
    - modified the lexical parser in eval.y and eval_y.c to support bit array 
      columns (with TFORMn = 'X') with greater than 256 elements. Fix to bitcmp 
      function:  The internal 'stream' array is now
      allocated dynamically rather than statically fixed at size 256.
      This was failing when users attempted a row filtering of a bitcol
      that was wider than 256X. In bitlgte, bitand, and bitor functions, replaced 
      static stream[256] array allocation with dynamic allocation.  
    - modified the ffiter function in putcol.c to fix a problem which could
      cause the iterator function to incorrectly deal with null values.  This
      only affected TLONG type columns in cases where sizeof(long) = 8, as well
      as for TLONGLONG type columns.
    - Fix made to uncompress2mem function in zcomprss.c for case where output
      uncompressed file expands to over the 2^32 (4Gb) limit.  It now
      checks for this case at the start, and implements a 4Gb paging
      system through the output buffer.  The problem was specifically
      caused by the d_stream.avail_out member being of 4-byte type uInt,
      and thus unable to handle any memory position values above 4Gb. 
    - fixed a bug in fpackutil.c when using the -i2f (integer to float) option
      in fpack to compress an integer image that is scaled with non-default values
      for BSCALE and BZERO. This required an additional call to ffrhdu to reset
      the internal structures that describe the input FITS file.
    - modified fits_uncompress_table in imcompress.c to silently ignore the
      ZTILELEN keyword value if it larger than the number of rows in the table
    - Tweak strcasecmp/strncasecmp ifdefs to exclude 64-bit MINGW
      environment, as it does not lack those functions. (eval_l.c,
    - CMakeLists.txt: Set M_LIB to "" for MINGW build environment (in
      addition to MSVC).
    - Makefile.in: Add *.dSYM (non-XCode gcc leftovers on Macs) to
      clean list.  Install libs by name rather than using a wildcard.
    - configure: Fix rpath token usage for XCode vs. non-XCode gcc on Macs.
    - Added interpolateAndMultiply to multiply rmf by a vector
      of factors on energy binning different from the response.
    - Fixed bug in writeMatrix which caused an empty ORDER column
      to be written if there was no ORDER information.
    - Added overloads of SPstring2Real and SPstring2Integer to convert
      vectors of strings.
    - Added handy utility routine to parse ranges in a string.
    - Added routines to return a vector of strings containing
      all the keywords from the primary or extension header.
    - Added support for the LOELIMIT and HIELIMIT keywords in the table
      model file. These are stored as LowEnergyLimit and HighEnergyLimit
      in the object and assumed to specify the model value to be used
      when the energy is below/above those tabulated.
    - prefilter: Add 'timeadj' parameter to address Swift's clock drift.
      This parameter can be used to adjust times used for calculations.
      TIME_ADJ = TIME + offset where the value of offset depends on the value
      of the timeadj parameter. The default setting (timeadj=DEFAULT) allows
      mission-specific determination of offset.  timeadj=CONST:<value> sets
      offset to value. timeadj=KEY:<value> sets offset to the value of a keyword
      from the attitude file.  timeadj=LEAPS sets offset to the opposite of the
      number of leap seconds since missepoch to start.
      For the Swift mission, DEFAULT is treated as KEY:UTCFINIT (if that keyword
      is present), or LEAPS if it is not. For all other missions, DEFAULT is
      treated as LEAPS. Note that LEAPS is consistent with past behavior.
    - genrsp: Set resp_file and chan_file to 'none' when inrfil is not 'none'.
      Fixes a bug in which genrsp reported 'Failed to open response energy
      relation file' because resp_file was neither specified nor set to 'none'
      and was just an empty string.
    - fverify: Added checks and warnings for 'P' format variable length columns
      when either the row length or heap offset is detected to be greater than the
      max signed 4-byte int.  CFITSIO allows these values up to max unsigned int,
      which is more lenient than the FITS standard.  Also updated to allow for
      longer input file names.
    - Allow a build of FV in the Cygwin environment for MS Windows. The POW
      display device is partially inoperative, but the ds9 device may be used
    - arftable:
      * Behavior change: Converts energy units of output file to be the same
        as those of the input RMF file if they are different.
      * New parameter:  writeevtfile (boolean): if set to yes, a file will
        be written listing the subset of photons that reach the focal plane
        unblocked by any object in the optical path.  Objects are specified
        by the parameters objecttype, imimagefile, objectheights, objectradii,
        imagerotangles, xoffsets, and yoffsets.
      * Bug-fix: The raytracing photon history file is now read and processed
        in chunks of 1000000 rows, rather than all at once, in order to
        mitigate memory problems resulting from large files.
    - barycorr:
      * Fix HDU position handling: HDU position was not properly being updated,
        with the effect that TSTART/TSTOP/etc. in the final time-related HDU
        were not being corrected.
    - xrtraytrace:
      * Behavior change: Accounts for a rotation between the reference frame
        of the Telescope Definition File (TDF) and the telescope physical
        coordinate system.  This angle is given by the TELFPROT keyword in
        the TDF MIRROR extension.
    - swco.dat: Update to include 2017.0 leap second.
    - extractor: Correctly handle the case of a vector column in the event
      file before the X and Y columns.  Ignore trailing blanks in values
      when comparing for duplicate keywords.
    - ftdiff: Fix case of TBIT columns where an incorrect col_repeat value
      caused ftdiff to miss cases where bits differed.
    - ftverify: Added checks and warnings for 'P' format variable length columns
      when either the row length or heap offset is detected to be greater than the
      max signed 4-byte int.  CFITSIO allows these values up to max unsigned int,
      which is more lenient than the FITS standard.  Also updated to allow for
      longer input file names.
    Xspec v12.9.1:
    New features:
    - New Models:
      carbatm          - NS non-magnetic C atmosphere 
      clumin           - calculates luminosity
      hatm             - NS non-magnetic H atmosphere 
      ismabs           - High-resolution ISM absorption
      rfxconv          - reflection from ionized disk
      slimbh           - slim accretion disk
      snapec           - galaxy cluster spectrum using SN yields
      (b)(v)(v)tapec   - apec model with different temperatures for continuum
                         and emission lines
      tbfeo            - tbabs model with O and Fe only variable
      tbgas            - tbabs model with no grains
      tbpcf            - tbabs model with partial covering
      tbrel            - tbabs model that allows negative columns
      vashift          - velocity shift an additive component
      vmshift          - velocity shift a multiplicative component
      voigt            - emission line with a Voigt profile
      xilconv          - reflection from ionized disk
      xscat            - dust scattering out of the beam 
    - Updated Models:
      - apec models updated to AtomDB 3.0.7
      - nei models updated to AtomDB 3.0.4 eigen files
      - The apec code now has the ability to add new line shapes for broadening
        although at present only a single Gaussian line shape is operational.
      - A new xset option APECMINFLUX can be used to specify a minimum line flux
        below which lines are not broadened. Also the maximum flux in any line
        in the apec model is saved as apecmaxlineflux and this can be recovered
        using tcloutr modkeyval apecmaxlineflux. At the moment both this and
        APECMINFLUX do not include the 1e14 normalization factor and any time
        dilation correction.
      - the code for the various CEI models was rationalized and there is a new
        C++ routine calcMultiTempPlasma which can be used by other models. The old
        Fortran sumdem routine remains as a wrapper for old models.
      - tbabs model code has been updated. The old version is available by using
        xset TBABSVERSION 1.
      - updated nsmaxg model with new tabulated model files.
      - increased the speed for accessing values from table models.
      - modified table model code to support new keywords LOELIMIT and HIELIMIT to
        specify model values to be taken below and above the tabulated energies.
    - Plotting:
      - added low and high energy limits to setplot id so lines are only shown
        for the specified energy range.
      - added setplot (no)contimage to turn on (off) the background image in
        contour plots.
      - the keV to Angstrom conversion value stored in Numerics.h has been updated
        to that from CODATA 2014.
    - Fitting:
      - Added parallelization to chain walker calculations and to the goodness
      - The 'error' command can now process parameters from more than 1 model
        in a single call.
      - In the various cstat statistics any correction file spectrum is now taken
        account. This does implicitly assume that the correction file has Poisson
      - the Tcl script lrt.tcl now uses the fakeit nowrite option so intermediate
        faked files are not written out. Also, now works for multiple data groups.
    - Input/Output:
      - increased the precision of the reported output from the 'tclout'
        command options.
      - increased the allowed flux (counts) to beyond the 4-byte limit when
        running 'fakeit' with counting statistics selected.
      - new tclout option fileinfo writes the value of the keyword given as the
        fileinfo argument. e.g. tclout fileinfo detnam returns the value of the
        detnam keyword in the spectrum extension.
    - Xspec.init file:
      - added PARALLEL to set default parallelization options
      - added NEI_VERSION to set default version for NEI models
      - added CONTOUR_IMAGE to set default for adding image to contour plots
      - changed default cross-sections from bcmc to vern
    - The manual has now been rewritten in LaTeX. The appendix on statistics
      has been expanded. Cross-referencing has been improved.
    All bug fixes to v12.9.0 released as patches are included in v12.9.1.
    In addition the following problems have been corrected:
    - A previous revision to the 'goodness' command removed the requirement
      that the fit must be in a valid state at the start, however it was 
      incorrectly marking the fit as being in a valid state at the end.
    - When re-reading a previously loaded table model file, was not
      correctly recognizing whether or not parameter error values existed.
    - A spectrum's displayed net count rate variance needs to be updated
      when the fit weighting method gets changed.
    PyXspec Change Log (v2.0):
    New Features:
    (*) = previously available as XSPEC patches.
    - Now compatible with Python 3.x.  (No longer compatible with Python
      versions prior to 2.5.)
    - Added `Xset.save()` and `restore()` functions for saving and 
      recovering the state of a PyXspec session. 
    - New adjustable attributes for the `Chain` class: `walkers` and 
    - `AllModels.tclLoad()` method added to provide a lower-level 
      alternative to the `lmod()` local model loading scheme.*
    - `Xset.allowPrompting` attribute provides option for turning on/off 
      XSPEC prompting.  This can be useful in iPython environments where 
      certain contexts can lead to infinite prompting loops.
    - PyXspec manuals have been converted from Doxygen-generated to
      Sphinx-generated HTML and PDF.
    - Was previously unable to unlink a linked parameter in a Python-coded
      local model.*
    Version 2.39 - updates since v2.31 (HEASOFT 6.19) include:
    - Changes to turn on printing in the rstepxx and fstepxx routines.
      Also, increase size of temporary arrays in those routines to match nnnl.
    - Changes to correct for incorrect dimension in PARAM file which led
      to bad numerical results for Cu and Zn.  Changes to add printing of
      element by element heating and cooling rates.
    - Fixed error in pprint which prevented correct filling of xout_abund1.fits.
    - Fixes to atomic data to account for direct excitation of fine
      structure levels of He-like ions.
    - Strip out fictitious fe xxiv collisional ionization to 1s2s level
      of fexxv.
    - Fix to ucalc.f which calculates detailed balance for data type
      95 (Bryans collisional excitation) without numerical errors.
    - Changes to include updates to ucalc to include calculation of
      type 97 rates (inner shell collisional ionization; currently
      no data of this type is included).
    - Local version of getlun and associated routines to properly
      keep track of opened and freed logical units.
    - Repair extra data records for type 76 data, 2 photon decays, and
      changes which prevent printing of type 76 data along with lines.
    - Fixes to He-like atomic data to correct for some missing rates
      affecting levels created when mapping from ls to lsj levels.
    - Change to ucalc and calling routines to not call linopac for lines
      when opacity*delta(r) is less than 1.e-8.  This saves execution time.
    - New feature:  no fits files will be saved if  lwrite < 0.
    Patch Hitomi V005a released Jan 18, 2017
    Mission Applications:
    - aharfgen , ahsxtarfgen , hxirspeffimg
      New parameter: polydeg (string): polynomial order for the fitting.
      For the HXI, the DEFAULT value sets the polynomial order to 5.  For
      the SXI and SXS, the DEFAULT value sets the polynomial order to an
      internal test for the best polynomial order.  Other allowed values
      are 1 to 5 for the HXI and 1 to 10 for the SXI and SXS.
    - ahsxtarfgen
      Behavior change: the default behavior is changed since the
      polynomial order to provide a stable fit solution is tested internally
      with a minimization technique. The parameter value polydeg determines
      whether or not the routine should use the default behavior.
    - xrtraytrace
      Bug-fix: correct the behavior of decreasing area with increasing
      number of input photons for large region.  This affects the raytracing
      output when run with flat or beta model in conjunction with very
      large regions (~above 12 arcmin) and number of events larger than
      200000 on axis.
    - sxipi
      Bug-fix : in a debug statement array out of range for window mode data
      when reading CTI from CALDB giving seg fault. No effect on the actual
      calculation but just on the print statements
    - mxstime
      Bug-fix : fine gti overlapping are checked using the pulselength and
      compare the afterglow length.  For files where the start of the mxs is
      outside of the start of file the code was not using the correct
      pulselength from the last row. This is only affected if the afterglow
      flag is set to yes.
    Hitomi V005 - Major changes introduced in this version:
    General Applications:
    - ahgtigen:
      * Bug-fix: Handling of the parameters cpkeyword and upkeyword was
        corrected. If upkeyword=yes, timing keywords are updated in all
        output GTI files, whereas previously, this update happened only for
        files resulting from a merging of GTI. If cpkeyword=all, keyword
        copying is now delegated solely to the maketime task, whereas
        previously, the copying was done a second time redundantly by ahgtigen.
    - ahpipeline:
      * Behavior change: MKF and EHK GTI are now copied to the end of
        unfiltered event files.
      * Behavior change: Updates timing keywords in the MKF and EHK GTI for
        all instruments and copies other keywords from unfiltered event file.
      * Behavior change: The EHK file is now replaced with the EHK2 file
        (which includes columns based on SXS antico rates) if the latter
        is successfully created.
      * Behavior change: For SXS screening, the PIXEALL2 label has been
        changed to PIXELALL3.
      * Parameter change: r2tol, bisectolshift, bsectolwidth (SXS gain
        fitting parameters): default values changed from 0.01, 0.1, and 0.2,
        respectively, to 0.001, 0.001, and 0.001.
      * Bug-fix: For SXS, the PIXEL column was omitted from lost fake GTI
        extensions; now included.
      * Behavior change: Moved proximity flagging from the first run of
        sxsflagpix to the second run of sxsflagpix.
      * Behavior change: For SXS, Perseus observation stop date and time have
        been changed from 2016-03-08T00:38:00 to 2016-03-04T00:41:00.
    Mission Applications:
    - aharfgen
      * Parameter change: auxtransfile:  If set to CALDB, a CALDB query is
        done.  Previously, the string CALDB was not detected and was passed
        unmodified to the called tasks.
      * Parameter change: regmode:  Now should be set to RADEC to indicate
        that the regionfile is in world coordinates, for consistency with
        coordinate terminology in other tools.  Previously, the value SKY
        was used incorrectly to indicate world coordinates.
    - ahbackscal
      * NEW TOOL: Corrects the BACKSCAL keyword in a spectrum file that has
        been extracted using xselect.
    - ahcalcl32ti
      * Behavior change: TZEROn keyword is now written for L32TI column to
        make it effectively unsigned.
    - ahfilter
      * Bug-fix: Under certain conditions, the output EHK file was incorrectly
        deleted at the end of processing like a temporary file.  This happened
        when the output EHK file path contained more than one dot and the
        infileroot parameter was a non-empty string.  The parsing of file
        names has been corrected to avoid this outcome.
    - ahgainfit
      * Parameter change: r2tol (convergence criterion for R^2): default value
        changed from 0.01 to 0.001.
      * Parameter change: bisectolshift (tolerance of shift to stop bisection
        method): default value changed from 0.1 to 0.001.
      * Parameter change: bisectolwidth (tolerance of width to stop bisection
        method): default value changed from 0.2 to 0.001.
    - ahmktim
      * Bug-fix: Corrected a double-free failure which sometimes occured when
        task was built with gcc 5.4 with optimization.
    - ahnxbgen
      * Bug-fix: Incorrect Perl function call get_column_number() has been
        corrected to get_column_num().
      * Bug-fix: One case-sensitive test of regmode parameter is now case-
    - ahsxtarfgen
      * Behavior change: Writes PSF fraction inside detector area and/or
        inside region to the screen.
      * New parameter: auxtransfile:  Auxiliary transmission file, containing
        transmission as a function of energy to be applied to final ARF.
      * Parameter change: skyregfile:  Wording of the parameter prompt was
        changed to make clear that this region file is in world coordinates
        (RADEC), not Cartesian SKY coordinates.
      * Bug-fix: In applying the contamination CALDB file, now reinitializes
        the sum of weights and weighted sum to zero for each fine energy bin.
        Previously, this reinitialization was not done, so that incorrect
        transmission values for contamination were used in the ARF.
    - hxirspeffimg
      * Parameter change: auxtransfile:  If set to CALDB, a CALDB query is
        done.  Previously, the string CALDB was not detected and was treated
        as a normal filename.
    - sxsnxbgen
      * New parameter: picol:  Name of PI column to read from input event file.
    HXI/SGD Applications:
    - sgdarfgen
      * Behavior change: Checks SGDID parameter vs. INSTRUME keyword in input
        file, and includes SGDID as part of output file name.
    - sgdevtid
      * Behavior change: Uses underscore instead of blank in fluorescence
        material names; e.g., 'CdTe btm' is now 'CdTe_btm'.
      * Bug-fix: Throws error if the program attempts to find a fluorescence
        line for a material that is absent from the CALDB file.  Previously,
        such fluorescence lines were silently omitted in event reconstruction.
    SXI Applications:
    - sxiflagpix
      * Bug-fix: Program was segfaulting when the parameter echoflag was
        'no' and the parameter echomap was 'yes'.  This bug was corrected
        by ignoring echomap when echoflag is 'no'.
    - sxipi
      * Bug-fix: Some CALDB files can have blocks of lines with the same
        timestamp.  Previously, CALDB files containing more than one such
        block were being read incorrectly.  The bug was fixed by correcting
        the flow of control in nested loops that process each group of equal
        times within each file.
    SXS Applications: 
    - sxsextend
      * NEW TOOL: Reruns tasks sxspha2pi, sxsperseus (if necessary), and
        ahscreen in order to produce SXS event files in extended energy mode.  `
    - sxsanticolc
      * Behavior change: Sets TUNIT keywords for output RATE and ERROR columns.
        Previously, these keywords were omitted.
    - sxsflagpix
      * Behavior change: If MXS GTI times do not overlap with the time range
        of the input file.  prints log message and skips MXS flagging.
        Previously in this case, the task threw an error.
    - sxsgain
      * Parameter change: r2tol (convergence criterion for R^2): default value
        changed from 0.01 to 0.001.
      * Parameter change: bisectolshift (tolerance of shift to stop bisection
        method): default value changed from 0.1 to 0.001.
      * Parameter change: bisectolwidth (tolerance of width to stop bisection
        method): default value changed from 0.2 to 0.001.
      * Behavior change: Instead of using theoretical average when determining
        the temperature from the fitted shift, now uses the tabulated profile
    - sxsperseus
      * Behavior change:  For extended energy mode, reads columns EPIE and
        EPI2E rather than EPI and EPI2, and writes columns EPIEPER and
        EPI2EPER rather than EPIPER and EPI2PER.
      * Bug-fix: Now checks whether PI or PIE column already exists before
        inserting it into the output file.
      * Parameter change:  binwidth (PI bin width for extended energy range):
        Default value changed from 0.5 eV to 1.0 eV.
    - sxspha2pi
      * Behavior change: In extended energy mode, automatically adds "E" to
        column name in ADDEPICOL parameter to form the name of the output
        column for energy with secondary correction.
      * Behavior change: Now writes PIOFFST and PIWIDTH keywords (PI energy
        offset and bin width) in non-extended-energy mode.  (Similar keywords
        PIEOFFST and PIEWIDTH were already written for extended energy mode.)
      * Bug-fix: Skips events with PIXEL=NULL to guard against a segfault. 
        Normally, this condition is never encountered because the PROC_STATUS
        column should indicate a bad event, but PROC_STATUS has not been
        updated in teh pre-pipeline for this condition.
    - sxspixgti
      * Behavior change: Updates timing keywords if upkeyword=yes (upkeyword
        is also passed to the called task ahgtigen, as before).
    - sxsregext
      * New parameter: extended (boolean):  extended=yes causes the PIE column
        to be read from the event file rather than the PI column.
      * Behavior change:  Substitutes USER=sxsregext for USER=[user name] in
        output header to facilitate unit testing.
      * Parameter change:  regmode: WCS coordinates for the regionfile are now
        indicated by regmode=RADEC rather than regmode=SKY.
    - ahgain
      * Bug-fix: Memory leak eliminated in deallocation of fit results structure.
    - rmflib
      * Behavior change: CHANNEL column in EBOUNDS RMF extension changed from I type to J.
    NuSTARDAS v1.7.0 software patch:
    - nucalcsaa: Adjust the behavior of nucalcsaa so that fselect is no
      longer run even when saamode='NONE' and tentacle=no. This resolves
      the known issues where nupipeline was crashing when the 01 and 02
      event files were empty (mostly when looking at the Sun).
    - nupipeline: (1) nupipeline now selects an appropriate TLE file
      from the auxil directory instead of simply exiting with an error
      message.  (2) Corrected a bug in the input parser that occurred
      when parameter 'statusexpr' was not set to 'DEFAULT'.
    - nuscreen: Correction of a bug when input parameter 'statusexpr'
      is not set to DEFAULT.
    NuSTARDAS v1.7.1 software patch:
    - nufilter: added the parameter 'timeadj=DEFAULT when running the
      multi-mission FTOOL prefilter.
    XRTDAS Build 33:
    - xrtpipeline: Disabled the option to call the xrttam module (removal
      of the input parameters  applytamcorr, tamfile, tamrefx1, tamrefy1,
      tamrefx2, tamrefy2, attcorrout)
    - xrtwtcorr: Bug fixed in the bias adjustment calculation.
    - xrtscreen: Fixed some keywords duplication in output GTI files.
    - xrtfilter: Modified the call to the multi-mission FTOOL prefilter.
    - xrtgrblc: Update of the clean-up of temporary files.
    - xrtgrblcspec: Adjust some output formatting to mimic behavior prior to
      a recent increase in output precision from Xspec.
    - GUIs xdf and xsut have been relocated to live with the rest of the XTE
      software instead of the "FV/GUIs" package.
    - tai-utc.dat, leapsec.fits: Added 2017-01-01 leap second.
    - PLT: Fix for problem in contour plot when the label to set the cross
      can fail if the first position given is of the form #e... where #
      is a single integer. The issue arises because GTPEEK returns only
      the first two characters of the token while ISNUM checks for a
      token being a number by testing that the first and last characters
      are integers. There are a number of other places that GTPEEK is
      followed by ISNUM so these could generate similar problems. It
      would be better to have a complete solution to these however the
      obvious fix of changing GTPEEK to return the entire token causes
      a failure when using text surrounded by double quotes.


    If FTOOLS has been useful in your research, please reference this site (http://heasarc.gsfc.nasa.gov/ftools) and use the ASCL reference for HEASoft [ascl:1408.004] or the ASCL reference for the original FTOOLs paper [ascl:9912.002]:

    Blackburn, J. K. 1995, in ASP Conf. Ser., Vol. 77, Astronomical Data Analysis Software and Systems IV, ed. R. A. Shaw, H. E. Payne, and J. J. E. Hayes (San Francisco: ASP), 367.

    Web page maintained by: Bryan K. Irby

    HEASARC Home | Observatories | Archive | Calibration | Software | Tools | Students/Teachers/Public

    Last modified: Wednesday, 05-Apr-2017 13:05:05 EDT