Open GoogleCodeExporter opened 9 years ago
Hi Jared,
The code is able to simulate CT datasets but it is true that the CT trajectory
model is not very flexible.
As you mention the CT projections are acquired rotating around the Z axis. It
is customary to define the human phantom with the Z axis going from the feet to
the head of the patient, that is the reason the CT rotates around Z (usually
the Y axis goes from the patient back to the front of the chest, and the X axis
from the left side towards the right).
However the axis of rotation is NOT located at the edge of the voxel volume, it
is located in between the source focal spot and the detector, at the distance
that you input in the line "SOURCE-TO-ROTATION AXIS DISTANCE".
In the input file you have to write the parameters of the first projection of
the CT scan, that is, the focal spot location and direction for the first
projection. I usually start by defining a posterior-anterior projection with
the source behind the patient (negative Y) and pointing to +Y: (0,+1,0).
For example, if you want the source at the middle of the patient in X and Z the
initial position could be r=(VoxelsBoundingBox.x/2, -d, VoxelsBoundingBox.z/2).
Since the source will rotate around Z the height 'VoxelsBoundingBox.z/2' will
be the same for all projections, unless you define an helical scan. The
distance 'd' has to be calculated depending on your case (where you want the
rotation axis) and depending on the size of your phantom (usually you don't
want the source penetrating inside the voxel volume, even thought the code
would still work well).
You can try to simulate multiple projections with the sample simulations
provided with MC-GPU. It works well for me!
I hope this helps!
Have a nice day.
Andreu
Original comment by andre...@gmail.com
on 5 Feb 2013 at 3:42
Original issue reported on code.google.com by
jaredwmo...@gmail.com
on 4 Feb 2013 at 7:12