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

Detalhes bibliográficos
Autor(a) principal: Mariana Beatriz Nunes Canelas Pais
Data de Publicação: 2023
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Texto Completo: https://hdl.handle.net/10216/156029
Resumo: 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.
id RCAP_aa2210fe1bf81ba8e3e4b6f6b642c2f6
oai_identifier_str oai:repositorio-aberto.up.pt:10216/156029
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling Visual Viper: a portable visualization library for streamlined scientific communications.Ciências da computação e da informaçãoComputer and information sciencesAs 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.2023-12-152023-12-15T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/10216/156029TID:203522540engMariana Beatriz Nunes Canelas Paisinfo:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2025-02-27T18:20:19Zoai:repositorio-aberto.up.pt:10216/156029Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T22:45:37.919838Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv Visual Viper: a portable visualization library for streamlined scientific communications.
title Visual Viper: a portable visualization library for streamlined scientific communications.
spellingShingle Visual Viper: a portable visualization library for streamlined scientific communications.
Mariana Beatriz Nunes Canelas Pais
Ciências da computação e da informação
Computer and information sciences
title_short Visual Viper: a portable visualization library for streamlined scientific communications.
title_full Visual Viper: a portable visualization library for streamlined scientific communications.
title_fullStr Visual Viper: a portable visualization library for streamlined scientific communications.
title_full_unstemmed Visual Viper: a portable visualization library for streamlined scientific communications.
title_sort Visual Viper: a portable visualization library for streamlined scientific communications.
author Mariana Beatriz Nunes Canelas Pais
author_facet Mariana Beatriz Nunes Canelas Pais
author_role author
dc.contributor.author.fl_str_mv Mariana Beatriz Nunes Canelas Pais
dc.subject.por.fl_str_mv Ciências da computação e da informação
Computer and information sciences
topic Ciências da computação e da informação
Computer and information sciences
description 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.
publishDate 2023
dc.date.none.fl_str_mv 2023-12-15
2023-12-15T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/10216/156029
TID:203522540
url https://hdl.handle.net/10216/156029
identifier_str_mv TID:203522540
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833599850497703936