Coverage for /wheeldirectory/casa-6.7.0-12-py3.10.el8/lib/py/lib/python3.10/site-packages/casatasks/tsdimaging.py: 56%

27 statements  

« prev     ^ index     » next       coverage.py v7.6.4, created at 2024-10-31 18:48 +0000

1##################### generated by xml-casa (v2) from tsdimaging.xml ################ 

2##################### 910a61afc64dc6e995fcff168b6271ca ############################## 

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_tsdimaging import tsdimaging as _tsdimaging_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 

13 

14class _tsdimaging: 

15 """ 

16 tsdimaging ---- SD task: imaging for total power and spectral data 

17 

18  

19 Task sdimaging creates an image from input single-dish data sets. 

20 The input can be either total power and spectral data. 

21  

22 The coordinate of output image is defined by four axes, i.e., two 

23 spatial axes, frequency and polarization axes.n 

24 By default, spatial coordinate of image is defined so that the all 

25 pointing directions in POINTING tables of input data sets are covered 

26 with the cell size, 1/3 of FWHM of primary beam of antennas in the 

27 first MS. Therefore, it is often easiest to leave spatial definitions 

28 at the default values. It is also possible to define spatial axes of 

29 the image by specifying the image center direction (phasecenter), 

30 number of image pixel (imsize) and size of the pixel (cell).n 

31 The frequency coordinate of image is defined by three parameters, 

32 the number of channels (nchan), the channel id/frequency/velocity of 

33 the first channel (start), and channel width (width).There are three 

34 modes available to define unit of start and width, i.e., 'channel' (use 

35 channel indices), 'frequency' (use frequency unit, e.g., 'GHz'), 

36 and 'velocity' (use velocity unit, e.g., 'km/s'). By default, nchan, 

37 start, and width are defined so that all selected spectral windows are 

38 covered with the channel width equal to separation of first two 

39 channels selected.n 

40 Finally, polarizations of image is defined by stokes parameter or 

41 polarization. For example, stokes='XXYY' produces an image cube with 

42 each plane contains the image of one of the polarizations, while 

43 stokes='I' produces a 'total intensity' or Stokes I image. 

44 The stokes parameter has a special option, 'pseudoI'. The option is 

45 introduced to support imaging of partially flagged correlations. 

46 Main difference between 'I' and 'pseudoI' is that the former only takes 

47 into account the data whose correlations are all valid (this is the 

48 Stokes I in the strict sense) while the latter accumulates partially 

49 flagged data in addition. Note that the 'pseudoI' option is compatible 

50 with 'I' for sdimaging task. 

51  

52 The task also supports various grid function (convolution kernel) to 

53 weight spectra as well as an option to remove the most extreme minimum 

54 and maximum (unweighted) values prior to computing the gridded pixel 

55 values. See description below for details of gridfunction available. 

56  

57  

58 

59 --------- parameter descriptions --------------------------------------------- 

60 

61 infiles a list of names of input SD Measurementsets (only MS is allowed for this task) 

62 outfile prefix of output images (.image, .weight) 

63 overwrite overwrite the output file if already exists [True, False] 

64 field select data by field IDs and names, e.g. \'3C2*\' (\'\'=all) 

65 spw select data by IF IDs (spectral windows), e.g. \'3,5,7\' (\'\'=all) 

66 antenna select data by antenna names or IDs, e.g, \'PM03\' (\'\' = all antennas) 

67 scan select data by scan numbers, e.g. \'21~23\' (\'\'=all) 

68 intent select data by observational intent, e.g. \'*ON_SOURCE*\' (\'\'=all) 

69 timerange select data by range of time, e.g. 20:15:00~20:16:00 (\'\'=all) 

70 outframe velocity frame of output image (''=current frame or LSRK for multiple-MS inputs) 

71 mode spectral gridding type [\'channel\', \'frequency\', \'velocity\'] 

72 nchan number of channels (planes) in output image (-1=all) 

73 start start of output spectral dimension, e.g. \'0\', \'110GHz\', \'-20km/s\' 

74 width width of output spectral channels 

75 veltype velocity definition 

76 specmode Spectral definition mode (cube, cubedata, cubesource) 

77 interpolation Spectral interpolation ["nearest", "linear", "cubic"] 

78 Interpolation rules to use when binning data channels onto image channels and evaluating visibility values at the centers of image channels. 

79 Note : 

80 - "linear" and "cubic" interpolation requires data points on both sides of each image frequency. Errors are therefore possible at edge channels, or near flagged data channels. When image channel width is much larger than the data channel width there is nothing much to be gained using linear or cubic thus not worth the extra computation involved. 

81 - If there are significant differences in the observation dates of the input MSes, "nearest" interpolation may cause some problems with frequency channel matching. 

82 pointingcolumn pointing data column to use 

83 convertfirst Specify whether the direction of the specified pointing column must be converted to image"s reference frame prior to being interpolated at data-taking time, and when. "never": interpolate against the pointing column, then convert. "always": interpolate against the beforehand converted pointing column. "auto": if there are less pointings than selected data rows convert first, else interpolate first 

84 projection map projection type 

85 imsize x and y image size in pixels, e.g., [64,64]. Single value: same for both spatial axes ([] = number of pixels to cover whole pointings in MSes) 

86 cell x and y cell size, (e.g., [\'8arcsec\',\'8arcsec\']. default unit arcmin. ('' = 1/3 of FWHM of primary beam) 

87 phasecenter image center direction: position or field index or ephemeris source info, e.g., \'J2000 17:30:15.0 -25.30.00.0\', \'MARS\'. (\'\' = the center of pointing directions in MSes) 

88 stokes stokes parameters or polarization types to image, e.g. \'I\', \'XX\' 

89 gridfunction gridding function for imaging (see description in help) 

90 convsupport convolution support for gridding 

91 truncate truncation radius for gridding 

92 gwidth HWHM for gaussian 

93 jwidth c-parameter for jinc function 

94 clipminmax Clip minimum and maximum value from each pixel. Note the benefit of clipping is lost when the number of integrations contributing to each gridded pixel is small, or where the incidence of spurious datapoints is approximately or greater than the number of beams (in area) encompassed by expected image. 

95 minweight Minimum weight ratio to the median of weight used in weight correction and weight beased masking 

96 brightnessunit Overwrite the brightness unit in image (\'\' = respect the unit in MS) [\'K\' or \'Jy/beam\'] 

97 restfreq rest frequency to assign to image, e.g., \'114.5GHz\'. When the default value \'\' is used, the task currently internally uses REST_FREQUENCY of SOURCE table or mean frequency of given spectral window as a default value. 

98 RETURNS void 

99 

100 --------- examples ----------------------------------------------------------- 

101 

102  

103 Keyword arguments: 

104 infiles -- a list of names of input SD Measurementsets 

105 example: 'm100.PM01.ms' 

106 ['m100.PM01.ms','m100.PM03.ms']; multiple MSes 

107 outfile -- prefix of output images 

108 Currently, four images are created by the task: 

109 .image -- target image 

110 .weight -- weight image 

111 .sumwt -- sumwt image 

112 .psf -- psf image (equivalent to weight image) 

113 .sumwt and .psf are kind of useless so far. image products 

114 will be improved later. 

115 default: '' 

116 example: 'mySDimage.im' 

117 overwrite -- overwrite the output file if already exists 

118 options: (bool) True,False 

119 default: False (do NOT overwrite) 

120 example: if True, existing file will be overwritten 

121 field -- select data by field IDs and names 

122 If field string is a non-negative integer, it is assumed to 

123 be a field index otherwise, it is assumed to be a 

124 field name 

125 default: '' (use all fields) 

126 example: field='3C2*' (all names starting with 3C2) 

127 field='0,4,5~7' (field IDs 0,4,5,6,7) 

128 field='0,3C273' (field ID 3 or filed named 3C273) 

129 For multiple MS input, a list of field strings can be used: 

130 field = ['0~2','0~4'] (field ids 0-2 for the first MS and 0-4 

131 for the second) 

132 field = '0~2' (field ids 0-2 for all input MSes) 

133 this selection is in addition to the other selections to data 

134 spw -- select data by spectral window IDs/channels 

135 NOTE: channels de-selected here will contain all zeros if 

136 selected by the parameter mode subparameters. 

137 default: '' (use all IFs and channels) 

138 example: spw='3,5,7' (IF IDs 3,5,7; all channels) 

139 spw='<2' (IF IDs less than 2, i.e., 0,1; all channels) 

140 spw='30~45GHz' (IF IDs with the center frequencies in range 30-45GHz; all channels) 

141 spw='0:5~61' (IF ID 0; channels 5 to 61; all channels) 

142 spw='3:10~20;50~60' (select multiple channel ranges within IF ID 3) 

143 spw='3:10~20,4:0~30' (select different channel ranges for IF IDs 3 and 4) 

144 spw='1~4;6:15~48' (for channels 15 through 48 for IF IDs 1,2,3,4 and 6) 

145 For multiple MS input, a list of spw strings can be used: 

146 spw=['0','0~3'] (spw ids 0 for the first MS and 0-3 for the second) 

147 spw='0~3' (spw ids 0-3 for all input MSes) 

148 this selection is in addition to the other selections to data 

149 antenna -- select data by antenna names or IDs 

150 If antenna string is a non-negative integer, it is 

151 assumed to be an antenna index, otherwise, it is 

152 considered an antenna name. 

153 default: '' (all baselines, i.e. all antenna in case of auto data) 

154 example: antenna='PM03' 

155 For multiple MS input, a list of antenna strings can be used: 

156 antenna=['5','6'] (antenna id5 for the first MS and 6 for the second) 

157 antenna='5' (antenna index 5 for all input MSes) 

158 this selection is in addition to the other selections to data 

159 scan -- select data by scan numbers 

160 default: '' (use all scans) 

161 example: scan='21~23' (scan IDs 21,22,23) 

162 For multiple MS input, a list of scan strings can be used: 

163 scan=['0~100','10~200'] (scan ids 0-100 for the first MS 

164 and 10-200 for the second) 

165 scan='0~100 (scan ids 0-100 for all input MSes) 

166 this selection is in addition to the other selections to data 

167 intent -- select data by observational intent, also referred to as 'scan intent' 

168 default: 'OBSERVE_TARGET#ON_SOURCE' (ALMA ON-source intent) 

169 example: intent='' (use all scan intents) 

170 intent='*ON_SOURCE*' (any valid scan-intent expression accepted by the MSSelection module can be specified) 

171 For multiple MS input, a list of scan-intent expressions can be used: 

172 intent=['ON_SOURCE','CALIBRATE_BANDPASS'] (scan intent ON_SOURCE for the first MS 

173 and CALIBRATE_BANDPASS for the second) 

174 this selection is in addition to the other selections to data 

175 mode -- spectral gridding type 

176 options: 'channel', 'velocity', 'frequency' 

177 default: 'channel' 

178 >>> mode expandable parameters 

179 nchan -- Total number of channels in the output image. 

180 default: -1; Automatically selects enough channels to cover 

181 data selected by 'spw' consistent with 'start' and 'width'. 

182 It is often easiest to leave nchan at the default value. 

183 example: nchan=100 

184 start -- First channel, velocity, or frequency. 

185 For mode='channel'; This selects the channel index number 

186 from the MS (0 based) that you want to correspond to the 

187 first channel of the output cube. The output cube will be 

188 in frequency space with the first channel having the 

189 frequency of the MS channel selected by start. start=0 

190 refers to the first channel in the first selected spw, even 

191 if that channel is de-selected in the spw parameter. 

192 Channels de-selected by the spw parameter will be filled with 

193 zeros if included by the start parameter. For example, 

194 spw=3~8:3~100 and start=2 will produce a cube that starts on 

195 the third channel (recall 0 based) of spw index 3, and the 

196 first channel will be blank. 

197 default: '' (the first input channel of first input spw) 

198 example: start=100 (mode='channel') 

199 start='22.3GHz' (mode='frequency') 

200 start='5.0km/s' (mode='velocity') 

201 width -- Output channel width 

202 For mode='channel', default=1; width>1 indicates channel averaging 

203 example: width=4. 

204 For mode= 'velocity' or 'frequency', default=''; width of 

205 first input channel, or more precisely, the difference 

206 in frequencies between the first two selected channels. 

207 -- For example if channels 1 and 3 are selected with spw, 

208 then the default width will be the difference between their 

209 frequencies, and not the width of channel 1. 

210 -- Similarly, if the selected data has uneven channel-spacing, 

211 the default width will be picked from the first two selected 

212 channels. In this case, please specify the desired width. 

213 When specifying the width, one must give units 

214 examples: width='1.0km/s', or width='24.2kHz'. 

215 Setting width>0 gives channels of increasing frequency for 

216 mode='frequency', and increasing velocity for mode='velocity'. 

217 veltype -- Velocity definition 

218 Options: 'radio','optical','true','relativistic' 

219 default: 'radio' 

220 specmode -- Spectral definition mode (cube, cubedata, cubesource) 

221 default: 'cube' 

222 Options: 'cube', 'cubedata', 'cubesource' 

223 'cube' : Spectral line imaging with one or more channels 

224 Parameters start, width,and nchan define the spectral 

225 coordinate system and can be specified either in terms 

226 of channel numbers, frequency or velocity in whatever 

227 spectral frame is specified in 'outframe'. 

228 All internal and output images are made with outframe as the 

229 base spectral frame. However imaging code internally uses the fixed 

230 spectral frame, LSRK for automatic internal software 

231 Doppler tracking so that a spectral line observed over an 

232 extended time range will line up appropriately. 

233 Therefore the output images have additional spectral frame conversion 

234 layer in LSRK on the top the base frame. 

235 'cubedata' : Spectral line imaging with one or more channels 

236 There is no internal software Doppler tracking so 

237 a spectral line observed over an extended time range 

238 may be smeared out in frequency. There is strictly 

239 no valid spectral frame with which to label the output 

240 images, but they will list the frame defined in the MS 

241 'cubesource': Spectral line imaging while 

242 tracking moving source (near field or solar system 

243 objects). The velocity of the source is accounted 

244 and the frequency reported is in the source frame. 

245 As there is not SOURCE frame defined, 

246 the frame reported will be REST (as it may not be 

247 in the rest frame emission region may be 

248 moving w.r.t the systemic velocity frame) 

249 outframe -- velocity reference frame of output image 

250 Options: '','LSRK','LSRD','BARY','GEO','TOPO','GALACTO', 

251 'LGROUP','CMB' 

252 default: ''; same as input data or 'LSRK' for multiple-MS inputs 

253 example: frame='bary' for Barycentric frame 

254 gridfunction -- gridding function for imaging 

255 options: 'BOX' (Box-car), 'SF' (Spheroidal), 

256 'PB' (Primary-beam), 'GAUSS' (Gaussian), 

257 'GJINC' (Gaussian*Jinc) 

258 default: 'BOX' 

259 example: 'SF' 

260 >>> gridfunction expandable parameter: 

261 convsupport -- convolution support for 'SF' 

262 default: -1 (use default for each gridfunction) 

263 example: 3 

264 truncate -- truncattion radius of convolution kernel. 

265 effective only for 'GAUSS' and 'GJINC'. 

266 default: '-1' (use default for each gridfunction) 

267 example: 3, '20arcsec', '3pixel' 

268 gwidth -- HWHM for gaussian. Effective only for 

269 'GAUSS' and 'GJINC'. 

270 default: '-1' (use default for each gridfunction) 

271 example: 3, '20arcsec', '3pixel' 

272 jwidth -- Width of jinc function. Effective only for 

273 'GJINC'. 

274 default: '-1' (use default for each gridfunction) 

275 example: 3, '20arcsec', '3pixel' 

276 imsize -- x and y image size in pixels, symmetric for single value 

277 default: [] (=cover all pointings in MS) 

278 example: imsize=200 (equivalent to [200,200]) 

279 cell -- x and y cell size. default unit arcmin 

280 default: '' (= 1/3 of FWHM of primary beam) 

281 example: cell=['0.2arcmin, 0.2arcmin'] 

282 cell='0.2arcmin' (equivalent to example above) 

283 phasecenter -- image center: direction measure, field ID, or 

284 ephemerides source information for moving source (solar system objects) 

285 default: '' (= the center of pointing directions in 

286 POINTING table of infiles) 

287 example: phasecenter=6 (field ID) 

288 phasecenter='J2000 13h44m00 -17d02m00' 

289 phasecenter='AZEL -123d48m29 15d41m41' 

290 phasecenter='MARS' 

291 phasecenter='myComet_ephem.tab' 

292 phasecenter='TRACKFIELD' 

293  

294 If the phasecenter is the name known major solar system object 

295 ('MERCURY', 'VENUS', 'MARS', 'JUPITER', 'SATURN', 'URANUS', 

296 'NEPTUNE', 'PLUTO', 'SUN', 'MOON') or is an ephemerides table 

297 then that source is tracked and the background sources get smeared. 

298 There is a special case, when phasecenter='TRACKFIELD', which 

299 will use the ephemerides or polynomial phasecenter in the FIELD 

300 table of the MS's as the source center to track. 

301  

302 When moving source correction is applied, the source is fixed to 

303 the position at the beginning of on-source observations in the data. 

304 Direction reference frame of output image refers phasecenter ('J2000' 

305 if phasecenter is empty). 

306  

307 Caution: in case of specifying ephemeris table name, its name or path 

308 must not start with known major solar system object listed 

309 above (case-insensitive), otherwise, CASA will use its 

310 internal ephemeris data for phasecenter instead. In such case 

311 you need to add './' at the beginning so that the specified 

312 table will be used. For example, if you wish to explicitly 

313 specify ephemeris table attached to the input MS 'SunObs.ms', 

314 set phasecenter like './SunObs.ms/FIELD/ephemtab_name.tab'. 

315  

316 projection -- map projection type. See Calabretta & Greisen (2002) for detail. 

317 default: 'SIN' 

318 options: 'SIN', 'CAR', 'TAN', 'SFL' 

319 pointingcolumn -- pointing data column to use 

320 option: 'direction', 'target', 'pointing_offset', 'source_offset', encoder' 

321 default: 'direction' 

322 restfreq -- specify rest frequency to use for output image 

323 default: '' (refer input data) 

324 example: 1.0e11, '100GHz' 

325 stokes -- Stokes Planes to make 

326 default='I'; example: stokes='XXYY'; 

327 options: 'I','Q','U','V','IV','QU','IQ','UV','IQUV','RR','LL','XX','YY','RRLL','XXYY','pseudoI' 

328 Note : The 'pseudoI' option is a partial solution, allowing Stokes I imaging 

329 when either of the parallel-hand correlations are unflagged. 

330  

331 minweight -- Minimum weight ratio to the median of weight used in 

332 weight correction and weight based masking 

333 default: 0.1 

334 example: minweight = 0. 

335 brightnessunit -- Overwrite the brightness unit in image. 

336 default: '' (use the unit in MS) 

337 Options: '', 'K' (Kelvin), 'Jy/beam' 

338 clipminmax -- Clip minimum and maximum value from each pixel. 

339 Note the benefit of clipping is lost when the number of 

340 integrations contributing to each gridded pixel is small, 

341 or where the incidence of spurious datapoints is 

342 approximately or greater than the number of beams (in area) 

343 encompassed by expected image. 

344 default: False 

345 option: True, False 

346 interpolation -- Spectral interpolation. 

347 Interpolation rules to use when binning data channels onto image channels and 

348 evaluating visibility values at the centers of image channels. 

349 Note : 

350 - 'linear' and 'cubic' interpolation requires data points on both sides of each image frequency. 

351 Errors are therefore possible at edge channels, or near flagged data channels. 

352 When image channel width is much larger than the data channel width there is nothing much to be gained 

353 using linear or cubic thus not worth the extra computation involved. 

354 - If there are significant differences in observing dates of input MSes, some problems merely occur 

355 in frequency channel matching when 'nearest' interpolation. 

356 option: 'linear', 'nearest', 'cubic' 

357 default: 'linear' 

358  

359 ----------------- 

360 Gridding Kernel 

361 ----------------- 

362 The parameter gridfunction sets gridding function (convolution kernel) 

363 for imaging. Currently, the task supports 'BOX' (Box-car), 'SF' (Prolate 

364 Spheroidal Wave Function), 'GAUSS' (Gaussian), 'GJINC' (Gaussian*Jinc), 

365 where Jinc(x) = J_1(pi*x/c)/(pi*x/c) with a first order Bessel function 

366 J_1, and 'PB' (Primary Beam). For 'PB', correct antenna informations 

367 should be included in input file. 

368  

369 There are four subparameters for gridfunction: convsupport, truncate, 

370 gwidth, and jwidth. The convsupport is an integer specifying cut-off 

371 radius for 'SF' in units of pixel. By default (convsupport=-1), 

372 the cut-off radius is set to 3 pixels. The truncate is a cut-off 

373 radius for 'GAUSS' or 'GJINC'. It accepts integer, float, and 

374 string values of numeric plus unit. Allowed units are angular 

375 units such as 'deg', 'arcmin', 'arcsec', and 'pixel'. Default unit 

376 is 'pixel' so that string without unit or numerical values (integer 

377 or float) will be interpreted as radius in pixel. Default value 

378 for truncate, which is used when negative radius is set, is 3*HWHM 

379 for 'GAUSS' and radius at first null for 'GJINC'. The gwidth is 

380 the HWHM of gaussian for 'GAUSS' and 'GJINC'. Default value is 

381 sqrt(log(2)) pixel for 'GAUSS' and 2.52*sqrt(log(2)) pixel for 

382 'GJINC'. The jwidth specifies width of the jinc function (parameter 

383 'c' in the definition above). Default is 1.55 pixel. Both gwidth 

384 jwidth allows integer, float, or string of numeric plus unit. 

385 Default values for gwidth and jwidth are taken from Mangum et al. 

386 (2007). Formula for 'GAUSS' and 'GJINC' are taken from Table 1 in 

387 the paper, and are written as below using gwidth and jwidth: 

388  

389 GAUSS: exp[-log(2)*(|r|/gwidth)**2] 

390  

391 GJINC: J_1(pi*|r|/jwidth)/(pi*|r|/jwidth) 

392 * exp[-log(2)*(|r|/gwidth)^2] 

393  

394  

395 Reference: Mangum, et al. 2007, A&A, 474, 679-687 

396  

397 -------------------- 

398 Mask in Output Image 

399 -------------------- 

400 The parameter minweight defines a threshold of weight values 

401 to mask. The pixels in outfile whose weight is smaller than 

402 minweight*median(weight) are masked out. The task also creates 

403 a weight image with the name outfile.weight. 

404  

405  

406 

407 

408 """ 

