Пример #1
0
def AppendVLTable (infile, outfile=outfile, err=err):
    """ Copy VL table ver 1 from infile to outfile

    infile   = name of input FITS image file with VL table
    outfile  = name of output FITS image file with extant VL table
    err      = Python Obit Error/message stack
    """
    ################################################################
    # Get images
    inImage  = Image.newPImage("Input image",  infile,  indisk,  1, err)
    outImage = Image.newPImage("Output image", outfile, outdisk, 1, err)
    OErr.printErrMsg(err, "Error creating image objects")
    #
    # obtain "AIPS VL" tables from each
    inTable  = Image.PImageNewImageTable(inImage,  1, "AIPS VL", 1, err)
    outTable = Image.PImageNewImageTable(outImage, 3, "AIPS VL", 1, err)
    OErr.printErrMsg(err, "Error extracting AIPS VL table objects")
    # Concatenate
    Table.PTableConcat (inTable, outTable, err)
    OErr.printErrMsg(err, "Error concatenatinfg tables")
    print "Appended",infile,"to",outfile
Пример #2
0
def AppendVLTable (infile, outfile=outfile, err=err):
    """ Copy VL table ver 1 from infile to outfile

    infile   = name of input FITS image file with VL table
    outfile  = name of output FITS image file with extant VL table
    err      = Python Obit Error/message stack
    """
    ################################################################
    # Get images
    inImage  = Image.newPImage("Input image",  infile,  indisk,  1, err)
    outImage = Image.newPImage("Output image", outfile, outdisk, 1, err)
    OErr.printErrMsg(err, "Error creating image objects")
    #
    # obtain "AIPS VL" tables from each
    inTable  = Image.PImageNewImageTable(inImage,  1, "AIPS VL", 1, err)
    outTable = Image.PImageNewImageTable(outImage, 3, "AIPS VL", 1, err)
    OErr.printErrMsg(err, "Error extracting AIPS VL table objects")
    # Concatenate
    Table.PConcat (inTable, outTable, err)
    OErr.printErrMsg(err, "Error concatenatinfg tables")
    print "Appended",infile,"to",outfile
Пример #3
0
                          ["../PythonData/"], 1, 0, err)
OErr.printErrMsg(err, "Error with Obit startup")

# For debugging
#print sys.argv
#Obit.Bomb()

# Get file names
inFile = sys.argv[1]
pntFile = sys.argv[2]
outFile = sys.argv[3]
inDisk = 1
outDisk = 1

# Set data
inImage = Image.newPImage("Input image", inFile, inDisk, 1, err)
pntImage = Image.newPImage("Pointing image", pntFile, inDisk, 1, err)
outImage = Image.newPImage("Output image", outFile, outDisk, 0, err)
Image.PClone(inImage, outImage, err)  # Same structure etc.
OErr.printErrMsg(err, "Error initializing")

# do it - defaulting plane, antena size
ImageUtil.PPBApply(inImage, pntImage, outImage, err)
OErr.printErrMsg(err, "Error correcting image")

# Say something
print "PB applied to", inFile, "writing", outFile, ", using pointing from", pntFile

# Shutdown Obit
OErr.printErr(err)
del ObitSys
Пример #4
0
ObitSys = OSystem.OSystem("OTFSub", 1, 103, 1, ["None"], 1, ["../FITSdata/"],
                          1, 0, err)
OErr.printErrMsg(err, "Error with Obit startup")

# Files
disk = 1
inFile = "GBTDaisyX2OTF.fits"  # input OTF data
imageFile = "PythonDaisyXClean.fits"  # Input image to subtract (clean)
#imageFile= "PythonTDaisyX.fits"         # Input image to subtract (dirty)
outFile = "!GBTDaisyXSubOTF.fits"  # output OTF data

# Set data
inData = OTF.newPOTF("Input data", inFile, disk, 1, err)
outData = OTF.newPOTF("Output data", outFile, disk, 0, err)
OTF.POTFClone(inData, outData, err)  # Same structure etc
modImage = Image.newPImage("Model Image", imageFile, disk, 1, err)
OErr.printErrMsg(err, "Error initializing")

# Read image
imageData = Image.PImageReadPlane(modImage, err)
imageDesc = Image.PImageGetDesc(modImage)
OErr.printErrMsg(err, "Error reading image")

