Научная статья на тему 'A general architecture to develop usable tools for biomedical image analysis'

A general architecture to develop usable tools for biomedical image analysis Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
75
24
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ANALYSIS / IN BIOMEDICINE / SIMILAR TO A MULTITIER ARCHITECTURE / LOGIC / FUNCTIONALITY

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Domínguez César, Heras Jónathan, Mata Eloy, Pascual Vico

Nowadays, analysing images has become a common problem in many life science fields; hence, tools that automatise or semi-automatise this task are instrumental for researchers. Since there isnot a unique tool that can tackle every single aspect (acquisition, analysis, visualisation, and so on) of biomedical image processing, different programs are required; however, this might be achallenge for the researchers since they need to know how to use and combine several tools.Therefore, special-purpose software that combines several programs, and guides and helps the users is desirable. In this paper, we present a generic architecture that can be employed to create special-purpose tools combining several systems. Such an architecture has been already particularised into two tools called GelJ and AntibiogramJ.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «A general architecture to develop usable tools for biomedical image analysis»

Научни трудове на Съюза на учените в България-Пловдив. Серия В. Техника и технологии, т. XV, ISSN 1311 -9419 (Print), ISSN 2534-9384 (On- line), 2017. Scientific Works of the Union of Scientists in Bulgaria-Plovdiv, series C. Technics and Technologies, Vol. XV., ISSN 1311 -9419 (Print), ISSN 2534-9384 (On- line), 2017.

A GENERAL ARCHITECTURE TO DEVELOP USABLETOOLS FOR BIOMEDICALIMAGE ANALYSIS Cesar Dominguez, Jonathan Heras, Eloy Mata, and VicoPascual DepartmentofMathematics and Computer Ssiense, University of La Rioja

(Spain)

Abstract

Nowadays, analysing images has become a common problem in many life science fields; hence, tools that actomatise or semi-actomatise this task are instrumental for researchers. Since there is not a cniqce tool that can tackle every single aspect (acquisition, analysis, visualisation, and so on) of biomedical image processing, different programs are required; however, this might be a challenge for the researchers since they need to know how to use and combine several tools. Therefore, special-purpose software that combines several programs, and guides and helps the users is desirable. In this paper, we present a generic architecture that can be employed to create special-purpose tools combining several systems. Such an architecture has been already particularised into two tools called GelJ and AntibiogramJ.

1. Introduction

The analysis of images is instrumental in many life science fields and, in particular, in Biomedicine (Dietz, 2012). Currently, the datasets of bioimages are growing exponentially, and due to the huge size of such datasets, visual inspection and manual measurement of the images is a time-consuming task that lacks sensitivity, accuracy, objectivity and reproducibility (Cappellen, 2007). Hence, researchers need to rely on automatic or semi-automatic imaging techniques, provided by different software tools (Eliceiri, 2012).

Nowadays, most researchers and students in life sciences have some background using software tools. However, mastering the skills to analyse biomedical images might be a challenge since it requires the combination of techniques and tools coming from several fields. For instance, there is not a any tool that can handle every single aspect (acquisition, analysis, visualisation, and so on) of biomedical image processing; and, therefore, researchers need to combine them. This issue can be tackled by developing special-purpose applications that deal with concrete bioimaging problems, and that guide and help the users to solve them.

Developing good applications is almost an art (Anderson, 2010) because they must be easy-to-use and also easy-to-learn - the creation of such tools is not a simple task at all. In this paper, we present a general architecture for developing usable tools for bioimaging, see Section 2, that has been successfully applied in two projects, see Section 3.

1 This work was partially supported by Ministerio de Industria, Economía y Competitividad, project MTM2014-54151-P

2. A General Architecture

The proposed architecture is depicted in Figure 1. This architecture is similar to a multitier architecture with three layers: presentation, logic, and persistence. The particularity about this architecture is that the logic layer is implemented by combining several third-party tools (S1,..., Sn in Figure 1) for image processing thanks to a bridge. Such a bridge can be defined using two different approaches. In the former, the data from one of the programs are exported into a format that can be read by other tools. In the latter, an interface is created to allow the access to the functionality of one tool from others.

Presentation laver

Logic layer

Bridge

S1 S2 Sn

Persistence laver

Figure 1. Proposed Architecture

Despite the fact that the GUI, the model for the database, and the logic of the application could be different for each concrete problem, this architecture provides a general framework that allows developers to reuse several fragments of code, and patterns across problems. This avoids reinventing the wheel several times and facilitates new developments.

