Source
General properties
The following properties can be specified in the source section of the scenario file.
The model name and the manufacturer, if an existing X-ray source is modelled:
207"model": "XS-1",
208"manufacturer": "X-ray Tube Company",
The tube acceleration voltage and the target current:
209"voltage": {"value": 130, "unit": "kV"},
210"current": {"value": 143, "unit": "uA"}
Target
211"target": {
212 "material_id": "W",
213 "type": "reflection",
214 "thickness": null,
215 "angle": {
216 "incidence": {"value": 45, "unit": "deg"},
217 "emission": {"value": 45, "unit": "deg"}
218 }
219}
The target material is defined by providing a "material_id"
that refers to a material declaration in the materials section of the file.
The "type"
can be either a transmission target or a reflection target:
213"type": "transmission",
214"type": "reflection"
For a transmission target, its thickness must be specified:
214"thickness": {"value": 3.0, "unit": "um"}
For a reflection target, this parameter should be set to null
.
The angles of electron incidence and main X-ray emission can be defined and refer to the angles between the target surface and electron beam or main photon emission direction, respectively.
Spot intensity profile
220"spot": {
221 "size": {
222 "u": {"value": 100.0, "unit": "um"},
223 "v": {"value": 100.0, "unit": "um"},
224 "w": {"value": 0.0, "unit": "um"}
225 },
226 "sigma": {
227 "u": {"value": 50.0, "unit": "um"},
228 "v": {"value": 50.0, "unit": "um"},
229 "w": {"value": 0.0, "unit": "um"}
230 },
231 "intensity_map": {
232 "file": {"value": "spot_profile.raw", "drifts": null},
233 "type": "float32",
234 "dim_x": 301,
235 "dim_y": 301,
236 "dim_z": null,
237 "endian": "little",
238 "headersize": 0
239 }
240}
The spot intensity profile is specified in the source’s "spot"
section. At first, the "size"
of the virtual spot rectangle or volume is defined along the three axes of the source coordinate system. If only a two-dimensional spot profile is modelled, the size along the source’s normal axis should be set to 0
.
If the spot size is set to null
, the simulation software is free to choose a size that matches the required (Gaussian) shape.
221"size": null
The shape of the spot can be defined in the following three ways.
Simple Gaussian profiles
A simple Gaussian profile can be modelled by specifying the spatial sigmas for each dimension:
226"sigma": {
227 "u": {"value": 50.0, "unit": "um"},
228 "v": {"value": 50.0, "unit": "um"},
229 "w": {"value": 0.0, "unit": "um"}
230},
2D images
For a more detailed approach, the intensity profile can also be provided from an external image file. In this case, the vector of the source coordinate system points from left to right in the image, and the vector points from top to bottom, in analogy to the detector geometry. The image shall be resized to match the given "size"
of the spot rectangle, without necessarily retaining the original aspect ratio of the image. The picture is recommended to be a 32 bit float gray-scale image and the pixel values in the interval [0, 1], with 0 meaning no intensity, and 1 meaning full intensity. However, a simulation software must also support gray-scale integer file formats and be able to re-normalize the provided gray values accordingly.
If a valid spot intensity image is provided, this method takes precedence over the previously described specification of Gaussian sigmas.
Further details about referring to two-dimensional data files (RAW or TIFF) are given in the section about General structures.
3D volumes
To describe a three-dimensional spot profile, a RAW file can be provided. It is recommended to be a 32 bit float volume with values between 0
and 1
, and should otherwise be re-normalized by the simulation software. The lowest value means no intensity, the highest value means maximum intensity. If specified, this method takes precedence over the first two described methods.
The direction of the given volume points along the vector of the source coordinate system, points in direction , and in direction . The volume shall be resized to match the "size"
of the spot volume, without necessarily retaining the original aspect ratio of the volume file.
Further details about referring to three-dimensional data files (RAW volumes) are given in the section about General structures.
Spectrum
If the spectrum is to be calculated by the simulation software, the following three parameters decide whether only a monochromatic energy scenario is described or a complete spectrum. If a valid spectrum file is provided, it takes precendence over the monochromatic mode. If no spectrum file is provided, a simulation software is free to generate its own spectrum from the given tube parameters.
241"spectrum": {
242 "monochromatic": false,
243 "file": {"value": "tube_spectrum_130kV.tsv", "drifts": null}
244}
The spectrum from the provided file is assumed to be already filtered by the tube’s window material, but not yet by any of the filters in front of the tube (as specified under Tube window and filters). The CSV or TSV spectrum file should contain the columns listed in Tab. 5, separated by a comma or tab character.
Column |
Property |
---|---|
1 |
Photon energy in keV |
2 |
Number of photons in 1 / (s ⋅ sr ⋅ mA) |
3 |
Uncertainty in the number of photons (optional) |
The energy values correspond to the centre of the histogram bins. The interpolation between the bin values shall not be specified here and is left to the simulation software. If a valid spectrum file is specified and the "file"
parameter is not set to null
, this has precedence over the spectrum calculated by the simulation software or the monochromatic mode.
Tube window and filters
The "window"
material(s) and the additional "filters"
in front of the tube are specified in two separate JSON arrays. For both, an arbitrary number of materials and thicknesses can be specified. If a source spectrum is provided in a file, the spectrum is assumed to be already filtered by all "window"
materials but not yet by any "filters"
.
The "material_id"
refers to the material definition in the "materials"
section of the file. Also, a window and filter "thickness"
must be provided.
245"window": [
246 {
247 "material_id": "Al",
248 "thickness": {"value": 4.0, "unit": "mm"}
249 }
250],
251"filters": [
252 {
253 "material_id": "Brass",
254 "thickness": {"value": 0.2, "unit": "mm"}
255 },
256 {
257 "material_id": "Cu",
258 "thickness": {"value": 0.17, "unit": "mm"}
259 }
260]