Files
scientific-viz/SKILL.md
Pikaliov a243601523 Initial commit — scientific-viz skill
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>
2026-05-04 11:13:08 +03:00

7.4 KiB
Raw Permalink Blame History

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 для вертикальных flow
  • graph 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