Go to top
European Commission logo
RAMI website

Wytham Wood


The HET51_WWO_TLS scene has been obtained from the Wytham Woods 3D model which represents a one hectare deciduous forest in Wytham, UK. Calders et al. (2018) matched the TLS data with traditional census data to determine the species of each individual tree and allocate species-specific radiometric properties.

The 3D structure of the canopy and of each modelled tree are stored in ASCII obj files (a modified version of the open Wavefront format https://www.fileformat.info/format/wavefrontobj/egff.htm).

Whether the original Wytham Wood model features a sloping terrain model, in RAMI-V all trees have been shifted along the z-axes to lay on a common flat surface. This guarantees continuity on the boundaries and energy-conservation in an infinite replication scheme. Additionally, the scene have been cropped to fit a 100x100m bounding-box (Table 2). To do that, any primitive (triangle, cylinder or disc) laying outside the new bbox has been omitted or commented from the original files.
Figures 1 and 2 show a graphical rendering of the HET51_WWO_TLS scene as obtained with Rayshade program. Additional information here.

Calders, K., Origo, N., Burt, A., Disney, M. Nightingale, J., Raumonen, P., Akerblom, M, Malhi, Y. and Lewis, P., (2018 ) Virtual forest for radiative transfer modelling: realistic stand reconstruction from terrestrial LiDAR. , Remote Sensing, 10(6):1-15.

Wytham Wood scene: cropped
Figure 1: Panoramic view of the HET51_WWO_TLS scene (Rayshade rendering).
Wytham Wood scene: flattened
Figure 2: Lateral view of the HET51_WWO_TLS scene (Rayshade rendering).

The scene definition consists of three main parts:

  1. a set of files used to hierarchically merge and clone the above components into the resulting scene;
  2. 558 files containing the definition of the trunk and stems for each tree (namely: ww_*.{obj,def});
  3. 528 files containing the definition of the crowns (namely: lm_*.{obj,def});

Note: lm_1638 was removed in this release of the scene as it does not contain primitives within the selected bounding box.

All these files are stored in the zipped archives linked in Table 1.

The leaves are represented with a triangular meshing. The Wavefront files are compliant, for leaves only, with the import tool of Blender software (suggest v2.80+), which allows to export the meshing in several additional formats. As the stems are represented with groups of cylinders, and the standard Wavefront format does not foresee a keyword to represent such a primitive, the Blender importer will not manage the original ww_*.obj files.

The Rayshade like files (.def) have been converted with a Python tool developed at the Joint Research Centre and contain the definition of triangles position and orientation in the scene. This format might be readable with respect to the Wavefront representation. Users should adopt the one more convenient to produce a suitable input for their code.

Terrain should be defined as a flat surface at z=0 with horizontal coordinates (x,y) from (40,100) to (140,200).

Hierarchical definition of the scene

The overall scene is created by distributing the trees (stem and crown) into a unique scenario. This is done group named scene_part_all defined in the file scene_all.obj(def). The group results itself from the composition of 133 groups named scene_part_i (files scene_part_i.obj(def), with i varying from 1 to 143 (note: there are missing undefined parts in the series: 3, 32, 37, 50, 51, 61, 63, 65, 74, 81).

Elements Wavefront * Rayshade ** Num files
Stems obj def 558
Leaves obj def 528
Scene definition obj def 1
Table 1: Link to the files provided for the definition of the scene. (*: Librat compliant wavefront files; **: converted from obj in column 2 using a python tool developed at the JRC)

The stems and leaves, minimum and maximum coordinates are given, in meters, in Table 2.

  X (m) Y (m) Z (m)
  From To From To From To
Stems 40.0 140.0 100.0 200.0 0.0 30.5
Leaves 40.0 140.0 100.0 200.0 0.0 30.5
Table 2: Rough extensions of the Wytham Wood scene from the coordinates of the vertices (v: keyword) defined in the OBJ files.

The center of the scene, with respect to which all measurements should refer, is set arbitrarily to
($x_c$, $y_c$) = (90 m, 150 m).

Notes on the file formats

The Wytham Wood scene is described by using triangles and cylinders primitives.

Representation of triangles

For what concerns the Wavefront .obj files the triangle representation follows the standard format as described in https://www.fileformat.info/format/wavefrontobj/egff.htm.

usemtl lm_ACERPS
v 96.09 164.13 6.81
v 96.13 164.00 6.65
v 96.03 163.99 6.57
f -3 -2 -1
Figure 3: Example of a triangle with three vertices (v), and a facet (f) de fined accordingly.

Alternatively, the rayshade format represents triangle through the following statement

triangle Tag(lm_ACERPS) lm_ACERPS    96.09  164.13  6.81   96.13  164.00  6.65  96.03  163.99  6.57
Figure 4: The same triangle defined in Figure 3, but using the Rayshade format. A facet (f) is defined by three vertices (v).

Representation of cylinders

In the extended version of the wavefront files (ww_*.obj) the keyword ccyl is used to define closed cylinders, such that rays can't get inside the trunk at the joints. In the snippets below: 1) "g box 16250" is the bounding box definition and will be inside some pair of "{}". 2) "usemtl ww_ACERPS" defines the material to use (defined in the spectral properties file below); 3) the two lines beginning with "v" define some vertices (here they are used to define the center of the two cylinder ends, so that the cylinder will be around the line drawn with those two points; 4) "ccyl -2 -1 0.139679190346" as mentioned is the definition of a closed cylinder with two ends at the vertices defined in the previous two lines (-1 and -2 lines), and the final number is its radius (0.14).

g_box 16250
usemtl ww_ACERPS
v 92.7 162.0 -11.6
v 92.4 162.2 -11.8
ccyl -2 -1 0.14
Figure 5: Example of cylinder representation in the not-standard Wavefront file used here to represent stems.

Similarly, in the Rayshade format (ww_*.def) files, cylinders are defined as follows

name box_16250 list
    cylinder Tag(ww_ACERPS) ww_ACERPS 0.14 92.4 162.2 -11.8 92.7 162.0 -11.6
    disc Tag(ww_ACERPS) ww_ACERPS 0.14 92.4 162.2 -11.8 -0.002975  0.001314 -0.001998
    disc Tag(ww_ACERPS) ww_ACERPS 0.14 92.7 162.0 -11.6 0.002975 -0.001314  0.001998
Figure 6: Example of the same cylinder of Figure 5 cylinder representation in the Rayshade format.


  1. the . tag is identifying a specific object (namely box_16250) containing an open cylinders and two caps (disks);
  2. the cylinder keyword is used to define an open cylinder with radious R = 0.14 m, with the symmetry axes extending from ($x_b, y_b, z_b$) = (92.4, 162.2, -11.8) to ($x_t, y_t, z_t$) = (92.7, 162.0, -11.6);
  3. as the cylinder are not closed in this representation, two end-caps are also defined with two lines for the top and bottom caps, respectively, as follow "disk Tag(tagname) spectral_prop_id radious $x_c y_c z_c n_x n_y n_z$", where the vector $(x_c, y_c, z_c)$ defines the center of the disc, and the $(n_x, n_y, n_z)$ defines its normal.

Notes on obj files (v2)

In v2 HET51 files, only the statements starting with 'f' and 'ccyl' (instantiation of facets and closed cylinders, respectively) have been treated by commenting them '#' from the original .obj files.
Be aware that, all vertices ('v'), including those laying outside the new bounding box, have been kept in the file as uncommented vertices though they are not used, as in the following example:

v 39.9981701856 103.529603496 17.499
v 40.0710467167 103.589127267 17.317
#ccyl -2 -1 0.0404831914863

v 39.378400 100.452300 14.2442
v 39.527700 100.361600 14.3012
v 39.504800 100.253800 14.3299
#f -3 -2 -1

The following code can used to comment unwanted vertices in v2 .obj files:

for f in lm/lm_*.obj
awk '$0 !~ /#f/ { line[NR] = $0 }
$0 ~ /#f/ { line[NR] = $0 ; for (i=(NR-1);i>=(NR-3);i--) line[i] = "#" line[i] }
END{ for (i=1;i<=NR;i++) print line[i]}' $f > $f.fullcommented
for f in ww/ww_*.obj
awk '$0 !~ /#ccyl/ { line[NR] = $0 }
$0 ~ /#f/ { line[NR] = $0 ; for (i=(NR-1);i>=(NR-2);i--) line[i] = "#" line[i] }
END{ for (i=1;i<=NR;i++) print line[i]}' $f > $f.fullcommented

All of the foliage Wood and background components in the Wytham Woods scene feature LAMBERTIAN scattering properties. The tables below contain the magnitudes of the reflectance and transmission characteristics of the various canopy components for fourteen different spectral bands. The experimental identifier for the Wytham Wood scene is given by HET51_WWO_TLS_BBB_zZZaAAA where BBB is one of the spectral bands of RAMI-V (O03,O04,O06,O08,O10,O11,O12,M08,O17,MD5,M11,MD7,M12,GED). An ASCII (text) file summarising all of this information can be found here.

Trunks and branches have the same reflectance within a same tree species, and only branches is shown in the spectral properties' file and the graph below.


The illumination conditions are very likely dependent on the kind of measurement in RAMI-V more than in previous RAMI phases. For brf*, dhr, fabs*, ftran* measurements, except brf_sat, the illumination were listed in the description of measure brfpp, and duplicated in other measure description pages. For these geometries the tag will be _zZZaAAA_ with ZZ and AAA defining $\theta_i$ and $\phi_i$, respectively. In addition, diffuse isotropic illumination is foreseen for bhr, fabs*, ftran* measures (geometry tag will then be _DIFFUSE_). lidar* like measurements and thp illumination are described in the relevant measure description pages, and are the same for all scenes for which they are foreseen.

Scene Site Jan Apr Jul
HET51_WWO_TLS Wytham Wood _z35a138_ _z46a147_ _z75a154_
Table 3: Illumination conditions.