Package jhd.Projection
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 projectionMethods 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 imagewidth
- The image widthheight
- 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 imagewidth
- The image widthheight
- 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 imagewidth
- The image widthheight
- The image heightnumAngles
- The number of projections between 0 and 180 degrees rotation- Returns:
- Reference to a floating point sinogram dimensions width x numAngles
-