409 

410 _info_group_ = """single dish""" 

411 _info_desc_ = """SD task: imaging for total power and spectral data""" 

412 

413 def __call__( self, infiles=[ ], outfile='', overwrite=False, field='', spw='', antenna='', scan='', intent='OBSERVE_TARGET#ON_SOURCE', timerange='', outframe='', mode='channel', nchan=int(-1), start=int(0), width=int(1), veltype='radio', specmode='cube', interpolation='linear', pointingcolumn='direction', convertfirst='never', projection='SIN', imsize=[ ], cell='', phasecenter='', stokes='I', gridfunction='BOX', convsupport=int(-1), truncate=int(-1), gwidth=int(-1), jwidth=int(-1), clipminmax=False, minweight=float(0.1), brightnessunit='', restfreq='' ): 

414 schema = {'infiles': {'type': 'cReqPathVec', 'coerce': [_coerce.to_list,_coerce.expand_pathvec]}, 'outfile': {'type': 'cStr', 'coerce': _coerce.to_str}, 'overwrite': {'type': 'cBool'}, 'field': {'anyof': [{'type': 'cStr', 'coerce': _coerce.to_str}, {'type': 'cStrVec', 'coerce': [_coerce.to_list,_coerce.to_strvec]}]}, 'spw': {'anyof': [{'type': 'cStr', 'coerce': _coerce.to_str}, {'type': 'cStrVec', 'coerce': [_coerce.to_list,_coerce.to_strvec]}]}, 'antenna': {'anyof': [{'type': 'cStr', 'coerce': _coerce.to_str}, {'type': 'cStrVec', 'coerce': [_coerce.to_list,_coerce.to_strvec]}]}, 'scan': {'anyof': [{'type': 'cStr', 'coerce': _coerce.to_str}, {'type': 'cStrVec', 'coerce': [_coerce.to_list,_coerce.to_strvec]}]}, 'intent': {'anyof': [{'type': 'cStr', 'coerce': _coerce.to_str}, {'type': 'cStrVec', 'coerce': [_coerce.to_list,_coerce.to_strvec]}]}, 'timerange': {'type': 'cStr', 'coerce': _coerce.to_str}, 'outframe': {'type': 'cStr', 'coerce': _coerce.to_str, 'allowed': [ 'LSRK', 'CMB', 'geo', 'bary', 'GALACTO', 'GEO', 'TOPO', 'LSRD', 'lsrk', 'topo', 'LGROUP', 'BARY', 'lsrd', 'cmb', 'galacto', 'lgroup', '' ]}, 'mode': {'type': 'cStr', 'coerce': _coerce.to_str, 'allowed': [ 'channel', 'frequency', 'velocity' ]}, 'nchan': {'type': 'cInt'}, 'start': {'anyof': [{'type': 'cStr', 'coerce': _coerce.to_str}, {'type': 'cInt'}]}, 'width': {'anyof': [{'type': 'cStr', 'coerce': _coerce.to_str}, {'type': 'cInt'}]}, 'veltype': {'type': 'cStr', 'coerce': _coerce.to_str, 'allowed': [ 'OPTICAL', 'RELATIVISTIC', 'radio', 'true', 'optical', 'RADIO', 'TRUE', 'relativistic' ]}, 'specmode': {'type': 'cStr', 'coerce': _coerce.to_str, 'allowed': [ 'cube', 'cubedata', 'cubesource' ]}, 'interpolation': {'type': 'cStr', 'coerce': _coerce.to_str, 'allowed': [ 'nearest', 'linear', 'cubic' ]}, 'pointingcolumn': {'type': 'cStr', 'coerce': _coerce.to_str, 'allowed': [ 'TARGET', 'encoder', 'ENCODER', 'source_offset', 'pointing_offset', 'target', 'POINTING_OFFSET', 'DIRECTION', 'SOURCE_OFFSET', 'direction' ]}, 'convertfirst': {'type': 'cStr', 'coerce': _coerce.to_str, 'allowed': [ 'never', 'auto', 'always' ]}, 'projection': {'type': 'cStr', 'coerce': _coerce.to_str, 'allowed': [ 'sin', 'SIN', 'SFL', 'CAR', 'sfl', 'car', 'TAN', 'tan' ]}, 'imsize': {'anyof': [{'type': 'cIntVec', 'coerce': [_coerce.to_list,_coerce.to_intvec]}, {'type': 'cFloatVec', 'coerce': [_coerce.to_list,_coerce.to_floatvec]}]}, 'cell': {'anyof': [{'type': 'cStr', 'coerce': _coerce.to_str}, {'type': 'cStrVec', 'coerce': [_coerce.to_list,_coerce.to_strvec]}, {'type': 'cFloatVec', 'coerce': [_coerce.to_list,_coerce.to_floatvec]}]}, 'phasecenter': {'type': 'cVariant', 'coerce': [_coerce.to_variant]}, 'stokes': {'type': 'cStr', 'coerce': _coerce.to_str, 'allowed': [ 'I', 'IQUV', 'UV', 'RRLL', 'IQ', 'V', 'pseudoI', 'QU', 'YY', 'RR', 'Q', 'U', 'IV', 'XX', 'XXYY', 'LL' ]}, 'gridfunction': {'type': 'cStr', 'coerce': _coerce.to_str, 'allowed': [ 'GJINC', 'pb', 'sf', 'GAUSS', 'PB', 'SF', 'gauss', 'BOX', 'box', 'gjinc' ]}, 'convsupport': {'type': 'cInt'}, 'truncate': {'anyof': [{'type': 'cStr', 'coerce': _coerce.to_str}, {'type': 'cInt'}, {'type': 'cFloat', 'coerce': _coerce.to_float}]}, 'gwidth': {'anyof': [{'type': 'cStr', 'coerce': _coerce.to_str}, {'type': 'cInt'}, {'type': 'cFloat', 'coerce': _coerce.to_float}]}, 'jwidth': {'anyof': [{'type': 'cStr', 'coerce': _coerce.to_str}, {'type': 'cInt'}, {'type': 'cFloat', 'coerce': _coerce.to_float}]}, 'clipminmax': {'type': 'cBool'}, 'minweight': {'type': 'cFloat', 'coerce': _coerce.to_float, 'min': 0}, 'brightnessunit': {'type': 'cStr', 'coerce': _coerce.to_str, 'allowed': [ '', 'K', 'Jy/beam' ]}, 'restfreq': {'anyof': [{'type': 'cStr', 'coerce': _coerce.to_str}, {'type': 'cFloat', 'coerce': _coerce.to_float}]}} 