In order to particularise the architecture for a concrete problem, many programming languages could be employed. From our point of view, Java is the best candidate for several reasons. First of all, in order to implement the persistence of the application, we can use the JavaDB library (Oracle, 2014) that provides an embedded database, avoiding the installation of databases like MySQL or Oracle. Moreover, there are several libraries for image analysis that are implemented in Java or offer wrappers that can be accessed from this language; this facilitates the implementation of the logic of the application. Finally, the development of interfaces is a common task in Java that is simplified thanks to widget toolkits like Java Swing.

3. Case Studies

In this section, we present two case studies where our architecture has been successfully applied. 3.1. GelJ

GelJ (Heras, 2015) is a Java application designed for analysing DNA fingerprint images. GelJ is a feather-weight, user-friendly, open-source and free tool that combines the simple design of free systems with instrumental features for DNA fingerprinting that are only available on commercial tools. Some of the outstanding features of GelJ are functionality for accurate lane- and band-detection, several methods for computing migration models and generating dendrograms, comparison of banding patterns from different experiments, and database support. The main window of GelJ is shown in Figure 2.

Figure 2. Screenshot of GelJ main interface

GelJ follows the architecture presented in Section 2, and in order to implement the logic to process DNA fingerprint images, we combine two systems: Image J (Schneider, 2012) and Weka (Hall, 2009). In particular, ImageJ provides the functionality for image processing; and, Weka features machine-learning algorithms (namely, clustering analysis) that are employed to compare DNA patterns. In order to connect ImageJ and Weka in GelJ, the data obtained thanks to ImageJ is exported into a format that can be read by Weka.

3.2. AntibiogramJ

AntibiogramJ (Alonso, 2017) is a Java program for the identification, measurement and categorisation of inhibition zones in antibiogram images captured with any device that incorporates a camera (including digital cameras and mobile phones). The main interface of AntibiogramJ is presented in Figure 3.

AntibiogramJ implements the architecture presented in Section 2, and relies on two third-party libraries widely applied in Bioinformatics: ImageJ, that provides functionality for image processing, and OpenCV (Bradski, 2015), that features several computer vision and machine-learning algorithms. The combination of those two libraries was possible thanks to the interface provided by the IJ-OpenCV library (Pascual, 2017).

mm IP

®IL E ¡3 u ---------------—

IJMI.H.M.M«. •> 111". ;«SI I'|.til.li- SV, ) _ .A'. !v':r:

Figure 3. Screenshot of the main window of AntibiogramJ

4. Conclusions and further work

In this paper, we have presented a generic architecture that can be employed to create specialpurpose tools combining several systems. Such an architecture has been already particularised into two tools called GelJ and AntibiogramJ. Currently, we are working in applying the same architecture to create a tool for measuring the decolorisation of fungal isolates in dyes by combining ImageJ with the deep-learning library Keras.

References

(Alonso, 2017) A. Alonso, et al. AntibiogramJ: a Tool for Analysing Images from Disk Diffusion Tests. Computer Methods and Programs in Biomedicine 143:159-169. 2017. (Anderson, 2010) J. Anderson, et al. Effective UI: The Art of Building Great User Experience in Software. O'Reilly Media. 2010.

(Bradski, 2015) A. Kaehler, and G. Bradski. Learning openCV 3. O'Reilly Media, 2015. (Dietz, 2012) C. Dietz, et al., Integrative open-source software enables image analysis in biological sciences, Photon. Int. 3:35-38. 2012.

(Cappellen, 2007) E. Meijering, G. van Cappellen. Imaging cellular and molecular biological functions. Springer, Ch. Quantitative Biological Image Analysis, 2007, pp. 45-70. (Hall, 2009) M. Hall, et al. The Weka Data Mining Software: An Update. SIGKDD Explorations 11(1):10-18. 2009.

(Heras, 2015) J. Heras, et al. GelJ - a tool for analyzing DNA fingerprint gel images. BMC Bioinformatics 16 (270). 2015.

(Eliceiri, 2012) K.W. Eliceiri, et al., Biological imaging software tools, Nat. Methods 9(7):697-710. 2012.

(Oracle, 2014) Oracle. JavaDB Reference Manual. Technical report. 2014. http://www. oracle .com/technetwork/java/javadb/overview/index.html.

(Pascual, 2017) C. Domínguez, J. Heras, and V. Pascual. IJ-OpenCV: Combining ImageJ and OpenCV for Processing Images in Biomedicine. Computers in Biology and Medicine 84:189-194. 2017.

(Schneider, 2012) C.A. Scheneider, et al. NIH Image to ImageJ. Nat. Methods 9(7):671-675. 2012.

i Надоели баннеры? Вы всегда можете отключить рекламу.