diff --git a/caracal/schema/selfcal_schema.yml b/caracal/schema/selfcal_schema.yml index 086566be..f7d7e443 100644 --- a/caracal/schema/selfcal_schema.yml +++ b/caracal/schema/selfcal_schema.yml @@ -167,6 +167,11 @@ mapping: desc: Comma-separated integer scales for multiscale cleaning in pixels. If set to an empty string WSClean selects the scales automatically. These include the 0 scale, a scale calculated based on the beam size, and all scales obtained increasing the scale by a factor of 2 until the image size is reached. required: false example: '' + img_multiscale_bias: + type: float + desc: Parameter to prevent cleaning small scales in the large-scale iterations. A higher bias will give more focus to larger scales + required: false + example: '' img_nrdeconvsubimg: desc: Speed-up deconvolution by splitting the image into a number of subimages, which are deconvolved in parallel. This parameter sets the number of subimages as follows. If set to 1 no parallel deconvolution is performed. If set to 0 the number of subimages is the same as the number of CPUs used by the selfcal worker (see "ncpu" parameter above). If set to a number > 1 , the number of subimages is greater than or equal to the one requested by the user. type: int diff --git a/caracal/workers/selfcal_worker.py b/caracal/workers/selfcal_worker.py index dac751c1..e58822c3 100644 --- a/caracal/workers/selfcal_worker.py +++ b/caracal/workers/selfcal_worker.py @@ -215,6 +215,7 @@ def worker(pipeline, recipe, config): transuvl = maxuvl*config['img_transuv_l']/100. multiscale = config['img_multiscale'] multiscale_scales = config['img_multiscale_scales'] + multiscale_bias = config['img_multiscale_bias'] if taper == '': taper = None @@ -493,6 +494,8 @@ def fake_image(trg, num, img_dir, mslist, field): fake_image_opts.update({"multiscale": multiscale}) if multiscale_scales: fake_image_opts.update({"multiscale-scales": list(map(int,multiscale_scales.split(',')))}) + if muliscale_bias: + fake_image_opts.update({"multiscale-bias": multiscale_bias}) recipe.add('cab/wsclean', step, @@ -571,7 +574,8 @@ def image(trg, num, img_dir, mslist, field): image_opts.update({"multiscale": multiscale}) if multiscale_scales: image_opts.update({"multiscale-scales": list(map(int,multiscale_scales.split(',')))}) - + if multiscale_bias: + image_opts.update({"multiscale_bias": multiscale_bias}) mask_key = config[key]['cleanmask_method'][num-1 if len(config[key]['cleanmask_method']) >= num else -1] if mask_key == 'wsclean': image_opts.update({