dmici / NeuTomPy-toolbox

Python package for tomographic data processing and reconstruction
https://neutompy-toolbox.readthedocs.io/
GNU General Public License v3.0
30 stars 10 forks source link

Simple beam hardening correction #2

Closed minnititino closed 4 years ago

minnititino commented 4 years ago

I would like to introduce the following function:

The Simple BHC making use of the following algorithm: s = -ln(I/I0) s’= s + a0 s^2 +a1 s^3+ a2 s^4 + a3 s^5

where a0, a1, a2 and a3 are parameters.

dmici commented 4 years ago

Dear Tino,

thanks for this new function.

I would advise you to change the default values of the variables a0, a1, a2, a3. In fact for a0=0., a1=0., a2=0., a3=0. the correction is not performed.

Please modify the __author__ variable at the beginning of the script in this way:

__author__ = "Davide Micieli, Triestino Minniti"

and at the next line append the name of the BHC function to the list __all__.

minnititino commented 4 years ago

Dear Davide,

I have made the corrections that you have suggested and added the zero_clipping_value function that it is used to prevent values close to (or below) zero in the normalised images that might introduce new artefacts.

This function could be used also in the reconstructed images to prevent negative values of the calculated linear attenuation coefficients.

Tino.