Visualization API

This page documents the visualization APIs for analyzing watermarking mechanisms.

AutoVisualizer

The AutoVisualizer class provides unified visualization for all watermarking algorithms.

Key Methods:

class visualize.auto_visualization.AutoVisualizer
static load(algorithm_name, data_for_visualization)

Load a visualizer for the specified algorithm.

Parameters:
  • algorithm_name – Name of the watermarking algorithm (e.g., ‘TR’, ‘GS’, ‘PRC’)

  • data_for_visualization – Data obtained from get_data_for_visualize()

Returns:

An AutoVisualizer instance

visualize(rows, cols, methods, method_kwargs=None, save_path=None, **kwargs)

Generate visualization figures.

Parameters:
  • rows – Number of rows in the figure grid

  • cols – Number of columns in the figure grid

  • methods – List of visualization methods to use

  • method_kwargs – List of keyword arguments for each method

  • save_path – Path to save the figure (optional)

Returns:

matplotlib figure object

Example Usage:

from markdiffusion.visualize.auto_visualization import AutoVisualizer

# Get visualization data from watermark
data_for_vis = watermark.get_data_for_visualize(watermarked_image)

# Load visualizer
visualizer = AutoVisualizer.load('TR', data_for_visualization=data_for_vis)

# Create visualization
fig = visualizer.visualize(
    rows=1,
    cols=5,
    methods=['draw_pattern_fft', 'draw_orig_latents_fft',
             'draw_watermarked_image', 'draw_inverted_latents_fft',
             'draw_inverted_pattern_fft'],
    save_path='visualization.pdf'
)

Available Visualization Methods:

Each algorithm has specific visualization methods. Common methods include:

  • draw_watermarked_image - Display the watermarked image

  • draw_orig_latents / draw_orig_latents_fft - Original latent representations

  • draw_inverted_latents / draw_inverted_latents_fft - Inverted latent representations

  • Algorithm-specific methods (e.g., draw_pattern_fft for Tree-Ring, draw_watermark_bits for Gaussian-Shading)

Note

For detailed visualization examples, see Visualization.