# Subtract image from scratch
OTFUtil.POTFUtilSubImage(inData, outData, imageData, imageDesc, err)
OErr.printErrMsg(err, "Error subtracting image")

# Say something
print "Subtracted", imageFile, "from", inFile, " and wrote to", outFile

# Shutdown Obit
Пример #5
0
# Program to generate a dirty beam
import Image, ImageDesc, OSystem, OErr, FArray

# Init Obit
err = OErr.OErr()
ObitSys = OSystem.OSystem("MakeDBeam", 1, 103, 1, ["None"], 1,
                          ["../FITSdata/"], 1, 0, err)
OErr.printErrMsg(err, "Error with Obit startup")

# Files
disk = 1
outFile = "!PythonDBeam.fits"  # output image

# Create image object
outImage = Image.newPImage("Output image", outFile, disk, 0, err)
OErr.printErrMsg(err, "Error initializing")

# define image
RA = 0.0
Dec = 0.0
nx = 51
ny = 51
xCells = 20.0 / 3600.0
yCells = 20.0 / 3600.0
beamsize = 2.2266e-2  # beamsize in deg.

# Set image parameters in descriptor
imagDesc = Image.PImageGetDesc(outImage)
imagDict = ImageDesc.PImageDescGetDict(imagDesc)  # descriptor as dictionary
imagDict["ctype"][0] = "RA---SIN"
imagDict["ctype"][1] = "DEC--SIN"
Пример #6
0
import OTF, Image, OSystem, OErr

# Init Obit
err = OErr.OErr()
ObitSys = OSystem.OSystem("Python", 1, 103, 1, ["None"], 1, ["./"], 1, 0, err)
OErr.printErrMsg(err, "Error with Obit startup")

# Files
disk = 1
inFile = "GBTDaisyX2OTF.fits"  # input OTF data
dirtFile = "!CombDirty.fits"  # output dirty image file
beamFile = "DirtyBeam.fits"  # input dirty beam image
cleanFile = "!CombClean.fits"  # output CLEAN image

# Images for cleaning
Beam = Image.newPImage("Dirty Beam", beamFile, disk, 1, err)
Clean = Image.newPImage("Clean Image", cleanFile, disk, 0, err)

# Set data
inData = OTF.newPOTF("Input data", inFile, disk, 1, err)
OErr.printErrMsg(err, "Error creating input data object")

# delete any prior calibration tables
OTF.ClearCal(inData, err)

# Imaging parameters
OTF.ImageInput["InData"] = inData
OTF.ImageInput["disk"] = disk
OTF.ImageInput["OutName"] = dirtFile
OTF.ImageInput["ra"] = 24.42216  # Center RA
OTF.ImageInput["dec"] = 33.15863  # Center Dec
Пример #7
0
OErr.printErrMsg(err, "Error with Obit startup")

# For debugging
#Obit.Bomb()

# Get file names
inFile = sys.argv[1]
inDisk = 1
outDisk = 1
equinox = 2000.0

# Debug
print "input",inFile

# Convert file into Images
inImage = Image.newPImage(inFile, inFile, inDisk, 1, err)
OErr.printErrMsg(err, "Error initializing image")

# Open/get descriptor
Image.POpen(inImage, 3, err)
desc = Image.PGetDesc(inImage)

# update descriptor
descDict = ImageDesc.PGetDict(desc)       # Get descriptor as Python Dict
descDict["epoch"]   = equinox             # Update "epoch"
descDict["equinox"] = equinox             # Update equinox
descDict["origin"]  = "Obit to fix equinox"    # Update origin
ImageDesc.PSetDict(desc, descDict)        # update descriptor
Image.PClose(inImage, err)                # Close to update disk
OErr.printErrMsg(err, "Error writing updated header for "+Image.PGetName(inImage))
Пример #8
0
# Init Obit
err=OErr.OErr()
ObitSys=OSystem.OSystem ("TestHist", 1, 100, 1, ["../AIPSdata/"], 1, ["../PythonData/"], 1, 0, err)
OErr.printErrMsg(err, "Error with Obit startup")

# Files (FITS)
inDisk = 1
inFile   = 'HiTest.fits'
outFile  = 'GaussTest.fits'
# AIPS test AIPS image user 100 C346R422    .POLI  .   2,, disk 8/142
aname = "C346R422"
aclass = "POLI"
aseq = 2

