Skip to content

InsightSoftwareConsortium/ITKTotalVariation

Repository files navigation

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

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 9