This is an archival dump of old wiki content --- see scipy.org for current material

Exercise 1:

 [in file refits.py]
 '''function to use regular expression matching on header keyword names
 and print all those that match
 '''

 import re
 import pyfits

 def findkeywords(filename, pattern):
 rekey = re.compile(pattern, flags=re.IGNORECASE)
 fo = pyfits.open(filename)
 extn = 0
 for ext in fo:
 hdrcards = ext.header.ascardlist()
 for card in hdrcards:
 mo = rekey.match(card.key)
 if mo and mo.end()==len(card.key): # to ensure match of entire key 
 print 'ext=%d'% extn, card
 extn += 1

Exercise 2:

 [in file refits_iraf.py]
 from pyraf import iraf
 import refits

 parfile = iraf.osfn('home$scripts/findkey.par')
 t = iraf.IrafTaskFactory(taskname='findkey', value=parfile, function=refits.findkeywords)

 [in file home$scripts/findkey.par]
 filename,s,a,"",,,"FITS file to search for keywords"
 searchstring,s,a,"",,,"Regular expression pattern"
 mode,s,h,"al"

 Then doing (in pyraf)
 --> pyexecute('refits_iraf.py')
 --> lpar findkey
 filename = FITS file to search for keywords
 searchstring = Regular expression pattern
 (mode = al)
 --> findkey pix.fits naxis.*
 ext=0 NAXIS = 2 / Number of axes
 ext=0 NAXIS1 = 512 / Axis length
 ext=0 NAXIS2 = 512 / Axis length 

SciPy: TutorialSolutionSet4 (last edited 2015年10月24日 17:48:25 by anonymous)

AltStyle によって変換されたページ (->オリジナル) /