This page details the format of a Jim ROI file in Backus -Naur Form (BNF) notation. This is intended for those who wish to build their own syntactically correct parser to interpret ROI files. See the BNF section for a description of the notation.
An ROI file is a plain text file, consisting of a list of ROIs
(<ROI-list>
). In the ROI file, white space
is used to separate the elements within an ROI. 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.
<ROI-list> ::= |
<ROI-spec>|<ROI-list><ROI-spec>|<null> |
---|---|
<ROI-spec> ::= |
Begin <ROI-name-spec> ROI
<build-spec>
<annotation-spec>
<colour-spec>
<source-spec>
<slice-spec>
<history-list>
<statistics-spec>
<shape-spec>
End <ROI-name-spec> ROI
|
<ROI-name-spec> ::= |
Text|Marker|Line|CurvedLine|Rectangular|Elliptical|Irregular|Spline|OpenSpline|Hollow |
<build-spec> ::= |
Build version=<version-spec> |
<annotation-spec> ::= |
Annotation=<string-spec> |
<colour-spec> ::= |
Colour=<num-spec> |
<source-spec> ::= |
Source=<string-spec> |
<slice-spec> ::= |
Slice=<num-spec> |
<history-list> ::= |
<history-spec>|<history-list><history-spec> |
<statistics-spec> ::= |
Statistics: Area=<num-spec>;
Mean=<num-spec>;
Std Dev=<num-spec>;
Min=<num-spec>;
Max=<num-spec>| |
<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 colour of an ROI is specified by an integer between 0 and 8 inclusive,
where a value of 0 indicates should be drawn using the default ROI drawing
colour, and the colour depends on the selection state of the ROI. A
colour value between 1 and 8 indicates which colour from the palette of
user-defined ROI colours is used to draw the ROI.
The specification for a <history-list>
is
given in the audit
trail section.
The shape of an ROI is defined in the <shape-spec>
, and
is different for each of the types of ROI.
The <shape-spec>
found within an ROI will
match the name
(Text|Marker|Line|CurvedLine|Rectangular|Elliptical|Irregular|Hollow
)
found in the <ROI-spec>
.
The second version of the
<statistics-spec>
is for line ROIs
(curved and straight) that have an additional length statistic.
<shape-spec> ::= |
Begin Shape <geom-spec> End Shape
|
---|---|
<geom-spec> ::= |
<text-spec>|
<marker-spec>|
<line-spec>|
<curved-line-spec>|
<rectangular-spec>|
<elliptical-spec>|
<irregular-spec>
<spline-spec>
<hollow-spec>
|
<text-spec> ::= |
X=<num-spec>;
Y=<num-spec> |
<marker-spec> ::= |
X=<num-spec>;
Y=<num-spec> |
<line-spec> ::= |
X1=<num-spec>;
Y1=<num-spec>;
X2=<num-spec>;
Y2=<num-spec> |
<rectangular-spec> ::= |
X=<num-spec>;
Y=<num-spec>;
Width=<num-spec>;
Height=<num-spec> |
<elliptical-spec> ::= |
X=<num-spec>;
Y=<num-spec>;
A=<num-spec>;
B=<num-spec>;
Theta=<num-spec> |
<curved-line-spec> ::= |
Points=<num-spec>
<vertex-list> |
<irregular-spec> ::= |
Points=<num-spec>
<vertex-list> |
<spline-spec> ::= |
Points=<num-spec>
<vertex-list> |
<hollow-spec> ::= |
OuterPoints=<num-spec><vertex-list><inner-list> |
<inner-list> ::= |
<inner-spec>|<inner-list><inner-spec> |
<inner-spec> ::= |
InnerPoints=<num-spec><vertex-list> |
<vertex-list> ::= |
<vertex-spec>|<vertex-list><vertex-spec>|<null> |
<vertex-spec> ::= |
X=<num-spec> Y=<num-spec> |
The X and Y positions define the top left hand corner location for a rectangular ROI, while they define the centre location for an Elliptical ROI. The angle Theta is the angle between the major axis and the x-direction. A positive rotation angle is clockwise.
Below is an example of the contents of an ROI file, containing three ROIs (rectangular, elliptical and irregular with ten vertices). The ROIs were defined from an image called "T1Head" in the directory "/home/xinapse". Note that the Irregular ROI has been modified, and uses colour 3 from the user-defined colour palette.
Begin Rectangular ROI Build version="8.0_1" Annotation="Rectangular ROI A" Colour=0 Image source="/home/xinapse/T1Head" Slice=1 Created "24 Apr 2013 16:20:32.084 British Summer Time" by Operator ID="xinapse" Statistics: Area=705.71351; Mean=495.9919; Std Dev=253.453636; Min=12; Max=1319 Begin Shape X=7.812392; Y=10.416492; Width=29.296473; Height=24.088685 End Shape End Rectangular ROI Begin Elliptical ROI Build version="8.0_1" Annotation="This is an Elliptical ROI b" Colour=0 Image source="/home/xinapse/T1Head" Slice=2 Created "24 Apr 2013 16:21:21.473 British Summer Time" by Operator ID="xinapse" Statistics: Area=1172.921614; Mean=402.109715; Std Dev=194.631116; Min=57; Max=1137 Begin Shape X=7.903945; Y=22.430438; A=28.927724; B=12.906392; Theta=25.159302 End Shape End Elliptical ROI Begin Irregular ROI Build version="8.0_1" Annotation="An Irregular One c" Colour=3 Image source="/home/xinapse/T1Head" Slice=3 Created "24 Apr 2013 16:21:48.683 British Summer Time" by Operator ID="xinapse" Modified "26 Apr 2013 12:22:40.058 British Summer Time" by Operator ID="xinapse" Statistics: Area=753.340233; Mean=366.765766; Std Dev=148.425423; Min=33; Max=1044 Begin Shape Points=10 X=23.925453; Y=5.518595 X=20.365117; Y=0.623067 X=-1.441936; Y=18.424988 X=0.338232; Y=35.78186 X=24.370495; Y=38.897196 X=25.260578; Y=38.897196 X=31.491165; Y=25.545756 X=30.156039; Y=25.100708 X=19.475034; Y=16.199748 X=19.475034; Y=14.864604 End Shape End Irregular ROI