/* * Copyright (C) 2010-2014 Zijia Guo * CONRAD is developed as an Open Source project under the GNU General Public License (GPL). */ package edu.stanford.rsl.conrad.phantom; import edu.stanford.rsl.conrad.geometry.shapes.simple.Pyramid; import edu.stanford.rsl.conrad.geometry.transforms.Translation; import edu.stanford.rsl.conrad.numerics.SimpleVector; import edu.stanford.rsl.conrad.physics.PhysicalObject; import edu.stanford.rsl.conrad.physics.materials.database.MaterialsDB; import edu.stanford.rsl.conrad.utils.CONRAD; /** * Phantom to test forward and back projection. * * Creates a simple pyramid with a tip at the origin. * The material is set to Plexiglass (density of 1.95). */ public class PyramidPhantom extends AnalyticPhantom { /** * */ private static final long serialVersionUID = -5599644341716177203L; @Override public String getBibtexCitation() { return CONRAD.CONRADBibtex; } @Override public String getMedlineCitation() { return CONRAD.CONRADMedline; } @Override public String getName() { return "Pyramid Shape Phantom"; } public PyramidPhantom() { // Body of the phantom. Pyramid thePyramid = new Pyramid(30, 30, 80); thePyramid.applyTransform(new Translation(new SimpleVector(0,0,-60))); PhysicalObject po = new PhysicalObject(); po.setMaterial(MaterialsDB.getMaterialWithName("Plexiglass")); // D = 1.95 po.setShape(thePyramid); add(po); } }