Inputfile

Ortlight has a all new input file format. It is designed to be readable as it is, without consulting separate documentation, and to be very easily manipulated by other programs and scripts. It is written in JSON which is a very common way to encode data structures in text.

The keys and values allowed, are defined in JSON Schema, a standard for a formal description of the grammar of JSON objects. The documentation of the file format is automatically generated from the schema. The tree view controls in the GUI, the tool tips, the default values and the converter are als configured from the schema.

Schemadoc

.. _required:The ‘*‘ signifies a required Field.

The ORT configuration file specifies the parameters for a fit.

Type:

object

Contains:

comment, Title, InputData*, TransformationType*, Polarized, Distribution*

Required:

True

JSON Path:

Example JSON:

{
  "TransformationType": {
    "InverseLorenzMie": {
      "LagrangeMultiplier": {
        "Range": {
          "Start": 6.0,
          "Steps": 10,
          "Delta": 1
        }
      },
      "mValueRealPart": {
        "Value": 1.0
      },
      "mValueImaginaryPart": {
        "Value": 1.0
      }
    }
  },
  "Distribution": {
    "Interval": {
      "Rmin": 100.0,
      "Rmax": 1500.0
    },
    "Splines": {}
  },
  "InputData": {
    "FileName": "in.pdh"
  }
}

Title

Title or description. Free to choose.

Type:

string

Required:

False

Default:

Title

JSON Path:

Example JSON:

{"Title": "Title"}

InputData

Describes the input data, usually scattering data. Time dependent or direction dependent.

Type:

object

Contains:

comment, FileName*, DataRange, SubtractLinearFunction, DirectionScale, TimeUnits

Required:

True

JSON Path:

Example JSON:

{"InputData": {"FileName": "in.pdh"}}

FileName

Path to input data file (PDH).

Type:

string

Required:

True

Default:

in.pdh

JSON Path:
Old Symbol:

TX(1)

Example JSON:

{"FileName": "in.pdh"}

DataRange

Give indices for First and Last Point to use from the scattering data.

Type:

object

Contains:

comment, First*, Last*

Required:

False

JSON Path:

Example JSON:

{"DataRange": {"Last": -1,"First": 0}}

First

First data point to take from data file

Type:

integer

Required:

True

Default:

0

JSON Path:
Old Symbol:

IC(13)

Example JSON:

{"First": 0}

Last

Last data point to take from data file. The very last is ‘-1’

Type:

integer

Required:

True

Default:

-1

JSON Path:
Old Symbol:

IC(14)

Example JSON:

{"Last": -1}

SubtractLinearFunction

Subtract a linear function, \(y=a_0 + a_1 x\) from the input data

Type:

object

Contains:

comment, a0*, a1*

Required:

False

JSON Path:

Example JSON:

{"SubtractLinearFunction": {"a1": 0,"a0": 0}}

a0

a0

Type:

number

Required:

True

Default:

0

JSON Path:
Old Symbol:

RC(19)

Example JSON:

{"a0": 0}

a1

a1

Type:

number

Required:

True

Default:

0

JSON Path:
Old Symbol:

RC(20)

Example JSON:

{"a1": 0}

DirectionScale

Chose if scattering data uses an angle or the wavelength dependent scattering vector as scale.

Type:

string

values:

[u'Theta[deg]', u'q[1/nm]']

Required:

False

Default:

q[1/nm]

JSON Path:
Old Symbol:

IC(20)

Example JSON:

{"DirectionScale": "Theta[deg]"}

TimeUnits

Units for time values

Type:

string

values:

[u'sec', u'msec', u'nsec']

Required:

False

Default:

sec

JSON Path:

Example JSON:

{"TimeUnits": "sec"}

TransformationType

Select the kind of scattering data for analysis. Choose one of the possible entries that may be contained here.

Type:

object

Contains:

comment, InverseLorenzMie, InverseLaplace

Required:

True

Default:

InverseLorenzMie

JSON Path:
Old Symbol:

IC(4)

Example JSON:

