VILA-Lab/FigMirror

An Automated AI Agent Tool for Plotting Your Data in Any Paper's Figure Style.

What it solves

FigMirror eliminates the tedious process of manually editing plotting code to match the visual style of a specific academic paper. It allows users to provide a reference figure and their own data to automatically generate a polished, camera-ready PDF and an editable matplotlib script that mirrors the target style.

How it works

The system employs an agentic loop consisting of a Drawer and a Reviewer:

  1. Drawer Agent: Renders a candidate figure using "Grounded Measurement," which leverages foundation models to return x/y coordinates for visual targets and convert them into executable checks (e.g., checking pixel colors).
  2. Reviewer Agent: Performs a visual audit by comparing the candidate to the reference image. It provides structured feedback, including bounding boxes, a revision checklist, and a "preserve list" to prevent style drift across iterations.
  3. Orchestrator: Manages the delegation between agents and converts reviewer feedback into annotated images and notes for the next drawing pass.

For 3D figures, the system uses geometry-aware prompting to handle camera angles, lighting, and scale. An Aesthetic Lib provides fallback style rules when agents disagree or confidence is low.

Who it’s for

Researchers and data scientists who need to create high-quality, publication-ready figures that adhere to specific stylistic guidelines or match the visual identity of a particular paper family.

Highlights

  • Agentic Iteration: Uses a role-separated Drawer/Reviewer loop for continuous visual refinement.
  • Grounded Measurement: Uses coordinate-based visual targets and code-based pixel checks for precision.
  • ** uma Editable Output**: Generates full matplotlib scripts rather than just static images.
  • Multi-Interface Support: Available as a local Web UI or as skills for Claude Code and Codex.
  • 3D Support: Includes specialized prompting for 3D composition and geometry.

Related

  • Project
  • Project
  • Project
  • Project
  • Project