Claude Code skill for publication-quality scientific visualisations: chart, architecture, flowchart, comparison, pipeline. Bundles matplotlib publication defaults (300 DPI, serif font, colorblind palette), NADEZHDA project palette, Mermaid conventions, and ready-to-use templates. Contents: - SKILL.md — behaviour spec (5 types, generation pipeline) - README.md — human-facing entry: when, install, examples - reference/chart_patterns.md — Pareto/bar/radar/heatmap snippets - templates/architecture_nadezhda.md — Mermaid templates for Teacher-Student / LUPI / fusion Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
7.4 KiB
name, description, argument-hint, user-invocable, allowed-tools
| name | description | argument-hint | user-invocable | allowed-tools |
|---|---|---|---|---|
| scientific-viz | Generate publication-quality scientific visualizations: charts (matplotlib/seaborn), neural network architecture diagrams, block-scheme flowcharts (mermaid), training pipeline diagrams, and benchmark comparison tables. Use when the user needs any visual figure for papers, reports, or presentations. | [type: chart|architecture|flowchart|comparison|pipeline] [description] | true | Read Write Edit Bash Glob Grep |
Научная визуализация для CVGL
Генерация визуализаций для научных публикаций, отчётов и презентаций проекта NADEZHDA.
Входные данные
$ARGUMENTS— тип визуализации + описание- Примеры:
/scientific-viz chart "R@1 comparison across methods on University-1652"/scientific-viz architecture "Teacher-Student LUPI pipeline"/scientific-viz flowchart "Training progressive staging 3 phases"/scientific-viz comparison "Backbone candidates: params vs R@1"
Типы визуализаций
1. chart — Графики и диаграммы (matplotlib + seaborn)
Для: сравнение метрик, аблации, распределения, training curves.
Выход: Python-скрипт .py + сохранённый .png/.pdf
Обязательные требования:
- Разрешение ≥ 300 DPI
- Шрифт: Times New Roman или DejaVu Serif, ≥ 10pt
- Colorblind-safe палитра (Okabe-Ito или tab10)
- Подписи осей на английском (для публикаций)
- Легенда без перекрытия данных
- Grid: light gray, alpha=0.3
- Tight layout, без обрезки подписей
- Формат сохранения: PNG (300 DPI) + PDF (vector)
Стиль matplotlib (использовать в начале каждого скрипта):
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams.update({
'font.family': 'serif',
'font.size': 11,
'axes.labelsize': 12,
'axes.titlesize': 13,
'legend.fontsize': 10,
'xtick.labelsize': 10,
'ytick.labelsize': 10,
'figure.dpi': 300,
'savefig.dpi': 300,
'savefig.bbox': 'tight',
'axes.grid': True,
'grid.alpha': 0.3,
})
Шаблоны: см. reference/chart_patterns.md
2. architecture — Архитектуры нейросетей
Для: Teacher/Student диаграммы, backbone stages, fusion modules, head designs.
Два варианта выхода:
A) Python (matplotlib + patches/arrows) — для сложных кастомных диаграмм:
- Прямоугольники = слои/модули
- Стрелки = потоки данных
- Цвета = разные модальности/компоненты
- Аннотации: размерности тензоров, число параметров
- Используй
matplotlib.patches.FancyBboxPatchдля красивых блоков
B) Mermaid — для встраивания в Obsidian:
graph TD
A[Satellite RGB] --> B[DINOv2-L Encoder]
C[Drone RGB] --> B
D[Depth Map] --> E[CNN Encoder]
...
Шаблоны: см. templates/architecture_nadezhda.md
3. flowchart — Блок-схемы процессов
Для: training pipeline, inference pipeline, experimental workflow, data processing.
Выход: Mermaid-диаграмма (встраиваемая в Obsidian) + опционально Python-версия
Mermaid-конвенции:
graph TDдля вертикальных flowgraph LRдля горизонтальных pipeline- Цвета через
styleилиclassDef - Подписи на английском (для публикаций) или русском (для отчётов)
4. comparison — Сравнительные визуализации
Для: scatter plot params-vs-accuracy, grouped bar chart методов, radar chart по критериям.
Паттерны:
- Pareto front: params (x) vs R@1 (y), маркеры = разные методы, размер = FLOPs
- Grouped bar: методы × датасеты, hatching для edge/cloud
- Radar/spider: критерии (accuracy, speed, size, generalization, robustness)
- Heatmap: метод × датасет → R@1 значения
5. pipeline — Диаграммы пайплайна
Для: LUPI distillation flow, data augmentation pipeline, edge deployment chain.
Специальная нотация:
- Thick arrows = main data flow
- Dashed arrows = gradient flow / loss signals
- Color: blue = Teacher, orange = Student, green = shared
- Labels on arrows: loss names (L_task, L_LUPI, L_feat, L_RKD)
Процесс генерации
Шаг 1: Определи тип и параметры
Из $ARGUMENTS извлеки:
- Тип: chart / architecture / flowchart / comparison / pipeline
- Что визуализировать
- Целевой формат: Obsidian (mermaid) / публикация (matplotlib) / оба
- Язык подписей: EN (default для публикаций) / RU (для отчётов)
Шаг 2: Найди данные
Если визуализация требует числовых данных:
- Поищи в
1_lit_research/СИНТЕЗ_всех_статей_для_LUPI_CVGL.md - Или в конкретных конспектах
1_lit_research/6_cvgl/P{N}_*.md - Или спроси пользователя
Шаг 3: Сгенерируй код
- Python-скрипт: сохранить в
3_work/илиattachments/figures/ - Mermaid: вставить inline в .md файл
- Всегда указывай:
plt.savefig("filename.png", dpi=300, bbox_inches='tight')
Шаг 4: Добавь аннотации
Каждая визуализация должна иметь:
- Заголовок (title)
- Подписи осей (xlabel, ylabel)
- Легенду (если >1 series)
- Источник данных (caption или комментарий в коде)
Специфика проекта NADEZHDA
Цветовая схема компонентов
| Компонент | Цвет | Hex |
|---|---|---|
| Teacher | Deep blue | #1f77b4 |
| Student | Orange | #ff7f0e |
| Satellite modality | Green | #2ca02c |
| Drone modality | Red | #d62728 |
| Street-view | Purple | #9467bd |
| Depth | Brown | #8c564b |
| Text | Pink | #e377c2 |
| Loss / gradient | Gray | #7f7f7f |
| Edge / Jetson | Teal | #17becf |
Стандартные размерности тензоров
Input: [B, 3, 256, 256]
Stage 1: [B, 32, 96, 96]
Stage 2: [B, 64, 48, 48]
Stage 3: [B, 128, 24, 24]
Stage 4: [B, 256, 12, 12]
Descriptor: [B, 512] L2-normalized
Ограничения
- НЕ используй внешние API (OpenRouter, Gemini) — только локальные библиотеки
- НЕ генерируй растровые диаграммы архитектур через PIL/ImageDraw — используй matplotlib patches или mermaid
- Всегда сохраняй и .py скрипт, и результат (.png/.pdf)
- Для Obsidian: mermaid блоки встраиваются напрямую в .md