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: | |
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: | |
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: | |
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: | |
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: | |
Required: | True |
JSON Path: |
Example JSON:
{"mValueImaginaryPart": {"Value": 1.0}}
AntireflectionCorrection¶
Corrects for reflections in round containers.
Type: | object |
---|---|
Contains: | |
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: | |
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: | |
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: | |
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: | |
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: | |
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}
Right¶
Up to three right splines. Same as Left splines, just at the upper boundary
Type: | integer |
---|---|
Required: | False |
Default: | 0 |
Constraints: | min:0,max:3 |
JSON Path: |
|
Old Symbol: | IC(10) |
Example JSON:
{"Right": 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: | |
Required: | True |
JSON Path: |
|
Example JSON:
{"Range": {"Start": 6.0,"Steps": 10,"Delta": 1}}
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: | |
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: |
False |
||
Default: | OrderedDict() |
||
JSON Path: |
|
Example JSON:
{"comment": {}}