415 doc = {'infiles': infiles, 'outfile': outfile, 'overwrite': overwrite, 'field': field, 'spw': spw, 'antenna': antenna, 'scan': scan, 'intent': intent, 'timerange': timerange, 'outframe': outframe, 'mode': mode, 'nchan': nchan, 'start': start, 'width': width, 'veltype': veltype, 'specmode': specmode, 'interpolation': interpolation, 'pointingcolumn': pointingcolumn, 'convertfirst': convertfirst, 'projection': projection, 'imsize': imsize, 'cell': cell, 'phasecenter': phasecenter, 'stokes': stokes, 'gridfunction': gridfunction, 'convsupport': convsupport, 'truncate': truncate, 'gwidth': gwidth, 'jwidth': jwidth, 'clipminmax': clipminmax, 'minweight': minweight, 'brightnessunit': brightnessunit, 'restfreq': restfreq} 

416 assert _pc.validate(doc,schema), create_error_string(_pc.errors) 

417 _logging_state_ = _start_log( 'tsdimaging', [ 'infiles=' + repr(_pc.document['infiles']), 'outfile=' + repr(_pc.document['outfile']), 'overwrite=' + repr(_pc.document['overwrite']), 'field=' + repr(_pc.document['field']), 'spw=' + repr(_pc.document['spw']), 'antenna=' + repr(_pc.document['antenna']), 'scan=' + repr(_pc.document['scan']), 'intent=' + repr(_pc.document['intent']), 'timerange=' + repr(_pc.document['timerange']), 'outframe=' + repr(_pc.document['outframe']), 'mode=' + repr(_pc.document['mode']), 'nchan=' + repr(_pc.document['nchan']), 'start=' + repr(_pc.document['start']), 'width=' + repr(_pc.document['width']), 'veltype=' + repr(_pc.document['veltype']), 'specmode=' + repr(_pc.document['specmode']), 'interpolation=' + repr(_pc.document['interpolation']), 'pointingcolumn=' + repr(_pc.document['pointingcolumn']), 'convertfirst=' + repr(_pc.document['convertfirst']), 'projection=' + repr(_pc.document['projection']), 'imsize=' + repr(_pc.document['imsize']), 'cell=' + repr(_pc.document['cell']), 'phasecenter=' + repr(_pc.document['phasecenter']), 'stokes=' + repr(_pc.document['stokes']), 'gridfunction=' + repr(_pc.document['gridfunction']), 'convsupport=' + repr(_pc.document['convsupport']), 'truncate=' + repr(_pc.document['truncate']), 'gwidth=' + repr(_pc.document['gwidth']), 'jwidth=' + repr(_pc.document['jwidth']), 'clipminmax=' + repr(_pc.document['clipminmax']), 'minweight=' + repr(_pc.document['minweight']), 'brightnessunit=' + repr(_pc.document['brightnessunit']), 'restfreq=' + repr(_pc.document['restfreq']) ] ) 

