FigWizz¶
Python toolkit for programmatic figure design.
Overview¶
FigWizz is a comprehensive Python toolkit that simplifies working with images, figures, and scientific visualizations. Whether you're preparing figures for publications, creating image workflows, or automating visual content generation, FigWizz provides intuitive tools to get the job done.
Key Features¶
- Format Conversion: Seamlessly convert images between formats (PNG, JPEG, PDF, SVG)
- Presentation Processing: Convert PowerPoint/Keynote slides to images with auto-cropping
- Image Scraping: Extract figures from PDFs and websites
- Stock Images: Download images from Pixabay and Unsplash
- AI Generation: Generate images from text prompts using AI models
- Image Modification: Create hexicons, n-gon crops, and apply transformations
- Flexible Input: Work with paths, PIL Images, bytes, numpy arrays, URLs, and more
Quick Start¶
Installation¶
For AI image generation support:
For development:
Basic Usage¶
Convert an image:
Create a hexicon:
from figwizz import make_hexicon
hexicon = make_hexicon('logo.png', border_size=10, border_color='auto')
hexicon.save('hexicon.png')
Download stock images:
from figwizz import download_stock_images
images = download_stock_images('mountains', n_images=5,
output_dir='images',
provider='unsplash')
Convert slides to images:
from figwizz import slides_to_images
slides_to_images('presentation.pptx', 'figures/', crop_images=True)
Documentation Structure¶
- Installation Guide - Detailed installation instructions
- Quick Start - Get started quickly with common workflows
- Workflows - Organized by use case:
- Image Conversion
- Image Modification
- Scraping
- Presentations
- Icons & Hexicons
- AI Generation
- API Reference - Complete module documentation
Requirements¶
- Python >= 3.7
- numpy
- PIL/Pillow
- matplotlib
- requests
- beautifulsoup4
Optional dependencies: - PyMuPDF (for PDF extraction) - cairosvg (for SVG conversion) - litellm (for AI image generation)