Samples

General properties

Any number of samples can be defined in the "samples" array and placed in the scene, either attached to the rotating sample stage, or fixed to the world coordinate system. A sample object has the following properties.

The sample name:

265"name": "Tetrahedron"

A reference to the model file (e.g. STL or CAD file) that describes the sample geometry:

266"file": {"value": "tetra.stl", "drifts": null}

The unit of length that is used in the model file:

267"unit": "mm"

A scaling factor for each axis of the sample coordinate system, if the model should be resized by a constant factor:

268"scaling_factor": {
269  "r": {"value": 0.75, "drifts": null},
270  "s": {"value": 0.75, "drifts": null},
271  "t": {"value": 0.75, "drifts": null}
272}

The material of the sample, given by a "material_id" that references a material definition in the materials section of the file:

273"material_id": "Glass Ceramic"

Sample positioning

Sample attached to the stage coordinate system

The sample coordinate system {r, s, t} is equivalent to the surface model’s proper {x, y, z} coordinate system (except for the location of the origin). It is specific to each sample and can be placed in the stage coordinate system by providing its center coordinates in terms of {u, v, w}O (see Fig. 3 for an illustration). If done so, the sample is attached to the stage and will follow any rotations and translations performed by the stage during the CT scan.

_images/sample.svg

Fig. 3 World coordinate system {x, y, z}, stage coordinate system {u, v, w}O and sample coordinate system {r, s, t}.

The description follows the convention that has been established for the placement of objects in the world coordinate system, with the following sub-elements of the sample’s "position" property.

274"position": {
275  "center": {
276    "u": {"value":  0, "unit": "mm"},
277    "v": {"value": 20, "unit": "mm"},
278    "w": {"value":  0, "unit": "mm"}
279  },
280
281  "vector_r": {
282    "u": {"value":  1},
283    "v": {"value":  0},
284    "w": {"value":  0}
285  },
286  "vector_t": {
287    "u": {"value":  0},
288    "v": {"value": -0.2},
289    "w": {"value":  1}
290  },
291
292  "deviations": []
293}

The center is given in terms of the stage coordinate system {u, v, w}O.

To define the sample’s orientation, its \vec{r} and \vec{t} vector must also be expressed in terms of the stage coordinate system {u, v, w}O:

In analogy to the deviations of the principal elements of the scene (see deviations in the geometry section), the sample’s deviations can also take place along axes of the sample coordinate system {r, s, t}.

Fixed sample position in the world coordinate system

If the sample is placed in the fixed world coordinate system, it will not follow any motions performed by the sample stage. Instead, it will stay fixed in {x, y, z} if no custom drifts are specified.

The description is very similar to placing a sample in the stage coordinate system, as described in the previous section. The only difference is that the object’s center and basis vectors \vec{r} and \vec{t} are now expressed in terms of the world coordinate system {x, y, z}, just like it is done for the source and detector. The following listing gives an example of an aluminium frame around the sample stage that is fixed to the world coordinate system.

295{
296  "name": "Attachment Frame",
297  "file": {"value": "frame.stl", "drifts": null},
298  "unit": "mm",
299  "scaling_factor": {
300    "r": {"value": 1.0, "drifts": null},
301    "s": {"value": 1.0, "drifts": null},
302    "t": {"value": 1.0, "drifts": null}
303  },
304  "material_id": "Al",
305  "position": {
306    "center": {
307      "x": {"value": 275, "unit": "mm"},
308      "y": {"value":   0, "unit": "mm"},
309      "z": {"value":   0, "unit": "mm"}
310    },
311
312    "vector_r": {
313      "x": {"value":  1},
314      "y": {"value":  0},
315      "z": {"value":  0}
316    },
317    "vector_t": {
318      "x": {"value":  0},
319      "y": {"value":  1},
320      "z": {"value":  0}
321    },
322
323    "deviations": []
324  }
325}