# Set data
inImage   = Image.newPImage("Input image", inFile,  inDisk,   1, err)
outImage   = Image.newPAImage("Output image", aname, aclass, inDisk, aseq, 1, err)
OErr.printErrMsg(err, "Error initializing")

# For debugging
#Obit.Bomb()

# Make history
inInfo = Image.PGetList(inImage)
outInfo = Image.PGetList(outImage)
history = History.History("history", outInfo, err)
OErr.printErrMsg(err, "Error initializing history")
History.POpen(history, 3, err)
History.PTimeStamp(history,"Label",err)
History.PTimeStamp(history,"Something longer",err)
str = History.PReadRec(history,144,err)
Пример #9
0
import Image, OSystem, OErr, FArray

# Init Obit
err = OErr.OErr()
ObitSys = OSystem.OSystem("ImageSub", 1, 103, 1, ["None"], 1, ["../FITSdata/"],
                          1, 0, err)
OErr.printErrMsg(err, "Error with Obit startup")

# Files
disk = 1
inFile = "PythonDaisyXClean.fits"  # input image
in2File = "PythonTDaisyX.fits"  # Input image to subtract
outFile = "!PythonDaisyXCleanSub.fits"  # output image

# Set data
inImage = Image.newPImage("Input image", inFile, disk, 1, err)
in2Image = Image.newPImage("Input 2 image", in2File, disk, 1, err)
outImage = Image.newPImage("Output image", outFile, disk, 0, err)
Image.PImageClone(inImage, outImage, err)  # Same structure etc.
OErr.printErrMsg(err, "Error initializing")

# Read images
imageData = Image.PImageReadPlane(inImage, err)
image2Data = Image.PImageReadPlane(in2Image, err)

# Check compatability
if not FArray.PFArrayIsCompatable(imageData, image2Data):
    raise RuntimeError, 'Images incompatable'

# Subtract images
FArray.PFArraySub(imageData, image2Data, imageData)  # result in imageData
Пример #10
0
# Files (FITS)
IPolDisk = 1
IPolFile   = 'U_Ori_E_1.Icube.fits.gz'
VPolDisk = 1
VPolFile   = 'U_Ori_E_1.Vcube.fits'
outDisk = 1
VPolFile   = '00000+00000.PCUBE.gz'
IPolFile   = '00000+00000.PCUBE.gz'
outFile  = '!VPolCal.fits'

# Set clipping factors
RMSFactor = 10.0
MaxFactor = 0.20

# Set data
IImage = Image.newPImage("Input IPol image", IPolFile, IPolDisk, True, err)
VImage = Image.newPImage("Input VPol image", VPolFile, VPolDisk, True, err)
OErr.printErrMsg(err, "Error initializing")

# For debugging
#Bomb()

# Open images
IImage.Open(Image.READONLY, err)
VImage.Open(Image.READONLY, err)
OErr.printErrMsg(err, "Error opening input")

# Get image descriptors
IdescDict = IImage.Desc.Dict
Idim  = IdescDict["inaxes"]            # Dimensionality
VdescDict = VImage.Desc.Dict
Пример #11
0
ObitSys=OSystem.OSystem ("TestIMMOD", 1, 100, 1, ["../AIPSdata/"], 1, ["../PythonData/"], 1, 0, err)
OErr.printErrMsg(err, "Error with Obit startup")

# Files (FITS)
inDisk = 1
inFile   = 'GaussTest.fits'
outDisk = 1
outFile  = '!TestIMMOD.fits'

# Model
amp = 1.0
Cen = [38.0, 41.0];
GauMod = [6.0, 3.0, 45.0]

# Set data
inImage   = Image.newPImage("Input image",  inFile,   inDisk,   1, err)
outImage  = Image.newPImage("Output image", outFile,  outDisk,  0, err)
Image.PClone(inImage, outImage, err)   # Same structure etc.
OErr.printErrMsg(err, "Error initializing")

# For debugging
#Obit.Bomb()

# Get FArray
outArray = Image.PGetFArray (outImage)

# Add Model
#FArray.PEGauss2D(outArray, amp, Cen, GauMod)

# Replace image with resolution
FeatherUtil.PCreateModel(inImage, outArray)