ProxTV.jl

This package wraps https://github.com/albarji/proxTV in Julia.

https://github.com/JuliaSmoothOptimizers/ProxTV.jl

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.1%) to scientific vocabulary
Last synced: 9 months ago · JSON representation ·

Repository

This package wraps https://github.com/albarji/proxTV in Julia.

Basic Info
  • Host: GitHub
  • Owner: JuliaSmoothOptimizers
  • License: mpl-2.0
  • Language: Julia
  • Default Branch: main
  • Size: 651 KB
Statistics
  • Stars: 3
  • Watchers: 1
  • Forks: 2
  • Open Issues: 5
  • Releases: 2
Created almost 2 years ago · Last pushed 10 months ago
Metadata Files
Readme License Citation

README.md

ProxTV

Documentation Build Status Test workflow status Lint workflow Status Docs workflow Status

Coverage DOI

All Contributors

ProxTV.jl is a Julia package that provides a collection of exact and inexact proximal operators. This includes the Total Variation (TV) regularization with any p-norm.

This package is a Julia implementation of the ProxTV package for MATLAB and Python which is available here. Behind those implementations, there is a C++ library that provides the core of the proximal operators.

How to Use

The package is designed to be easy to use and to provide a consistent interface for all the implemented proximal operators.

Installation

You can install ProxTV.jl using the Julia package manager. From the Julia REPL, type ] to enter the Pkg REPL mode and run:

julia pkg> add ProxTV

Example

Here is an example of how to use ProxTV.jl to compute the proximal operator of the Total Variation (TV) regularization with a p-norm on a 1D signal.

```julia using ProxTV

n = 1000 x = range(0, 2π; length=n) truesignal = sin.(x) noisysignal = truesignal + 0.1 * randn(n) recoveredsignal = similar(noisy_signal) # output buffer

h = NormTVp(1.0, 1.0, n) prox!(recoveredsignal, h, noisysignal, 1.0)

```

Result

Comprehensive documentation and more examples can be found in the online documentation.

Features

  • Fast computation of Lp-norm and Total Variation proximal operators
  • Support for 1D, 2D, and nD signals
  • Support for any p-norm (L1, L2, and custom p-norms) with p ≥ 1
  • Weighted regularization
  • many variants (see src/libproxtv.jl)
  • Integration with ShiftedProximalOperators.jl for RegularizedOptimization.jl

Tests

ProxTV.jl includes comprehensive tests for:

  • Core Lp-norm and TV functions
  • Integration with ShiftedProximalOperators

Build your prox API

If you want to integrate your proximal operator in RegularizedOptimization.jl, see Build your own prox API.

How to Cite

If you use ProxTV.jl in your work, please cite using the reference given in CITATION.cff.

Contributing

If you want to make contributions of any kind, please first that a look into our contributing guide directly on GitHub.


Contributors

Owner

  • Name: JuliaSmoothOptimizers
  • Login: JuliaSmoothOptimizers
  • Kind: organization
  • Location: DOI: 10.5281/zenodo.2655082

Infrastructure and Solvers for Continuous Optimization in Julia

Citation (CITATION.cff)

# Go to https://citation-file-format.github.io/cff-initializer-javascript/#/ to finish this
cff-version: 1.2.0
title: ProxTV.jl
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Nathan Allaire
    email: nathan.allaire@polymtl.ca

GitHub Events

Total
  • Pull request event: 1
Last Year
  • Pull request event: 1

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 0
  • Total pull requests: 60
  • Average time to close issues: N/A
  • Average time to close pull requests: 25 days
  • Total issue authors: 0
  • Total pull request authors: 4
  • Average comments per issue: 0
  • Average comments per pull request: 0.38
  • Merged pull requests: 52
  • Bot issues: 0
  • Bot pull requests: 11
Past Year
  • Issues: 0
  • Pull requests: 60
  • Average time to close issues: N/A
  • Average time to close pull requests: 25 days
  • Issue authors: 0
  • Pull request authors: 4
  • Average comments per issue: 0
  • Average comments per pull request: 0.38
  • Merged pull requests: 52
  • Bot issues: 0
  • Bot pull requests: 11
Top Authors
Issue Authors
Pull Request Authors
  • nathanemac (48)
  • dependabot[bot] (9)
  • github-actions[bot] (2)
  • abelsiqueira (1)
Top Labels
Issue Labels
Pull Request Labels
dependencies (9) github_actions (4) chore (2)

Dependencies

.github/workflows/CompatHelper.yml actions
  • julia-actions/cache v2 composite
  • julia-actions/setup-julia v2 composite
.github/workflows/Docs.yml actions
  • actions/checkout v4 composite
  • julia-actions/cache v2 composite
  • julia-actions/setup-julia v2 composite
.github/workflows/Lint.yml actions
  • actions/cache v4 composite
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • julia-actions/cache v2 composite
  • julia-actions/setup-julia v2 composite
  • lycheeverse/lychee-action v1 composite
.github/workflows/PreCommitUpdate.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • peter-evans/create-pull-request v6 composite
.github/workflows/ReusableTest.yml actions
  • actions/checkout v4 composite
  • codecov/codecov-action v4 composite
  • julia-actions/cache v2 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v2 composite
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/Test.yml actions
.github/workflows/TestOnPRs.yml actions
.github/workflows/ci.yml actions
  • actions/checkout v2 composite
  • julia-actions/setup-julia v1 composite