PET Geometry
- petl_server.PETLserver.add_planogram(self, psi, D, L, H, T, v_m0=None, v_m1=None)
This function adds a pair of parallel flat panel detectors to the PET model which are defined in planogram coordinates.
- Parameters:
psi (float) – azimuthal rotation angle of a detector pair a value of zero makes the panels parallel to the x-axis
D (float) – the distance between the front faces of the two panels
L (float) – the full length of the panels
H (float) – the full height (z) of the panels
v_m0 (float) – the maximum slope in the x-y plane for the planogram
v_m1 (float) – the maximum slope in the x-z plane for the planograms
- petl_server.PETLserver.remove_planogram(self, n)
Removes the n-th planogram from the PET geometry specification
- Parameters:
n (int) – the planogram to remove
- petl_server.PETLserver.add_module(self, c, r, val=0.0815, A=None)
Adds a module to the scintillator model that can be used to calculate the sensitivity (stopping power) of each coincidence.
Note that this is NOT the same as add_planogram
- Parameters:
c (list of 3 floats) – the center of the module
r (list of 3 floats) – half width, half lengthm half depth of the module
val (float) – the attenuation coefficient of the scintillator at 511 keV
A (3x3 numpy array) – rotation matrix
- petl_server.PETLserver.clear_modules(self)
Clears all module objects
- petl_server.PETLserver.geometry_defined(self)
Returns True if at least one set of coincience flat panel detectors are specified, otherwise returns False
- petl_server.PETLserver.allocate_projections(self)
Allocates data for the PET planograms data to be stored which is a list of numpy arrays where each item in the list corresponds to a planogram. A single numpy array cannot be used because each planogram may have a different shape
- petl_server.PETLserver.allocate_rebinned_projections(self)
Allocates data for the rebinned PET planograms data to be stored which is a list of numpy arrays where each item in the list corresponds to a planogram. A single numpy array cannot be used because each planogram may have a different shape
- petl_server.PETLserver.get_numPlanograms(self)
Returns the number of planograms that are currently specified.
- petl_server.PETLserver.get_planogramSize(self, n)
Returns the shape of the n-th planogram