X ray source and focal spot - xcist/documentation GitHub Wiki
The focal spot is modeled by a number of sample points, each defined by a location (x,y,z) and its relative weight w. These locations and weights are defined by a source callback function, specified by
cfg.callback_source = 'SourceCallbackFunctionName';
CatSim includes callback functions Source_Uniform.m
to define a uniform (rectangular) focal spot, Source_Gaussian.m
to define a Gaussian focal spot, and Source_Performix.m
to define a typical bi-modal Performix focal spot. Input arguments these callback functions include:
cfg.target_angle = SourceTargetAngle_Degrees;
the angle of the target (degrees) relative to the xy-plane: a positive angle means that the plane of the focal spot is tilted away from the positive y-axis in the negative z-direction (similar to gantry tilt angle).
cfg.fs_width = FocalSpotWidth_Millimeters;
the width of the focal spot (x-direction) (mm).
cfg.fs_length = FocalSpotOpticalLength_Millimeters;
the (optical) length of the focal spot (z-direction) (mm), as viewed from the detector.
Instead of defining the (optical) length, one can also specify
cfg.fs_thermal_length = FocalSpotThermalLength_Millimeters;
the thermal length of the focal spot (yz-direction) (mm). If both are specified, the thermal length will be ignored and computed from the (optical) length.
In addition to the source locations and weights, the source callback functions also associate a planar convex hull with the focal spot, defined by a number of corner points. It is the responsibility of the user to ensure that all sample points are inside the hull, as seen from the detector.
The source callback functions also associate three unit vectors with the source: front represents the central direction of the x-ray beam, lateral represents the lateral or fan direction, and long represents the longitudinal or cone direction. These are used to define a direction-dependent flux profile, source collimation, bowtie, ...
The source and focal spot are defined as a structure src containing the following fields:
src.n_samples number of source samples
src.samples [3 x n_samples] array of (x,y,z)
src.weights [n_samples] array of weights
src.front 3D vector defining the central direction of the x-ray beam
src.lateral 3D vector defining the lateral (fan) direction of the x-ray beam
src.long 3D vector defining the longitudinal (cone) direction of the x-ray beam
src.n_corners number of corners of a convex and planar focal spot region
src.corners [3 x n_corners] array of (x,y,z) coordinates of the corners
Note: In order to take full advantage of the focal spot and detector models, and correctly model spatial resolution, appropriate oversampling must be utilized. See the Sampling section of the Wiki.