edu.stanford.rsl.konrad.reconstruction
Class VOIBasedReconstructionFilter

java.lang.Object
  extended by edu.stanford.rsl.konrad.filtering.ImageFilteringTool
      extended by edu.stanford.rsl.konrad.filtering.multiprojection.MultiProjectionFilter
          extended by edu.stanford.rsl.konrad.reconstruction.ReconstructionFilter
              extended by edu.stanford.rsl.konrad.reconstruction.FBPReconstructionFilter
                  extended by edu.stanford.rsl.konrad.reconstruction.VOIBasedReconstructionFilter
All Implemented Interfaces:
Citeable, GUIConfigurable, SafeSerializable, ProjectionSink, java.io.Serializable, java.lang.Cloneable, java.lang.Runnable
Direct Known Subclasses:
CPUSuperShortScanBackprojector, CUDABackProjector, LolaBunnyBackprojector, RayWeightCorrectingCPUSuperShortScanBackprojector, SubVolumeBackprojector

public class VOIBasedReconstructionFilter
extends FBPReconstructionFilter

The VOIBasedReconstructionFilter is an implementation of the backprojection which employs a volume-of-interest (VOI) to speed up reconstruction. Only voxels within the VOI will be regarded in the backprojection step. Often this can save up to 30 to 40 % in computation time as volumes are usually described as boxes but the VOI is just a cylinder.

Author:
akmaier
See Also:
Serialized Form

Constructor Summary
VOIBasedReconstructionFilter()
           
 
Method Summary
 void backproject(ij.process.ImageProcessor projection, int projectionNumber)
          Backprojects a single projection into the reconstruction space.
 ImageFilteringTool clone()
          Creates a clone of the filter with the same configuration as the original.
 void close()
           
 void configure()
          Configures the object before execution
 java.lang.String getBibtexCitation()
          Returns the citation in bibTex format
 java.lang.String getMedlineCitation()
          Returns the citation in Medline format
 java.lang.String getName()
           
 java.lang.String getToolName()
          returns the name of the actual tool which was used.
 boolean isFastVOIMode()
           
 void prepareForSerialization()
          Sets all data objects in the serialized object to null which do not implement the Serializable interface.
 void setConfiguration(Configuration config)
          Deprecated. 
 void setFastVOIMode(boolean fastVOIMode)
           
 void setMaxI(int maxI)
           
 void setMaximumVolumeOfInterest(java.lang.String maxVOIFile)
           
 void setMaximumVolumeOfInterest(VolumeOfInterest maxVOI)
           
 
Methods inherited from class edu.stanford.rsl.konrad.reconstruction.FBPReconstructionFilter
isDeviceDependent
 
Methods inherited from class edu.stanford.rsl.konrad.reconstruction.ReconstructionFilter
applyHounsfieldScaling, getGeometry, initializeProjectionVolume, setProjectionVolume, updateVolume
 
Methods inherited from class edu.stanford.rsl.konrad.filtering.multiprojection.MultiProjectionFilter
feedFilter, getContext, process, run, setContext, setShowStatus, setSink, start
 
Methods inherited from class edu.stanford.rsl.konrad.filtering.ImageFilteringTool
getFilterTools, isConfigured, setConfigured, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

VOIBasedReconstructionFilter

public VOIBasedReconstructionFilter()
Method Detail

prepareForSerialization

public void prepareForSerialization()
Description copied from interface: SafeSerializable
Sets all data objects in the serialized object to null which do not implement the Serializable interface. It can also be used to save space in the serialized form. Configuration parameters are preserved. Processing data is discarded.

Specified by:
prepareForSerialization in interface SafeSerializable
Overrides:
prepareForSerialization in class ReconstructionFilter

setMaximumVolumeOfInterest

public void setMaximumVolumeOfInterest(java.lang.String maxVOIFile)

setMaximumVolumeOfInterest

public void setMaximumVolumeOfInterest(VolumeOfInterest maxVOI)

setConfiguration

@Deprecated
public void setConfiguration(Configuration config)
Deprecated. 


backproject

public void backproject(ij.process.ImageProcessor projection,
                        int projectionNumber)
                 throws java.lang.Exception
Description copied from class: FBPReconstructionFilter
Backprojects a single projection into the reconstruction space.

Parameters:
projection - the projection to backproject
projectionNumber - the number of the projection in the data set. This is used to identify the correct projection matrix.
Throws:
java.lang.Exception - may happen.

getName

public java.lang.String getName()
Specified by:
getName in interface ProjectionSink
Overrides:
getName in class MultiProjectionFilter

configure

public void configure()
               throws java.lang.Exception
Description copied from interface: GUIConfigurable
Configures the object before execution

Throws:
java.lang.Exception - may happen

getBibtexCitation

public java.lang.String getBibtexCitation()
Description copied from interface: Citeable
Returns the citation in bibTex format

Returns:
citation as String

getMedlineCitation

public java.lang.String getMedlineCitation()
Description copied from interface: Citeable
Returns the citation in Medline format

Returns:
citation as String

close

public void close()
Specified by:
close in interface ProjectionSink
Overrides:
close in class MultiProjectionFilter

clone

public ImageFilteringTool clone()
Description copied from class: ImageFilteringTool
Creates a clone of the filter with the same configuration as the original.

Overrides:
clone in class FBPReconstructionFilter

getToolName

public java.lang.String getToolName()
Description copied from class: ImageFilteringTool
returns the name of the actual tool which was used.

Specified by:
getToolName in class ImageFilteringTool
Returns:
the name of the tool as string.

isFastVOIMode

public boolean isFastVOIMode()
Returns:
the fastVOIMode

setFastVOIMode

public void setFastVOIMode(boolean fastVOIMode)
Parameters:
fastVOIMode - the fastVOIMode to set

setMaxI

public void setMaxI(int maxI)
Parameters:
maxI - the maxI to set