IT 14 034
Examensarbete 15 hp Juni 2014
An interactive interface for multiple-resolution analysis of large images
Nguyen-Anh-Thu Tran
Institutionen för informationsteknologi
Teknisk- naturvetenskaplig fakultet UTH-enheten
Besöksadress:
Ångströmlaboratoriet Lägerhyddsvägen 1 Hus 4, Plan 0
Postadress:
Box 536 751 21 Uppsala
Telefon:
018 – 471 30 03
Telefax:
018 – 471 30 00
Hemsida:
http://www.teknat.uu.se/student
Abstract
An interactive interface for multiple-resolution analysis of large images
Nguyen-Anh-Thu Tran
Digital image analysis has contributed greatly to medical sciences. Modern microscope slide scanning systems are capable of producing large images which can be more than one giga-pixel. It is useful for researchers to be able to view these images at multiple resolutions. For instance, to implement image-based sequencing of messenger ribonucleic acid (mRNA), high resolution images are required in detailed analysis while those at low resolution offer better overall visualization. Taking that as the motivation, a map-viewer-like user interface with zooming and panning options has been developed to support detailed analysis in high resolution and at the same time be able to get a full overview in lower resolution. This thesis describes the context in which the interface is used as well as its design process.
Tryckt av: Reprocentralen ITC IT 14 034
Examinator: Olle Gällmo
Ämnesgranskare: Carolina Wählby
Handledare: Petter Ranefall
Contents
Contents 3
List of Figures 4
1 Introduction 6
2 Background 7
3 Methods 8
3.1 Prototyping . . . . 8
3.1.1 What is prototyping? . . . . 8
3.1.2 From low to high fidelity prototypes . . . . 9
3.2 Collecting feedback . . . . 10
3.2.1 Consult experts - Usability inspection . . . . 10
3.2.2 Interview users - Usability testing . . . . 10
4 Results 12 4.1 Version 1 . . . . 12
4.1.1 Lo-fi prototype . . . . 12
4.1.2 Resulted web interface . . . . 16
4.2 Version 2 . . . . 19
5 Discussion and conclusions 37
A Modules in the system 38
B Workflow 39
Bibliography 40
List of Figures
3.1 Prototyping iteration . . . . 10
4.1 Version 1 - Design of ”Home” page . . . . 12
4.2 Version 1 - Design of ”Pre-process” page . . . . 13
4.3 Version 1 - Design of ”Manual registration” page . . . . 14
4.4 Version 1 - Design of ”Show image” page . . . . 15
4.5 Version 1 - ”Home” page . . . . 16
4.6 Version 1 - ”Pre-process” page . . . . 17
4.7 Version 1 - ”Manual registration” page . . . . 18
4.8 Version 1 - ”Show image” page . . . . 19
4.9 Version 2 - Design of ”Home” page . . . . 20
4.10 Version 2 - Design of ”Open project” page . . . . 21
4.11 Version 2 - Design of ”Project information” page . . . . 22
4.12 Version 2 - Design of ”Pre-process” page . . . . 24
4.13 Version 2 - Design of ”Manual registration” page . . . . 27
4.14 Version 2 - Design of ”Analysis test-drive” page . . . . 31
4.15 Version 2 - Design of ”Full analysis” page before consultation . . . . 33
4.16 Version 2 - Design of ”Show image” page . . . . 34
Acknowledgements
I would like to thank Carolina W¨ ahlby and Petter Ranefall for letting me join the team and write my thesis in the context of this challenging yet interesting project. Thank you, Carolina, for your positive attitude and wonderful ideas. Thank you, Petter, for guiding me through the project, for your willingness to listen and clarify my doubts.
I would also like to express my gratitude to Mats Lind, who introduced my to the project.
Thank you for your patience and great input to help me finish this thesis work.
1. Introduction
Gene expression is the process in which genetic constitution of a cell, an organism or an indi- vidual leads to the formation of functional gene products, most common of which is protein. It is important to examine activities in this process as any disruption or change that occurs may result in diseases. Gene expression profiling is a technique being used in molecular biology to collect the activity of thousands of genes simultaneously. It is useful for the studies of cells, the process of detection and treatment of diseases. Since messenger ribonucleic acid (mRNA) car- ries generic information needed for the formation of protein, one way of doing gene expression profiling is to identity the primary structure of mRNA. Such method is also known as mRNA sequencing. The project in which this thesis took place was to develop a web-based tool to apply the newly proposed image-based mRNA sequencing method [11]. My main responsibility covered designing and implementing a graphical user interface for the web application.
The rest of this report will present in more detail what has been done in the thesis work.
Chapter 2 introduces briefly the context in which the thesis work was carried out. Methods being
used are explained in chapter 3. Chapter 4 demonstrates user interface of the web application as
the final product. Finally, strengths, weaknesses and possible future extensions to the interface
are discussed in chapter 5.
2. Background
The project coordinating this thesis work aimed at implementing image-based approach [11] to in situ sequencing of mRNA [7] which would benefit gene expression profiling. The approach in question offers a possibility to examine cells directly in their natural context, thus, to relate primary structure of mRNAs to spatial information of the surrounding environment. There are, however, two primary challenges of applying this image-based sequencing technique.
Firstly, slide scans need to be handled at different levels of resolution. A highly detailed version of the image gives a more accurate analysis while its low resolution counterpart offers better visualization over the whole image. Also, it is not straightforward to analyse such large images due to limitations in hardware (e.g. memory constraint) and software (e.g. image analysis tool). This first challenge was addressed in [12]. The idea was to convert the large image into a number of smaller tiles. Small tiles would act as input to the image analysis software, for instance, CellProfiler 1 [3]. For viewing the image and visualising analysing results, a javascript tool called OpenSeadragon 2 was used.
The second problem that needs to be solved when building the web application in question relates to usability issues. So as for the image analysis software to produce accurate results, the list of slide scans should be arranged carefully. The order of those image files is predefined and fixed. In other words, users do not have the flexibility to input files randomly, they must adapt to the system’s rule instead. Furthermore, structure of the application being developed is fairly complex. Appendix A illustrates relations among modules within the system. When being showed to the users, the application, however, must be simple and easy to use. It should appear clear and comprehensible to the users. Ideally, the workflow in Appendix B should be carried out by the users without them noticing which underlying modules are being run. The objective of this thesis work is to meet the usability challenge. In order to do that, a graphical user interface for the system needs to be carefully designed and implemented.
1
CellProfiler - a free and open-source software designed for cell images analysis. http://www.cellprofiler.org/
2
OpenSeadragon - An open-source, web-based viewer for zoomable images, implemented in pure JavaScript.
http://openseadragon.github.io/
3. Methods
The main method being used in this thesis work is prototyping together with feedback collection.
Firstly, paper prototypes of the system’s interface are made. I then consult experts about the design before going on with building an interactive web interface. The resulting product is evaluated in collaboration with the project’s stakeholders, including the end-users of the system.
The process of prototyping-evaluating-improving is carried out iteratively.
3.1. Prototyping
3.1.1. What is prototyping?
A prototype is an early version of the whole or a part of the system under development. It is helpful in demonstrating concepts and design ideas, especially those relating to the graphical user interface. It can also be used as a means of communication among the project’s stakehold- ers, i.e. those who are affected by the outcomes of the project [5]. In other words, prototypes make it easier for project manager, developers, users and other involved entities to discuss the design of the system with each other. In the context of this thesis work, prototypes are used as an input to meetings within the Quantitative Microscopy Group at Uppsala University and between the team and its collaborators at the Karolinska Institute.
There are several reasons why prototyping, i.e. the method of making use of prototypes in different levels of detail to model and develop the system iteratively, is suitable for the project in question. Firstly, it allows end-users to experiment with the system early [13]. Users will be able to see how helpful the expected final product can be for them. They also have chances to give instant feedback to the development team based on what the team presents to them.
The feedback may concern what is good and/or not good about the currently modelled part of the system, errors originated from misinterpretation of requirements and possible improvements for later prototypes. By taking these feedback in consideration and iteratively developing the system, the final product will be more likely to have high usability.
Secondly, prototyping is a way to cope with changes that may arise and affect the original development plan of the system. Changes in requirements may occur due to the nature of agility in environments where the system will be used [2]. In this thesis work, however, I find adjust- ment to the initial design are more likely to take place owing to the complexity of the system.
The web application in question is cross-disciplinary, thus, requires the development team to integrate knowledge of different fields such as biotechnology and computer science, including image analysis, human-computer interaction, software engineering and programming. It was quite difficult to understand the system requirements correctly at first. Hence, prototyping is a reasonable method to embrace potential changes and ensure the right problems are being tackled in the development process. As a result, the method helps shorten the time needed to delivery of a usable product.
Last but not least, prototyping plays an important role in designing a user interface,
which is the main focus of this thesis work. According to Sommerville [13], the only practical
approach to build a graphical interface of a system is doing rapid prototyping and having its users
participate in this process. It is usually through the graphical interface that users interact with
the core of the system. Therefore, making the interface intuitive is of paramount importance. A
fast and direct way to test whether the design has achieved its goal is to prototype the system, then let the users experience and evaluate it. Feedbacks from users will be a valuable source for improvements in the graphical interface as well as the underlying modules of the system.
3.1.2. From low to high fidelity prototypes
There are two main kinds of prototyping, distinguished by the level of detail in their prototypes.
Low fidelity (lo-fi) prototypes usually come in the form of manual drawings. These sketches can be either paper-based or created using simple drawing tools. They do not allow live interaction and are designed-to-be-thrown-away [1]. It is because lo-fi prototypes are meant to be simple.
They do not aim to model the complete system but its permanent content, layout and basic functionality. This is a time-efficient and cost-effective way to explore the problem space as well as getting input to later activities in usability design [10].
High fidelity (hi-fi) prototypes are more detailed models of the system. They may look identical and function almost in the same manner as the final product. Hi-fi prototypes are produced using specialised software or by programming directly in the system’s real development environment. I would prefer the latter since it helps pointing out technical limitations which cannot be identified in either lo-fi prototypes or hi-fi prototypes in designated software. In contrast to its primitive counterpart, hi-fi prototypes are interactive. For instance, users can click a button to toggle visibility of an item, send a request and receive an actual response. Hi-fi prototypes are quite powerful in getting detailed feedback from users, especially those on visual effects, functional features and learnability 1 .
As discussed above, both lo-fi and hi-fi prototypes are useful in the system modelling process. The former helps getting started with the project, exploring problems and giving ways for ideas on solutions. The latter brings the project closer to its final product, addresses problems in a greater depth and possibly takes the development team to concrete solutions.
Therefore, both kinds of prototyping were carried out in this thesis work. I first drew main
”screenshots” of the website using Pencil 2 . Besides Pencil, I did make use of real paper and pen to create sketches since it is simple and fast. The lo-fi prototype were refined after consultations with experts. I then coded hi-fi prototypes in the real environment of the system, using PHP 3 , HTML 4 and Javascript 5 . Later on, the process from lo-fi to hi-fi prototypes (Figure 3.1) was repeated for each change being introduced to the system.
1
Learnability - a criterion concerning how much a graphical interface can support novices in quickly learning to use the system
2
An open-source GUI prototyping tool. http://pencil.evolus.vn/
3
PHP - a popular general-purpose scripting language. http://www.php.net/
4
HTML or HyperText Markup Language - standard language for create web pages
5