Beispiel #1
0
        'instrument directories to make the output parmdb directories '
        '(default=solution-set name)', type='string', default=None)
    opt.add_option('-t', '--soltab', help='Solution tables to export; e.g., '
        '"amplitude000, phase000" (default=all)', type='string', default='all')
    opt.add_option('-i', '--instrument', help='Name of the instrument table '
        '(default=instrument*)', type='string', default='instrument*')
    opt.add_option('-c', '--clobber', help='Clobber exising files '
        '(default=False)', action='store_true', default=False)
    (options, args) = opt.parse_args()
    global ipbar, pbar

    # Check options
    if len(args) != 2:
        opt.print_help()
        sys.exit()
    if options.verbose: _logging.setLevel("debug")

    # Check input H5parm file
    h5parmFile = args[0]
    if not os.path.exists(h5parmFile):
        logging.critical('Input H5parm file not found.')
        sys.exit(1)
    logging.info("Input H5parm filename = "+h5parmFile)

    # Open the h5parm file and get solution set names
    h5parm_in = h5parm(h5parmFile, readonly = True)
    solsetNames = h5parm_in.getSolsetNames()

    # Check input parmdb file
    globaldbFile = args[1]
    if not os.path.exists(globaldbFile):
Beispiel #2
0
import lofar.parmdb
from losoto import _version
from losoto import _logging
from losoto.h5parm import h5parm, solFetcher, solWriter

# Options
import optparse
opt = optparse.OptionParser(usage='%prog -p H5parm [-s solset] -g parmdb [-n 100]\n'\
                +_author, version='%prog '+_version.__version__)
opt.add_option('-p', '--h5parm', help='H5parm name', type='string', default='')
opt.add_option('-g', '--parmdb', help='Parmdb name', type='string', default='')
opt.add_option('-s', '--solset', help='Solution-set name (default=sol000)', type='string', default='sol000')
opt.add_option('-n', '--numiter', help='Number of iterations (default=100)', type=int, default=100)
(options, args) = opt.parse_args()

_logging.setLevel('debug')

n = options.numiter

solset = options.solset
h5parmFile = options.h5parm
H5 = h5parm(h5parmFile, readonly=False)
H = solFetcher(H5.getSoltab(solset,'rotation000'))
logging.info("H5parm filename = "+h5parmFile)

parmdbFile = options.parmdb
P = lofar.parmdb.parmdb(parmdbFile)
P2 = lofar.parmdb.parmdb('tmp.parmdb', create=True)
logging.info("parmdb filename = "+parmdbFile)

######################################################
Beispiel #3
0
    # Options
    import optparse
    opt = optparse.OptionParser(usage='%prog [-v] <H5parm:solset> <H5parm:solset> \n'\
                            +_author, version='%prog '+_version.__version__)
    opt.add_option('-V',
                   '--verbose',
                   help='Go VERBOSE! (default=False)',
                   action='store_true',
                   default=False)
    (options, args) = opt.parse_args()

    # Check options
    if len(args) != 2:
        opt.print_help()
        sys.exit()
    if options.verbose: _logging.setLevel("debug")

    h5parmFrom = args[0]
    h5parmTo = args[1]

    logging.info("H5parm origin = " + h5parmFrom)
    logging.info("H5parm destination = " + h5parmTo)

    # scompose input values
    h5parmFromFile, solsetFrom = h5parmFrom.split(':')
    h5parmToFile, solsetTo = h5parmTo.split(':')

    if not (os.path.isfile(h5parmFromFile) and os.path.isfile(h5parmToFile)):
        logging.critical("Missing H5parm file.")
        sys.exit(1)
Beispiel #4
0
                    help='Remove all axes with a length of 1 (default=False)')
parser.add_argument(
    '--clobber',
    '-c',
    default=False,
    action='store_true',
    help=
    'Replace exising outh5parm file instead of appending to it (default=False)'
)
args = parser.parse_args()

if len(args.h5parmFiles) < 1:
    parser.print_help()
    sys.exit(1)

if args.verbose: _logging.setLevel("debug")

################################

# check input
if len(args.h5parmFiles) == 1 and (',' in args.h5parmFiles[0] or
                                   ('[' in args.h5parmFiles[0]
                                    and ']' in args.h5parmFiles[0])):
    # Treat input as a string with comma-separated values
    args.h5parmFiles = args.h5parmFiles[0].strip('[]').split(',')
    args.h5parmFiles = [f.strip() for f in args.h5parmFiles]

# read all tables
insolset = args.insolset
if args.insoltab is None:
    # use all soltabs, find out names from first h5parm
