scico.linop.xray.symcone¶
Cone beam X-ray transform for cylindrically symmetric objects.
Cone beam X-ray transform and FDK reconstruction for cylindrically symmetric objects; essentialy a cone-beam variant of the Abel transform. The implementation is based on code modified from the axitom package [45].
Classes
|
Create a volume by axial rotation of a plane. |
|
Cone beam X-ray transform for cylindrically symmetric objects. |
- class scico.linop.xray.symcone.AxiallySymmetricVolume(input_shape, input_dtype=<class 'numpy.float32'>, axis=0, center=None)[source]¶
Bases:
LinearOperatorCreate a volume by axial rotation of a plane.
- Parameters:
- class scico.linop.xray.symcone.SymConeXRayTransform(input_shape, obj_dist, det_dist, axis=0, pixel_size=None, num_slabs=1)[source]¶
Bases:
LinearOperatorCone beam X-ray transform for cylindrically symmetric objects.
Cone beam X-ray transform of a cylindrically symmetric volume, which may be represented by a 2D central slice, which is rotated about the specified axis to generate a 3D volume for projection. The implementation is based on code modified from the AXITOM package [45]..
- Parameters:
input_shape (
Tuple[int,...]) – Shape of the input array. If 2D, the input is extended to 3D (onto a new axis 1) by cylindrical symmetry.obj_dist (
float) – Source-object distance in arbitary length units (ALU).det_dist (
float) – Source-detector distance in ALU.axis (
int) – Index of axis of symmetry (must be 0 or 1).pixel_size (
Optional[Tuple[float,float]]) – Tuple of pixel size values in ALU.num_slabs (
int) – Number of slabs into which the volume should be divided (for serial processing, to limit memory usage) in the imaging direction.