Responsive security for stored data We Many applications need to store long-term data and retrieve it for later use. These applications range from single user applications storing personal information to multiuser collaborative applications that allow users to share stored data. Furthermore, these applications may run on computers that range from desktops to mobile and hand held devices. For example, the Aware Home [1] that has been built at the Georgia Institute of Technology is an information rich environment where a number of devices capture informa-£ This work was supported in part by NSF grants CCR-9988212, ITR-0081276 and CCR-TC-0208655. tion about the residents and their activities. Such information, which could be of sensitive nature, is stored and accessed by a number of applications. Several characteristics of computers that execute such applications make them unsuitable for storing sensitive information. First, the devices may be resource poor and may not be able to store long-term data. Second, they can be easily stolen or compromised and hence cannot be trusted with long term storage of data that has confidentiality and integrity requirements. Third, when data size becomes large, storage management is expensive and prone to errors. As ubiquitous applications proliferate, the need for services that can store data securely will arise in environments that span the home and community where fewer assumptions can be made about proper system management.. It would be desirable to provide an easy to manage data repository service for applications that store and access sensitive information. The kind of data that would be stored in the data storage service imposes several requirements on its design. First, the data has to be highly available and quickly accessible to distributed clients. Second, access to private or sensitive data should be controlled. In particular, confidentiality and integrity of the stored data should not be compromised. Third, these requirements should be met even when some number of servers in the secure store are compromised by an adversary.. We present the design and analysis of a distributed data store that can meet both security and performance requirements. Our design integrates two well known techniques, namely replication and secret sharing to achieve this goal. Our key contribution is an architecture that provides desirable levels of security guarantees and performance by exploiting the natural tradeoffs possible between the two conflicting goals. We present protocols that allow data to be read and written in a system that replicates data shares, even when some number of nodes can be compromised. To provide additional security we advocate periodic share renewal. Similarly we use update dissemination among replicas to improve performance. We present an analysis of the system to demonstrate the tradeoffs that are offered by our design.. The rest of the paper is organized as follows. In the next section, we describe approaches based on replication and secret sharing briefly, and argue why a combination of the two offers a better solution. In section 3, we discuss related work that has been done in the past. In section 4, we describe the architecture of the secure store and discuss the related protocols. We do a simple analysis of our system in section 5 and show the tradeoffs permitted by our design for various security and performance requirements. We conclude with a discussion about future work in the last section. In this paper, we have presented a design for a distributed store that integrates replication and secret sharing to meet both performance and security needs while tolerating Byzantine faults. By our simple analysis, we have shown that for a probabilistic model of Byzantine failures, our design provides greater flexibility in meeting security and performance needs compared to either a pure replication or a pure secret sharing scheme. Although we used specific secret sharing and share renewal schemes for the discussion in this paper, the design of our system does not depend on any specific choice for these schemes. We could use any secret sharing or share renewal scheme that satisfies certain requirements, as appropriate for our protocols.. There are several directions in which our research can be pursued further. First, we are currently experimenting with and exploring other possible secret sharing schemes and one-way functions for our purpose. Currently, our system provides the same level of security and performance for all objects in the store. This could be further extended to provide flexible security guarantees, customizable on a perobject basis. Dynamic inclusion and exclusion of servers and secure authorization service are some interesting problems to explore. In the future, we also plan to prototype a secure store and evaluate it experimentally. In this section, we do an analysis of the secure store based on a probabilistic model and show how the choice of a threshold value and other parameters affect the security and performance of the system. During any continuous time interval of length Ì Ú units, we assume that any server can be compromised with a probability Ô. Thus, expected number of compromised servers during a time interval of length Ì Ú would be ÒÔ. However, a lower or higher value can be chosen for to tolerate certain number of failures depending on whether better performance or better security is desired. We assume that the probability of compromising one node is independent of the other. Thus, in the analysis, we do not consider the case of related or similar attacks on nodes operating on same OS or run time code. The analysis we provide here is a simplified one and its goal is to provide us with insights into how some parameters affect security and performance levels offered by the system. In particular, it gives us a direction as to what threshold value and the degree of replication should be chosen, given the desired levels of various security and performance metrics.. We consider the following security metrics.. Availability : Availability is defined as the probability that a legitimate client can read a data item that has been written successfully.. Confidentiality : Confidentiality is defined as complement of the probability that an adversary can read a data item that has been written successfully.¯I ntegrity : Integrity is defined as complement of the probability that a reading client could be returned corrupted data content without corruption being detected.. We assume that the servers are organized in columns and Ö rows with Ö Ò, where Ò is the total number of servers. Furthermore, we assume that a´ µ scheme is used for secret sharing. With these assumptions, the security metrics can be evaluated as follows:. Availability(«): «´ Òµ = probability of finding at least · ½ non faulty servers, one each from a different column. For our system, integrity is same as confidentiality since any compromised node can both disclose data shares and corrupt them. If use of signature is considered, integrity becomes the probability that a signature can be forged. In rest of the section, we discuss only confidentiality and availability as the primary security metrics.. In addition to these security metrics, for our system, we also define the following performance metrics.. Read cost : Read cost is defined as the expected number of servers a client needs to contact to read a data item successfully. A data item is read successfully upon collecting · ½ distinct shares for the data item.. Write cost : Write cost is defined as the number of servers a client needs to contact to write a data item at a confidence level h. By confidence level, we mean the probability that a write has been successfully completed, that is, at least one non-faulty server from each of · ½ or more columns has registered the write.. Both read and write costs are defined in terms of number of servers contacted. We expect the communication cost to be the dominant factor compared to the computation cost and hence discuss only communication costs in this section. This may not be true when we consider large data items. Secret sharing and data reconstruction are costly for such items. Furthermore, computation cost also increases with threshold value. Number of messages sent/received during a read or write operation is twice the number of servers contacted to complete the operation.. Read cost is calculated based on the following protocol: A client contacts ¾ · ½ servers, each from a different column. If it has successfully collected · ½ shares, read returns. Otherwise, client contacts additional servers as necessary. If Ô Ö is the probability that a client would find · ½ non-faulty servers among the ¾ · ½ it contacts, then expected number of servers a client needs to contact is approximately´¾ · ½ µ Ô Ö .. When a client does a write, it writes to some number of rows so that the probability of finding at least one non-faulty server from each of · ½ or more columns is greater than or equal to where is the confidence level. If Ô Û´ µ is the probability of a write being successful when a client writes to rows, then write cost is Û £ where Û is such that. and Ô Û´Û µ . Given the probability of a node being compromised and the total number of servers, there are two parameters that determine the values of the security and performance metrics. These are the threshold level and the degree of replication which is the number of rows or alternatively the number of columns .. We calculated the four metrics by varying these two parameters for a system of 45 servers with p = 0.15. Plot 5(a) shows availability and confidentiality for varying values of threshold , when number of columns is set to ¾ · ½ . Both availability and confidentiality are plotted in logarithmic scale, a probability value of ½ ½¼ Ü is plotted as Ü. Plot 5(b) shows read and write costs for the corresponding and values. It can be seen from these plots that, for a chosen optimally for every value, increasing increases access costs and confidentiality and decreases availability.. We can see from the plots in figure 5 that a hybrid scheme provides more flexible design options for the secure store. Given Ô, the likelihood of a node being compromised, the choice of the degree of replication and secret sharing depends on the security and performance metrics that need to be optimized. Clearly, when access cost or availability is of paramount importance, pure replication (Ö Ò ½ ¼) is the best option. On the other hand, when confidentiality is the critical metric, pure secret sharing (Ö ½ Ò ´ ½µ ¾ ) is the best option. There is a wide range of confidentiality, availability and access costs where the desired levels are achieved when the server nodes are arranged in a certain number of rows and columns. Thus, both replication and secret sharing are essential when certain bounds are placed on the security and performance metrics. For example, with a confidentiality requirement of ½ ½¼ ¿ , when access cost should not exceed 22 servers, the optimal choice would be ½ ¼ ¾ ½ . For a given assumption on Ô, the security level (confidentiality and integrity) can be increased by sacrificing availability and low access costs. On the other hand, decreasing the threshold level results in improved performance and better availability but exposes the stored data to a higher risk of being compromised. Thus, our analysis demonstrates that our hybrid scheme offers greater flexibility in meeting performance and security goals of a secure store. Apart from the flexible tradeoff our system offers between security and performance, one additional benefit in our system is tolerance to related attacks. When nodes vulnerable to related attacks are placed in the same column, stealing information is not any easier for an adversary. Replication schemes that tolerate Byzantine faults 1 in a distributed environment have been studied well in the past. Schneider presented a generalized state machine replication approach to fault tolerance [6] . Liskov and Castro gave a practical implementation of the state machine approach for a file system that tolerated Byzantine faults [7] . The state machine approach does not scale well with large number of servers for the reason that each request involves two or more rounds of communication involving all the servers.. Quorum systems are popular for managing replicated data. The Phalanx [2] and Fleet [8] systems were built using a quorum approach to tolerate Byzantine faults. In a quorum scheme, operations are done with sets of servers (quorums) that sufficiently overlap with each other to tolerate some number of malicious failures. Though access cost can be reduced to some extent by weakening the consistency guarantee, it can still be quite high for some class of applications. Alvisi et. al. presented a scheme to dynamically change the threshold value (the number of failures to be tolerated) based on the estimated number of faults per-ceived [9] and thus avoiding the use of large quorums when the actual number of compromised nodes is small.. Both these approaches do not offer data confidentiality unless encryption schemes are used. Alternatively, secret sharing schemes that do not use encryption keys were developed to offer data confidentiality even when some number of nodes are compromised. Shamir and Blakley gave simple secret sharing schemes based on polynomial interpolation and intersection of hyper planes, respectively [3, 10] . A number of other schemes have also been developed [11, 13, 24] . Tompa et. al. [12] , Feldman [14] , Pederson [15] and Krawzcyk [25] have also considered malicious corruption of shares either by servers or by a client.. More recently Herzberg et. al. developed a proactive secret sharing scheme where servers could proactively recover and renew their shares in a distributed manner to protect information against an adversary who can dynamically compromise nodes [5] . Our discussion here uses techniques presented in this paper, in particular, the share renewal and share recovery protocols.. Herlihy and Tygar developed a scheme where data is encrypted and the key is secret-shared [23] . Krawzcyk presented a computationally secure secret sharing scheme combining secret sharing with encryption and Rabin's information dispersal [24] . Naor and Wool presented a scheme in which access control servers are different from storage servers [26] . However, they considered the case of benign server faults and malicious clients.. The PASIS project [16] at CMU very closely relates to our work. PASIS considers various secret sharing and other schemes to store data securely in a data repository. However, PASIS does not consider integration of replication and secret sharing. Fray et. al. proposed an approach similar to ours, fragmentation-scattering [21] , where fragments of cipher text are replicated. However replication was achieved by clients broadcasting the fragments. They did not consider fragment dissemination or periodic renewal of fragments. Other related works include data dissemination in benign [17] and malicious environments [18, 19, 20] .

