A System Architecture in Multiple Views for an Image Processing Graphical User Interface
Total Page:16
File Type:pdf, Size:1020Kb
A System Architecture in Multiple Views for an Image Processing Graphical User Interface Roberto Wagner Santos Maciel, Michel S. Soares a and Daniel Oliveira Dantas b Departamento de Computac¸ao,˜ Universidade Federal de Sergipe, Sao˜ Cristov´ ao,˜ SE, Brazil Keywords: Software Architecture, Unified Modeling Language, 4+1 View Model, UML. Abstract: Medical images are important components in modern health institutions, used mainly as a diagnostic support tool to improve the quality of patient care. Researchers and software developers have difficulty when building solutions for segmenting, filtering and visualizing medical images due to the learning curve, complexity of in- stallation and use of image processing tools. VisionGL is an open source library that facilitates programming through the automatic generation of C++ wrapper code. The wrapper code is responsible for calling paral- lel image processing functions or shaders on CPUs using OpenCL, and on GPUs using OpenCL, GLSL and CUDA. An extension to support distributed processing, named VGLGUI, involves the creation of a client with a workflow editor and a server, capable of executing that workflow. This article presents a description of archi- tecture in multiple views, using the architectural standard ISO/IEC/IEEE 42010:2011, the 4+1 View Model of Software Architecture and the Unified Modeling Language (UML), for a visual programming language with parallel and distributed processing capabilities. 1 INTRODUCTION lutions in the clinical and hospital environment (Ukis et al., 2013; Franc¸a et al., 2017). Most tools do not Medical images are important components in modern allow the sharing of images, software and process- health institutions, used mainly as a diagnostic sup- ing resources. Researchers and programmers find it port tool to improve the quality of patient care (Mar- difficult to build solutions for segmenting, filtering wan et al., 2017). An advanced medical image and visualizing medical images, due to the learning processing and visualization solution offers power- curve, complexity of installation and usage of these ful quantitative image reading, ability to evaluate im- tools (Morita et al., 2013). ages in multiple modalities, relevant workflow tools, VisionGL is an open source library that provides several computer-aided diagnostic algorithms, and a a set of accelerated image processing functions, e.g., wide range of clinical applications (Ukis et al., 2013). pixelwise operations, convolution, classical and dif- Examples of computational tools for biomedi- fuse mathematical morphology, with dilation, ero- cal analysis of images are ImageJ, CellProfiler and sion, opening, closing, conditional dilation and ero- Fiji (Morita et al., 2013). TOMAAT is a platform sion and reconstruction. VisionGL facilitates pro- for researchers and users to share algorithms for gramming by automatically generating the C++ wrap- image processing pipelines (Milletari et al., 2019). per code responsible for calling the shaders writ- CloudMed is a software as a service used by med- ten in OpenCL, compatible with most GPUs and ical institutions for teleconsultation and telediagno- CPUs (Dantas et al., 2016). sis, where healthcare professionals can share medical Khoros is a system that automates the develop- images and collaborate through messages (Monteiro ment of image processing workflows. Khoros’ envi- et al., 2012). ronment is equipped with Cantata, a visual program- There are several challenges in the creation of sys- ming language that implements data flows (Gurevich tems for processing medical images, such as the size et al., 2006). Interactive Data Language (IDL) is of the images and the need to integrate with other so- a visual programming language that facilitates the learning of developers and integrates a large number a https://orcid.org/0000-0002-7193-5087 of functions suitable for treating medical images in b https://orcid.org/0000-0002-0142-891X 3D (Xiaoqi et al., 2012). 213 Maciel, R., Soares, M. and Dantas, D. A System Architecture in Multiple Views for an Image Processing Graphical User Interface. DOI: 10.5220/0010414602130223 In Proceedings of the 23rd International Conference on Enterprise Information Systems (ICEIS 2021) - Volume 2, pages 213-223 ISBN: 978-989-758-509-8 Copyright c 2021 by SCITEPRESS – Science and Technology Publications, Lda. All rights reserved ICEIS 2021 - 23rd International Conference on Enterprise Information Systems Modeling all the concerns of a system’s stakeholders in a single view is a difficult task. Teams often deal only with partial and incomplete views of a system, which are easier to manage (Reineke and Tripakis, 2014). Use of multiple views has been an impor- tant principle in describing architecture since the first works in software architecture (Hilliard et al., 2012). Multiple views documentation helps stakeholders to better understand the system architecture, and allows managing complexity and risks during the system de- velopment (Ribeiro et al., 2017; Franc¸a et al., 2017). The 4+1 View Model of Software Architec- ture uses multiple views to separately address the concerns of the various architectural stakeholders and address functional and non-functional require- ments (Kruchten, 1995). An example of architec- ture that uses this model is found in the study by Vi- doni (Vidoni and Vecchietti, 2016). This article presents a description of a graphical user interface architecture for the VisionGL library, Figure 1: Khoros-Cantata Environment (Geradts and Bi- based on the features of the Khoros-Cantata tool, jhold, 1999). in multiple views, using the architectural standard ISO/IEC/IEEE 42010:2011, the 4+1 View Model of sent the flow of data (Drymonitis, 2015). Software Architecture and the Unified Modeling Lan- Developing effective computer vision algorithms guage - UML. for specific applications is a challenging task that requires a significant amount of time invested in the prototyping phase. Non-programmers are un- derserved as there is no easy-to-use, high-level in- 2 VISUAL PROGRAMMING terface (Wang and Hogue, 2020). CVNodes is a LANGUAGES high-level abstracted interface that leverages the low- level power of OpenCV and thus provides access Khoros-Cantata has features not normally found in to general image processing and vision algorithms visual programming environments, such as iteration, based on hierarchical nodes that allow users to create, control structures, parameters and glyph-based pro- drag, drop and connect nodes that implement multi- gramming (Young et al., 1995a). Glyphs provide an ple pre-processing methods to form a pipeline algo- iconic representation of an operator, which can be rithm (Wang and Hogue, 2020). connected to another in a visual data stream, with the possibility of delaying the execution of one glyph un- til another one is executed (Young et al., 1995b). Fig- 3 VGLGUI SYSTEM ure 1 illustrates the Khoros-Cantata development en- vironment. Cantata is a language whose nodes have ARCHITECTURE full functions to offer simpler loops in terms of visual syntax (Johnston et al., 2004). The description of the architecture of a system often Processing is an extension of Java with simplified makes use of an architectural description language to syntax composed of a programming language, devel- organize and express points of view, architectural vi- opment environment and teaching methodology in a sions, the result of applying the point of view to a par- unified structure for learning and prototyping (Reas ticular system that addresses the concerns of its stake- and Fry, 2003). Processing can be used as a tool holders. (ISO, 2011). for writing software sketches, including a custom 2D UML offers a set of types of diagrams used to doc- / 3D rendering engine written in pure Java that de- ument views of the user’s functional requirements, signs its PostScript and OpenGL feature set (Reas and system structure and the dynamic behavior of soft- Fry, 2004). Pure Data is an open source visual pro- ware elements (Sellami et al., 2013). Object-oriented gramming language used to create programs through modeling languages such as UML have been used a graphical interface. A “box” represents a certain to describe software architectures for decades. The function. Boxes are connected with lines that repre- structure of a software can be described, for instance, 214 A System Architecture in Multiple Views for an Image Processing Graphical User Interface Table 1: Architecture decision records. Stakeholder Concern Id Decision Consequence 1 - Easy implementation of workflows j, k Greater difficulty in implementation 2 - Persistence of workflows between sessions a Greater difficulty in implementation graduate 3 - Sharing workflows b Greater difficulty in implementation students 4 - Saving the resulting images at the end c Greater difficulty in implementation and security 5 - Using your private data sets d Greater difficulty in implementation and security 6 - Privacy of user data. f Greater difficulty in security 7 - Ease of maintenance e, i Easier maintenance and implementation system administrators 8 - Ease of deployment of clients and servers g, l Easier maintenance and deployment 9 - Availability of image processing servers on the Internet f Greater difficulty in security project 10 - Ease of maintenance e, i Easier maintenance and implementation managers 11 - Ease of implementation e, h, i Easier maintenance and implementation image processing 12 - Add new functions with ease e Easier maintenance and implementation specialists by using package diagrams,