Commit History
23 days ago
-
Janela de revisão: tamanho fixo (1000 px) com !important para valer no Space
bnbrisa +1: Claude Opus 5.5Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>cecbd34 -
Nome LepiScan no Space e no link do guia
bnbrisafe6e84e -
Space: Gradio 6.30 fixado (sdk_version e requirements)
bnbrisa318af9f -
Revisar keypoints: texto de ajuda em forma de instrução
bnbrisa +1: Claude Opus 5.5Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>887c2dd -
LepiScan: pacote reorganizado em interface, processamento, revisao e saida; sem cache de processamento; local/ fora do repositório
bnbrisa +1: Claude Sonnet 5.5Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>f02a7cc -
Coleção: sem caixa de texto na imagem, sem 3KP em fotos ventrais, sem view_confidence; ajustes da janela de revisão
bnbrisa +1: Claude Sonnet 5.5Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>fea2b0f -
Revisar keypoints: sem sinais de suspeita nem pré-seleção; envio de revisões sem barra de rolagem
bnbrisa +1: Claude Sonnet 5.5Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>8bd7ef8 -
Revisar keypoints: navegação centrada sob a imagem, imã e observação em caixas separadas
bnbrisa +1: Claude Sonnet 5.5Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>2922ac8 -
Revisar keypoints: janela como na nova referência, status acima do envio de revisões, sem baixar pacote
bnbrisa +1: Claude Sonnet 5.5Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>1f475f2 -
Acesso: lembrar o cadastro no navegador por 90 dias, faixa 'Conectado como … entrou em …' e botão Sair
bnbrisa +1: Claude Opus 5.5Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>7650376 -
Tabela de medições sem quebra de linha nos cabeçalhos (rolagem horizontal)
bnbrisa +1: Claude Sonnet 5.5Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>6417803 -
Correções vão para brisab/lepiscan-correcoes com recorte da borboleta inteira; layout: status na última coluna
bnbrisa +1: Claude Opus 5.5Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>87d0703 -
Revisar keypoints: barra lateral como no desenho, problema da asa na planilha, fechar aplica
bnbrisa +1: Claude Opus 5.5- corrige o 'Erro' ao arrastar: o navegador manda as coordenadas como texto - barra à direita: arquivo e asa, anterior/seguinte, desfazer/voltar, imã, +/-, problema - problema nesta asa (oclusão, danificada, ...) sempre vai para a planilha e a aba correcoes - fechar a janela aplica a revisão (sem botão concluir); fechar sem mudanças não reescreve nada - painel só aparece ao clicar numa imagem; envio de correções numa seção recolhível do painel - posição 'linha, coluna' na grade da prancha inteira; etiqueta repetida ganha a posição - mensagem clara se a imagem do processamento já foi apagada do servidor - css e tema passados no launch() (Gradio 6) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>57128e9 -
Revisar keypoints: painel só ao clicar numa imagem, janela menor com barra lateral
bnbrisa +1: Claude Opus 5.5- depois de processar, só a dica e o total de suspeitas; a lista aparece ao clicar na imagem - janela centralizada e menor; controles numa barra ao lado da imagem - tamanho dos pontos por -/+ fora da imagem, sem perder o zoom da asa - medidas C-A e C-B na barra (antes -> depois), no lugar da tabela - envio de correções numa seção recolhível da barra, com consentimento Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>584bd86 -
Revisar keypoints: janela pop-up, imã que desliza no contorno, botões -/+ e sem 'asa sem medida'
bnbrisa +1: Claude Opus 5.5- o contorno aparece com o imã ligado e A/B deslizam só sobre ele no arraste - tamanho dos pontos por botões -/+ no editor (lembrado no navegador), sem número - revisão numa janela por cima da página, com Fechar e Concluir - 'Ajudar a melhorar o modelo' vira seção fixa, não sanfona - remove 'asa sem medida' (domínio, sessão, pacote e testes) - B deixa de se chamar M11 na tela (nome oficial a definir) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>02195dd -
Revisar keypoints: painel ao lado da galeria, editor de uma asa por vez e 3KP na coleção
bnbrisa +1: Claude Sonnet 5.5- keypoints.py: domínio dos pontos A/B/C (medidas, rótulos, suspeitas, imã) - review.py: ReviewSession com comandos desfazíveis; review_ui.py: painel e editor - feedback.py: pacote de correções opt-in (COCO a/b/c) e envio por CorrectionSink - perfis entregam keypoints no ImageResult; run_batch devolve BatchResult - coleção: 3KP nas asas anteriores (forewing1/2_base_apex_mm e _base_m11_mm) - planilha: coluna origem_keypoints e aba correcoes, opcionais - cache: segmentor_input_size None passa a significar o padrão (antes quebrava a chave) - referência da coleção regravada: só as 4 colunas novas; áreas e vista iguais Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>9df8010 -
Revisar keypoints: escolha por lista de caixas ao lado da galeria, suspeitas pré-marcadas
bnbrisa +1: Claude Sonnet 5.5O plano passa a descrever o painel de resumo com caixas por etiqueta/foto e a fila de uma asa por vez. O protótipo troca a galeria de miniaturas por uma lista de caixas e perde a marca 'editada'. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>04c3e8f -
Protótipo: escolha por borboleta (galeria), editor com uma asa por vez, pontos menores
bnbrisa +1: Claude Sonnet 5.5Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>554e84d -
Protótipo do editor de keypoints também como notebook (abre a tela numa célula)
bnbrisa +1: Claude Sonnet 5.5Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>b347b98 -
Plano da tela Revisar keypoints e protótipo do editor (fase 0)
bnbrisa +1: Claude Opus 5.5Editor em gr.HTML + JS (Gradio 6): pontos A/B/C arrastáveis, zoom com a roda, mover o fundo, C-A e C-B em mm ao vivo; ao soltar, as coordenadas voltam ao Python. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>6f23bc5 -
Treino 3KP: reconhece os pontos a/b/c do projeto (apex, M11, base) e sugere KP_NAMES no erro
bnbrisa +1: Claude Sonnet 5.5Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>b193ee2
24 days ago
-
Notebook do Kaggle para retreinar o 3KP (apex, M11, base) a partir do Roboflow
bnbrisa +1: Claude Opus 5.5Segue o contrato de landmarks.py (U-Net resnet34, caixa + 5%, 256x256, canais apex/M11/base, state_dict), então o .pt entra em weights/ sem mudar o app. Caixa sorteada, rotação, espelho e cinza aleatório; pontos não marcados fora da loss; avaliação no erro dos comprimentos base-apex e base-M11 e comparação com o modelo atual no mesmo test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>751fda7 -
Coleção: segmentador em preto e branco por padrão; referência regravada com os modelos v3
bnbrisa +1: Claude Opus 5.5Nas fotos 'folha', cor e padrão escondem a linha entre anterior e posterior. Com o segmentador em cinza (sem retreinar), as 10 fotos de images/ passam de 18/20 para 20/20 asas medidas. A silhueta e o classificador de vista seguem em cor. 'record colecao' passa a gravar só as fotos borb_leta*. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>8cac707 -
Coleção: opção segment_in_gray (segmentador em P&B) e seção de comparação no notebook de validação
bnbrisa +1: Claude Opus 5.5O notebook de validação ganha RODAR_PRANCHA (a prancha usa outro segmentador e não precisa rodar ao trocar só os .pt de coleção) e uma seção cor x P&B. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>1132ab5 -
Treino coleção: mensagem de sobreposição mais clara
bnbrisa +1: Claude Sonnet 5.5Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>47010b5 -
Treino coleção: polígonos intactos por padrão (CLEAN_POLYGONS=False), só auditoria
bnbrisa +1: Claude Sonnet 5.5Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>28f1077 -
Treino coleção: chave de espécime aceita v/d após espaço ou ponto e mostra quantos nomes têm marcador
bnbrisa +1: Claude Opus 5.5Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>dbf9507 -
Coleção v3: segmentador de 2 classes + classificador de vista da foto inteira
bnbrisa +1: Claude Opus 5.5O segmentador passa a separar só anterior/posterior; a vista (dorsal/ventral) vem de um YOLO-cls na foto inteira, centralizada num quadrado com bordas pretas como no treino. Segmentadores de 4 classes continuam votando a vista entre as asas, então o .pt atual segue funcionando (regressão 10/10). Notebook de treino: um único notebook treina e exporta os dois modelos (modelos_colecao.zip), split por espécime por padrão, matriz de confusão e acerto da vista no test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>7d3d186
25 days ago
-
Validação: tabela de comparação com a referência da coleção
bnbrisa +1: Claude Sonnet 5.5Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>12718bd -
Auto-label 3KP: lista os jobs numa tabela, tolera formatos da API e cai na busca se não houver jobs
bnbrisa +1: Claude Sonnet 5.5Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>867db55 -
Fronteiras: fixa o numpy ao instalar o rembg no Kaggle
bnbrisa +1: Claude Sonnet 5.5Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>bb39f2e -
Fronteiras: ajusta a borda externa das asas à silhueta do rembg
bnbrisa +1: Claude Opus 5.5Depois de colar as fronteiras, cada asa perde o fundo (asa ∩ silhueta) e pode crescer até SNAP_FRAC (0,4% da diagonal, o mesmo limite do app) onde a silhueta for maior, sem tomar pixels de outra asa. Se o rembg cortar mais que MAX_LOSS_FRAC da asa, a anotação original é mantida e listada. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>e918baf -
Notebook para pré-anotar landmarks no Roboflow com o modelo 3KP
bnbrisa +1: Claude Sonnet 5.5Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>ebba9aa
26 days ago
-
Fronteiras: fecha a lacuna por fechamento morfológico (sem espinho no fim)
bnbrisa +1: Claude Sonnet 5.5O preenchimento por faixa (dentro de GAP_FRAC das duas asas) só fechava a lacuna por inteiro onde as asas estavam a menos de GAP_FRAC; acima disso deixava uma fatia solta que afinava até zero e virava um espinho no fim da fronteira. Agora a lacuna é fechada por fechamento morfológico (disco de diâmetro GAP_FRAC), descontando os entalhes do contorno de cada asa isoladamente. A asa de baixo acompanha a de cima enquanto a lacuna for estreita; onde ela passa de GAP_FRAC volta a ser a original, com um degrau de no máximo GAP_FRAC. Cunha sintética: sobreposição restante 0 px. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>f059b16 -
Notebook do Kaggle para colar as fronteiras entre asas nas anotações
bnbrisa +1: Claude Opus 5.5Baixa a versão do Roboflow, ajusta cada par anterior × posterior do mesmo lado tomando a asa de cima (centroide mais alto) como referência: a de baixo perde a sobreposição e ganha a lacuna até GAP_FRAC da diagonal (só na faixa da fronteira, sem crescer para fora do espécime). Mostra estatísticas e antes/depois e sobe como projeto novo (DRY_RUN por padrão). Testado em modo DRY_RUN com um export sintético: sobreposição restante 0 px. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>d40ff72 -
Coleção: asas não engolem o corpo; contorno das asas ocluídas
bnbrisa +1: Claude Opus 5.5A partição deixava cada asa crescer até 3% da diagonal além da máscara do modelo, o que puxava o tórax (e regiões de asas não detectadas) para dentro das asas medidas. O limite passa a 0,4% (PARTITION_MAX_DIST_FRAC): a silhueta só acerta a borda externa. As áreas medidas caem ~2-10%. - collection_viz: asas ocluídas também são contornadas (azul), com legenda. - tests/golden/colecao.json regravado (mudança esperada). - teste: o corpo entre duas asas continua sem dono. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>1ef4332 -
Revisão: regressão da prancha em 15 imagens e notebook de validação
bnbrisa +1: Claude Sonnet 5.5- tests/golden/prancha.json: referência gravada com o código da main, agora com as 5 pranchas de images/ além das 10 fotos de coleção; o perfil de prancha reproduz todas as linhas (15/15). - tests/regression.py: cada imagem roda em um processo próprio e repete se faltar memória (pranchas grandes no limite de 8 GB). - models.py: _get() evita carregar a UNet de régua duas vezes. - profiles/colecao.py: aviso específico quando as asas detectadas ficam fora da silhueta. - tests/test_profiles.py: fábrica e carregamento sob demanda. - experimentos/validacao_perfis.ipynb: roda os testes, a regressão e a coleção mostrando tabelas e imagens (versão com saídas fica fora do git). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>afb8561 -
Perfil de coleção (borboleta inteira) e seletor de tipo no app
bnbrisa +1: Claude Opus 5.5Fase 2: profiles/colecao.py, como pipes e filtros: régua + etiqueta -> instâncias (weights/yolo11_colecao_wings.pt) -> silhueta (rembg u2net, sem antenas/pernas) -> partição da silhueta entre as asas -> vista do espécime por votação ponderada -> área da asa não ocluída (anterior na dorsal, posterior na ventral) -> imagem de resumo. - collection.py: regras de domínio em funções puras (Wing, decide_view, measure_specimen), com testes de unidade. - collection_viz.py: resumo com as asas medidas (A1/A2), régua e avisos. - silhouette.py: modelo de coleção por padrão e carregado sob demanda; rembg indisponível vira RuntimeError (o perfil cai no limiar de cor). - tests/golden/colecao.json: referência das 10 imagens locais. Fase 3: seletor "Tipo de imagem" no app; a planilha tem o nome do perfil. docs/arquitetura.md descreve camadas, padrões e testes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>42011e9 -
Reorganiza o processamento em perfis de imagem (prancha)
bnbrisa +1: Claude Opus 5.5Fase 0: teste de regressão. tests/golden/prancha.json guarda as linhas do pipeline de prancha antes da reorganização; tests/test_regression_prancha.py confere que continuam iguais (10/10 nas imagens de images/). Fase 1: reorganização sem mudar o comportamento da prancha. - profiles/: ImageProfile (Strategy) + get_profile (Fábrica); PranchaProfile adapta o pipeline atual (Adaptador), com o cache e o resumo que estavam dentro de main.run_batch. - batch.run_batch: fachada genérica usada pelo app e pela CLI. - export.write_results_excel: a planilha era escrita em dois lugares. - ruler_tags.py: régua e etiqueta saem de process_image (código idêntico). - models.py: cada modelo carrega no primeiro uso (__getattr__ do módulo). - visualization.py: funções de desenho compartilhadas viram públicas; as constantes 3KP vêm de config (não carrega o modelo só para desenhar). - main.py: --tipo; a CLI agora grava a planilha com os mesmos nomes de aba do app (medicoes/erros). Co-Authored-By: Cl…bfe55d0 -
Experimentos de segmentação de fotos de coleção
bnbrisa +1: Claude Opus 5.5- silhouette.py: silhueta (rembg u2net ou limiar de cor), remoção de antenas/pernas e partição da silhueta entre as asas detectadas. - experimentos/silhueta_colecao.ipynb: notebook para testar a partição. - experimentos/treino_colecao_kaggle.ipynb: treino do segmentador de coleção no Kaggle (split por espécime, limpeza de polígonos, loss com peso na borda e avaliação por erro de área). - .gitignore: pesos e notebooks exportados do Kaggle ficam fora do git. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>d474a41
-
Avisar sobre tempo de login
bnbrisa6161832 -
Aumentar tempo limite do registro
bnbrisa6f5bb52 -
Armazenar guia PDF com Git LFS
bnbrisa3a18947 -
guia.pdf compressed
bnbrisae3c1dd0 -
add gate functionality and user guide; update requirements
bnbrisa8db5c53
-
add .venv to .gitignore
bnbrisa2ccfb5d
-
3KP em batch por imagem
bnbrisa9d6786f -
3KP em batch por imagem
bnbrisac9a8c22 -
deixar menos lento
bnbrisa7d7d31b -
deixar menos lento
bnbrisa877bdfe