FreeARTBaseClass
¶
FreeART API
Transmission class¶
import freeart
import scipy.misc
import numpy
# forward projection
image = scipy.misc.ascent()
image.reshape(image.shape[0], image.shape[1], 1)
freeart.TxBckProjection(image.astype(numpy.float64), numpy.linspace(0, numpy.pi))
algoProj = freeart.TxFwdProjection(l.astype(numpy.float64), minAngle=0, maxAngle=numpy.pi, anglesNb=360)
sino, angles = algoProj.makeSinogram()
# backward projection
algoRecons = freeart.TxBckProjection(sino, angles)
recons = algoRecons.iterate(1)
Fluorescence class¶
import freeart
from freeart.utils import genph
import numpy
# forward projection
phGenerator = genph.PhantomGenerator()
sheppLogan_phantom = phGenerator.get2DPhantomSheppLogan(128)
sheppLogan_phantom.shape = (sheppLogan_phantom.shape[0], sheppLogan_phantom.shape[1], 1)
absMat = sheppLogan_phantom * 20.0
selfAbsMat = sheppLogan_phantom / 10.0
detPos = (0., 1000., 0.)
detSetup = [(detPos, 10.)]
alProj = freeart.FluoFwdProjection(phMatr=sheppLogan_phantom,
expSetUp=detSetup,
absorpMatr=absMat,
selfAbsorpMatrix=selfAbsMat,
minAngle=0.,
maxAngle=numpy.pi*2.0,
anglesNb=360)
sinogram, angles = alProj.makeSinogram()
# backward projection
alRecons = freeart.FluoBckProjection(sinoDat=sinogram, sinoAngles=angles, expSetUp=detSetup,
absorp=absMat, selfAbsorp=selfAbsMat)
recons = alRecons.iterate(1)