InsightSoftwareConsortium / ITKTotalVariation

External Module for Total Variation Algorithms, providing wrap for https://github.com/albarji/proxTV

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ITKTotalVariation

PyPI License

Overview

TotalVariation algorithms. itkProxTVImageFilter provides a wrap for the external project proxTV: https://github.com/albarji/proxTV

ITK provides wrapping for Windows, macOS and Linux:

import itk
Dimension = 3
I = itk.Image[itk.F, Dimension]
reader = itk.ImageFileReader[I].New(FileName=file_name)
reader.Update()
image = reader.GetOutput()
tv = itk.ProxTVImageFilter[I, I].New()
tv.SetInput(image)
tv.SetMaximumNumberOfIterations(10)
tv.SetWeights(100)
tv.Update()
output_file_name="/tmp/tvout.nrrd"
itk.imwrite(tv.GetOutput(), output_file_name)

Examples of 3D image denoised

Original:

https://user-images.githubusercontent.com/3021667/55841022-95524a00-5afb-11e9-92f1-3743c4ddbf4c.png

TotalVariation denoised:

https://user-images.githubusercontent.com/3021667/55841021-94b9b380-5afb-11e9-9961-37072274bd68.png

Original:

https://user-images.githubusercontent.com/3021667/38002434-9fc35d32-3232-11e8-8bfc-a7d9ce6888c7.png

Denoised:

https://user-images.githubusercontent.com/3021667/38002451-b87bed62-3232-11e8-814b-50e8fb0f79cb.png

Installation

To install the binary Python packages:

python -m pip install itk-totalvariation

Since ITK 5.0.0, this module is available in the ITK source tree as a remote module. To enable it, set:

Module_TotalVariation:BOOL=ON

in ITK's CMake build configuration.

License

This software is distributed under the Apache 2.0 license. Please see the LICENSE file for details.

About

External Module for Total Variation Algorithms, providing wrap for https://github.com/albarji/proxTV

License:Apache License 2.0


Languages

Language:C++ 56.6%Language:CMake 33.9%Language:Python 9.5%