Python energizado: nova ferramenta de imagem visualiza dados complexos

Ilustração de The Project Twins

O software de visualização e análise de imagens napari preencheu uma lacuna no ecossistema científico da linguagem de programação.

Josh Dorrington se tornou um adepto da visualização dos jatos. Ele traça rios de ar em movimento rápido em diferentes altitudes atmosféricas e posiciona os gráficos lado a lado. “Você fica muito bom em olhar para todas essas seções transversais e descobrir o que elas implicam”, diz Dorrington, um físico atmosférico da Universidade de Oxford, no Reino Unido. Mas, em comparação com as visualizações computadorizadas, este método ‘manual’ é mais lento e “não é tão interativo”.

Portanto, quando se tratou de visualizar eventos de bloqueio atmosférico, nos quais massas de ar estacionárias de alta pressão desviam a corrente de jato e levam a eventos climáticos extremos, Dorrington tentou uma abordagem alternativa. Usando o visualizador de imagens napari, ele animou os fluxos em 3D à medida que fluíam sobre o hemisfério norte – geralmente, mas nem sempre, em sincronia uns com os outros. “Uma tarde passamos hackeando coisas juntos e eu já tenho uma breve visualização dos jatos do Atlântico de nível inferior e superior!” ele tuitou em agosto.

napari é um visualizador de imagens gratuito, de código aberto e extensível para dados arbitrariamente complexos (‘n-dimensionais’) que são fortemente acoplados à linguagem de programação Python (consulte napari.org). É a ideia do microscopista Loïc Royer, do Chan Zuckerberg Biohub em San Francisco, Califórnia; Juan Nuñez-Iglesias, que desenvolve análise de imagens na Monash University em Melbourne, Austrália; e Nicholas Sofroniew, que lidera a equipe de tecnologia de imagem na Chan Zuckerberg Initiative (CZI) em Redwood City, Califórnia.

A equipe criou o software em 2018 para preencher uma lacuna no ecossistema científico Python. Embora Python seja a língua franca da computação científica, ele não tinha ferramentas de visualização que pudessem lidar com conjuntos de dados n-dimensionais. Como resultado, a análise de dados geralmente exigia um vai e vem tedioso entre o Python e outras ferramentas (como o pacote de análise de imagens baseado em Java ImageJ) enquanto os pesquisadores alternadamente manipulavam seus dados e os visualizavam para ver o que havia acontecido.

napari – o nome se refere a um vilarejo em uma ilha do Pacífico a meio caminho entre as bases dos desenvolvedores em San Francisco e Melbourne – apresenta uma interface gráfica simples com um console Python integrado no qual as imagens podem ser renderizadas, giradas e manipuladas em 2D ou 3D, com dimensões adicionais, como a sucessão de ‘fatias’ temporais em uma série de tempo, acessíveis usando controles deslizantes abaixo da janela da imagem. Se disponíveis, unidades de processamento gráfico podem ser usadas para acelerar o software. “Certificamo-nos de que realmente usamos o computador em sua capacidade total”, explica Royer. (Os usuários de ImageJ também podem trabalhar em Python usando PyImageJ; consulte pypi.org/project/pyimagej).

Camadas semelhantes às do Adobe Photoshop permitem aos usuários sobrepor pontos, vetores, trilhas, superfícies, polígonos, anotações ou outras imagens. Um pesquisador poderia, por exemplo, abrir uma imagem de um tecido em napari, identificar núcleos celulares com um clique do mouse, recuperar esses pontos em Python e usá-los para “semear” um algoritmo de segmentação celular, que identifica os limites das células. Ao enviar os resultados para o napari como uma nova camada na imagem original, eles podem avaliar o quão bem o processo de segmentação funcionou.

Xavier Casas Moreno, um físico aplicado do Royal Institute of Technology em Estocolmo, incorporou napari em um sistema de controle de instrumento, chamado ImSwitch, que ele construiu para controlar os microscópios de super-resolução de seu laboratório. Usando camadas, os pesquisadores podem sobrepor imagens tiradas de diferentes ângulos por várias câmeras e sensores. “Esse é um desafio que não podíamos resolver antes”, diz Moreno. Um painel de controle napari personalizado, ou “widget”, integrado ao ImSwitch, permite que os usuários movam uma imagem em relação à outra para alinhá-las.

Os usuários também podem estender o napari usando plug-ins: mais de 100 estão disponíveis no hub napari (consulte napari-hub.org). Isso inclui plug-ins para leitura e gravação de arquivos, controle de microscópio e segmentação de células. Carsen Stringer, um neurocientista computacional do Campus de Pesquisa Janelia do Howard Hughes Medical Institute perto de Ashburn, Virgínia, criou um plug-in de segmentação celular chamado CellPose, que disponibiliza o poder dos algoritmos de aprendizagem profunda Python por meio de uma interface gráfica simples. Stringer e seus colegas usam CellPose para medir a expressão gênica e sinalização de cálcio célula por célula no tecido neural.

Robert Haase, que desenvolve análise biológica de imagens na Universidade de Tecnologia de Dresden, na Alemanha, construiu vários plug-ins para napari. Isso inclui um para seu assistente py-clEsperanto, que visa acelerar o processamento de imagens e remover as barreiras da linguagem de programação entre diferentes sistemas de visualização de imagens, e um chamado natari – um portmanteau de napari e Atari (o desenvolvedor de videogame) – no qual os usuários jogam um jogo que envolve remover células de um campo de visão atirando nelas.

Nuñez-Iglesias até escreveu um plug-in que permite aos usuários controlar o napari por meio de uma placa de interface digital de instrumento musical (MIDI), que normalmente seria usada para personalizar a saída de áudio digital. Em uma demonstração de vídeo, Nuñez-Iglesias combina um controlador MIDI e Apple iPad para segmentar células manualmente desenhando na imagem no tablet com uma caneta Apple e movendo de camada em camada em napari girando um dial no controlador MIDI. “Eu gosto mais de controladores de hardware e feedback físico do que de interfaces de usuário virtuais”, explica ele.

Na versão 0.4.12, o napari ainda está em desenvolvimento, com suporte do programa de imagens científicas CZI, que hospeda o hub napari e fornece vários membros da equipe para o projeto, além de código contribuído por muitos desenvolvedores na comunidade científica. A CZI também destinou US $ 1 milhão para apoiar o programa de subsídios Napari Plugin Accelerator: 41 prêmios foram anunciados no mês passado.

Os principais objetivos de desenvolvimento incluem melhorar a instalação, a documentação, a interface do plug-in e o manuseio de grandes conjuntos de dados 3D. Alguns experimentos, como estudos de conectômica neural, produzem conjuntos de dados tão grandes que o software desacelera a ponto de engatinhar, diz Nuñez-Iglesias. Um esquema de “carregamento lento”, em que os dados são carregados sob demanda, deve aliviar esse gargalo, diz ele.

Nuñez-Iglesias estima que a base de usuários de Napari está “na casa dos milhares”. E está crescendo rapidamente, mesmo entre os que não são microscopistas. Os usuários demonstraram aplicações em geofísica e biologia estrutural, por exemplo. E o DeepLabCut, uma ferramenta popular para capturar as poses dos animais enquanto eles se movem, anunciou planos para substituir seu visualizador por napari.

Hung-Yi Wu, um biólogo de sistemas da Harvard Medical School em Boston, Massachusetts, resumiu a empolgação que o projeto está gerando em um tweet em 2020. “@napari_imaging é incrível”, escreveu ele: “Eu me senti como se estivesse usando o primeiro iPhone”.


Publicado em 08/12/2021 11h36

Artigo original:

Estudo original: