Non-Linearity Correction

The non-linearity correction option is turned on from a Python script by executing this statement:

ComputeSpectrum.applyNLC(1)

The non-linearity correction option is turned off from a Python script by executing this statement:

ComputeSpectrum.applyNLC(0)

If the non-linearity correction is turned on, the following procedure is used to correct raw igrams:

  1. The raw igram is offset corrected using the current Offset method settings
  2. The following correction is applied to the offset corrected igram:
  CorrectedIgram = Igram + Igram * (2 * a2 * Vm)

  where

  a2 = -1.1146e-7

  Vm = (-1.0 / MF) * ((2.0 + fBACK) * (-IHatZPD + IHLAB - ICLAB) + IMatZPD)

  MF = 0.7

  fBACK = 1.0

  IHLAB = 4810.0

  ICLAB = 16352.0

  IHatZPD = ZPD value of hot igram

  IMatZPD = ZPD value of this igram

You can change the NLC constants and compute a spectrum by executing this code from Python:

ComputeSpectrum.applyNLC(1)
ComputeSpectrum.set_a2(-1.1146e-7)
ComputeSpectrum.set_MF(0.7)
ComputeSpectrum.set_fBACK(1.0)
ComputeSpectrum.set_IHLAB(4810.0)
ComputeSpectrum.set_ICLAB(16352.0)
ComputeSpectrum.compute()