
4. Calibration of double ended measurement with WLS and confidence intervals
============================================================================

A double ended calibration is performed with weighted least squares.
Over all timesteps simultaneous. :math:`\gamma` and :math:`\alpha`
remain constant, while :math:`C` varies over time. The weights are not
considered equal here. The weights kwadratically decrease with the
signal strength of the measured Stokes and anti-Stokes signals.

The confidence intervals can be calculated as the weights are correctly
defined.

.. code:: ipython3

    import os
    
    from dtscalibration import read_xml_dir
    # import matplotlib.pyplot as plt


.. parsed-literal::

    /Users/bfdestombe/Projects/dts-calibration/python-dts-calibration/.tox/docs/lib/python3.6/importlib/_bootstrap.py:219: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88
      return f(*args, **kwds)


.. code:: ipython3

    try:
        wd = os.path.dirname(os.path.realpath(__file__))
    except:
        wd = os.getcwd()
    
    filepath = os.path.join(wd, '..', '..', 'tests', 'data', 'double_ended2')
    timezone_netcdf = 'UTC',
    timezone_ultima_xml = 'Europe/Amsterdam'
    file_ext = '*.xml'
    
    ds_ = read_xml_dir(filepath,
                      timezone_netcdf=timezone_netcdf,
                      timezone_ultima_xml=timezone_ultima_xml,
                      file_ext=file_ext)
    
    ds = ds_.sel(x=slice(0, 100))  # only calibrate parts of the fiber
    sections = {
        'probe1Temperature': [slice(7.5, 17.), slice(70., 80.)],  # cold bath
        'probe2Temperature': [slice(24., 34.), slice(85., 95.)],  # warm bath
        }
    ds.sections = sections


.. parsed-literal::

    6 files were found, each representing a single timestep
    6 recorded vars were found: LAF, ST, AST, REV-ST, REV-AST, TMP
    Recorded at 1693 points along the cable
    processing file 1 out of 6


.. code:: ipython3

    st_label = 'ST'
    ast_label = 'AST'
    rst_label = 'REV-ST'
    rast_label = 'REV-AST'

First calculate the variance in the measured Stokes and anti-Stokes
signals, in the forward and backward direction.

The Stokes and anti-Stokes signals should follow a smooth decaying
exponential. This function fits a decaying exponential to each reference
section for each time step. The variance of the residuals between the
measured Stokes and anti-Stokes signals and the fitted signals is used
as an estimate of the variance in measured signals.

.. code:: ipython3

    st_var, resid = ds.variance_stokes(st_label=st_label, suppress_info=1)
    ast_var, _ = ds.variance_stokes(st_label=ast_label, suppress_info=1)
    rst_var, _ = ds.variance_stokes(st_label=rst_label, suppress_info=1)
    rast_var, _ = ds.variance_stokes(st_label=rast_label, suppress_info=1)

Similar to the ols procedure, we make a single function call to
calibrate the temperature. If the method is ``wls`` and confidence
intervals are passed to ``conf_ints``, confidence intervals calculated.
As weigths are correctly passed to the least squares procedure, the
covariance matrix can be used. This matrix holds the covariances between
all the parameters. A large parameter set is generated from this matrix,
assuming the parameter space is normally distributed with their mean at
the best estimate of the least squares procedure.

The large parameter set is used to calculate a large set of
temperatures. By using ``percentiles`` or ``quantile`` the 95%
confidence interval of the calibrated temperature between 2.5% and 97.5%
are calculated.

The confidence intervals differ per time step. If you would like to
calculate confidence intervals of all time steps together you have the
option ``ci_avg_time_flag=True``. 'We can say with 95% confidence that
the temperature remained between this line and this line during the
entire measurement period'.

.. code:: ipython3

    ds.calibration_double_ended(sections=sections,
                                st_label=st_label,
                                ast_label=ast_label,
                                rst_label=rst_label,
                                rast_label=rast_label,
                                st_var=st_var,
                                ast_var=ast_var,
                                rst_var=rst_var,
                                rast_var=rast_var,
                                method='wls',
                                conf_ints=[0.025, 0.975],
                                ci_avg_time_flag=False)


