Creating lists of files for task input: using glob: Difference between revisions

From CASA Guides
Jump to navigationJump to search
(Created page with 'If you need to import a number of files, you can use a python module called 'glob' to search for and assemble a list for you. The following lines of code will produce an array of…')
 
No edit summary
Line 1: Line 1:
[[CARMA Hints, Tips, & Tricks | &#8629; '''CARMA Hints, Tips, & Tricks''']] <br>
If you need to import a number of files, you can use a python module called 'glob' to search for and assemble a list for you. The following lines of code will produce an array of filenames that you can give CASA as an input for the "importuvfits" command:
If you need to import a number of files, you can use a python module called 'glob' to search for and assemble a list for you. The following lines of code will produce an array of filenames that you can give CASA as an input for the "importuvfits" command:



Revision as of 14:10, 30 December 2009

CARMA Hints, Tips, & Tricks

If you need to import a number of files, you can use a python module called 'glob' to search for and assemble a list for you. The following lines of code will produce an array of filenames that you can give CASA as an input for the "importuvfits" command:

# in CASA
# this next line imports the module glob, but names it 'filesearch' to help remind you what it does
from glob import glob as filesearch
import os

fitsdir='fits/'
msdir='./'
project='c0xxx'
catfile=msdir+project+'.ms'

inlist = sorted(filesearch(fitsdir+'*.fits'))

In the same python script, you can now use the following "for" loop to read each of the individual FITS files into an MS of the same name (e.g., for a FITS file named "c0xxx.4.fits", produce an MS called "c0xxx.4.ms" .) The 'infile' definition strips off the directory path,leaving only the FITS filename. The 'outfile' definition strips off '.fits' from each of the FITS files, and replaces it with '.ms' to create a list of output MS filenames.

Finally, the call to importuvfits used this pair of filenames to read the data from each FITS file into the corresponding MS:

# in CASA
for item in inlist:
    infile=item.split('/')[-1]
    outfile=infile.replace('.fits','.ms')
    importuvfits(fitsfile=item, vis=msdir+outfile)