edu.stanford.rsl.konrad.calibration
Class PDS2Phantom

java.lang.Object
  extended by edu.stanford.rsl.konrad.phantom.workers.SliceWorker
      extended by edu.stanford.rsl.konrad.calibration.PDS2Phantom
All Implemented Interfaces:
Citeable, GUIConfigurable, NamedParallelizableRunnable, ParallelizableRunnable, java.lang.Cloneable, java.lang.Runnable

public class PDS2Phantom
extends SliceWorker

Class to Model a PDS2 Calibration Phantom. Some details on the phantom are presented in

N.K. Strobel, B. Heigl, T.M. Brunner, O. Sch�utz, M.M. Mitschke, K. Wiesent, and T. Mertelmeier. Improving 3d image quality of x-ray c-arm imaging systems by using properly designed pose determination systems for calibrating the projection geometry. Proc. of SPIE, 5030:943�954, 2003.

All geometric parameters are specified in millimeters [mm] for distances and radians for angles.

Author:
akmaier

Constructor Summary
PDS2Phantom()
          Creates a new PDS2Phantom
 
Method Summary
 SliceWorker clone()
           
 int computeBeadNumber(boolean[] code)
          Matches a sequence of booleans against the internal bead encoding.
 Point3D[] getBeadPositions3D()
           
 java.lang.String getBibtexCitation()
          Returns the citation in bibTex format
 java.lang.String getMedlineCitation()
          Returns the citation in Medline format
 java.lang.String getProcessName()
           
 void setBeadCoordinates(CalibrationBead bead, int id)
          passes the 3D coordinate information to the calibration bead object.
 void workOnSlice(ij.process.ImageProcessor current, int i)
          Method will voxelize the phantom into the current slice
 
Methods inherited from class edu.stanford.rsl.konrad.phantom.workers.SliceWorker
configure, copyInternalElementsTo, getAvailableSliceWorkers, getAvailableWorkersAsString, getWorkerFromString, isConfigured, isShowStatus, run, setImagePlus, setLatch, setShowStatus, setSliceList, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PDS2Phantom

public PDS2Phantom()
Creates a new PDS2Phantom

Method Detail

setBeadCoordinates

public void setBeadCoordinates(CalibrationBead bead,
                               int id)
passes the 3D coordinate information to the calibration bead object.

Parameters:
bead - the calibration bead
id - the bead id inside the phantom (use computeBeadNumber)

computeBeadNumber

public int computeBeadNumber(boolean[] code)
Matches a sequence of booleans against the internal bead encoding. Returns the index of the first bead in the sequence.

Parameters:
code -
Returns:
the bead number

workOnSlice

public void workOnSlice(ij.process.ImageProcessor current,
                        int i)
Description copied from class: SliceWorker
Method will voxelize the phantom into the current slice

Specified by:
workOnSlice in class SliceWorker
Parameters:
current - the volume slice
i - the slice number

getProcessName

public java.lang.String getProcessName()

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

getBeadPositions3D

public Point3D[] getBeadPositions3D()

clone

public SliceWorker clone()
Specified by:
clone in class SliceWorker