{
  "TransformationType": {
    "InverseLorenzMie": {
      "LagrangeMultiplier": {
        "Range": {
          "Start": 6.0,
          "Steps": 10,
          "Delta": 1
        }
      },
      "mValueRealPart": {
        "Value": 1.0
      },
      "mValueImaginaryPart": {
        "Value": 1.0
      }
    }
  }
}

InverseLorenzMie

Use the Lorenz Mie theory for the inverse transformation of the static light scattering data (SLS).

Type:

object

Contains:

comment, LagrangeMultiplier*, mValueRealPart*, mValueImaginaryPart*, AntireflectionCorrection

Required:

False

JSON Path:
Old Symbol:

IC(4)

Example JSON:

{
  "InverseLorenzMie": {
    "LagrangeMultiplier": {
      "Range": {
        "Start": 6.0,
        "Steps": 10,
        "Delta": 1
      }
    },
    "mValueRealPart": {
      "Value": 1.0
    },
    "mValueImaginaryPart": {
      "Value": 1.0
    }
  }
}

mValueRealPart

Range or value of the \(m'\), Relative refractive index (real part)

Type:

object

Contains:

comment, Range, Value*

Required:

True

JSON Path:

Example JSON:

{"mValueRealPart": {"Value": 1.0}}

mValueImaginaryPart

Range or value of the \(m''\), Relative refractive index (imaginary part).

Type:

object

Contains:

comment, Range, Value*

Required:

True

JSON Path:

Example JSON:

{"mValueImaginaryPart": {"Value": 1.0}}

AntireflectionCorrection

Corrects for reflections in round containers.

Type:

object

Contains:

ReflectionParameter*, CellRefractiveIndex*

Required:

False

JSON Path:
Old Symbol:

IC(16)

Example JSON:

{
  "AntireflectionCorrection": {
    "CellRefractiveIndex": 0,
    "ReflectionParameter": {
      "Value": 1.0
    }
  }
}

ReflectionParameter

Parameter \(c_r\), to compensate for the light-scattering cell

Type:

object

Contains:

comment, Range, Value*

Required:

True

JSON Path:

Example JSON:

{"ReflectionParameter": {"Value": 1.0}}

CellRefractiveIndex

Refractive index of light scattering cell

Type:

number

Required:

True

Default:

0

JSON Path:
Old Symbol:

RC(11)

Example JSON:

{"CellRefractiveIndex": 0}

InverseLaplace

Fit dynamic light scattering data (DLS).

Type:

object

Contains:

comment, ScatteringModel, LagrangeMultiplier*, Baseline*

Required:

False

JSON Path:
Old Symbol:

IC(4)

Example JSON:

{
  "InverseLaplace": {
    "LagrangeMultiplier": {
      "Range": {
        "Start": 6.0,
        "Steps": 10,
        "Delta": 1
      }
    },
    "Baseline": {
      "Value": 1.0
    }
  }
}

ScatteringModel

Choose the model for calculating a direction dependent correction for the sensor position.

Type:

string

values:

[u'default', u'RDG', u'Lorenz Mie']

Required:

False

Default:

default

JSON Path:
Old Symbol:

IC(5)

Example JSON:

{"ScatteringModel": "default"}

Baseline

Baseline of the intensity time-autocorrelation function \(g_2(t)=B+\beta g_1(t)^2\).

Type:

object

Contains:

comment, Range, Value*, FromFile

Required:

True

JSON Path:
Old Symbol:

RC(5),RC(6)

Example JSON:

{"Baseline": {"Value": 1.0}}

FromFile

Load baseline parameter from file

Type:

boolean

Required:

False

Default:

False

JSON Path:
Old Symbol:

RC(5)

Example JSON:

{"FromFile": false}

Polarized

‘true’ if light source is polarized

Type:

boolean

Required:

False

Default:

True

JSON Path:
Old Symbol:

RC(18)

Example JSON:

{"Polarized": true}

Distribution

This block specifies the representation and domain of the distribution function.

Type:

object

Contains:

comment, Type, Interval*, Splines*

Required:

True

JSON Path:

Example JSON:

{
  "Distribution": {
    "Interval": {
      "Rmin": 100.0,
      "Rmax": 1500.0
    },
    "Splines": {}
  }
}

Type

The kind of Distribution function to calculate

Type:

string

values:

[u'Number', u'Volume', u'Intensity']

Required:

False

Default:

Volume

JSON Path:
Old Symbol:

IC(6)

Example JSON:

{"Type": "Number"}

Interval

Minimum and maximum particle size.

Type:

object

Contains:

comment, Rmin*, Rmax*

Required:

True

JSON Path:

Example JSON:

{"Interval": {"Rmin": 100.0,"Rmax": 1500.0}}

Rmin

Minimum radius.

Type:

number in nm

Required:

True

Default:

100.0

Constraints:

min:0

JSON Path:
Old Symbol:

RC(3)

Example JSON:

{"Rmin": 100.0}

Rmax

Maximum radius.

Type:

number in nm

Required:

True

Default:

1500.0

Constraints:

min:0

JSON Path:
Old Symbol:

RC(4)

Example JSON:

{"Rmax": 1500.0}

Splines

Number and spacing of the spline elements.

Type:

object

Contains:

comment, Middle, Left, Right, Spacing, NonNegativityConstraint

Required:

True

JSON Path:

Example JSON:

{"Splines": {}}

Middle

Number of splines inside domain.

Type:

integer

Required:

False

Default:

30

JSON Path:
Old Symbol:

IC(8)

Example JSON:

{"Middle": 30}

Left

Up to three left splines. The middle splines cover the whole domain but force the solution to be 0 on the boundaries. You can add up to 3 splines on each side of the window to over come this sometimes unwanted constraint.

Type:

integer

Required:

False

Default:

0

Constraints:

min:0,max:3

JSON Path:
Old Symbol:

IC(9)

Example JSON:

{"Left": 0}

Spacing

Choose the spacing of the splines.

Type:

string

values:

[u'linear(R)', u'log10(R)', u'sqrt(R)']

Required:

False

Default:

linear(R)

JSON Path:
Old Symbol:

IC(12)

Example JSON:

{"Spacing": "linear(R)"}

NonNegativityConstraint

Constrain the distribution to positive values

Type:

boolean

Required:

False

Default:

True

JSON Path:
Old Symbol:

IC(19)

Example JSON:

{"NonNegativityConstraint": true}

Range

Give a Range for variation

Type:

object

Contains:

comment, Start*, Delta*, Steps*, Log

Required:

True

JSON Path:

Example JSON:

{"Range": {"Start": 6.0,"Steps": 10,"Delta": 1}}

Start

Start Value

Type:

number

Required:

True

Default:

6.0

JSON Path:

Example JSON:

{"Start": 6.0}

Delta

Step size

Type:

number

Required:

True

Default:

1

JSON Path:

Example JSON:

{"Delta": 1}

Steps

Number of Steps

Type:

integer

Required:

True

Default:

10

JSON Path:

Example JSON:

{"Steps": 10}

Log

Logarithmic spacing of steps

Type:

boolean

Required:

False

Default:

False

JSON Path:
Old Symbol:

IC(22)

Example JSON:

{"Log": false}

Value

If no Range is given this is the constant value

Type:

number

Required:

True

Default:

1.0

JSON Path:

Example JSON:

{"Value": 1.0}

LagrangeMultiplier

Give the Range for the Lagrange multiplier \(\lambda\).

Type:

object

Contains:

comment, Range*

Required:

False

JSON Path:

Example JSON:

{
  "LagrangeMultiplier": {
    "Range": {
      "Start": 6.0,
      "Steps": 10,
      "Delta": 1
    }
  }
}

comment

The comment object is alowed everywhere and can be used to deactivate sections or to add additional information. It might contain any valid JSON.

Type:

object

Contains:
Required:

False

Default:

OrderedDict()

JSON Path:

Example JSON:

{"comment": {}}