Spectrum example

The following Python example reads a type II PHA file, rebins the channels in each spectrum by a factor of 2, multiplies the spectrum values by 1.5, and writes out the result.

import os
from heasp import *

# read the spectrum
spectra = phaII("testin.pha")

# loop round the spectra in the file
# rebinning by a factor of 2 then placing
# in the output spectra
output = phaII()
Nspectra = spectra.getNumberSpectra()
groupInfo = grouping()

for i in xrange(Nspectra):
  spectrum = spectra.getphasElement(i)
  groupInfo.load(2,spectrum.getNumberChannels())
  status = spectrum.rebinChannels(groupInfo, "PROPAGATE")
  spectrum *= 1.5
  output.push(spectrum)

# write out the spectrum
phafile = "testout.pha"
if (os.path.exists(phafile)): os.remove(phafile)
status = output.write(phafile)
if status != 0: print("Failed to write testout.pha: status = ", status)




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

Last modified: Wednesday, 28-Aug-2024 16:49:35 EDT

HEASARC Staff Scientist Position - Applications are now being accepted for a Staff Scientist with significant experience and interest in the technical aspects of astrophysics research, to work in the High Energy Astrophysics Science Archive Research Center (HEASARC) at NASA Goddard Space Flight Center (GSFC) in Greenbelt, MD. Refer to the AAS Job register for full details.