Geometry
MartaCT.Geometry.FanBeamGeometry — MethodFanBeamGeometry([T=Float32]; <keyword arguments>) where {T}Create a new FanBeamGeometry object with given parameters.
It is assumed that the detectors are arranged on a circle arc, not flat.
Arguments
- `nϕ: number of scan angles.
nd=nothing: number of detectors.rows=nothing: number of rows in the reconstructed image.cols=nothing: number of columns in the reconstructed image.width=nothing: alias forcols.height=nothing: alias forrows.D: focal spot to ISO distance.D′=nothing: focal spot to detectors distance; if not specified and alsoγis not specified, is defined so that the total fan angle is 1 radian.γ=nothing: total fan angle in degrees.δ=1: detectors spacing (cell size).α=360: scan angle in degrees.α₀=0: scan starting angle in degrees.center=nothing: virtual center channel, defaults to(nd-1)/2.
MartaCT.Geometry.ParallelBeamGeometry — MethodParallelBeamGeometry([T=Float32]; <keyword arguments>) where {T}Construct geometry for the simulation.
Arguments
nϕ: number of projections.nd=nothing: number of detectors. If not specified, same asnϕ.rows=nothing: number of rows in the reconstructed image. If not specified, same asnd.cols=nothing: number of columns in the reconstructed image. If not specified, same asrows.width=nothing: alias forcols.height=nothing: alias forrows.α=360: scan angle in degrees.α₀=0: starting scan angle in degrees.center=nothing: virtual center channel, defaults to(nd-1)/2.
MartaCT.FanBeam.fan2para — Methodfan2para(
sinog_fan::AbstractMatrix{T},
fbg::FanBeamGeometry;
<keyword arguments>
) where {T} -> pbg, sinog_paraConvert given sinogram sinog_fan from fan beam geometry to parallel beam projections.
It is assumed that the detectors are arranged on a circle arc, not flat.
The function returns a tuple where fbg is the new geometry with fan beam projections parameters and sinog_fan is the converted sinogram.
Arguments
sinog_para: the input sinogram.pbg: the parallel geometry parameters.background=nothing: background value to be used, defaults to 0.interpolation: interpolation strategy; it should be a function taking a matrix as input and returning a function of the indices to get the interpolated value. By default it is a bilinear interpolation.
See Also: para2fan
MartaCT.FanBeam.para2fan — Methodpara2fan(
sinog_para::AbstractMatrix{T},
fbg::FanBeamGeometry;
<keyword arguments>
) where {T} -> fbg, sinog_fanConvert given sinogram sinog_para from parallel beam geometry to fan beam projections.
The function returns a tuple where fbg is the new geometry with fan beam projections parameters and sinog_fan is the converted sinogram.
Arguments
sinog_para: the input sinogram.pbg: the geometry parameters.D: focal spot to ISO distance.D′=nothing: focal spot to detectors distance; if not specified and alsoγis not specified, is defined so that the total fan angle is 1 radian.γ=nothing: total fan angle in degrees.δ=1: detectors spacing (cell size).background=nothing: background value to be used, defaults to 0.interpolation: interpolation strategy; it should be a function taking a matrix as input and returning a function of the indices to get the interpolated value. By default it is a bilinear interpolation.
See Also: fan2para