Geometry

MartaCT.Geometry.FanBeamGeometryMethod
FanBeamGeometry([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 for cols.
  • height=nothing: alias for rows.
  • 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.
source
MartaCT.Geometry.ParallelBeamGeometryMethod
ParallelBeamGeometry([T=Float32]; <keyword arguments>) where {T}

Construct geometry for the simulation.

Arguments

  • : number of projections.
  • nd=nothing: number of detectors. If not specified, same as .
  • rows=nothing: number of rows in the reconstructed image. If not specified, same as nd.
  • cols=nothing: number of columns in the reconstructed image. If not specified, same as rows.
  • width=nothing: alias for cols.
  • height=nothing: alias for rows.
  • α=360: scan angle in degrees.
  • α₀=0: starting scan angle in degrees.
  • center=nothing: virtual center channel, defaults to (nd-1)/2.
source
MartaCT.FanBeam.fan2paraMethod
fan2para(
    sinog_fan::AbstractMatrix{T},
    fbg::FanBeamGeometry;
    <keyword arguments>
) where {T} -> pbg, sinog_para

Convert 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

source
MartaCT.FanBeam.para2fanMethod
para2fan(
    sinog_para::AbstractMatrix{T},
    fbg::FanBeamGeometry;
    <keyword arguments>
) where {T} -> fbg, sinog_fan

Convert 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

source