418 task_result = None 

419 try: 

420 task_result = _tsdimaging_t( _pc.document['infiles'], _pc.document['outfile'], _pc.document['overwrite'], _pc.document['field'], _pc.document['spw'], _pc.document['antenna'], _pc.document['scan'], _pc.document['intent'], _pc.document['timerange'], _pc.document['outframe'], _pc.document['mode'], _pc.document['nchan'], _pc.document['start'], _pc.document['width'], _pc.document['veltype'], _pc.document['specmode'], _pc.document['interpolation'], _pc.document['pointingcolumn'], _pc.document['convertfirst'], _pc.document['projection'], _pc.document['imsize'], _pc.document['cell'], _pc.document['phasecenter'], _pc.document['stokes'], _pc.document['gridfunction'], _pc.document['convsupport'], _pc.document['truncate'], _pc.document['gwidth'], _pc.document['jwidth'], _pc.document['clipminmax'], _pc.document['minweight'], _pc.document['brightnessunit'], _pc.document['restfreq'] ) 

421 except Exception as exc: 

422 _except_log('tsdimaging', exc) 

423 raise 

424 finally: 

425 task_result = _end_log( _logging_state_, 'tsdimaging', task_result ) 

426 return task_result 

427 

428tsdimaging = _tsdimaging( ) 

429