Detector

General properties

The following properties can be specified in the detector section of the scenario file.

The model name and the manufacturer, if an existing detector is modelled:

135"model":        "DT-1",
136"manufacturer": "Detector Company"

With the "type" property, it can be defined whether an ideal or a real detector is described or shall be simulated. An ideal detector is assumed to convert all incident radiation energy linearly into gray values. For an ideal detector, no scintillator should be defined in the scenario file. A real detector is assumed to take the absorption characteristics and quantum yield of the scintillator material into account.

137"type": "real",
138"type": "ideal"

The number of detector pixels in directions \vec{u}_\textsf{D} and \vec{v}_\textsf{D}:

138"columns": {"value": 200, "unit": "px"},
139"rows":    {"value": 150, "unit": "px"},

The pixel pitch (distance between neighbouring pixels) in directions \vec{u}_\textsf{D} and \vec{v}_\textsf{D}. The physical dimensions of the active detector area are calculated from the pixel pitch and the number of pixels per row and column.

140"pixel_pitch": {
141  "u": {"value": 1.3, "unit": "mm"},
142  "v": {"value": 1.3, "unit": "mm"}
143}

The bit depth of the detector:

144"bit_depth": {"value": 16}

The integration time is the exposure time to take one frame. The dead time is the time between exposure times, which includes the readout time of the detector.

145"integration_time": {"value": 0.5, "unit": "s"},
146"dead_time":        {"value": 50,  "unit": "ms"},

The image lag between subsequent frames can be specified, following loosely the definition of GlobalLag1f in ASTM E2597. [1]

(3)\textsf{image~lag} = \frac{\text{\textsf{Gray value at first frame radiation fully off}}}{\text{\textsf{Gray value at radiation fully on}}}

147"image_lag": {"value": 0.05, "unit": null}

As opposed to GlobalLag1f, the image lag refers to the scenario described in this file, particularly the specified radiation intensity and integration time. Here, it is therefore not treated as a parameter intrinsic to the detector, but describes its lag characteristics only for the specified scenario.

Gray value characteristics

There are three ways provided to model the gray value characteristics of the detector.

148"gray_value": {
149  "imax":   {"value": 45000},
150  "imin":   {"value":   180},
151
152  "factor": {"value": 1.8e13, "unit": "1/J"},
153  "offset": {"value":    180, "unit": null},
154
155  "intensity_characteristics_file": {"value": "detector_gray_values.tsv"},
156  "efficiency_characteristics_file": {"value": "detector_efficiency.tsv"}
157}

Min/Max method

The first approach is to specify the average gray value at the maximum intensity of the free beam in the parameter "imax" and the average gray value at no incident radiation in the parameter "imin". Between these two values, a linear interpolation based on the incident intensity should take place to calculate the gray value of a pixel. The given values refer to the first frame of the CT scan and are not adapted to different condition in other frames. For example, if the tube current rises during the scan, the maximum free beam gray value in the projection image should rise as well.

Linear response function

The second method allows to specify a linear response function. This function assigns a gray value to the collected energy E (in J) for each pixel.

(4)\text{\textsf{Gray Value}} = \left(\textsf{factor} \cdot E \right) + \textsf{offset}

The file format allows to provide a "factor" and an "offset" for this linear function. This method allows the gray values to change with a change in pixel size, tube power, integration time or a change in intensity due to a different focus-detector distance.

This method has precedence over the first method if "factor" and "offset" are set and not null. From eq. (4) it becomes clear that the "factor" should have the inverse unit of the deposited energy: 1/J.

External characteristics file

For a more general approach, it is also possible to provide an arbitrary gray value characteristics from a CSV or TSV file specified by the parameter "intensity_characteristics_file". The file should contain the columns listed in Tab. 1, separated by a comma or tab character.

A linear interpolation is assumed to take place between the given values. Therefore, if higher precision is required, a higher density of values should be provided in this file.

If a valid intensity characteristics CSV file is specified and the parameter is not set to null, this method has precedence over the first two methods.

Tab. 1 Table structure for intensity characteristics files

Column

Property

1

Energy E in J, collected by a pixel

2

Gray value

3

Gray value uncertainty (optional)

Quantum efficiency

The photon conversion efficiency (quantum efficiency) of the detector can be provided as a characteristics curve from a file, using the parameter "efficiency_characteristics_file". This file should contain the columns listed in Tab. 2, separated by a comma or tab character.

