Open Fedour opened 5 years ago
Hello, great to hear that you are interested.
With respect to poisson noise, you need to provide a data vector as input, e.g.
data = operator(phantom)
noisy_data = np.random.poisson(data)
fbp = pseudoinverse(noisy_data)
With respect to the operator norm scaling, this is needed to ensure that all values in the network are "approximately normal", you could have a look at e.g. this paper for more info http://proceedings.mlr.press/v9/glorot10a.html
One way to solve this is to apply the scaling inside the network rather than on the operator.
Hi, I'm currently using your learned gradient tomography in a 3D case. I would like to use a poisson noise instead of a white noise
So in your generate_data function I replace:
By:
But I don't get a good result, the image is only noisy in some places
After some researches I noticed that it was due to the following code:
But if I remove this part of code the network does not learn anymore.
I would like to know if there is a clean way to apply a good poisson noise on data. Thank you in advance for your assistance with this.