This page details the format, in Backus -Naur Form (BNF) notation, when uniformity correction parameters are written to file. This is intended for those who wish to build their own syntactically correct parser to interpret the contents of these files. See the BNF section for a description of the notation.
A Uniformity Correction Parameters file
(<ucp-spec>
) is a plain text file, consisting of
a header
(<ucp-header-spec>
) followed by
the correction parameters (<ucp-params-spec>
).
In the Uniformity Correction Parameters file, white space
is used to separate the elements within an entry. White space may
consist of space characters, tab characters or new-line
characters. The amount of white space is not significant.
Individual elements that may contain white space are enclosed
in double quotes ("). Literal string elements are shown in
non-italic font
below.
<ucp-spec> ::= |
<ucp-header-spec><ucp-params-spec> |
---|---|
<ucp-header-spec> ::= |
# Uniformity correction parameters written on <date-time-spec> by
Operator ID=<string-spec> |
<ucp-params-spec> ::= |
Order=<order-spec> |
<order-spec> ::= |
Linear | Cubic | Quadratic |
<true-false-spec> ::= |
true | false |
<params-spec> ::= |
[<num-spec>] | <params-spec><num-spec> |
<date-time-spec> ::= |
"dd mmm yyyy hh:mm:ss.SSS zzzz" |
<version-spec>
is a string of
ASCII text characters enclosed in double quotation marks (")
giving the build version of Jim. The build version is of
the form "MajorVersion_MinorVersion"
, e.g.,
"8.0_1"
<string-spec>
is a string of
ASCII text characters enclosed in double quotation marks (").
<num-spec>
is a numerical value that may be
either in integer or floating point format, depending on the
context.
The number of parameters depends on the Order
and
odd-even
settings. Linear
requires 3
parameters; Quadratic
requires 9
parameters; and Cubic
requires 19 parameters. An additional
parameter is required if odd-even slice intensity correction is
enabled; if odd-even slice intensity correction is
enabled then the final parameter relates to a multiplier for the
intensity applied to the odd- and even-numbered slices. The
intensities of the odd numbered slice are multiplied by
1.0 + s
, and the even numbered slice are multiplied by
1.0 - s
, where s
is the last parameter
in the list.
The other parameters are polynomial coefficients as follows:
Parameter | Coefficient | Used in model |
---|---|---|
1 | x | Linear, Quadratic, Cubic |
2 | y | Linear, Quadratic, Cubic |
3 | z | Linear, Quadratic, Cubic |
4 | x2 | Quadratic, Cubic |
5 | y2 | Quadratic, Cubic |
6 | z2 | Quadratic, Cubic |
7 | xy | Quadratic, Cubic |
8 | xz | Quadratic, Cubic |
9 | yz | Quadratic, Cubic |
10 | x3 | Cubic |
11 | y3 | Cubic |
12 | z3 | Cubic |
13 | x2y | Cubic |
14 | x2z | Cubic |
15 | y2x | Cubic |
16 | y2z | Cubic |
17 | z2x | Cubic |
18 | z2y | Cubic |
19 | xyz | Cubic |
An example of the format of a .ucp file written to disk is shown below:
# Uniformity correction parameters written on "10 Jan 2014 18:10:07.720 GMT+00:00" by Operator ID "xinapse"
# Vendor="Xinapse_Systems_Limited"
# Build version="8.0_1"
# Image source="/home/xinapse/T1Head"
# Corrected image="/home/xinapse/T1Head.corr"
Order=Linear
Odd-even=true
Parameters=[2.056020E-4][1.107604E-4][-1.472185E-4][3.925354E-4]