A linear interpolation is assumed to take place between the given values. Therefore, if higher precision is required, a higher density of values should be provided in this file.

The quantum efficiency is assumed to already take the detector’s window into account, but not additional, external filters.

Tab. 2 Table structure for efficiency characteristics files

Column

Property

1

Photon energy in keV

2

Quantum efficiency, as the ratio of incident photons to absorbed photons

3

Quantum efficiency uncertainty (optional)

Image quality

Noise

The noise in the projection image can be described by the signal-to-noise ratio (SNR) at the maximum free-beam intensity for the first frame of the CT scan, with no frame averaging applied. This value can be specified in the parameter "snr_at_imax".

158"noise": {
159  "snr_at_imax": {"value": 205.3},
160  "noise_characteristics_file": {"value": "detector_noise.tsv"}
161}

It is also possible to provide an intensity-dependent noise characteristic using a CSV or TSV file. A valid characteristics file has precedence over the SNR at maximum intensity. The characteristics file should contain the columns listed in Tab. 3, separated by a comma or tab character.

Tab. 3 Table structure for noise characteristics files

Column

Property

1

Mean pixel gray value

2

Signal-to-noise ratio (SNR)

3

SNR uncertainty (optional)

Gain

A gain factor can be specified using the "gain" parameter. It does not have to be a number, but can also be the name of the gain mode used. This differs between CT or detector manufacturers.

162"gain": {"value": 3},

This parameter is only for documentation purposes. A simulation software is not expected to take this value into account. Instead, the provided gray value and noise characteristics are assumed to match the gain mode that is recorded here.

Unsharpness

163"unsharpness": {
164  "basic_spatial_resolution": {"value": 0.1, "unit": "mm"},
165  "mtf": {"value": "detector_mtf.tsv"}
166}

There are two ways provided to specify the detector unsharpness:

  1. The basic spatial resolution, as defined in ASTM E2597 [1], provided using the parameter "basic_spatial_resolution".

  2. The modulation transfer function (MTF, [2]), provided through a CSV or TSV file. The file name can be given in the parameter "mtf". It should contain the columns listed in Tab. 4, separated by comma or tab characters. If a valid MTF is provided, this has precedence over the basic spatial resolution.

Tab. 4 Table structure for MTF files

Column

Property

1

Frequency in lp/mm

2

Modulation contrast, from the interval [0, 1]

3

Modulation contrast uncertainty (optional)

Bad pixel map

The bad pixel map provided here should be a 2D gray-scale image file with a signed data type (int8, int16, float32 or float64) with a number of columns and rows that matches the detector. A pixel gray value of -1 means that the pixel is working properly. A pixel gray value other than -1 means that the pixel does not function correctly and its value is instead replaced by the provided gray value from the bad pixel map.

167"bad_pixel_map": {
168  "file": {"value": "badpixels.raw", "drifts": null},
169  "type": "int16",
170  "endian": "little",
171  "headersize": 0
172}

Scintillator, window & filters

In this section, the scintillator and filter materials for the detector can be defined. The window and filter materials are split into "front" and "rear" components (e.g., to use as a back panel, mostly to consider backscattering). Any number of windows and filters can be defined. For the materials, only a material ID is given here. The actual material definition and declaration of its chemical composition is found in the materials section of the JSON file.

The "window" materials refer to the detector’s built-in components, whereas "filters" are assumed to be additional components that are not originally part of the detector housing. This distinction is made because the detector’s quantum efficiency (which can be defined in the "efficiency_characteristics_file") already takes the window material into account, but none of the additional, external filters.

Note that front and rear of the detector are not explicitly identified by the detector’s normal vector or any other property, but only given implicitly by the side of the detector facing the source.

173"scintillator": {
174  "material_id": "CsI",
175  "thickness": {"value": 0.15, "unit": "mm"}
176},
177"window": {
178  "front": [
179    {
180      "material_id": "Kapton",
181      "thickness": {"value": 0.13, "unit": "mm"}
182    }
183  ],
184  "rear": []
185},
186"filters": {
187  "front": [
188    {
189      "material_id": "Al",
190      "thickness": {"value": 0.2, "unit": "mm"}
191    },
192    {
193      "material_id": "Cu",
194      "thickness": {"value": 0.1, "unit": "mm"}
195    }
196  ],
197  "rear": [
198    {
199      "material_id": "Al",
200      "thickness": {"value": 2.0, "unit": "mm"}
201    }
202  ]
203}