utils¶
freeart.utils
¶
Python utils for freeart.
freeart.utils.reconstrutils
: some utils linked to the reconstruction¶
group some functions used for reconstruction
- freeart.utils.reconstrutils.decreaseMatSize(mat)[source]¶
will decrease the matrice size if possible where one dimension has only one element
- freeart.utils.reconstrutils.increaseMatSize(mat, firstPos)[source]¶
Simple function which will add a dimension to the current matrice
- Parameters
mat – the matrice for which we want to remove a dimension
firstPos – if true remove the first position else remove the last
- freeart.utils.reconstrutils.savePhantom(data, fileName, overwrite=False)[source]¶
will create an edf file to store the given data
- Parameters
data – the data to save
fileName – the localisation to know where to save the data
- freeart.utils.reconstrutils.LoadEdf_2D(fName, frame=0)[source]¶
Load data from the given edf file
- Parameters
fName – the name of the file
frame – if multiple frame file, will use theis parameter to load a specific frame
- freeart.utils.reconstrutils.makeFreeARTFluoSinogram(phantom, absMat, selfAbsMat, numAngle, detSetup, oversampling, beamCalcMeth, outRayPtCalcMeth, minAngle=0.0, maxAngle=6.283185307179586, subdivisionValue=3, turnOffSolidAngle=False, I0=1.0, voxelSize=1.0)[source]¶
Generate the fluorescence sinogram
- Parameters
phantom – The initial phantom (density * probability of emission of photon…)
absMat – absorption of the incoming. Aka \({\mu}_{E_0}{\rho}x\)
- Returns
sinogram (numpy array of float64 )
angles list of angles of projection
Warning
all angle values must be given in rad
- freeart.utils.reconstrutils.convertToFisxMaterial(materialName, material)[source]¶
convert a material defined in a dictionnary (from tomoGUI for example. Used to be saved and loaded ) in a fisx Material. Won’t do the registration
- Parameters
materialName – the name to attribute to the fisx material
material – the material defined in a dictionary
- Returns
the fisx material
initial material structure looks like : materialName = “My_mat” material = {‘Comment’:”No comment”,
‘CompoundList’:[‘Cr’, ‘Fe’, ‘Ni’], ‘CompoundFraction’:[18.37, 69.28, 12.35], ‘Density’:1.0, ‘Thickness’:1.0}
Final structure is a fisx Material : steel = {“Cr”:18.37,
“Fe”:69.28, # calculated by subtracting the sum of all other elements “Ni”:12.35 }
material = Material(“My_mat”, 1.0, 1.0) material.setComposition(steel)
freeart.utils.genph
: phantom generator¶
- class freeart.utils.genph.PhantomGenerator[source]¶
Bases:
object
Class for generating different Phantoms
- get3DPhantomSheppLogan(n)[source]¶
- Parameters
n – The width (and height) of the phantom to generate
- Returns
A numpy array of dimension n*n fit with the sheppLogan phantom
freeart.utils.benchmark
: tool for benchmarking¶
Benchmark file.
- freeart.utils.benchmark.benchmark_tx_projection(oversamplings, widthsToTest, nbAngle)[source]¶
Create a graph for benchmarking the transmission forward projector
- Parameters
oversamplings – the list of oversamplings to test
widthsToTest – the list of phantom width to test
nbAngle – the number of projection to test
- freeart.utils.benchmark.benchmark_tx_reconstruction(oversamplings, widthsToTest, nbAngle, nbIter)[source]¶
Create a graph for benchmarking the transmission reconstructor
- Parameters
oversamplings – the list of oversamplings to test
widthsToTest – the list of phantom width to test
nbAngle – the number of projection to test
nbIter – the number of iteration to test (one iteration launch nbAngle back projection)
- freeart.utils.benchmark.benchmark_fluo_projection(oversamplings, widthsToTest, nbAngle, outgoingraypointsmethods)[source]¶
Benchmark the fluo projection
- Parameters
oversamplings – the list of oversamplings to test
widthsToTest – the list of phantom width to test
nbAngle – the number of projection to test
outgoingraypointsmethods – the list of outgoingrayalgorithm to test
- freeart.utils.benchmark.benchmark_fluo_reconstruction(oversamplings, widthsToTest, nbAngle, outgoingraypointsmethods, nbIter)[source]¶
benchmark the fluo reconstruction
- Parameters
oversamplings – the list of oversamplings to test
widthsToTest – the list of phantom width to test
nbAngle – the number of projection to test
outgoingraypointsmethods – the list of outgoingrayalgorithm to test
nbIter – the number of iteration to test (one iteration launch nbAngle back projection)