package edu.stanford.rsl.conrad.phantom;
import edu.stanford.rsl.conrad.geometry.shapes.simple.Cylinder;
import edu.stanford.rsl.conrad.geometry.transforms.Translation;
import edu.stanford.rsl.conrad.physics.PhysicalObject;
import edu.stanford.rsl.conrad.physics.materials.database.MaterialsDB;
public class BonePhantom extends AnalyticPhantom {
/**
*
*/
private static final long serialVersionUID = 8677909457268633175L;
@Override
public String getBibtexCitation() {
// TODO Auto-generated method stub
return "Qiao & Meng Phantom";
}
@Override
public String getMedlineCitation() {
// TODO Auto-generated method stub
return "Qiao & Meng Phantom";
}
@Override
public String getName() {
// TODO Auto-generated method stub
return "Bone Inset Phantom";
}
public BonePhantom(){
PhysicalObject poObject = new PhysicalObject();
poObject.setMaterial(MaterialsDB.getMaterial("water"));
Cylinder clyinder = new Cylinder(120,120,100);
poObject.setShape(clyinder);
add(poObject);
poObject = new PhysicalObject();
poObject.setMaterial(MaterialsDB.getMaterial("bone"));
clyinder = new Cylinder(20,20,100);
Translation translation = new Translation(-80,0,0);
clyinder.applyTransform(translation);
poObject.setShape(clyinder);
add(poObject);
poObject = new PhysicalObject();
poObject.setMaterial(MaterialsDB.getMaterial("bone"));
clyinder = new Cylinder(20,20,100);
translation = new Translation(0, 80,0);
clyinder.applyTransform(translation);
poObject.setShape(clyinder);
add(poObject);
poObject = new PhysicalObject();
poObject.setMaterial(MaterialsDB.getMaterial("bone"));
clyinder = new Cylinder(20,20,100);
translation = new Translation(0, -80,0);
clyinder.applyTransform(translation);
poObject.setShape(clyinder);
add(poObject);
poObject = new PhysicalObject();
poObject.setMaterial(MaterialsDB.getMaterial("bone"));
clyinder = new Cylinder(20,20,100);
translation = new Translation(80,0,0);
clyinder.applyTransform(translation);
poObject.setShape(clyinder);
add(poObject);
}
}