CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-scikit-image

Comprehensive image processing and computer vision library for Python with algorithms for filtering, morphology, segmentation, and feature detection

Pending
Overview
Eval results
Files

restoration.mddocs/

Restoration

Image restoration algorithms for recovering images from various types of degradation including noise, blur, and missing data. Includes denoising, deconvolution, and inpainting methods.

Capabilities

Denoising Methods

def denoise_tv_chambolle(image, weight=0.1, eps=2e-4, max_num_iter=200, multichannel=False, channel_axis=None):
    """
    Apply total variation denoising using Chambolle algorithm.
    
    Parameters:
    image : array_like
        Input noisy image
    weight : float, optional
        Denoising weight parameter
    eps : float, optional
        Convergence tolerance  
    max_num_iter : int, optional
        Maximum iterations
    multichannel : bool, optional
        Whether last axis is channels (deprecated)
    channel_axis : int, optional
        Axis for color channels
        
    Returns:
    ndarray
        Denoised image
    """

def denoise_bilateral(image, win_size=None, sigma_color=None, sigma_spatial=1, bins=10000, mode='constant', cval=0, multichannel=False, channel_axis=None):
    """
    Apply bilateral filtering for edge-preserving denoising.
    
    Parameters:
    image : array_like
        Input noisy image
    win_size : int, optional
        Window size for filtering
    sigma_color : float, optional
        Color similarity standard deviation
    sigma_spatial : float, optional
        Spatial standard deviation
    bins : int, optional
        Number of bins for color quantization
    mode : str, optional
        Boundary condition mode
    cval : float, optional
        Constant value for boundaries
    multichannel : bool, optional
        Whether last axis is channels (deprecated)
    channel_axis : int, optional
        Axis for color channels
        
    Returns:
    ndarray
        Denoised image
    """

def denoise_wavelet(image, method='BayesShrink', mode='soft', wavelet_levels=None, wavelet='db1', sigma=None, multichannel=False, convert2ycbcr=False, channel_axis=None, rescale_sigma=True):
    """
    Perform wavelet denoising.
    
    Parameters:
    image : array_like
        Input noisy image
    method : str, optional
        Denoising method ('BayesShrink', 'VisuShrink')
    mode : str, optional
        Thresholding mode ('soft' or 'hard')
    wavelet_levels : int, optional
        Number of wavelet decomposition levels
    wavelet : str, optional
        Wavelet to use
    sigma : float, optional
        Noise standard deviation
    multichannel : bool, optional
        Whether last axis is channels (deprecated)
    convert2ycbcr : bool, optional
        Convert to YCbCr color space
    channel_axis : int, optional
        Axis for color channels
    rescale_sigma : bool, optional
        Rescale sigma for multichannel
        
    Returns:
    ndarray
        Denoised image
    """

def denoise_nl_means(image, patch_size=7, patch_distance=11, h=0.1, multichannel=False, fast_mode=True, sigma=0.0, preserve_range=False, channel_axis=None):
    """
    Apply non-local means denoising.
    
    Parameters:
    image : array_like
        Input noisy image
    patch_size : int, optional
        Size of patches for comparison
    patch_distance : int, optional
        Maximum distance for patch search
    h : float, optional
        Cut-off distance for patch comparison
    multichannel : bool, optional
        Whether last axis is channels (deprecated)
    fast_mode : bool, optional
        Use fast approximation
    sigma : float, optional
        Noise standard deviation
    preserve_range : bool, optional
        Keep original data range
    channel_axis : int, optional
        Axis for color channels
        
    Returns:
    ndarray
        Denoised image
    """

Deconvolution Methods

def wiener(image, psf, balance, reg=None, is_real=True, clip=True):
    """
    Apply Wiener deconvolution filter.
    
    Parameters:
    image : array_like
        Input degraded image
    psf : array_like
        Point spread function
    balance : float
        Regularization parameter
    reg : array_like, optional
        Regularization operator
    is_real : bool, optional
        Whether to enforce real output
    clip : bool, optional
        Clip output to input range
        
    Returns:
    ndarray
        Deconvolved image
    """

def richardson_lucy(image, psf, num_iter=50, clip=True, filter_epsilon=None):
    """
    Apply Richardson-Lucy deconvolution.
    
    Parameters:
    image : array_like
        Input degraded image
    psf : array_like
        Point spread function
    num_iter : int, optional
        Number of iterations
    clip : bool, optional
        Clip output to input range
    filter_epsilon : float, optional
        Regularization parameter
        
    Returns:
    ndarray
        Deconvolved image
    """

def unsupervised_wiener(image, psf, reg=None, user_params=None, is_real=True, clip=True):
    """
    Apply unsupervised Wiener deconvolution.
    
    Parameters:
    image : array_like
        Input degraded image
    psf : array_like
        Point spread function
    reg : array_like, optional
        Regularization operator
    user_params : dict, optional
        User-defined parameters
    is_real : bool, optional
        Whether to enforce real output
    clip : bool, optional
        Clip output to input range
        
    Returns:
    ndarray
        Deconvolved image
    """

Inpainting

def inpaint_biharmonic(image, mask, multichannel=False, channel_axis=None):
    """
    Inpaint missing regions using biharmonic equation.
    
    Parameters:
    image : array_like
        Input image with missing regions
    mask : array_like
        Binary mask of missing regions
    multichannel : bool, optional
        Whether last axis is channels (deprecated)
    channel_axis : int, optional
        Axis for color channels
        
    Returns:
    ndarray
        Inpainted image
    """

Noise Estimation

def estimate_sigma(image, average_sigmas=False, multichannel=False, channel_axis=None):
    """
    Estimate noise standard deviation from image.
    
    Parameters:
    image : array_like
        Input image
    average_sigmas : bool, optional
        Return average sigma across channels
    multichannel : bool, optional
        Whether last axis is channels (deprecated)
    channel_axis : int, optional
        Axis for color channels
        
    Returns:
    float or ndarray
        Estimated noise standard deviation
    """

Types

from typing import Optional, Union
from numpy.typing import NDArray
import numpy as np

# Restoration parameters
PSF = NDArray[np.floating]
NoiseVariance = Union[float, NDArray[np.floating]]
RegularizationParam = float
InpaintingMask = NDArray[np.bool_]

# Restoration results  
DenoisedImage = NDArray[np.floating]
DeconvolvedImage = NDArray[np.floating]
InpaintedImage = NDArray[np.floating]

Install with Tessl CLI

npx tessl i tessl/pypi-scikit-image

docs

color.md

data.md

drawing.md

exposure.md

features.md

filtering.md

index.md

io.md

measurement.md

morphology.md

restoration.md

segmentation.md

transform.md

utilities.md

tile.json