JuliaTomo / DeepReconstruction.jl

Deep image prior for tomographic reconstruction

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Welcome to JuliaTomo/DeepReconstruction.jl

The repository aims to collect different tomographic reconstruction methods based on deep learning. For the forward operator, we need another package TomoForward (Check the installation below).

For the UNet architecture, I modify the code from [3]. Many thanks to the author of [3]! For the bilinear upsampling layer, I use the codes from the branch: FluxML/Flux.jl#1180 . If it is merged, it will be removed.

Install

Install Julia and in Julia REPL type:

julia> ]
pkg> add CUDA, Flux, Zygote
pkg> add https://github.com/JuliaTomo/TomoForward.jl
pkg> add https://github.com/JuliaTomo/DeepReconstruction.jl

Features

  • Gadelha et al. [2] based on Deep Image Prior [1]: apply DIP to the tomographic reconstruction task. This code implements [2] with some differences. We use a sparse array as a forward projection operator and use the automatic differentiation from Flux. This makes it possible to use more flexible geometry, whereas [2] only supports the limited geometry.

Examples

Please see codes in examples folder.

Todos

  • Check the paper: M. Z. Darestani and R. Heckel, “Can Un-trained Neural Networks Compete with Trained Neural Networks at Image Reconstruction?,” arXiv:2007.02471 http://arxiv.org/abs/2007.02471.

Demo for DIP

Loss per iteration

Reconstruction error per iteration

Best reconstruction result (from clean and noisy)

Final reconstruction result

References

About

Deep image prior for tomographic reconstruction


Languages

Language:Julia 100.0%