Class ParallelProjectors

java.lang.Object
jhd.Projection.ParallelProjectors

public class ParallelProjectors
extends java.lang.Object
Create sinograms from square floating point images
Author:
John H. Dunsmuir
  • Nested Class Summary

    Nested Classes
    Modifier and Type Class Description
    static class  ParallelProjectors.BremParallelParams
    Parameter block for fan projecting a tagged 2D image to a sinogram using a simplified conventional CT scanner simulation.
    static class  ParallelProjectors.ParallelParams
    Parameter block for parallel projecting a 2D image to a sinogram The image may contain any values, most commonly x-ray cross-sections.
  • Constructor Summary

    Constructors
    Constructor Description
    ParallelProjectors()  
  • Method Summary

    Modifier and Type Method Description
    float[] imageToBremsstrahlungParallelSinogram​(ParallelProjectors.BremParallelParams ctSet, float[] image, int width, int height)
    Creates a parallel beam sinogram of a tagged image using a filtered bremsstrahlung X-ray source, parallel projection, and scintillation detector.
    float[] imageToBremsstrahlungParallelSinogram2​(ParallelProjectors.BremParallelParams ctSet, float[] image, int width, int height)
    Creates a parallel beam sinogram of a tagged image using a filtered bremsstrahlung X-ray source, parallel projection, and scintillation detector.
    float[] imageToParallelSinogram​(float[] image, int width, int height, int numAngles)
    Creates a sinogram from an image using parallel projection

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ParallelProjectors

      public ParallelProjectors()
  • Method Details

    • imageToBremsstrahlungParallelSinogram

      public float[] imageToBremsstrahlungParallelSinogram​(ParallelProjectors.BremParallelParams ctSet, float[] image, int width, int height)
      Creates a parallel beam sinogram of a tagged image using a filtered bremsstrahlung X-ray source, parallel projection, and scintillation detector. Requires a segmented 2D float image where each material has been assigned an integer tag Requires image pixel size units in CM Requires the chemical formula and density of each tagged component. The tags are converted to x-ray cross-sections over a range of x-ray energies Projections are calculated using a simplified Source,Filter,Sample,Detector model The model records photon counts and converts those to measured sample attenuation Used to validate beam hardening correction methods.
      Parameters:
      ctSet - A CtSettings Parameter block, see nested classes.
      image - A 1D reference to a tagged float image
      width - The image width
      height - The image height
      Returns:
      A 1D reference to a sinogram width*numViews
    • imageToBremsstrahlungParallelSinogram2

      public float[] imageToBremsstrahlungParallelSinogram2​(ParallelProjectors.BremParallelParams ctSet, float[] image, int width, int height)
      Creates a parallel beam sinogram of a tagged image using a filtered bremsstrahlung X-ray source, parallel projection, and scintillation detector. Requires a segmented 2D float image where each material has been assigned an integer tag Requires image pixel size units in CM Requires the chemical formula and density of each tagged component. The tags are converted to x-ray cross-sections over a range of x-ray energies Projections are calculated using a simplified Source,Filter,Sample,Detector model The model records photon counts and converts those to measured sample attenuation Used to validate beam hardening correction methods.
      Parameters:
      ctSet - A CtSettings Parameter block, see nested classes.
      image - A 1D reference to a tagged float image
      width - The image width
      height - The image height
      Returns:
      A 1D reference to a sinogram width*numViews
    • imageToParallelSinogram

      public float[] imageToParallelSinogram​(float[] image, int width, int height, int numAngles)
      Creates a sinogram from an image using parallel projection
      Parameters:
      image - Reference to an NxN (square) floating point image
      width - The image width
      height - The image height
      numAngles - The number of projections between 0 and 180 degrees rotation
      Returns:
      Reference to a floating point sinogram dimensions width x numAngles