Go to:
Logótipo
Você está em: Start » Publications » View » Visual Viper: a portable visualization library for streamlined scientific communications.
Publication

Visual Viper: a portable visualization library for streamlined scientific communications.

Title
Visual Viper: a portable visualization library for streamlined scientific communications.
Type
Thesis
Year
2023-12-15
Authors
Mariana Beatriz Nunes Canelas Pais
(Author)
FMUP
View Personal Page You do not have permissions to view the institutional email. Search for Participant Publications Without AUTHENTICUS Without ORCID
Scientific classification
FOS: Natural sciences > Computer and information sciences
Other information
Resumo (PT): À medida que o sector da saúde passa por uma transformação digital, a afluência de dados de saúde para profissionais de saúde e investigadores tem disparado. A crescente necessidade de criar visualizações de dados para compreender esta informação levou ao desenvolvimento do Visual Viper, uma biblioteca Python destinada a automatizar a visualização de dados, para agilizar o processo frequentemente trabalhoso de gerar visualizações. O Visual Viper usa Vega-Lite, uma gramática de alto nível de gráficos interativos, para criar visualizações a partir de várias fontes de dados de investigação através de uma interface de programação de aplicações (‘application programming interface’ - API) conveniente. Esta automação poupa tempo e facilita a consistência da comunicação científica. A funcionalidade da biblioteca compreende componentes interligados: começa por obter dados de uma fonte selecionada, segue-se a transformação destes dados para se adequarem aos requisitos de visualização. subsequentemente o Visual Viper renderiza os gráficos usando Vega-Lite e exporta-os para uso na comunicação científica. Este pipeline é implementado utilizando uma arquitetura de ‘plugins’ modular e extensível, que permite acomodar diferentes fontes de dados e tipos de visualização. Cada etapa permite pode ser modificada de forma independente, possibilitando uma personalização extensa com base em casos de uso específicos e sem afetar a funcionalidade geral da biblioteca. Alguns paradigmas importantes usados no desenvolvimento do Visual Viper incluem a programação orientada a objetos (‘object oriented programming’ - OOP) e desenvolvimento orientado a testes (‘test-driven development’ - TDD), ambos proporcionando estrutura, eficiência e funcionalidade. Ao usar OOP, a biblioteca adota uma estrutura clara para o código, tornando-o mais fácil de gerir e manter. Os princípios de encapsulamento, herança e polimorfismo proporcionam eficiência e flexibilidade, enquanto o uso de classes como 'DatasetBuilder', 'ChartNotationBuilder' e 'ChartDeployer' facilitam a reutilização de código. A classe 'DatasetBuilder' é projetada para obter e pré-processar dados de várias fontes, a classe 'ChartNotationBuilder' é responsável por criar o layout do gráfico e estética visual baseada nos dados pré-processados, e a classe 'ChartDeployer' lida com a implantação das visualizações finalizadas. Cada uma dessas classes encapsula funções e dados relacionados, reduzindo a complexidade e tornando o código mais fácil de manter e estender. TDD também apresentou um papel crucial no desenvolvimento do Visual Viper. Esta abordagem, que envolve escrever testes antes do código propriamente dito, garante que todas as funções estão a funcionar como pretendido, levando assim a uma melhoria da qualidade do código, simplificação da depuração e um ciclo de desenvolvimento mais rápido. A implementação do Visual Viper garante que este pode funcionar em vários ambientes sem alterações significativas (é agnóstico ao ambiente), e pode operar independentemente em máquinas locais, AWS Lambda, ou como uma API Web. Em conclusão, o Visual Viper fornece uma ferramenta robusta e flexível para a visualização de dados, reforçando a eficiência da comunicação científica no sector da saúde.
Abstract (EN): As the healthcare sector undergoes digital transformation, the influx of data for health professionals and researchers has surged. The increased need for data visualizations to comprehend this information led to the development of Visual Viper, a Python library aimed at automating data visualization, to streamline the often labor-intensive process of generating visualizations. Visual Viper uses Vega-Lite, a high-level grammar of interactive graphics, to create visualizations from various research data sources via a convenient application programming interface (API). This automation saves time and facilitates the consistency of science communication. The library's functionality comprises interconnected components. It begins by retrieving data from a selected source, followed by transforming this data to suit visualization requirements. Subsequently, Visual Viper renders the charts using Vega-Lite and deploys them for use in scientific communication. Implemented within a modular and extensible plugin architecture, it accommodates different data sources and visualization types. Each stage allows independent modification, enabling extensive customization based on specific use-cases without affecting the library's overall functionality. Some important paradigms used in Visual Viper's development include the application of object-oriented programming (OOP) and test-driven development (TDD). By using OOP, the library adopts a structured codebase that is easier to manage and maintain. The principles of encapsulation, inheritance, and polymorphism ensure efficiency and flexibility, while the use of classes facilitates code reuse. The 'DatasetBuilder' class is designed to fetch and preprocess data from various sources, 'ChartNotationBuilder' class is responsible for creating the chart layout and visual aesthetics based on the preprocessed data, and the 'ChartDeployer' class handles the deployment of the finished visualizations. These classes encapsulate related functions and data, reducing complexity and aiding code maintenance and extension. The TDD approach, which involves writing tests before the actual code, ensures all functions are operating as intended, thus leading to improved code quality, simplified debugging, and a faster development cycle. Its implementation ensures the library can run in various environments without significant changes (Environment Agnostic), and it can operate independently on local machines, Lambda, or as a Web API (Serverless Deployment). Future steps for Visual Viper include development of plugins including Google Sheets Dataset Builder and Figma Chart Deployer and creation of additional Vega Lite Chart Notation Builders such as Bar Chart, Survival Chart, and Forest Plot. Once these steps are complete, Visual Viper will be packaged as an importable Python package, with an efficiency evaluation to follow. In conclusion, Visual Viper provides a robust and flexible tool for data visualization, bolstering the efficiency of scientific communication in the healthcare sector.
Language: English
No. of pages: 71
License type: Click to view license CC BY
Documents
File name Description Size
manuscript Visual Viper: a portable visualization library for streamlined scientific communications. 10980.73 KB
Recommend this page Top
Copyright 1996-2024 © Faculdade de Medicina da Universidade do Porto  I Terms and Conditions  I Acessibility  I Index A-Z  I Guest Book
Page created on: 2024-07-19 at 21:30:58
Acceptable Use Policy | Data Protection Policy | Complaint Portal | Política de Captação e Difusão da Imagem Pessoal em Suporte Digital