1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
### Config file for Purify
Version: 4.2.0
GeneralConfiguration:
InputOutput:
input:
# If the following parameter is "measurements", only the measurements block should
# be provided, and the measurements will be read from file. If it's "simulation", only the
# simulation block should be provided, and random measurements of the given
# image will be generated with the requested noise.
source: measurements # one from measurements, simulation
measurements:
measurements_files:
- local/data/expected/fb/input_data.vis # path to the measurement set
w_term: false
measurements_polarization: I # one from I Q V XX LL
measurements_units: radians # one from lambda, radians, pixels
measurements_sigma: 0.0238 # the uncertainty of a visibility (RMS noise of the real or imaginary part of the visibility in Jy)
warm_start: "" #path to fits file image of previous purify solution (assumig the same cell size), otherwise leave as an empty quotation ""
output_prefix: local/data/expected/fb/ # results directory will be created inside this path, and called output_<timestamp>
### Execution parameters
logging: debug # How much logging you want (debug, critical, ..). debug maybe the most useful in some cases because it gives the most output.
iterations: 100 # number of iterations (>= 0). More iterations can give better results.
epsilonScaling: 1 # factor to scale measurements_sigma by. We suggest 1, but it can be useful to change.
########## Measure Operators ##########
MeasureOperators:
pixelSize: #pixel size in arcseconds. This should be estimated from the longest baseline (PURIFY should print out a suggestion)
cellsizex: 1
cellsizey: 1
imageSize: # for the moment: power of two . For a simulation or when using a warm start, this must be same image size as the ground truth
width: 128
height: 128
J: # Interpolation pixels for the anti-aliasing kernel (default 4x4). Input either a value or pair (J == 6 is the only option for pswf)
Jx: 4
Jy: 4
Jw: 30 #Maximum size of w kernel
kernel: kb # kernel, choose between: kb, Gauss, box, pswf
oversampling: 2 # value > 1. Value of 2 is the standard
gpu: False #This can be used when compiled with arrayfire gpu library
powermethod:
iters: 1000 # value > 0. This is the maximum number of iterations used with the power method for calculating the measurement operator norm.
tolerance: 1e-5 # value > 0. This is the tolerance for convergence of the operator norm
eigenvector: #Here we can choose real and imaginary fits images of the operator eigenvector associated with the operator norm. This speeds up convergence for repeat runs.
real: ""
imag: ""
wide-field:
wprojection: False # using radially symmetric w projection kernel
mpi_wstacking: False # applies average w-stack correction on each node (always True with wprojection)
mpi_all_to_all: False # performs all to all operation of the grid to even out computation. Highly recommended when using MPI for wide-field imaging!
conjugate_w: True #reflects measurements onto the positive w-domain (can reduce computation)
kmeans_iterations: 100 #number of iterations in w-stacking clustering algorithm
########## SARA ##########
SARA:
# wavelet bases, to choose from: Dirac, DB1, ..., DBn (where n=0 is dirac, and 1 <= n <= 35 is DB basis)
wavelet_dict: 0..8 # sequence of desired basis: 0,23,31 or 0,12..16,20 . We typically use 0..8, this gives good results but will be expensive for large images.
wavelet_levels: 4 # maximum number of wavelet levels for each dictionary. More levels can be good for increasing quality of large scale structures in an image (we recommend 4 to 6).
realValueConstraint: True # Boolean, we recommend this to be True for Stokes I
positiveValueConstraint: True # Boolean, we recommend this to be True for Stokes I
AlgorithmOptions:
algorithm: fb # will just read the options of that one. We recommend the primal dual algorithm, especially for large image sizes.
fb: #solve the unconstrained problem
mpiAlgorithm: none # one of none, serial-equivalent
regularisation_parameter: 0.0001
stepsize: 0.00056448
relVarianceConvergence: 1e-2 # (>0) relative convergence of the objective function
dualFBVarianceConvergence: 1e-3 # (>0) relative convergence tolerance of l1 proximal
nonDifferentiableFunctionType: l1
differentiableFunctionType: l2
|