Skip to main content

An Open Source Python library for creating photomosaics

Project description

PytoMosaic

PytoMosaic is a Python library for creating photomosaics from images using a set of source images. It supports common image formats and provides a simple API with optional verbose progress output. It also allows reusing preloaded tiles for faster mosaic generation across multiple images.


Features

  • Create photomosaics from images
  • Supports .jpg, .jpeg, .png, .gif, .bmp, .tiff, .tif formats
  • Optional verbose mode with progress bars using tqdm
  • Reuse preloaded tiles with TileManager for multiple mosaics
  • Easy-to-use Python API
  • Compatible with Python 3.10+

Installation

Install PytoMosaic from PyPI:

pip install pytomosaic

Dependencies:

  • numpy
  • Pillow
  • tqdm

These will be installed automatically.


Usage

Basic usage

from pytomosaic import createMosaic

imgPath = "target.jpg"
sourceImages = "source_folder"
cropSize = 50  # Size of mosaic parts in px

# Generate mosaic with verbose progress
mosaic = createMosaic(imgPath, sourceImages, cropSize, verbose=True)
mosaic.show()

Reusing preloaded tiles for multiple images

from pytomosaic import createMosaic
from pytomosaic.tileManager import TileManager

# Preload tiles once
tiles = TileManager(cropSize=50, sourceImagesDir="source_folder", verbose=True)

# Generate multiple mosaics using the same tiles
mosaic1 = createMosaic("photo1.jpg", tiles)
mosaic2 = createMosaic("photo2.jpg", tiles)

Set verbose=False or leave empty to disable prints and progress bars.


Supported Image Extensions

VALID_EXTENSIONS = {
    ".jpg", ".jpeg", ".png", ".gif", ".bmp", ".tiff", ".tif"
}

Files with unsupported extensions are skipped and optionally warned about in verbose mode.


License

PytoMosaic is licensed under the GNU GPL v3. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytomosaic-0.1.5.tar.gz (15.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pytomosaic-0.1.5-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

Details for the file pytomosaic-0.1.5.tar.gz.

File metadata

  • Download URL: pytomosaic-0.1.5.tar.gz
  • Upload date:
  • Size: 15.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for pytomosaic-0.1.5.tar.gz
Algorithm Hash digest
SHA256 adf77685b2477a385d829348e1780e1e91c0f93dc9634ba9bc63e42c374aecce
MD5 1140970b6928c4d96dcdd18920eae208
BLAKE2b-256 883fa131d9df8d6f1514cb45d9b8cfe35c0b62a5c7b6218a6b585fd5bef1b734

See more details on using hashes here.

File details

Details for the file pytomosaic-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: pytomosaic-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 16.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for pytomosaic-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d3e5b7595e66beb7104777303c1e06183914ec17c80e4b28a7fd38695b9c35a0
MD5 5f138e828ebb1ba840c9848f9004edd7
BLAKE2b-256 2b82bdd46580191a46a2896ca0e62519747cd7e1a0c6af4df978e93a2680eeed

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page