O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O B I O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B I O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O B I O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O B O B O B O O O O O O O O O O O O O O O O O O O B O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B O O O B O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B O O O O O O O O O O O O O O O O O O B O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B I O O O B O O O O O O O O O O O O O B O O O O O B O O O O O O O O O O O O O B O O O O O B I O O O O O O O O O O O O O O O O O B B O O O O O O O O O O O O O O O O O O O O O O O O O B O B I O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B I O O O O O O O O O O O O B O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O B O B I O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


A Comparison of Pressure and Tilt Input Techniques for Cursor Control Three experiments were conducted in this study to investigate the human ability to control pen pressure and pen tilt input, by coupling this control with cursor position, angle and scale. Comparisons between pen pressure input and pen tilt input have been made in the three experiments. Experimental results show that decreasing pressure input resulted in very poor performance and was not a good input technique for any of the three experiments. In "Experiment 1-Coupling to Cursor Position", the tilt input technique performed relatively better than the increasing pressure input technique in terms of time, even though the tilt technique had a slightly higher error rate. In "Experiment 2-Coupling to Cursor Angle", the tilt input performed a little better than the increasing pressure input in terms of time, but the gap between them is not so apparent as Experiment 1. In "Experiment 3-Coupling to Cursor Scale", tilt input performed a little better than increasing pressure input in terms of adjustment time. Based on the results of our experiments, we have inferred several design implications and guidelines. key words: pressure input, tilt input, target selection tasks, pen-based interfaces With advances in hardware technology, pen computing in the forms of handheld devices and tablets has made penbased interfaces increasingly relevant to mainstream applications. Consequently, research into pen-based interaction has intensified in recent years [5] , [8] , [9] , [13] , [19] , [24] , etc.. Pen input offers not only pen tip's position, but also extended continuous degrees-of-freedom controlled by the amount of pressure or tilt applied to the pen relevant to the display surface. These potential input modalities are natural aspects of pen usage which can be used to affect a wide variety of interaction techniques with minimal user movement. They could serve to increase the human-computer interaction bandwidth.. To date, pen pressure has attracted users of practical software applications (such as in Adobe Photoshop for controlling drawing width or opacity) and also HCI researchers [10] , [14] - [18] , [20] , [23] . Studies on tilt techniques have focused mainly on the tilt of the display or input device (regardless of the angle of the pen) [12] , [22] , while few studies have paid attention to the tilt of the pen in relation to the screen. Three exceptional studies on pen tilt are [6] , [11] , [21] . Manuscript In Ramos et al.'s study [17] , they indicated that the pressure input channel can be coupled to: position if variation in the channel translates to changes in x-y coordinates, e.g., cursor position in the List Menu; angle if it translates to changes in angle or orientation of the cursor, e.g., cursor angle in the Pie Menu; and scale if it translates to changes in size or scale of the cursor, e.g., cursor scale in Bullseye. Similarly, we think the tilt input channel can also be coupled to the three visual attributes. But so far, no evaluations or comparisons between pen pressure input and pen tilt input with regard to these three couplings have been presented. We should ask, for example, is pressure input better than tilt input for performing zooming tasks? Or when we select a target, is tilt input easier to use than pressure input?. In this paper, the relevant studies are reviewed first, and then three experiments are conducted to investigate human performance with pressure-controlled input and tiltcontrolled input for the three visual attributes of the cursor, i.e., position, angle and scale. In light of the experimental results, we discuss implications for the UI design of pen pressure and tilt input techniques. We have presented three experiments that investigated the human ability to use pen pressure and tilt mapping to cursor position, angle and scale to perform target selection tasks and compared pressure input and tilt input. Experimental results showed that decreasing pressure input resulted in very poor performance and could not be considered a viable input technique. "Experiment 1-Coupling to Cursor Position" benefits more from the tilt input technique, even though it results in a slightly higher error rate than increasing pressure input techniques. "Experiment 2-Coupling to Cursor Angle" benefits a little from the tilt input technique in time performance. In "Experiment 3-Coupling to Cursor Scale", the tilt input technique performed a little better than increasing pressure input in terms of adjustment time, but a little worse in terms of the degree of control that users experienced.. Based on the results of our experiments, we have inferred several design implications and guidelines. Future work includes investigations of other issues which may affect the pen operation, such as human wrist movement and so on. This study abstracts the three visual attributes as the onedimensional live cursor's position, the needle cursor's angle and the circular cursor's scale respectively to compare pen-pressure input and pen-tilt input. From the three experimental results, we can see that pen pressure input and tilt input led to different performances. A common conclusion is drawn from the three experimental results: decreasing pressure input resulted in very poor performance compared to tilt input and compared to increasing pressure input. The reason might be that when reducing the pen pressure, there is no resistance and it is therefore harder to change the pressure with distinct increments. Conversely, increased pressure is more easily applied incrementally because there is consistent resistance from the tablet surface. Thus, in the following discussion, we limit our discussion to increasing pressure input and tilt input techniques regarding the three experiments.. In the "Position" experiment (Experiment 1), tilt input resulted in generally better performance than pressure input for controlling cursor position. The tilt input technique spent shorter T T , MT and AT , and received higher subjective ratings than the increasing pressure input technique. The reason for this might be that the direction of the pen's swing is consistent with the direction of the one-dimensional live cursor's movement, which can be seen as in harmony with both hand and eye movements. In addition, tilt input permitted smoother and steadier changes in the cursor's position than pressure input. Some subjects said that pressure input "does not permit the user to easily stop the movement of the live cursor", "The live cursor always moves back and forth under pressure-controlled input". The reason may be that tactile change of pen pressure is too sensitive for users relative to their perceptive ability, and this is a limitation of the human ability to control pressure precisely enough. Tilt reflects the posture of holding a pen. People tend to keep a certain habitual posture when holding a pen for writing and drawing in everyday life, so they are able to control pen tilt better than pen pressure. Another reason is that there is no learning effect for the tilt input technique, and users don't need practice controlling tilt input. The tilt input technique resulted in higher ER and had almost the same NC as increasing pressure input. The reason that a higher ER resulted from tilt input might be that all the subjects were right-handed, the right hand blocked the movement of the pen, especially at the right extreme when users rotate the pen to the right side. In addition, pressure-controlled and tilt-controlled target selection tasks also follow Fitts' law in terms of T T and MT .. In the "Angle" experiment (Experiment 2), tilt input generally resulted in a little better performance than pressure input in terms of time for controlling the needle cursor's angle, but the advantages of tilt input are not so significant here as they were in the "Position" experiment. One explanation may be that tilt input technique also showed significant learning effect in terms of time, which is different from the "Position" experiment. In this experiment, the rotation movement of the needle cursor in the "disk" (visual stimulus) is not consistent with the swing movement of the pen, which leads to visual confusion and fatigue. While the pen barely moves in the increasing pressure input technique, less visual confusion is caused by the pressure input. This can be explained by Stimulus-Response Compatibility [3] (i.e., the up-elevator button is never put below the down-elevator button). In terms of ER, tilt input still leads to a little higher ER than increasing pressure input. In terms of NC, because of the inconsistency of pen swing movement and visual stimulus, NC caused by tilt input and increasing pressure input rose, but the gap between these two input techniques was still very small.. In the "Scale" experiment (Experiment 3), tilt input and increasing pressure input each have their own advantages and disadvantages. In terms of T T , the gap between these two input techniques was very small. In terms of MT , increasing pressure input was better than tilt input. The reason for this might be that the direction of pen swing movement and the zoom of the circular cursor can not achieve Stimulus-Response compatibility. Some of the subjects said that "it was more natural to use pressure on the pen tip to make the circular cursor larger". In terms of AT , tilt input was better than increasing pressure input. The reason for this might be that pressure control is not as stable as tilt control. The tilt input resulted in higher NC and had almost the same ER as increasing pressure input.. We also analyzed the discernable number of pressure and tilt levels, nLevels, users can discriminate at a satisfactory level of performance. The results showed that ER and NC rise with increased nLevels. When nLevels <= 8 ER ranged from 0∼6.8% and NC < 0.78 under increasing pressure input and tilt input techniques for all the three experiments. This indicates that 8 levels of pressure and tilt is a reasonable number that can be reliably differentiated with continuous visual feedback. This number of levels is different from that obtained in Ramos et al.' study (6 levels) [17] , the reason may be that start state of pressure or tilt input control was predetermined in our experiments so as to measure the user performance more precisely.. According to the above analysis and discussion, several implications for pen user interface design are listed as follows:. For widget positioning, it is better to use the tilt input technique. The UI designers should note the consistency that exists between hand movement and widget movement; that is to say, if the direction of the pen swing is consistent with the direction of the widget movement, human performance will improve. For some extreme angles, i.e., the angles near 30 or 150 degrees, we can consider using them as mode switches since they are not easy to use based on human physical conditions.. To manipulate the angle of a widget, neither tilt input nor increasing pressure input are good input techniques. Tilt input tends to cause significant visual confusion and fatigue. Other input modalities of pens, such as pen azimuth, may be further investigated.. To control the scale of a widget, it is better to use the pen tilt input technique from the point of view of control stability. . . An early study on the use of pressure in user interfaces was presented by Herot and Weinzapfel [4] , who investigated how pressure and torque can be applied to object manipulation on a computer screen. Another early study by Buxton, Hill, and Rowley [1] analyzed the characteristics of touchsensitive tablets and presented application examples such as using continuous pressure sensing to control the width of a drawing tool.. Recent research on the use of pen pressure in user interfaces has primarily focused on novel interaction technique design. For example, Ramos and Balakrishnan investigated a video editing application that allows users to annotate video segments using pressure-sensitive techniques [14] . The same researchers later designed Zlider [15] , which allows users to apply pressure to zoom in while performing x-y cursor movement for scrolling or sliding. They also introduced and investigated pressure marks [16] -pen strokes where variations in pressure make it possible to indicate both a selection and an action simultaneously, which can potentially improve selection-action interactions. In 2007, Ren et al. [20] proposed the Adaptive Hybrid Cursor to facilitate the target selection tasks by automatically adapting the size of the cursor based on pen pres-Copyright c 2009 The Institute of Electronics, Information and Communication Engineers sure input. This technique improved particularly effective for small-target and high-density environment. In the same year, Yin and Ren [23] proposed a zoom-based techniques to improve pixel-target selection, in which the pressure is used as a mode switch. Meanwhile, a Pressure Scroll technique was also presented to advance the scroll performance where the pen presure was considered as an additional control factor to adjust the range of scrolling velocity.. A systematic investigation on pressure sensitive pens was presented by Ramos et al. [17] . This study evaluated the human ability to use pen pressure when performing discrete target selection tasks. Letting participants push the pen tip to drive a vertical one-dimensional cursor, the researchers were able to establish that pressure control can follow Fitts' law [2] . In their experiment, pen pressure controlled the cursor's position. In other words, the pressure channel was coupled to the cursor's position. However, the couplings of other visual attributes, such as cursor angle or scale were not evaluated. Moreover, there is no comparison between pressure input and pen-tilt input techniques, which is the main purpose of this study.. So far, the studies on tilt techniques mainly focus on the tilt of the display or input device (regardless of the angle of the pen). For example, Wigdor and Balakrishnan [22] propose a new technique, T iltT ext, for entering text into a mobile phone, in which the phone is tilted in one of four directions to choose which character on a particular key to enter. Similar work has been done by Partridge et al. [12] . Compared to the tilt of the display or input device, little literature has reported pen-tilt input potential. An early study about a pen-tilt technique was presented by Kuroki and Kawai [6] . They proposed the use of pen-tilt information for pen interfaces. They observed that users are used to holding three physical tools (pencil, knife, and syringe) differently, and thus they implemented drawing software in which the user can do three operations (copy, paste, and cut) by changing between three pen tilt angles using a tablet. Oshita [11] developed a pen-based intuitive interface to control a virtual human figure interactively. In this system the tilt of the pen is used to affect the figure's motion. Recently, Tian et al. [21] used the tilt and azimuth information of a pen to present a tilt cursor and evaluated the tilt cursor's performance in circular menu selection and specific marking menu selection tasks. However, there is no systematic investigation about the human ability to control the angle of tilt-sensitive pens.. Various interaction techniques appear in current penbased user interfaces, and comparisons and evaluations have been made among some of these techniques. But these comparisons are limit in range to the same input channel [10] or pressure input vs. x-y position input [18] . Little literature has reported any comparison between pressure-controlled input and tilt-controlled input.. In summary, our review indicates that little study has been done on the human ability to effectively control pen pressure and pen tilt, and no studies have been presented that compare pressure-controlled and tilt-controlled input tech-niques. This study fills a void in these areas.

