Skip to main content

reissvd_imgcompress

A Python package for image compression using the REIS-SVD algorithm. This package helps in reducing the size of images while preserving quality, and also provides various metrics for evaluating compression quality, including MSE, PSNR, and SSIM.

Update

  • Remove the limitation on k: The code allows k to exceed the total number of singular values and sets k to the maximum available value if necessary to avoid errors.
  • Improve the precision of the Sylvester equation: Increase max_iter to 50 iterations and reduce tol to 1e-6, which allows for a more accurate solution of the equation.

Features

  • Compress grayscale images using REIS-SVD.
  • Compute compression metrics:
    • Compression Ratio (CR)
    • Mean Squared Error (MSE)
    • Peak Signal-to-Noise Ratio (PSNR)
    • Structural Similarity Index (SSIM)
  • Visualize compressed images with different singular values.

Installation

To install the package, first clone the repository or download the code, then navigate to the package directory and run:

pip install .

Usage

from reissvd_imgcompress import (
    rgb2gray, reis_svd, compute_metrics, plot_compressed_images
)
import numpy as np
from PIL import Image

# Load an image and convert it to grayscale
image = np.array(Image.open('sample_image.png'))
gray_image = rgb2gray(image) # If grayscale conversion is not needed, you can skip this step.


# Define singular value counts for testing
k_values = [1, 2, 5, 10, 20, 50, 100, 200, 500]

# Iterate over k_values, compress images, and compute metrics
for k in k_values:
    compressed = reis_svd(gray_image, k)
    CR, mse, psnr, ssim_index = compute_metrics(gray_image, compressed, k)
    print(f"k={k}: CR={CR:.2f}, MSE={mse:.2f}, PSNR={psnr:.2f} dB, SSIM={ssim_index:.4f}")

# Plot compressed images for visual comparison
plot_compressed_images(gray_image, k_values)

Release files for reissvd-imgcompress 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for reissvd-imgcompress 0.2.0
File Size Uploaded
reissvd_imgcompress-0.2.0.tar.gz 4.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for reissvd-imgcompress 0.2.0
File Interpreter ABI Platform
reissvd_imgcompress-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 9.7 kB

Release files / reissvd_imgcompress-0.2.0.tar.gz

Download URL reissvd_imgcompress-0.2.0.tar.gz
Size 4.6 kB
Tags Source
SHA-256 checksum
How to use checksums
1b9ffdf47b099a3866a960c16a4697e5a6738232aa778142b35604ce954022ce
BLAKE2b-256 checksum
How to use checksums
ebd12de8b5443d1cd54c5e7699831f2de52f845af5f06814ba6aeaf8c66fbf31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.7

Release files / reissvd_imgcompress-0.2.0-py3-none-any.whl

Download URL reissvd_imgcompress-0.2.0-py3-none-any.whl
Size 5.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1941990c085e7e47071dfae7ebe49ca5c2a9b852f41c79cd31cfd0794c084ae2
BLAKE2b-256 checksum
How to use checksums
9fb5d6479541ced12ea0182a00a211cfbafaf0d5865e745dcf80b183d8143691
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.7

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.1

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page