File: test_simulation_config.yaml

package info (click to toggle)
purify 5.0.1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 186,852 kB
  • sloc: cpp: 17,731; python: 510; xml: 182; makefile: 7; sh: 6
file content (93 lines) | stat: -rw-r--r-- 4,663 bytes parent folder | download
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
### 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: simulation # one from measurements, simulation
      simulation:
        skymodel: /path/to/sky/image # path to the sky model image file
        signal_to_noise: 10 # signal-to-noise ratio to be added to the sky model
        number_of_measurements: 10000 # number of measurements per a node
        w_rms: 30. # RMS w value in random uvw coverage
        sim_J: 8
        coverage_files:  #path to converage units. This is only used if it is not an empty string
          - path/to/coverage/measurement/file
        coverage_units: lambda # one from lambda, radians, pixels
    output_prefix: /path/to/output/dir # results directory will be created inside this path, and called output_<timestamp>

  ### Execution parameters
  logging: debug # How much logging you want (debug, critical, ..)# FIXME: add the options, compile?
  iterations: 100 # number of iterations (>= 0)
  epsilonScaling: 1 # RMS noise (> 0)
  ## modelImage:  # If none epsilonL2 * RealImage # FIXME - maybe to delete

########## Measure Operators ##########
MeasureOperators:
  pixelSize:
    cellsizex: 1
    cellsizey: 1
  imageSize: # for the moment: power of two
    width: 1024
    height: 1024
  J: # Interpolation pixels (default 4x4). Input either a value or pair
    Jx: 4
    Jy: 4
    Jw: 30
  kernel: kb # kernel, choose between: kb, Gauss, box
  oversampling: 2 # value > 1
  powermethod:
    iters: 100 # value > 0
    tolerance: 1e-4 # value > 0
    eigenvector: 
      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 
    conjugate_w: True #reflects measurements onto the positive w-domain (can reduce computation)
    kmeans_iterations: 1000 #number of iterations in w-stacking clustering algorithm
  gpu: False
  # TODO: Add others like weighting. (at the moment natural)

########## 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
  wavelet_levels: 4 # value for all
  realValueConstraint: True # Boolean
  positiveValueConstraint: True #boolean

AlgorithmOptions:
  algorithm: primaldual # will just read the options of that one.
  ########## PADMM ##########
  padmm:
    epsilonConvergenceScaling: 1 # Default 1 (>0)
    # Following is only accepted when MPI is used
    mpiAlgorithm:  serial-equivalent # one of none, serial-equivalent, fully-distributed
    # Be careful changing the following unless you know what you are doing
    relVarianceConvergence: 1e-3 # (>0)
    dualFBVarianceConvergence: 1e-3 # (>0) relative convergence tolerance of l1 proximal
    stepsize:  # Stepsize, choose value between: default, variable, 100, x
      update_tolerance: 1e-1 #when predicted stepsize is greater than this value, it will be updated
      update_iters: 0 #how many iterations to allow updating of step size
  fb: #solve the unconstrained problem
    mpiAlgorithm: serial-equivalent # one of none, serial-equivalent
    regularisation_parameter: 1
    stepsize: 1
    dualFBVarianceConvergence: 1e-3 # (>0) relative convergence tolerance of l1 proximal
    relVarianceConvergence: 1e-3 # (>0) relative convergence of the objective function
  primaldual: #solve the constrained problem
    # Following is only accepted when MPI is used
    mpiAlgorithm:  serial-equivalent # one of none, serial-equivalent, fully-distributed
    # Be careful changing the following unless you know what you are doing
    relVarianceConvergence: 1e-3 # (>0) relative converegence tolerance of objective function
    precondition_iters: 0 #use sampling density (based on field of view) to accelerate primal dual
    epsilonConvergenceScaling: 1 # (>0) l2 convergence tolerance for residuals
    stepsize:  # Stepsize, choose value between: default, variable, 100, x
      update_tolerance: 1e-1 #when predicted stepsize is greater than this value, it will be updated
      update_iters: 0 #how many iterations to allow updating of step size