O O O O O B I O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B I O O B I O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O B I B I B I I B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O B I O O B I O O O O O O O O O O O O O O O B I O O B I O O O O O O O O O O O B I O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O B I O B I O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O B I O O O O O O O O O O O B I O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O B I O O O O O O O B I O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O B I O O O O O O B I O O O O O B I O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O B I O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O B I O B I O O O O O O O O O O O O O B I O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O B I O O O O O O O O B I O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O B I O O O O O O O O O O O O O O O O O O B I O O B I O O O O O O O O O O O O O O O O O O O B I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O B I O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O B I O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Mediastinal Atlas Creation from 3-D Chest Computed Tomography Images: Application to Automated Detection and Station Mapping of Lymph Nodes One important aspect of lung cancer staging is the assessment of mediastinal lymph nodes in 3-D chest computed tomography (CT) images. In the current clinical routine this is done manually by analyzing the 3-D CT image slice by slice to find nodes, evaluate them quantitatively, and assign labels to them for describing the clinical and pathologic extent of metastases. In this paper we present a method to automate the process of lymph node detection and labeling by creation of a mediastinal average image and a novel lymph node atlas containing probability maps for mediastinal, aortic, and N1 nodes. Utilizing a fast deformable registration approach to match the atlas with CT images of new patients, our method can maintain an acceptable runtime. In comparison to previously published methods for mediastinal lymph node detection and labeling it also shows a good sensitivity and positive predictive value. With estimated 1.3 million cases per year, lung and bronchus cancer is the leading cause of cancer death worldwide [1] . To prognosticate and determine the suitability of cancer patients for surgical resection or alternative ways of treatment, accurate mediastinal staging needs to be performed. Before invasive histological staging investigations such as transbronchial needle aspiration can be performed, it is generally agreed that a noninvasive (usually contrast enhanced) computed tomography (CT) scan of the chest is acquired [2] . In the current clinical routine, the localization, quantification, and characterization of lung tumors needs to be performed manually by examining all CT slices. To automate this time-consuming process and support the physician as much as possible, various computer assisted techniques have been proposed, in particular for pulmonary nodule detection and analysis [3] .. Since mediastinal lymph nodes are involved for about 30% to 44% of diagnosed lung cancer patients [4] , one important aspect of lung cancer staging is the determination of the zones and stations (cf. Fig. 1 ), shapes, and sizes of these nodes. Carefully analyzing enlarged lymph nodes, a first estimation of lung cancer spread can be made and target regions and margins for surgical resection or other means of treatment can be defined [5] . However, it should be noted that even though the general guidelines specify lymph nodes to be pathological if their short axis is greater or equal than one centimeter [6] , a differentiation of malignant from benign mediastinal lymph nodes by size alone may not be reliable [7, 8] . Furthermore, the benefit of contrast administration during CT has been challenged for lymph node detection [9] , in particular for mediastinal lymph nodes [10] .. In contrast to the large amount of work done on the automated analysis of the lung such as detection, quantification, and classification of pulmonary nodules, emphysema, and pulmonary embolisms [3] , little work on the automated analysis of the mediastinum and mediastinal lymph nodes has been published to date. The publications can be mainly categorized into detection [12, 13, 14, 15, 16] and segmentation [17, 18, 19, 20, 21, 22, 23, 24] of lymph nodes, labeling of lymph node stations [25, 26] , and computer assisted treatment planning [27] . For the segmentation of lymph nodes, recently also a commercial system has been announced [28] .. Although the results of the proposed lymph node segmentation methods are promising, they all require manual interaction, i.e. at least one mouse click in the center of each lymph node to be segmented or its initial manual delineation, before e.g. a mass-spring model [22] or deformable model [23] can be iteratively updated to fit the node. Automated detection techniques aim to tackle this problem and attempt to find lymph nodes without any user interaction. In [13] , detection is achieved by template matching in the Fourier space. This is done after a manual definition of the lymph node intensity range that was adjusted for each experimental dataset by means of a previously obtained gold standard segmentation. This manual initialization is not required in [14] , where three-dimensional minimum directional difference filtering is applied to highlight voxels, which are brighter than their surrounding voxels on a sphere [11] .. surface. As a lot of voxels need to be compared for this method, it had a runtime of about two to three hours per CT dataset.. Most of the detection techniques still have a low positive predictive value, i.e. detect many other structures such as musculature and vasculature as false positive nodes [13, 14, 16] . To reduce this number of false positives, a restriction of the search space can be effective, i.e. a limitation to certain parts of the CT image where the detection technique is searching for lymph nodes. This was exemplarily shown for enlarged neck lymph nodes in one head data set with a manually restricted search map [15] , where mass spring models are seeded into the search map at equal distances and tried to be fit to lymph nodes. The fitting quality can then be assessed according to a quality measure embedded into the model.. When we consider automated labeling of mediastinal, aortic, and N1 lymph nodes inside the thorax according to Fig. 1 , before the actual labeling process begins, anatomical key structures such as airways, aorta, pulmonary artery, and sternum need to be detected to define the nodal stations [25, 26] , which itself can be time-consuming and error-prone. Using the airways and the aorta as anatomical landmarks and machine learning to train the labeling process, the best achievable station labeling accuracy to date was 76% [25] .. To improve the precision and accuracy of lymph node detection and labeling, we here propose to utilize deformable registration to generate an unbiased average mediastinal image from a patient database and its corresponding mediastinal probabilistic lymph node atlas from ground-truth lymph node segmentations of this database. This atlas can be used efficiently in mediastinal lymph node detection to restrict the search space for possible lymph node candidates and in station labeling to accurately assign stations to newly detected lymph nodes.. Atlases have been proposed to be utilized for several applications in various parts of the human body. Most frequently they are used in brain imaging to support tasks like segmentation [29] and functional mapping [30] . Also efforts of lung atlas creation have been made to establish regional ranges of normative values for lung structure and function [31] .. Another emerging application field of atlases is the estimation of target areas and volumes for the planning of radiation therapy to head and neck, thoracic, pelvic and other lymph nodes [32, 33, 34, 35, 36, 37, 38, 39, 40] . To create such an atlas, first lymph node regions are labeled manually in one image [35, 37] or a set of database images [32] . These labels are then transferred into a target image after registration of the target and database images. For registration, various methods have been used such as landmark-based [33] , hybrid landmark-based and nonlinear [34, 36] , hybrid linear and nonlinear [38, 39] , and active contour based [40] techniques.. However, to date no fast and automatic method for the creation of a mediastinal lymph node atlas was developed, which is able to handle the high inter-patient variability of lymph node locations. At the same time it needs to be robust against cardiac motion artifacts and contrast intensity differences apparent in chest CT. Our work aims at filling this gap.. In summary, to deal with the above issues, we here present a fast and automatic method utilizing deformable registration for the creation of a probabilistic mediastinal lymph node atlas. We successfully apply this atlas to improve the precision and accuracy of currently available techniques for the automated detection and labeling of mediastinal, aortic, and N1 lymph nodes of almost any size in both contrast enhanced and non-contrast chest CT. In this paper we presented a method to create a mediastinal average image and a novel lymph node atlas containing superior and inferior mediastinal, aortic, and N1 nodes. Combined with a Voronoi map and a Euclidean distance map for arbitrary atlas extension, we successfully applied the atlas to lymph node detection and labeling, resulting in a good sensitivity and positive predictive value compared to previous methods [16, 25] at an acceptable runtime.. We would also like to emphasize at this point that our mediastinal lymph node atlas can easily be integrated into other lymph node detection methods suffering from low positive predictive value, making it a valuable tool also for other groups working on this topic. Our atlas may also be extended to incorporate ground-truth segmentations of the aortic arch, pulmonary artery, esophagus, and heart to initialize and support segmentation tasks. Our image database consists of 3-D chest CT scans of Japanese patients, who are in general rather slim and thus have little fatty tissue. In future studies, we need to evaluate, whether the incorporation of CT scans from obese patients decreases the overall registration performance and hence detection and labeling accuracy. However, as seen in the evaluation for average patients, the incorporation of further ground-truth data is expected to further boost the sensitivity of both the detection and labeling process. In the following we discuss the significance of our results, compare them with other works, and give other relevant considerations. We evaluated our method on 10 contrast enhanced and 30 non-contrast 3-D chest CT images of various hospitals, scanners, and acquisition parameters. The number of slices of the datasets ranges from 99 to 838, the slice spacing from 0.4 to 1.5 mm. Each axial slice has 512 × 512 pixels of size between 0.5 and 0.665 mm. With the help of a radiologist and various examples illustrating lymph nodes and their corresponding stations in CT images [61, 62, 63, 64] , we manually segmented and labeled 847 ground-truth lymph nodes (in average 21.2 nodes per case), which took about one to two hours per case. The radiologist double-checked and confirmed all 847 nodes and their stations. For the reasons mentioned in the introduction, we did not distinguish between malignant and benign nodes, did not assess their pathology, and treated non-contrast and contrast enhanced CT equally. Labeling of station 2 to station 14 nodes was performed according to the latest guidelines [11] . As our datasets did not or only partially cover station 1 lymph nodes, we excluded this station from our experiments.. To get an impression of the size of the lymph nodes we used during our evaluation, we also computed the principal axes and principal moments of each manually segmented lymph node and created an ellipsoid of the same size and of the same axis ratio. In contrast to the RECIST 1.0 guidelines [65] , where the long axis diameter was still used to assess lymph nodes, currently the most important criterion for lymph node staging is the length of the short axis of a lymph node, as specified by the RECIST 1.1 guidelines [6] . This is because the short axis is more reproducible than the long axis and a better predictor for the response to chemotherapy and the incidence of metastasis [66] . The short axis of our manually segmented lymph nodes described by the ellipsoid was at least 1.1 mm, at most 38.4 mm, and in average 5.0 ± 3.6 mm. However, as in some studies still the long axis or the volume of lymph nodes is used for assessment, we also computed these values. The long axis has a minimum of 2.9 mm, a maximum of 80.5 mm, and an average of 13.0 ± 9.3 mm, and the volume a minimum of 5.3 mm 3 , a maximum of 80724.2 mm 3 , and an average of 910.8 ± 4827.0 mm 3 . To assess the performance of our automated detection and labeling method in a fair way, we applied a leave-one-out strategy to all 40 cases, i.e. when creating the probabilistic lymph node atlas, we excluded the manual segmentations and labels of the current case to be evaluated. We registered the average image to all CT images applying the global image alignment process described in Sec. 2.2.1 and the deformable registration approach described in Sec. 2.1 and transformed the corresponding probabilistic lymph node atlases (generated by the leaveone-out strategy) accordingly.. During deformable registration, we use four image and control point resolution levels, starting with 60 mm spacing which is then refined to 30, 15, and 7.5 mm. The weighting factor for regularization α is set to 0.5 and the label set scaling factor to 2/3. When utilizing mutual information as similarity measure, we use 32 bins for the histograms, equally distributed over the entire intensity range. All other parameters are set to the default values proposed previously [41] , i.e. the maximum allowed displacement of each level of the multi-scale approach is bound to the grid resolution, the sampling rate from the zerodisplacement to the maximum displacement is 5, sparse sampling is used, and 5 optimization cycles are performed on each pyramid level. In the following, we detail all steps necessary to create the probabilistic mediastinal lymph node atlas and its application to lymph node detection and labeling. As both detection and labeling require a dense distribution of lymph nodes labeled in the atlas, but the location and number of lymph nodes within nodal zones is highly variable from patient to patient, we decided to gather all available information in one single atlas. That is, if we have a set of CT images from our database with manually delineated lymph nodes labeled according to their station number [11] , we transform all lymph node labels into the same atlas. This is opposed to atlas based segmentation techniques that usually have a one-to-one mapping of the structures to be delineated and in general work best when utilizing multiple individual atlases [29] .. If we now want to detect and label lymph nodes in a new CT image, we simply transform the atlas labels into this new CT image. To obtain the necessary transformation between the atlas and the new CT image, from the set of CT images of our database we once create an average mediastinal image, which is defined in the same coordinates as the atlas, and register this average image to the new CT image.. Since the average image should represent an average mediastinal patient image, it needs to be unbiased and contain both average intensity and average shape information from all CT images of our database. To achieve that, we generate it iteratively by performing a series of deformable registrations minimizing the intensity and shape difference between itself and all database images, as outlined in Sec. 2.2. Sec. 2.1 describes the deformable registration method that we utilize during the average image creation and for any new CT image that we want the average image to be registered to. Once the average image and hence its corresponding atlas is registered to a new CT image, we can transform the atlas labels into the new CT image and perform our lymph node detection and station labeling techniques, as detailed in Sec. 2.3. Figure 2 summarizes all steps necessary for the lymph node detection and station mapping process, including its preceding average image and atlas creation, which is performed once offline. Figure 2 : Flowchart of all steps performed for atlas creation, detection, and station mapping of mediastinal lymph nodes. Rectangles represent processes, parallelograms represent data. Input images are marked black, output is marked white. Note that the input of lymph node labeling can be either the lymph nodes automatically detected by our method or manually segmented ones. This is shown by the dotted arrow.

