package edu.stanford.rsl.conrad.phantom;
import edu.stanford.rsl.conrad.geometry.shapes.simple.Cylinder;
import edu.stanford.rsl.conrad.physics.PhysicalObject;
import edu.stanford.rsl.conrad.physics.materials.database.MaterialsDB;
import edu.stanford.rsl.conrad.utils.CONRAD;
import edu.stanford.rsl.jpop.utils.UserUtil;
/**
* Phantom to test forward and back projection.
*
* Creates a water cylinder phantom.
*
* @author Martin Berger
*
*/
public class WaterCylinderPhantom extends AnalyticPhantom {
/**
*
*/
private static final long serialVersionUID = -2123220619757423791L;
double cylRadius = 100;
double cylHeight = 200;
@Override
public String getBibtexCitation() {
return CONRAD.CONRADBibtex;
}
@Override
public String getMedlineCitation() {
return CONRAD.CONRADMedline;
}
@Override
public String getName() {
return "Water Cylinder Phantom";
}
@Override
public void configure() {
try {
cylRadius = UserUtil.queryDouble("Radius of the cylinder", cylRadius);
cylHeight = UserUtil.queryDouble("Height of the cylinder", cylHeight);
buildPhantom();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
protected void buildPhantom(){
Cylinder s = new Cylinder(cylRadius, cylRadius, cylHeight);
s.setName("Water Cylinder");
PhysicalObject po = new PhysicalObject();
po.setMaterial(MaterialsDB.getMaterialWithName("Water"));
po.setShape(s);
add(po);
}
public WaterCylinderPhantom() {
}
}
/*
* Copyright (C) 2010-2014 Martin Berger
* CONRAD is developed as an Open Source project under the GNU General Public License (GPL).
*/