.. _Demixer.json#/: Demixer ======= Demix bright sources, i.e. calibrate in the direction of the birght sources and subtract the bright sources from the data. Note that the calibration solution is assumed to be constant over the entire frequency range, so this will only work on relatively small bandwidth (e.g. a single sub-band). .. _Demixer.json#/inputs: inputs ****** .. _Demixer.json#/inputs/type: type ++++ :type: ``string`` :default: ``demixer`` :doc: Case-insensitive step type; must be 'demixer' (or 'demix') `.` .. _Demixer.json#/inputs/baseline: baseline ++++++++ :type: ``string`` :default: ``""`` :doc: Baselines to demix. See :ref:`Description of baseline selection parameters` .. _Demixer.json#/inputs/blrange: blrange +++++++ :type: ``double[]`` .. _Demixer.json#/inputs/blrange/default: default ------- :doc: Baselines to demix. See :ref:`Description of baseline selection parameters` .. _Demixer.json#/inputs/corrtype: corrtype ++++++++ :type: ``string`` :default: ``cross`` :doc: Baselines to demix. Correlation type to match? Must be ``auto``, ``cross``, or an empty string `.` .. _Demixer.json#/inputs/defaultgain: defaultgain +++++++++++ :type: ``double`` :default: ``1`` :doc: The default and initial gain for the directional gains that are computed internally `.` .. _Demixer.json#/inputs/demixfreqresolution: demixfreqresolution +++++++++++++++++++ :type: ``float`` :default: ``0`` :doc: Frequency resolution to use when demixing, in Hz (or append "MHz" or "kHz" to specify it in those units). If this is given, and is greater than zero, it overrides ``.demixfreqstep``. This will not exceed the bandwidth of a subband, even if a larger value is given `.` .. _Demixer.json#/inputs/demixfreqstep: demixfreqstep +++++++++++++ :type: ``int`` :default: ``0`` :doc: Number of channels to average when demixing. It is truncated if exceeding the actual number of channels. It defaults to the averaging used for the subtract `.` .. _Demixer.json#/inputs/demixtimeresolution: demixtimeresolution +++++++++++++++++++ :type: ``float`` :default: ``0`` :doc: Time resolution to use when demixing, in seconds. If this is given, and is greater than zero, it overrides ``.demixtimestep`` `.` .. _Demixer.json#/inputs/demixtimestep: demixtimestep +++++++++++++ :type: ``int`` :default: ``0`` :doc: Number of time slots to average when demixing. It is truncated if exceeding the actual number of times. It defaults to the averaging used for the subtract `.` .. _Demixer.json#/inputs/freqstep: freqstep ++++++++ :type: ``int`` :default: ``1`` :doc: Number of channels to average when subtracting. It is truncated if exceeding the actual number of channels. Note that the data itself will also be averaged by this amount `.` .. _Demixer.json#/inputs/ignoretarget: ignoretarget ++++++++++++ :type: ``boolean`` :default: ``False`` :doc: false = project the target source away; true = ignore the target `.` .. _Demixer.json#/inputs/instrumentmodel: instrumentmodel +++++++++++++++ :type: ``string`` :default: ``instrument`` :doc: The name of the ParmDB to use. The ParmDB does not need to exist. If it does not exist it will be created `.` .. _Demixer.json#/inputs/lbfgs.historysize: lbfgs.historysize +++++++++++++++++++++ :type: ``int`` :default: ``10`` :doc: If using the LBFGS solver, the history size, specified as a multiple of the parameter vector, to use to approximate the inverse Hessian `.` .. _Demixer.json#/inputs/lbfgs.robustdof: lbfgs.robustdof +++++++++++++++++++ :type: ``double`` :default: ``2.0`` :doc: If using the LBFGS solver, the degrees of freedom (DOF) given to the noise model. The larger this becomes (more than 30), the noise model behaves as a Gaussian. The smaller values make the noise model more robust to outliers in the data `.` .. _Demixer.json#/inputs/maxiter: maxiter +++++++ :type: ``int`` :default: ``50`` :doc: Maximum number of iterations used in the LM solve `.` .. _Demixer.json#/inputs/modelsources: modelsources ++++++++++++ :type: ``string[]`` :default: ``[]`` :doc: Names of sources with models to take into account when solving. the sources must exist as patches in the SourceDB. Note that the target should NOT be part of this parameter. If a model of the target has to be used, it has to be given in parameter ``targetsource``. .. _Demixer.json#/inputs/ntimechunk: ntimechunk ++++++++++ :type: ``int`` :default: ``0`` :doc: Number of demix time slots (after averaging) that are processed jointly in as much a parallel way as possible. If subtract uses different time averaging, it has to fit integrally `.` .. _Demixer.json#/inputs/othersources: othersources ++++++++++++ :type: ``string[]`` :default: ``[]`` :doc: Names of sources of which the direction is taken into account when demixing by projecting the directions away. The direction needs to be specified if the source is unknown (which is usually the case). It can be done using parameters ``..phasecenter``. .. _Demixer.json#/inputs/propagatesolutions: propagatesolutions ++++++++++++++++++ :type: ``boolean`` :default: ``True`` :doc: If set to true, solutions of a time slot are used as initial values for the next time slot. If set to false, the diagonal elements of the Jones matrix are initialized to one and the off-diagonal elements to zero `.` .. _Demixer.json#/inputs/skymodel: skymodel ++++++++ :type: ``string`` :default: ``sky`` :doc: Sourcedb (created with ``makesourcedb``) with the sky model to calibrate on. When the path ends with ``.skymodel`` or ``.txt`` DP3 expects a skymodel file as used by makesourcedb. This makes it possible to directly use a skymodel file without using makesourcedb to convert the file. .. _Demixer.json#/inputs/step_name: step_name +++++++++ :type: ``string`` :default: ``demix`` :doc: unique name for the step `.` .. _Demixer.json#/inputs/subtractsources: subtractsources +++++++++++++++ :type: ``string[]?`` :default: ``[]`` :doc: Names of the sources to subtract. If none are given, demixing comes down to averaging. The sources must exist as patches in the SourceDB `.` .. _Demixer.json#/inputs/targetsource: targetsource ++++++++++++ :type: ``string`` :default: ``""`` :doc: This setting can be used to specify the name of the source model of the target. If given, the target source model (its patch in the SourceDB) is taken into account when solving; in this case parameter ``othersources`` cannot be given. It cannot be given if ``ignoretarget=true``. If not given, the target is projected away or ignored (depending on parameter ``ignoretarget``). .. _Demixer.json#/inputs/timestep: timestep ++++++++ :type: ``int`` :default: ``1`` :doc: Number of time slots to average when subtracting. It is truncated if exceeding the actual number of times. Note that the data itself will also be averaged by this amount `.` .. _Demixer.json#/inputs/uselbfgssolver: uselbfgssolver ++++++++++++++ :type: ``boolean`` :default: ``False`` :doc: If true, use LBFGS solver instead of the LM solver (or LSQfit) `.`