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 imagedraw_orig_latents/draw_orig_latents_fft- Original latent representationsdraw_inverted_latents/draw_inverted_latents_fft- Inverted latent representationsAlgorithm-specific methods (e.g.,
draw_pattern_fftfor Tree-Ring,draw_watermark_bitsfor Gaussian-Shading)
Note
For detailed visualization examples, see Visualization.