O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Finite element speaker-specific face model generation for the study of speech production In situations where automatic mesh generation is unsuitable, the Finite Element (FE) mesh registration technique known as Mesh-Match-and-Repair (MMRep) is an interesting option to quickly create a subject-specific FE model by fitting a predefined template mesh onto the target organ. The irregular or poor quality elements produced by the elastic deformation are corrected by a "mesh reparation" procedure ensuring that the desired regularity and quality standards are met. Here, we further extend the MMRep capabilities and demonstrate the possibility of taking into account additional relevant anatomical features. We illustrate this approach with an example of speaker's face biomechanical model generation comprising face muscles insertions. While taking advantage of the a priori knowledge about tissues conveyed by the template model, this novel fast and automatic mesh registration technique makes it possible to achieve greater modeling realism by accurately representing the organ surface as well as inner anatomical or functional structures of interest. The physical speech signal is the consequence of the interaction between the mechanical structure of the articulatory apparatus (jaw, tongue, face, velum, vocal folds) and the forces that act on it. Part of these forces is the result of a central control while the other part depends on interactions between articulators and on peripheral feedback. Thus, to study the control of speech production from the articulatory or acoustic signals, some researchers have proposed to model separately the biomechanics of the articulators (with the anatomical, mechanical and dynamical properties of their tissues) and the neurophysiology of the control, [Laboissière et al.(1996) ], ]. Some clues were then provided in terms of biomechanical models of the jaw ( [Laboissière et al.(1996) ], [Hannam et al.(2008) ]), tongue ([Payan and Perrier(1997) , Dang and Honda(2004) ], [Sanguineti et al.(1997) ], ], [Buchaillard et al.(2009) ]), velum ]) or vocal folds ( [Hunter et al.(2004) ], [Titze and Hunter(2007)] ).. As regards the face, excepting the pioneer works in computer graphics for facial animation, [Lee et al.(1995) ], [Sifakis et al.(2005) ], and computer aided surgery, [Chabanas et al.(2003) ], [Gladilin et al.(2004) ], few works were provided, to our knowledge, in terms of accurate biomechanical modeling of the facial soft tissues for speech production study, i.e. with a focus on facial muscles activations and their control for a specific speech task. Some modeling works were provided with a focus on lips modeling, [Gomi et al.(2006) ], [Kim and Gomi(2007) ], while [Nazari et al.(2008) ] started to model facial tissues deformations due to muscles activations for speech gestures.. Once models such as the one manually developed by [Nazari et al.(2008) ] on a generic single example are able to simulate speech production, they will have to be geometrically adapted to morphologies of various speakers in order to compare measured data (speakers face deformations and acoustic signals) with numerical simulations provided by the models. This paper addresses such a perspective.. In terms of modeling, the mesh adaptation step requires a geometrical fit of the generic model onto each speaker anatomy. The generic face model proposed by [Nazari et al.(2008) ] was built from data (CT exam) collected on a maxillo-facial patient. A three layers Finite Element (FE) mesh, symmetrical with respect to the sagittal plane, was manually designed to fit the patient skin (external mesh surface) and skull (internal mesh surface) geometries reconstructed from CT images. Inside the 3D mesh, Nazari and colleagues have manually defined a set of muscular macrofibres which are implemented in reference to anatomical key points, independently of the mesh structure, by cable (tension only) elements, as shown in Fig. 1 .. Our goal is to provide a robust automatic procedure that will match the Nazari et al. generic FE mesh onto data collected on given speakers, while fulfilling the following constraints:. 1. Each generated mesh must be as close as possible to the speaker's anatomy reconstructed from CT and/or MRI data; to this end, high accuracy must be guaranteed between original data and mesh geometry, with specific focus on the lip region which plays a crucial role in acoustical outcome; 2. The topology of the mesh has to be maintained so that the three anatomical layers are still represented (epidermis, dermis and hypodermis, from the external topmost layer to the internal one respectively); 3. The symmetry of the mesh along the sagittal plane has to be maintained; 4. The location of the speaker muscular structures must be inferred from the registration, assuming that some clues can be manually provided such as muscles insertion points onto the skull.. Our group has already provided partial responses to points 1) and 2) by proposing the Mesh-Match-and-Repair (MMRep) algorithm. This procedure automatically computes an elastic 3D transform that matches a generic mesh onto the anatomy of a new subject, while maintaining the topology and the FE regularity of the mesh. It was developed in the context of computer aided surgery and evaluated on data acquired on maxillo-facial patients. This algorithm therefore did not focus specifically on the lips region. Section 2 describes the MMRep algorithm. Section 3 explains how we suggest to extend the MMRep method and proposes a "MMRep-for-Speech" algorithm compatible with the above mentioned constraints 3) and 4). Finally, Section 4 demonstrates our new technique on image data collected from a speaker. In order to check its applicability in situations where less attention is paid to the regularity of the reconstructed subject anatomical structures, the MMRep-for-Speech algorithm has been tested on raw clinical data, as opposed to the manually processed skull and face meshes used in our previous study, [Bucki et al.(2009) ]. Popular surface segmentation and reconstruction techniques often yield uneven surface meshes, possibly exhibiting segmentation artifacts. Automatic clean-up is not always satisfactory and a manual time consuming post-processing is required in most cases. As it is usually difficult to achieve smooth surface reconstruction, FE mesh registration procedures must be able to deal with this limitation.. The new algorithm was tested on a sample speaker data set. Bone and skin surfaces were automatically extracted from the CT volume using the Marching Cubes method, [Lorensen and Cline(1987) ]. The segmented and reconstructed skull surface comprises 263,994 vertices and 421,410 triangles, while the skin model has 128,011 vertices and 253,654 triangles. Both skin and skull surfaces are taken into account in the subject specific FE mesh produced by the MMRep algorithm, as illustrated in Fig. 6 . After overall mesh registration R and subsequent reparation, the surface representation errors measured as Atlas mesh nodes-to-surface distances are given in table 1. Mesh registration and reparation time was less than one minute. The registration was computed using a point-to-point distance map with a resolution of 1.5mm but the errors reported below are measured using the actual triangular surface meshes. An overall submillimetric accuracy was achieved and the maximal errors are mainly due, for the skull, to an approximative representation of the temporal bones in the Atlas, and, for the skin, to the absence of ears in the generic mesh, as can be seen in Fig. 6-b .

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Target prediction utilising negative bioactivity data covering large chemical space Background: In silico analyses are increasingly being used to support mode-of-action investigations; however many such approaches do not utilise the large amounts of inactive data held in chemogenomic repositories. The objective of this work is concerned with the integration of such bioactivity data in the target prediction of orphan compounds to produce the probability of activity and inactivity for a range of targets. To this end, a novel human bioactivity data set was constructed through the assimilation of over 195 million bioactivity data points deposited in the ChEMBL and PubChem repositories, and the subsequent application of a sphere-exclusion selection algorithm to oversample presumed inactive compounds.Results: A Bernoulli Naïve Bayes algorithm was trained using the data and evaluated using fivefold cross-validation, achieving a mean recall and precision of 67.7 and 63.8 % for active compounds and 99.6 and 99.7 % for inactive compounds, respectively. We show the performances of the models are considerably influenced by the underlying intraclass training similarity, the size of a given class of compounds, and the degree of additional oversampling. The method was also validated using compounds extracted from WOMBAT producing average precision-recall AUC and BEDROC scores of 0.56 and 0.85, respectively. Inactive data points used for this test are based on presumed inactivity, producing an approximated indication of the true extrapolative ability of the models. A distance-based applicability domain analysis was also conducted; indicating an average Tanimoto Coefficient distance of 0.3 or greater between a test and training set can be used to give a global measure of confidence in model predictions. A final comparison to a method trained solely on active data from ChEMBL performed with precision-recall AUC and BEDROC scores of 0.45 and 0.76.The inclusion of inactive data for model training produces models with superior AUC and improved early recognition capabilities, although the results from internal and external validation of the models show differing performance between the breadth of models. The realised target prediction protocol is available at https://github. com/lhm30/PIDGIN. We have implemented a method for the extraction of inactive compounds from the PubChem repository. The application of a sphere exclusion algorithm enabled the oversampling of additional inactive compounds for targets with insufficient number of inactive compounds.. The realised target prediction protocol has been packaged and available for download at https://github.com/ lhm30/PIDGIN.. The results from the internal and external validation of the tool show differing performance between the breadth of models. Recall and precision performance is influenced significantly on the underlying intraclass similarity and the number of compounds for a target. During internal validation, sphere exclusion models perform better in comparison to PubChem inactive classes, due to the dissimilarity requirement between the active compounds and SE inactive compounds.. The external performance of the models showed a considerable drop in precision, which may be exaggerated due to the absence of inactivity information held within the WOMBAT data set. Applications of target-specific thresholds exhibited a trade-off between recall and precision and indicate that different metrics for thresholds should be used for different applications of the target prediction tool. The precision threshold gleans the highest F-Score performance, producing a close balance between the precision and recall (0.5 and 0.48) for the classes. In comparison, the recall threshold can be applied to generate thresholds when predictions require high recall without the concern for the cost of sacrificing precision.. A distance-based analysis of the applicability domain (AD) for WOMBAT compounds showed that the reliability of the predictions from the models improved with the increasing similarity between the training and WOM-BAT test set. The AD analysis indicated that an average Tc cut-off distance between test and train of 0.3 could be incorporated into the predictions of the classes in the future, to give insight into the degree of confidence for the probabilities generated by the model.. A comparison between the inactivity-inclusive models and the activity-only based approach showed the benefit in including negative bioactivity data when building the target prediction models with statistical significance. The ability to take into account the features that contribute and counteract bioactivity, combined with the ability to create individual target models, results in superior precision, recall, precision-recall AUC and BEDROC values when compared to models trained solely on activity data. A principle challenge faced by the information gleaned from phenotypic screening is that many of the assessed compounds remain orphan ligands, as the respective mode-of-action (MOA) remains undetermined in the first instance [1] . Consequently, the subsequent identification of the modulated targets for active compounds, known as 'target deconvolution' , is required [2] . Various biochemical affinity purification methods provide direct approaches to discover target proteins binding small molecules of interest for this purpose [3] [4] [5] [6] . Although these elucidation experiments can explicitly determine compound-target interactions, such procedures are costly and time-consuming [4, 7, 8] . These procedures require large amounts of protein extract and stringent experimental conditions, while many techniques have also been deemed best suited for situations where a high affinity ligand binds to a protein [1, 9] . Other difficulties involve the challenge of preparing and immobilizing affinity reagents (targets) that still retain their cellular activity (i.e. ensuring that proteins still interact with the small molecule while it is bound to the solid surface) [10] . Such caveats are responsible for the increased interest in novel computational target deconvolution strategies for drug discovery [11] .. In silico protein target prediction is a well-established computational technique that offers an alternative avenue to infer target-ligand interactions by utilizing known bioactivity information [12] . These methods have played an important role in the field of efficacy prediction and the prediction of toxicity [13] [14] [15] [16] [17] . Such approaches are designed to predict targets for orphan compounds early in the drug development phase, with the predictions forming the base of an experimental confirmation afterwards. Both structure-based and ligand-based methods exist for the prediction of protein targets for small molecule ligands [12, [18] [19] [20] [21] [22] . The former methods generally describe approaches that exploit the structural information of the protein, combined with scoring functions, in an attempt to predict ligand-target pairs [23] [24] [25] . Ligand-based methods investigate an identified structure-activity relationship (SAR) space, using similarity searching on large numbers of annotated protein-ligand pairs obtained from chemogenomic databases [26] [27] [28] [29] . Such predictive models are founded upon the principle of chemical similarity, relying on the relevant similarities of compound features from targets which are likely to be responsible for binding activity [30, 31] . The focus of this work is concerned with improving current ligand-based methods for target prediction.. Similarity searching for ligand-based target prediction is considered the simplest form of in silico target prediction and has long been established within the literature [12, 17, 22, 27, [32] [33] [34] [35] [36] [37] [38] . In these models, predictions are based on the principle of molecular similarity to identified bioactive compounds from chemogenomic databases [31, 35] . The simplistic nature of these methods means that they are only able to consider the structure of a molecule as a whole, which significantly hinders the predictive power of these models. Building on this theme, data-mining algorithms are capable of considering multiple combinations of compound fragments by applying pattern recognition techniques. They have gained traction in target prediction due to their demonstrated ability to more efficiently extrapolate predictions [12] , and are less time consuming when compared to other approaches such as molecular docking [20] . One of the earliest and most widely used examples of data-mining target elucidation is the continuously curated and expanded Prediction of Activity Spectra for Substances (PASS) software [21] , which was assimilated from the bioactivites of more than 270,000 compound-ligand pairs. The authors trained the model on multilevel neighbourhoods of atoms (MNA) descriptors, producing predictions based on Bayesian estimates of probabilities.. The Naïve Bayes (NB) classifiers are a popular family of algorithms used for the prediction of bioactivity for compounds [39] [40] [41] [42] . These methods offer a quick training and prediction times and are relatively insensitive to noise [43] . Nidhi et al. [40] , employed a multi-class Naïve Bayes classification algorithm trained on a data set comprised of over 960 target proteins extracted from the 'World Of Molecular BioAcTivity' (WOMBAT) database [44] . Another target prediction algorithm developed by Koutsoukas et al. [39] , is able to predict structure activity relationships (SARs) for orphan compounds using either a Laplacian-modified Naïve Bayes classifier or a Parzen-Rosenblatt Window (PRW) learner. The algorithm was trained on more than 155,000 ligand-protein pairs from the ChEMBL14 database [45] , encompassing 894 different human protein targets. After benchmarking experiments [39] , it was found that the PRW learner outperformed the Naïve Bayes algorithm overall, achieving a recall and precision of 66.6 and 63.3 %, respectively. Support Vector Machines (SVMs) have also been employed for task of target prediction. These models have utilised smaller amounts of data in comparison to NB models, mostly due to the computational expense of the SVM algorithm. Examples of SVM methods include a model obtaining more than 80 % sensitivity consistently for five different protein targets [42] ; however the limitation of this implementation to five molecular targets only allows for a very narrow view of compound activity. Nigsch et al. [28] . investigated the use of a Winnow algorithm for target prediction and compared the learner to the performance of a Naïve Bayes model, comprising a set of 20 targets extracted from WOMBAT. The comparison of the overall performance of the two algorithms did not yield significant differences, but the overall findings supported the view that ensembled machine-learning models could be used to yield superior predictions.. Ligand-based predictions provide a basis for further analysis when attempting to rationalise mechanism-ofaction. Liggi et al. [46] , extended the predictions from a PRW target prediction algorithm, by annotating enriched targets implicated with a cytotoxic phenotype, using associated pathways from the GO [47, 48] and KEGG [49, 50] pathway databases. The annotation of enriched targets with pathways gave improved insight into understanding the MOA of the phenotype, underlining the signalling pathways involved in cytotoxicity. Other examples include the combination of target prediction and classification tree techniques for rationalising phenotypic readouts from a rat model for hypnotics [51] . The authors derived interpretable decision trees for the observed phenotypes and inferred the combination of modulated targets which contribute towards good sleeping patterns. A review of the known mechanisms of hypnotics suggested that the results were consistent with current literature in many cases.. Such publications illustrate the real-world application of predictions obtained from in silico target prediction methods for both on-target and off-target bioactivity predictions [14] . Although most of these methods produce a probability of activity for an orphan compound against a given target, the approaches mentioned here do not utilise inactive bioactivity data [39] . The objective of this work is hence concerned with the construction of an in silico target prediction approach that is able to consider both the probability for activity and inactivity of orphan compounds against a range of biological targets, thus, giving a more holistic perspective of chemical space for factors that contribute and counteract bioactivity.. The realized target prediction tool is validated both through cross-validation and an external validation set. Five-fold cross validation was employed to evaluate the model and was also used to generate class-specific activity thresholds, based on the optimum cut-off value for a range of different metrics. The performance of the tool when applied to test data extracted from the WOMBAT database is also evaluated. This provides insight into the models ability to extrapolate predictions to a real-world setting. Finally, a comparison to a model generated solely from activity data was also conducted to evaluate the value of the incorporation of inactivity data in the models.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O