Coverage for /wheeldirectory/casa-6.7.0-12-py3.10.el8/lib/py/lib/python3.10/site-packages/casatasks/virtualconcat.py: 89%
27 statements
« prev ^ index » next coverage.py v7.6.4, created at 2024-11-01 07:19 +0000
« prev ^ index » next coverage.py v7.6.4, created at 2024-11-01 07:19 +0000
1##################### generated by xml-casa (v2) from virtualconcat.xml #############
2##################### fccb7fde89f14ceba514bdd8be54ae42 ##############################
3from __future__ import absolute_import
4import numpy
5from casatools.typecheck import CasaValidator as _val_ctor
6_pc = _val_ctor( )
7from casatools.coercetype import coerce as _coerce
8from casatools.errors import create_error_string
9from .private.task_virtualconcat import virtualconcat as _virtualconcat_t
10from casatasks.private.task_logging import start_log as _start_log
11from casatasks.private.task_logging import end_log as _end_log
12from casatasks.private.task_logging import except_log as _except_log
14class _virtualconcat:
15 """
16 virtualconcat ---- Concatenate several visibility data sets into a multi-MS
18 --------- parameter descriptions ---------------------------------------------
20 vis List of names of input visibility files to be concatenated
21 concatvis Name of the output visibility file (a multi-MS)
22 freqtol Frequency shift tolerance for considering data as the same spwid
23 dirtol Direction shift tolerance for considering data as the same field
24 respectname If true, fields with a different name are not merged even if their direction agrees
25 visweightscale List of the weight scaling factors to be applied to the individual MSs
26 keepcopy If true, a copy of the input MSs is kept in their original place.
27 copypointing If true, keep the POINTING table information in the output MMS. If false, don\'t.
29 --------- examples -----------------------------------------------------------
33 The list of data sets given in the vis argument are moved into an output
34 multi-MS data set concatvis and virtually concatenated.
36 NOTE: This task will modify the input datasets by moving them and reindexing them.
37 If you want to keep a copy of your original data, please set the parameter
38 keepcopy to True.
40 There is no limit to the number of input data sets.
42 If none of the input data sets have any scratch columns (model and corrected
43 columns), none are created in the concatvis. Otherwise these columns are
44 created on output and initialized to their default value (1 in model column,
45 data in corrected column) for those data with no input columns.
47 Spectral windows for each data set with the same chanelization, and within a
48 specified frequency tolerance of another data set will be combined into one
49 spectral window.
51 A field position in one data set that is within a specified direction tolerance
52 of another field position in any other data set will be combined into one
53 field. The field names need not be the same---only their position is used.
55 Each appended dataset is assigned a new observation id if the corresponding
56 rows in the observation table are not the same.
58 Keyword arguments:
59 vis -- Name of input visibility files to be combined
60 default: none; example: vis = ['src2.ms','ngc5921.ms','ngc315.ms']
61 concatvis -- Name of visibility file that will contain the concatenated data
62 note: if this file exits on disk then the input files are
63 added to this file. Otherwise the new file contains
64 the concatenated data. Be careful here when concatenating to
65 an existing file.
66 default: none; example: concatvis='src2.ms'
67 example: concatvis='outvis.ms'
69 other examples:
70 virtualconcat(vis=['src2.ms','ngc5921.ms'], concatvis='out.mms')
71 will concatenate 'ngc5921.ms' and 'src2.ms' into a file named
72 'out.mms'; the original 'ngc5921.ms' and 'src2.ms' are gone.
73 'out.mms' is a multims. As most of the data is only moved, not
74 copied, this is faster and subsequent tasks can run in parallel
75 on the subMSs of out.mms.
76 virtualconcat(vis=['src2.ms','ngc5921.ms'], concatvis='out.mms', keepcopy=True)
77 will concatenate 'ngc5921.ms' and 'src2.ms' into a file named
78 'out.mms'; the original 'ngc5921.ms' and 'src2.ms' are as before
79 but you consume more disk space and time for the copy.
80 .
82 Note: run flagmanager to save flags in the concatvis
84 freqtol -- Frequency shift tolerance for considering data to be in the same
85 spwid. The number of channels must also be the same.
86 default: '' do not combine unless frequencies are equal
87 example: freqtol='10MHz' will not combine spwid unless they are
88 within 10 MHz.
89 Note: This option is useful to conbine spectral windows with very slight
90 frequency differences caused by Doppler tracking, for example.
92 dirtol -- Direction shift tolerance for considering data as the same field
93 default: '' means always combine.
94 example: dirtol='1.arcsec' will not combine data for a field unless
95 their phase center differ by less than 1 arcsec. If the field names
96 are different in the input data sets, the name in the output data
97 set will be the first relevant data set in the list.
99 respectname -- If true, fields with a different name are not merged even if their
100 direction agrees (within dirtol).
101 default: True
103 visweightscale -- The weights of the individual MSs will be scaled in the concatenated
104 output MS by the factors in this list. Useful for handling heterogeneous arrays.
105 Use plotms to inspect the "Wt" column as a reference for determining the scaling
106 factors. See the cookbook for more details.
107 example: [1.,3.,3.] - scale the weights of the second and third MS by a factor 3.
108 default: [] (empty list) - no scaling
110 keepcopy -- If true, a copy of the input MSs is kept in their original place.
111 default: false
113 copypointing -- If true, the POINTING table information will be present in the output.
114 If false, the result is an empty POINTING table.
115 default: true
118 """
120 _info_group_ = """manipulation"""
121 _info_desc_ = """Concatenate several visibility data sets into a multi-MS"""
123 def __call__( self, vis=[ ], concatvis='', freqtol='', dirtol='', respectname=True, visweightscale=[ ], keepcopy=False, copypointing=True ):
124 schema = {'vis': {'type': 'cReqPathVec', 'coerce': [_coerce.to_list,_coerce.expand_pathvec]}, 'concatvis': {'type': 'cStr', 'coerce': _coerce.to_str}, 'freqtol': {'type': 'cVariant', 'coerce': [_coerce.to_variant]}, 'dirtol': {'type': 'cVariant', 'coerce': [_coerce.to_variant]}, 'respectname': {'type': 'cBool'}, 'visweightscale': {'type': 'cFloatVec', 'coerce': [_coerce.to_list,_coerce.to_floatvec]}, 'keepcopy': {'type': 'cBool'}, 'copypointing': {'type': 'cBool'}}
125 doc = {'vis': vis, 'concatvis': concatvis, 'freqtol': freqtol, 'dirtol': dirtol, 'respectname': respectname, 'visweightscale': visweightscale, 'keepcopy': keepcopy, 'copypointing': copypointing}
126 assert _pc.validate(doc,schema), create_error_string(_pc.errors)
127 _logging_state_ = _start_log( 'virtualconcat', [ 'vis=' + repr(_pc.document['vis']), 'concatvis=' + repr(_pc.document['concatvis']), 'freqtol=' + repr(_pc.document['freqtol']), 'dirtol=' + repr(_pc.document['dirtol']), 'respectname=' + repr(_pc.document['respectname']), 'visweightscale=' + repr(_pc.document['visweightscale']), 'keepcopy=' + repr(_pc.document['keepcopy']), 'copypointing=' + repr(_pc.document['copypointing']) ] )
128 task_result = None
129 try:
130 task_result = _virtualconcat_t( _pc.document['vis'], _pc.document['concatvis'], _pc.document['freqtol'], _pc.document['dirtol'], _pc.document['respectname'], _pc.document['visweightscale'], _pc.document['keepcopy'], _pc.document['copypointing'] )
131 except Exception as exc:
132 _except_log('virtualconcat', exc)
133 raise
134 finally:
135 task_result = _end_log( _logging_state_, 'virtualconcat', task_result )
136 return task_result
138virtualconcat = _virtualconcat( )