.. parsed-literal::

    /Users/bfdestombe/Projects/dts-calibration/python-dts-calibration/.tox/docs/lib/python3.6/site-packages/scipy/sparse/compressed.py:214: SparseEfficiencyWarning: Comparing a sparse matrix with 0 using == is inefficient, try using != instead.
      ", try using != instead.", SparseEfficiencyWarning)
    /Users/bfdestombe/Projects/dts-calibration/python-dts-calibration/.tox/docs/lib/python3.6/site-packages/scipy/sparse/linalg/dsolve/linsolve.py:295: SparseEfficiencyWarning: splu requires CSC matrix format
      warn('splu requires CSC matrix format', SparseEfficiencyWarning)
    /Users/bfdestombe/Projects/dts-calibration/python-dts-calibration/.tox/docs/lib/python3.6/site-packages/scipy/sparse/linalg/dsolve/linsolve.py:202: SparseEfficiencyWarning: spsolve is more efficient when sparse b is in the CSC matrix format
      'is in the CSC matrix format', SparseEfficiencyWarning)


.. code:: ipython3

    # ds1 = ds.isel(time=0)  # take only the first timestep
    # ds1.TMPF.plot(linewidth=0.7)
    # ds1.TMPF_MC.isel(CI=0).plot(linewidth=0.7, label='CI: 2.5%')
    # ds1.TMPF_MC.isel(CI=1).plot(linewidth=0.7, label='CI: 97.5%')
    # plt.legend()
    # plt.show()

The DataArrays ``TMPF_MC`` and ``TMPB_MC`` and the dimension ``CI`` are
added. ``MC`` stands for monte carlo and the ``CI`` dimension holds the
confidence interval 'coordinates'.

.. code:: ipython3

    ds




