openpiv
Ajuda seu agente a analisar o movimento de fluidos em imagens. Ele mede a velocidade e a direção do fluxo, sendo útil para entender como líquidos ou gases se movem em experimentos.
O que ela faz
Esta ferramenta analisa o movimento de fluidos (líquidos ou gases) usando pares de imagens. Ela calcula a velocidade do fluido em diferentes pontos, ajudando a entender como ele se move.
Quando usar
- ✓Quando você tem duas fotos de um fluido com partículas e quer saber a velocidade delas.
- ✓Para estudar como líquidos ou gases se movem em experimentos.
- ✓Para visualizar o fluxo de um fluido e obter dados sobre sua velocidade.
Exemplo do que pedir para a IA
“Analise este par de imagens de um fluido e me diga a velocidade em cada ponto.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta compara pequenas áreas (janelas) nas duas imagens. Ao encontrar a mesma área na segunda imagem, ela calcula o quanto as partículas se moveram nesse tempo para determinar a velocidade.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add K-Dense-AI/scientific-agent-skills --skill openpivOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/main/skills/openpiv/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
OpenPIV
Visão Geral
OpenPIV (Open Particle Image Velocimetry) analisa o fluxo de fluidos a partir de pares de imagens PIV. Ele abrange pré-processamento, correlação cruzada, validação de vetores, substituição de valores atípicos, suavização e escalonamento para unidades físicas.
Tem como alvo openpiv 0.26.1. Verificações sintéticas foram executadas em Python 3.13, NumPy 2.5.3, SciPy 1.18.1,
scikit-image 0.26.0 e Matplotlib 3.11.2. Rust não foi instalado; use backend="scipy" para o
caminho testado. Veja evidências de revisão.
Quando Usar
Use esta habilidade ao trabalhar com pares de imagens PIV experimentais ou de visualização de fluxo: medindo campos de velocidade 2D, ajustando parâmetros da janela de interrogação, validando vetores ou derivando vorticidade, taxa de cisalhamento e estatísticas de turbulência. Para simular fluxo em vez de medi-lo, use uma habilidade de CFD em vez disso.
Início Rápido
Instale o OpenPIV:
uv pip install openpiv
# Pin it when the analysis needs to be reproducible -- this is the version every
# snippet below was checked against.
uv pip install "openpiv==0.26.1"
Execute a análise PIV em um par de imagens:
import numpy as np
from openpiv import tools, pyprocess, validation, filters, scaling
frame_a = tools.imread("image_a.bmp")
frame_b = tools.imread("image_b.bmp")
# Always returns (u, v, s2n); s2n is all NaN if sig2noise_method=None.
u, v, s2n = pyprocess.extended_search_area_piv(
frame_a.astype(np.float32),
frame_b.astype(np.float32),
window_size=32,
overlap=12,
dt=0.02,
search_area_size=38,
correlation_method="linear", # circular also supports extended search
normalized_correlation=True,
backend="scipy",
sig2noise_method="peak2peak",
)
x, y = pyprocess.get_coordinates(
image_size=frame_a.shape,
search_area_size=38,
overlap=12,
center_on_field=False, # matches sliding-window positions
)
# flags is a boolean array: True marks a spurious vector.
flags = validation.sig2noise_val(s2n, threshold=1.05) | ~np.isfinite(s2n)
flags |= ~np.isfinite(u) | ~np.isfinite(v)
u, v = filters.replace_outliers(u, v, flags, method="localmean", max_iter=3, kernel_size=2)
# Scale, then convert to right-handed image-boundary coordinates.
x, y, u, v = scaling.uniform(x, y, u, v, scaling_factor=96.52)
y, v = frame_a.shape[0] / 96.52 - y, -v
tools.save("vectors.txt", x, y, u, v, flags)
Ou use a CLI integrada, que também verifica as entradas e preserva máscaras e parâmetros de processamento:
python skills/openpiv/scripts/runner.py \
--image frame_a.bmp --image frame_b.bmp --output_dir results --verbose
Conceitos Principais
Fundamentos do PIV
Particle Image Velocimetry é um método óptico para medir a velocidade do fluido rastreando partículas traçadoras iluminadas entre duas imagens.
Fluxo do processo:
- Capture um par de imagens (
frame_a,frame_b) separadas por um tempo conhecidodt. - Divida as imagens em janelas de interrogação.
- Faça a correlação cruzada de janelas correspondentes para encontrar o deslocamento de pico.
- Valide os vetores (sinal-ruído, alcance global, mediana local).
- Substitua vetores espúrios por valores interpolados.
- Escalone os deslocamentos de pixels para unidades físicas.
Parâmetros da Janela de Interrogação
window_size — janela de correlação em pixels (tipicamente 16–128). Janelas maiores fornecem melhor
correlação, mas resolução espacial mais grosseira.
overlap — pixels compartilhados entre janelas adjacentes (tipicamente 50–75% de window_size). Maior
sobreposição aumenta a densidade de vetores e o custo, mas vetores adjacentes se tornam correlacionados em vez de
independentes.
search_area_size — a janela pesquisada no segundo quadro. Deve ser ≥ window_size; alguns
pixels maiores acomodam deslocamentos maiores. Tanto "circular" quanto "linear" suportam
pesquisa estendida. A CLI escolhe "linear" com preenchimento de zero e normalized_correlation=True para ela; isso
não recupera deslocamento arbitrário nem elimina picos espúrios. O passo da grade é
search_area_size - overlap, portanto, a sobreposição deve ser menor que a área de pesquisa.
Regras gerais: mantenha o maior deslocamento abaixo de cerca de um quarto de window_size e mire em
5–10 partículas por janela.
Razão Sinal-Ruído
s2n mede o quão distinto é o pico de correlação. sig2noise_method controla como ele é computado —
"peak2mean" (o padrão da função) ou "peak2peak". Os dois estão em escalas diferentes, portanto, um
limiar ajustado para um é sem sentido para o outro. Limiares típicos de peak2peak são 1.05–1.3.
…
Perguntas frequentes
O que são 'janelas de interrogação'?
São pequenas caixas que a ferramenta usa para dividir as imagens e comparar as áreas entre elas.
O que significa 'vetores espúrios'?
São resultados de velocidade que parecem errados ou impossíveis, e a ferramenta tenta corrigi-los ou removê-los.
Como a ferramenta sabe a velocidade real?
Ela mede o deslocamento das partículas em pixels e, com base no tempo entre as imagens e uma escala, converte isso em velocidade física (como metros por segundo).
Detalhes
Descrição original do autor
Performs Particle Image Velocimetry (PIV) analysis with OpenPIV. Use when extracting velocity fields from PIV image pairs, analyzing fluid dynamics or flow visualization experiments, cross-correlating interrogation windows, validating and replacing spurious PIV vectors, or computing vorticity, strain rate, and turbulence statistics from measured velocity fields.
Popularidade
- Estrelas no GitHub
- 51 mil
- Posição no ranking
- #1921
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
13c-metabolic-flux
Estima fluxos metabólicos usando dados de rastreamento de isótopos de carbono-13. É útil para analisar o metabolismo celular e vias bioquímicas.
K-Dense-AI/scientific-agent-skills
adaptyv
Projeta experimentos de caracterização de proteínas usando a API Adaptyv. Ele ajuda a estimar custos, enviar sequências e monitorar resultados de laboratório.
K-Dense-AI/scientific-agent-skills
aeon
Realiza tarefas de aprendizado de máquina em séries temporais. É útil para classificar, prever, detectar anomalias e encontrar padrões em dados sequenciais.
K-Dense-AI/scientific-agent-skills
alphagenome
Consulta efeitos genômicos pré-calculados para variantes genéticas. Ele fornece pontuações e explicações para entender o impacto das variantes no genoma.
K-Dense-AI/scientific-agent-skills
Skills parecidas
dashboard-builder
Ajuda seu agente a criar painéis de monitoramento úteis. Ele transforma dados em gráficos que respondem a perguntas importantes sobre o sistema.
affaan-m/ECC
dev-team
Simula uma equipe de desenvolvimento colaborativa, onde diferentes papéis respondem a um problema juntos. É útil para obter múltiplas perspectivas sem trocar de agente manualmente.
affaan-m/ECC
ecc-council
Faz seu agente reunir um conselho de quatro vozes para tomar decisões difíceis. É útil quando há várias opções boas e é preciso debater antes de escolher.
affaan-m/ECC