Beispiel #5
0
parser = argparse.ArgumentParser(description='Split h5parm files - '+_author)#, version=_version.__version__
parser.add_argument('h5parmFile', help='Input h5parm')
parser.add_argument('axis', help='Axis name to split')
parser.add_argument('length', help='Target length of axis in each output h5parm (in the same units as the axis)')
parser.add_argument('--insolset', '-s', default='sol000', dest='insolset', help='Input solset name [default: sol000]')
parser.add_argument('--outsolset', '-o', default=None, dest='outsolset', help='Output solset name [default: same as insolset]')
parser.add_argument('--root', '-r', default='output', dest='root', help='Root of output h5parm names; e.g., root_0.h5, root_1.h5, etc. [default: output]')
parser.add_argument('--verbose', '-V', '-v', default=False, action='store_true', help='Go Vebose! (default=False)')
parser.add_argument('--clobber', '-c', default=False, action='store_true', help='Replace exising outh5parm files (default=False)')
args = parser.parse_args()

if len(args.h5parmFile) < 1:
    parser.print_help()
    sys.exit(1)

if args.verbose: _logging.setLevel("debug")

################################

# read input table
h5 = h5parm(args.h5parmFile, readonly=True)
solset = h5.getSolset(args.insolset)
insoltabs = solset.getSoltabNames()
soltabs = []
for insoltab in insoltabs:
    soltab = solset.getSoltab(insoltab)
    soltabs.append( soltab )
pointingNames = []; antennaNames = []
pointingDirections = []; antennaPositions = []
ants = solset.getAnt()
sous = solset.getSou()
Beispiel #6
0
                +_author, version='%prog '+_version.__version__)
opt.add_option('-p', '--h5parm', help='H5parm name', type='string', default='')
opt.add_option('-g', '--parmdb', help='Parmdb name', type='string', default='')
opt.add_option('-s',
               '--solset',
               help='Solution-set name (default=sol000)',
               type='string',
               default='sol000')
opt.add_option('-n',
               '--numiter',
               help='Number of iterations (default=100)',
               type=int,
               default=100)
(options, args) = opt.parse_args()

_logging.setLevel('debug')

n = options.numiter

solset = options.solset
h5parmFile = options.h5parm
H5 = h5parm(h5parmFile, readonly=False)
H = solFetcher(H5.getSoltab(solset, 'rotation000'))
logging.info("H5parm filename = " + h5parmFile)

parmdbFile = options.parmdb
P = lofar.parmdb.parmdb(parmdbFile)
P2 = lofar.parmdb.parmdb('tmp.parmdb', create=True)
logging.info("parmdb filename = " + parmdbFile)

######################################################
Beispiel #7
0
    import optparse
    opt = optparse.OptionParser(usage='%prog [-v] [-o] [-d gds] [-g output globaldb] \n'\
            +_author, version='%prog '+_version.__version__)
    opt.add_option('-v', '--verbose', help='Go VeRbOsE! (default=False)', action='store_true', default=False)
    opt.add_option('-o', '--overwrite', help='Overwrite an existing globaldb (default=False)', action='store_true', default=False)
    opt.add_option('-m', '--mss', help='Regular expression to locate the MSs', type='string', default='')
    opt.add_option('-d', '--gds', help='Gds file used to construct the globaldb', type='string', default='')
    opt.add_option('-p', '--parmdb', help='Parmdb name inside the MSs (default=instrument)', type='string', default='instrument')
    opt.add_option('-g', '--globaldb', help='Output globaldb name (default=globaldb)', type='string', default='globaldb')
    (options, args) = opt.parse_args()

    # Check options
    if len(args) != 0:
        opt.print_help()
        sys.exit()
    if options.verbose: _logging.setLevel('debug')

    overwrite = options.overwrite

    globaldbFile = options.globaldb
    logging.info("globaldb filename = "+globaldbFile)
    instrumentName=options.parmdb
    logging.info("MS parmdb name = "+instrumentName)

    if os.path.exists(globaldbFile):
        if overwrite:
            os.system('rm -rf '+globaldbFile)
            os.makedirs(globaldbFile)
        else:
            logging.warning(globaldbFile+' already exists. I will not overwrite existing files.')
    else:
        type='int',
        default='5')
    opt.add_option(
        '--nofulljones',
        help='Export the solutions as just XX/YY instead of XX,XY,YX,YY.',
        action='store_false',
        dest='fulljones',
        default=True)
    (options, args) = opt.parse_args()

    # Check options
    if len(args) != 2:
        opt.print_help()
        sys.exit()
    if options.verbose:
        _logging.setLevel("debug")

    inputFile = args[1]
    logging.info("KILLMS filenames = " + str(inputFile))
    h5parmFile = args[0]
    logging.info("H5parm filename = " + h5parmFile)

    # Common options
    complevel = options.complevel
    solsetName = options.solset

    SolsDico = np.load(inputFile)
    Sols = SolsDico["Sols"]
    Sols = Sols.view(np.recarray)

    # build direction subtable