.. parsed-literal::

    <xarray.DataStore>
    Dimensions:                (CI: 2, MC: 100, time: 6, x: 787)
    Coordinates:
      * x                      (x) float32 0.0769095 0.204009 0.331109 0.458208 ...
        filename               (time) <U31 'channel 1_20180328014052498.xml' ...
        timeFWstart            (time) datetime64[ns] 2018-03-27T22:40:52.097000 ...
        timeFWend              (time) datetime64[ns] 2018-03-27T22:40:54.097000 ...
        timeFW                 (time) datetime64[ns] 2018-03-27T22:40:53.097000 ...
        timeBWstart            (time) datetime64[ns] 2018-03-27T22:40:54.097000 ...
        timeBWend              (time) datetime64[ns] 2018-03-27T22:40:56.097000 ...
        timeBW                 (time) datetime64[ns] 2018-03-27T22:40:55.097000 ...
        timestart              (time) datetime64[ns] 2018-03-27T22:40:52.097000 ...
        timeend                (time) datetime64[ns] 2018-03-27T22:40:56.097000 ...
      * time                   (time) datetime64[ns] 2018-03-27T22:40:54.097000 ...
      * CI                     (CI) float64 0.025 0.975
    Dimensions without coordinates: MC
    Data variables:
        ST                     (x, time) float32 4049.08 4044.32 4046.2 4045.23 ...
        AST                    (x, time) float32 3293.22 3296.04 3280.75 3287.3 ...
        REV-ST                 (x, time) float32 4060.72 4037.16 4029.5 4042.97 ...
        REV-AST                (x, time) float32 3350.43 3333.43 3324.93 3332.45 ...
        TMP                    (x, time) float32 16.6912 16.8743 16.5069 16.5165 ...
        acquisitionTime        (time) float32 2.098 2.075 2.076 2.133 2.085 2.062
        referenceTemperature   (time) float32 21.0536 21.054 21.0497 21.0519 ...
        probe1Temperature      (time) float32 4.36149 4.36025 4.35911 4.36002 ...
        probe2Temperature      (time) float32 18.5792 18.5785 18.5848 18.5814 ...
        referenceProbeVoltage  (time) float32 0.121704 0.121704 0.121703 ...
        probe1Voltage          (time) float32 0.114 0.114 0.114 0.114 0.114 0.114
        probe2Voltage          (time) float32 0.121 0.121 0.121 0.121 0.121 0.121
        userAcquisitionTimeFW  (time) float32 2.0 2.0 2.0 2.0 2.0 2.0
        userAcquisitionTimeBW  (time) float32 2.0 2.0 2.0 2.0 2.0 2.0
        gamma                  float64 482.6
        alphaint               float64 -0.01034
        alpha                  (x) float64 -0.01233 -0.008471 -0.001988 ...
        c                      (time) float64 1.47 1.471 1.47 1.47 1.471 1.47
        gamma_var              float64 0.03503
        alphaint_var           float64 6.691e-07
        alpha_var              (x) float64 3.228e-07 3.16e-07 3.143e-07 ...
        c_var                  (time) float64 6.007e-07 6.007e-07 6.007e-07 ...
        TMPF                   (x, time) float64 16.8 17.06 16.33 16.6 16.77 ...
        TMPB                   (x, time) float64 16.81 16.84 16.88 16.58 16.56 ...
        TMPF_MC                (CI, x) float64 16.26 16.48 17.98 19.68 19.3 ...
        TMPB_MC                (CI, x) float64 16.43 16.42 17.76 19.72 19.34 ...
    Attributes:
        uid:                                                                     ...
        nameWell:                                                                ...
        nameWellbore:                                                            ...
        name:                                                                    ...
        indexType:                                                               ...
        startIndex:uom:                                                          ...
        startIndex:#text:                                                        ...
        endIndex:uom:                                                            ...
        endIndex:#text:                                                          ...
        stepIncrement:uom:                                                       ...
        stepIncrement:#text:                                                     ...
        startDateTimeIndex:                                                      ...
        endDateTimeIndex:                                                        ...
        direction:                                                               ...
        indexCurve:                                                              ...
        logCurveInfo_0:uid:                                                      ...
        logCurveInfo_0:mnemonic:                                                 ...
        logCurveInfo_0:classWitsml:                                              ...
        logCurveInfo_0:unit:                                                     ...
        logCurveInfo_0:curveDescription:                                         ...
        logCurveInfo_0:typeLogData:                                              ...
        logCurveInfo_1:uid:                                                      ...
        logCurveInfo_1:mnemonic:                                                 ...
        logCurveInfo_1:classWitsml:                                              ...
        logCurveInfo_1:curveDescription:                                         ...
        logCurveInfo_1:typeLogData:                                              ...
        logCurveInfo_2:uid:                                                      ...
        logCurveInfo_2:mnemonic:                                                 ...
        logCurveInfo_2:classWitsml:                                              ...
        logCurveInfo_2:curveDescription:                                         ...
        logCurveInfo_2:typeLogData:                                              ...
        logCurveInfo_3:uid:                                                      ...
        logCurveInfo_3:mnemonic:                                                 ...
        logCurveInfo_3:classWitsml:                                              ...
        logCurveInfo_3:curveDescription:                                         ...
        logCurveInfo_3:typeLogData:                                              ...
        logCurveInfo_4:uid:                                                      ...
        logCurveInfo_4:mnemonic:                                                 ...
        logCurveInfo_4:classWitsml:                                              ...
        logCurveInfo_4:curveDescription:                                         ...
        logCurveInfo_4:typeLogData:                                              ...
        logCurveInfo_5:uid:                                                      ...
        logCurveInfo_5:mnemonic:                                                 ...
        logCurveInfo_5:classWitsml:                                              ...
        logCurveInfo_5:unit:                                                     ...
        logCurveInfo_5:curveDescription:                                         ...
        logCurveInfo_5:typeLogData:                                              ...
        logData:mnemonicList:                                                    ...
        logData:unitList:                                                        ...
        customData:acquisitionTime:                                              ...
        customData:referenceTemperature:uom:                                     ...
        customData:referenceTemperature:#text:                                   ...
        customData:probe1Temperature:uom:                                        ...
        customData:probe1Temperature:#text:                                      ...
        customData:probe2Temperature:uom:                                        ...
        customData:probe2Temperature:#text:                                      ...
        customData:forwardMeasurementChannel:                                    ...
        customData:forwardSignalAverages:                                        ...
        customData:referenceProbeVoltage:                                        ...
        customData:probe1Voltage:                                                ...
        customData:probe2Voltage:                                                ...
        customData:fibreStatusOk:                                                ...
        customData:fibreBreakLocation:                                           ...
        customData:isDoubleEnded:                                                ...
        customData:reverseMeasurementChannel:                                    ...
        customData:reverseSignalAverages:                                        ...
        customData:measurementStatus:                                            ...
        customData:SystemSettings:softwareVersion:                               ...
        customData:SystemSettings:DAQSettings:Card:                              ...
        customData:SystemSettings:DAQSettings:MinimumRecordLength:               ...
        customData:SystemSettings:DAQSettings:MaximumRecordLength:               ...
        customData:SystemSettings:DAQSettings:PreTriggerSamples:                 ...
        customData:SystemSettings:DAQSettings:TriggerInDirection:                ...
        customData:SystemSettings:DAQSettings:TriggerMode:                       ...
        customData:SystemSettings:DAQSettings:TriggerRateDividerFactor:          ...
        customData:SystemSettings:DAQSettings:ReferenceClockDirection:           ...
        customData:SystemSettings:DAQSettings:ClockSource:                       ...
        customData:SystemSettings:HardwareSettings:UltimaSerialNumber:           ...
        customData:SystemSettings:HardwareSettings:DigitalLine_0:Name:           ...
        customData:SystemSettings:HardwareSettings:DigitalLine_0:DataArray:      ...
        customData:SystemSettings:HardwareSettings:DigitalLine_1:Name:           ...
        customData:SystemSettings:HardwareSettings:DigitalLine_1:DataArray:      ...
        customData:SystemSettings:HardwareSettings:DigitalLine_2:Name:           ...
        customData:SystemSettings:HardwareSettings:DigitalLine_2:DataArray:      ...
        customData:SystemSettings:HardwareSettings:DigitalLine_3:Name:           ...
        customData:SystemSettings:HardwareSettings:DigitalLine_3:DataArray:      ...
        customData:SystemSettings:HardwareSettings:NumberOfChannels:             ...
        customData:SystemSettings:LaserSettings:LaserIsControlled:               ...
        customData:SystemSettings:LaserSettings:LaserWarmupTime:                 ...
        customData:SystemSettings:LaserSettings:LaserCoolDownTime:               ...
        customData:SystemSettings:LaserSettings:DigitalLine_0:Name:              ...
        customData:SystemSettings:LaserSettings:DigitalLine_0:DataArray:         ...
        customData:SystemSettings:LaserSettings:DigitalLine_1:Name:              ...
        customData:SystemSettings:LaserSettings:DigitalLine_1:DataArray:         ...
        customData:SystemSettings:LaserSettings:DigitalLine_2:Name:              ...
        customData:SystemSettings:LaserSettings:DigitalLine_2:DataArray:         ...
        customData:SystemSettings:LaserSettings:MinimumPulseWidth:               ...
        customData:SystemSettings:LaserSettings:MaximumPulseWidth:               ...
        customData:SystemSettings:LaserSettings:MinimumLaserPower:               ...
        customData:SystemSettings:LaserSettings:MaximumLaserPower:               ...
        customData:SystemSettings:LaserSettings:PulseWidth:                      ...
        customData:SystemSettings:LaserSettings:LaserPower:                      ...
        customData:SystemSettings:SamplingIntervalSettings_0:SamplingInterval:   ...
        customData:SystemSettings:SamplingIntervalSettings_0:IsPermitted:        ...
        customData:SystemSettings:SamplingIntervalSettings_0:PreTriggerShift:    ...
        customData:SystemSettings:SamplingIntervalSettings_0:SignalOffsetRange:Si...
        customData:SystemSettings:SamplingIntervalSettings_0:SignalOffsetRange:Si...
        customData:SystemSettings:SamplingIntervalSettings_1:SamplingInterval:   ...
        customData:SystemSettings:SamplingIntervalSettings_1:IsPermitted:        ...
        customData:SystemSettings:SamplingIntervalSettings_1:PreTriggerShift:    ...
        customData:SystemSettings:SamplingIntervalSettings_1:SignalOffsetRange:Si...
        customData:SystemSettings:SamplingIntervalSettings_1:SignalOffsetRange:Si...
        customData:SystemSettings:SamplingIntervalSettings_2:SamplingInterval:   ...
        customData:SystemSettings:SamplingIntervalSettings_2:IsPermitted:        ...
        customData:SystemSettings:SamplingIntervalSettings_2:PreTriggerShift:    ...
        customData:SystemSettings:SamplingIntervalSettings_2:SignalOffsetRange:Si...
        customData:SystemSettings:SamplingIntervalSettings_2:SignalOffsetRange:Si...
        customData:SystemSettings:SamplingIntervalSettings_3:SamplingInterval:   ...
        customData:SystemSettings:SamplingIntervalSettings_3:IsPermitted:        ...
        customData:SystemSettings:SamplingIntervalSettings_3:PreTriggerShift:    ...
        customData:SystemSettings:SamplingIntervalSettings_3:SignalOffsetRange:Si...
        customData:SystemSettings:SamplingIntervalSettings_3:SignalOffsetRange:Si...
        customData:SystemSettings:SamplingIntervalSettings_4:SamplingInterval:   ...
        customData:SystemSettings:SamplingIntervalSettings_4:IsPermitted:        ...
        customData:SystemSettings:SamplingIntervalSettings_4:PreTriggerShift:    ...
        customData:SystemSettings:SamplingIntervalSettings_4:SignalOffsetRange:Si...
        customData:SystemSettings:SamplingIntervalSettings_4:SignalOffsetRange:Si...
        customData:SystemSettings:SamplingIntervalSettings_5:SamplingInterval:   ...
        customData:SystemSettings:SamplingIntervalSettings_5:IsPermitted:        ...
        customData:SystemSettings:SamplingIntervalSettings_5:PreTriggerShift:    ...
        customData:SystemSettings:SamplingIntervalSettings_5:SignalOffsetRange:Si...
        customData:SystemSettings:SamplingIntervalSettings_5:SignalOffsetRange:Si...
        customData:SystemSettings:SamplingIntervalSettings_6:SamplingInterval:   ...
        customData:SystemSettings:SamplingIntervalSettings_6:IsPermitted:        ...
        customData:SystemSettings:SamplingIntervalSettings_6:PreTriggerShift:    ...
        customData:SystemSettings:SamplingIntervalSettings_6:SignalOffsetRange:Si...
        customData:SystemSettings:SamplingIntervalSettings_6:SignalOffsetRange:Si...
        customData:SystemSettings:VoltageSweepSettings:DigitalLine:Name:         ...
        customData:SystemSettings:VoltageSweepSettings:DigitalLine:DataArray:    ...
        customData:SystemSettings:VoltageSweepSettings:Amplitude:                ...
        customData:SystemSettings:VoltageSweepSettings:MinimumVoltage:           ...
        customData:SystemSettings:VoltageSweepSettings:MaximumVoltage:           ...
        customData:SystemSettings:ProgramControlSettings:SkipLaserOnCheck:       ...
        customData:SystemSettings:ProgramControlSettings:AllowRemoteControl:     ...
        customData:SystemSettings:ProgramControlSettings:DisableReboot:          ...
        customData:SystemSettings:ChannelSettings_0:ChannelNumber:               ...
        customData:SystemSettings:ChannelSettings_0:InternalFibreLength:         ...
        customData:SystemSettings:ChannelSettings_1:ChannelNumber:               ...
        customData:SystemSettings:ChannelSettings_1:InternalFibreLength:         ...
        customData:SystemSettings:ChannelSettings_2:ChannelNumber:               ...
        customData:SystemSettings:ChannelSettings_2:InternalFibreLength:         ...
        customData:SystemSettings:ChannelSettings_3:ChannelNumber:               ...
        customData:SystemSettings:ChannelSettings_3:InternalFibreLength:         ...
        customData:SystemSettings:TemperatureReferenceSettings:InternalReferenceS...
        customData:SystemSettings:TemperatureReferenceSettings:InternalReferenceS...
        customData:SystemSettings:TemperatureReferenceSettings:SamplingRate:     ...
        customData:SystemSettings:TemperatureReferenceSettings:UseReferenceResist...
        customData:SystemSettings:TemperatureReferenceSettings:ReferenceResistor:...
        customData:SystemSettings:TemperatureReferenceSettings:MaximumVoltage:   ...
        customData:SystemSettings:TemperatureReferenceSettings:TemperatureProbeSe...
        customData:SystemSettings:TemperatureReferenceSettings:TemperatureProbeSe...
        customData:SystemSettings:TemperatureReferenceSettings:TemperatureProbeSe...
        customData:SystemSettings:TemperatureReferenceSettings:TemperatureProbeSe...
        customData:SystemSettings:TemperatureReferenceSettings:TemperatureProbeSe...
        customData:SystemSettings:TemperatureReferenceSettings:TemperatureProbeSe...
        customData:SystemSettings:TemperatureReferenceSettings:TemperatureProbeSe...
        customData:SystemSettings:TemperatureReferenceSettings:TemperatureProbeSe...
        customData:SystemSettings:TemperatureReferenceSettings:TemperatureProbeSe...
        customData:SystemSettings:TemperatureReferenceSettings:TemperatureProbeSe...
        customData:SystemSettings:TemperatureReferenceSettings:TemperatureProbeSe...
        customData:SystemSettings:TemperatureReferenceSettings:TemperatureProbeSe...
        customData:SystemSettings:TemperatureReferenceSettings:TemperatureProbeSe...
        customData:SystemSettings:TemperatureReferenceSettings:TemperatureProbeSe...
        customData:SystemSettings:TemperatureReferenceSettings:TemperatureProbeSe...
        customData:SystemSettings:TemperatureReferenceSettings:TemperatureProbeSe...
        customData:SystemSettings:TemperatureReferenceSettings:TemperatureProbeSe...
        customData:SystemSettings:TemperatureReferenceSettings:TemperatureProbeSe...
        customData:SystemSettings:TemperatureReferenceSettings:TemperatureProbeSe...
        customData:SystemSettings:TemperatureReferenceSettings:TemperatureProbeSe...
        customData:SystemSettings:TemperatureReferenceSettings:TemperatureProbeSe...
        customData:SystemSettings:TemperatureReferenceSettings:TemperatureProbeSe...
        customData:SystemSettings:TemperatureReferenceSettings:TemperatureProbeSe...
        customData:SystemSettings:TemperatureReferenceSettings:TemperatureProbeSe...
        customData:SystemSettings:TemperatureReferenceSettings:TemperatureProbeSe...
        customData:SystemSettings:TemperatureReferenceSettings:TemperatureProbeSe...
        customData:SystemSettings:TemperatureReferenceSettings:TemperatureProbeSe...
        customData:SystemSettings:RawProcessingSettings:DAQSamplingFrequency:    ...
        customData:SystemSettings:RawProcessingSettings:EffectiveStokesRI:       ...
        customData:SystemSettings:RawProcessingSettings:EffectiveAntiStokesRI:   ...
        customData:SystemSettings:RawProcessingSettings:CorrectForZigZag:        ...
        customData:SystemSettings:RawProcessingSettings:LaserOnLength:           ...
        customData:SystemSettings:MeasurementSettings:InternalAveragingTime:     ...
        customData:SystemSettings:MeasurementSettings:InternalDifferentialLoss:  ...
        customData:SystemSettings:MeasurementSettings:TemperatureScalingFactor:  ...
        customData:SystemSettings:MeasurementSettings:MaximumMeasurementLength:  ...
        customData:SystemSettings:MeasurementSettings:SaveSignalData:            ...
        customData:SystemSettings:OvershootCorrectionSettings:CorrectForOvershoot...
        customData:SystemSettings:OvershootCorrectionSettings:Rotation:          ...
        customData:SystemSettings:OvershootCorrectionSettings:MultiplicationFacto...
        customData:SystemSettings:CurveCalibrationSettings:StartTemperature:     ...
        customData:SystemSettings:CurveCalibrationSettings:m:                    ...
        customData:SystemSettings:CurveCalibrationSettings:c:                    ...
        customData:SystemSettings:OperatingLimitsSettings:MinimumInputPower:     ...
        customData:SystemSettings:OperatingLimitsSettings:MaximumInputPower:     ...
        customData:SystemSettings:OperatingLimitsSettings:PowerHysteresis:       ...
        customData:SystemSettings:OperatingLimitsSettings:MinimumInternalTemperat...
        customData:SystemSettings:OperatingLimitsSettings:MaximumInternalTemperat...
        customData:SystemSettings:OperatingLimitsSettings:TemperatureHysteresis: ...
        customData:SystemSettings:SAHSettings:DeviceType:                        ...
        customData:SystemSettings:SAHSettings:SAHCOMPort:                        ...
        customData:SystemSettings:SAHSettings:DeviceYCOMPort:                    ...
        customData:SystemSettings:SAHSettings:MaximumPumpCurrent:                ...
        customData:SystemSettings:SAHSettings:DefaultTargetVoltage:              ...
        customData:SystemSettings:SAHSettings:WarmUpTime:                        ...
        customData:SystemSettings:SAHSettings:CoolDownTime:                      ...
        customData:SystemSettings:SAHSettings:TimingSettings:MaintainSettings:Tim...
        customData:SystemSettings:SAHSettings:TimingSettings:MaintainSettings:Num...
        customData:SystemSettings:SAHSettings:TimingSettings:MaintainSettings:Ste...
        customData:SystemSettings:SAHSettings:TimingSettings:MaintainSettings:Sta...
        customData:SystemSettings:SAHSettings:TimingSettings:FastSettings:TimeBet...
        customData:SystemSettings:SAHSettings:TimingSettings:FastSettings:NumberO...
        customData:SystemSettings:SAHSettings:TimingSettings:FastSettings:StepSiz...
        customData:SystemSettings:SAHSettings:TimingSettings:FastSettings:StateTr...
        customData:SystemSettings:SAHSettings:TimingSettings:SuperFastSettings:Ti...
        customData:SystemSettings:SAHSettings:TimingSettings:SuperFastSettings:Nu...
        customData:SystemSettings:SAHSettings:TimingSettings:SuperFastSettings:St...
        customData:SystemSettings:SAHSettings:TimingSettings:SuperFastSettings:St...
        customData:SystemSettings:RangeSettings:MeasurementRange:                ...
        customData:SystemSettings:RangeSettings:LaserFrequency:                  ...
        customData:SystemSettings:RangeSettings:TargetVoltage:                   ...
        customData:SystemSettings:PowerTimingSettings:OpticsOnWait:              ...
        customData:SystemSettings:PowerTimingSettings:DAQPowerOnWait:            ...
        customData:SystemSettings:PowerTimingSettings:DAQUSBOnWait:              ...
        customData:SystemSettings:PowerTimingSettings:OpticsOffWait:             ...
        customData:SystemSettings:PowerTimingSettings:DAQPowerOffWait:           ...
        customData:SystemSettings:PowerTimingSettings:DAQUSBOffWait:             ...
        customData:UserConfiguration:softwareVersion:                            ...
        customData:UserConfiguration:MainMeasurementConfiguration:ConfigurationNa...
        customData:UserConfiguration:MainMeasurementConfiguration:ConfigurationCo...
        customData:UserConfiguration:MainMeasurementConfiguration:MeasurementMeth...
        customData:UserConfiguration:MainMeasurementConfiguration:NumberOfMeasure...
        customData:UserConfiguration:MainMeasurementConfiguration:MeasurementInte...
        customData:UserConfiguration:MainMeasurementConfiguration:AutoRestart:   ...
        customData:UserConfiguration:MainMeasurementConfiguration:TemperatureUnit...
        customData:UserConfiguration:MainMeasurementConfiguration:DistanceUnits: ...
        customData:UserConfiguration:MainMeasurementConfiguration:MeasurementSyst...
        customData:UserConfiguration:MainMeasurementConfiguration:LaserFrequency:...
        customData:UserConfiguration:ChannelConfiguration_0:ChannelNumber:       ...
        customData:UserConfiguration:ChannelConfiguration_0:ChannelName:         ...
        customData:UserConfiguration:ChannelConfiguration_0:ChannelIsActive:     ...
        customData:UserConfiguration:ChannelConfiguration_0:SaveChannelData:     ...
        customData:UserConfiguration:ChannelConfiguration_0:AcquisitionConfigurat...
        customData:UserConfiguration:ChannelConfiguration_0:AcquisitionConfigurat...
        customData:UserConfiguration:ChannelConfiguration_0:AcquisitionConfigurat...
        customData:UserConfiguration:ChannelConfiguration_0:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_0:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_0:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_0:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_0:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_0:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_0:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_0:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_0:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_0:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_0:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_0:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_0:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_0:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_0:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_0:FibreCheckConfigurati...
        customData:UserConfiguration:ChannelConfiguration_0:FibreCorrectionConfig...
        customData:UserConfiguration:ChannelConfiguration_0:FibreCorrectionConfig...
        customData:UserConfiguration:ChannelConfiguration_1:ChannelNumber:       ...
        customData:UserConfiguration:ChannelConfiguration_1:ChannelName:         ...
        customData:UserConfiguration:ChannelConfiguration_1:ChannelIsActive:     ...
        customData:UserConfiguration:ChannelConfiguration_1:SaveChannelData:     ...
        customData:UserConfiguration:ChannelConfiguration_1:AcquisitionConfigurat...
        customData:UserConfiguration:ChannelConfiguration_1:AcquisitionConfigurat...
        customData:UserConfiguration:ChannelConfiguration_1:AcquisitionConfigurat...
        customData:UserConfiguration:ChannelConfiguration_1:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_1:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_1:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_1:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_1:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_1:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_1:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_1:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_1:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_1:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_1:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_1:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_1:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_1:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_1:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_1:FibreCheckConfigurati...
        customData:UserConfiguration:ChannelConfiguration_1:FibreCorrectionConfig...
        customData:UserConfiguration:ChannelConfiguration_1:FibreCorrectionConfig...
        customData:UserConfiguration:ChannelConfiguration_2:ChannelNumber:       ...
        customData:UserConfiguration:ChannelConfiguration_2:ChannelName:         ...
        customData:UserConfiguration:ChannelConfiguration_2:ChannelIsActive:     ...
        customData:UserConfiguration:ChannelConfiguration_2:SaveChannelData:     ...
        customData:UserConfiguration:ChannelConfiguration_2:AcquisitionConfigurat...
        customData:UserConfiguration:ChannelConfiguration_2:AcquisitionConfigurat...
        customData:UserConfiguration:ChannelConfiguration_2:AcquisitionConfigurat...
        customData:UserConfiguration:ChannelConfiguration_2:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_2:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_2:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_2:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_2:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_2:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_2:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_2:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_2:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_2:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_2:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_2:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_2:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_2:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_2:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_2:FibreCheckConfigurati...
        customData:UserConfiguration:ChannelConfiguration_2:FibreCorrectionConfig...
        customData:UserConfiguration:ChannelConfiguration_2:FibreCorrectionConfig...
        customData:UserConfiguration:ChannelConfiguration_3:ChannelNumber:       ...
        customData:UserConfiguration:ChannelConfiguration_3:ChannelName:         ...
        customData:UserConfiguration:ChannelConfiguration_3:ChannelIsActive:     ...
        customData:UserConfiguration:ChannelConfiguration_3:SaveChannelData:     ...
        customData:UserConfiguration:ChannelConfiguration_3:AcquisitionConfigurat...
        customData:UserConfiguration:ChannelConfiguration_3:AcquisitionConfigurat...
        customData:UserConfiguration:ChannelConfiguration_3:AcquisitionConfigurat...
        customData:UserConfiguration:ChannelConfiguration_3:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_3:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_3:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_3:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_3:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_3:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_3:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_3:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_3:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_3:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_3:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_3:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_3:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_3:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_3:TemperatureCalibratio...
        customData:UserConfiguration:ChannelConfiguration_3:FibreCheckConfigurati...
        customData:UserConfiguration:ChannelConfiguration_3:FibreCorrectionConfig...
        customData:UserConfiguration:ChannelConfiguration_3:FibreCorrectionConfig...
        _sections:                                                               ...


