BioTile, A Perl based tool for the identification of differentially enriched regions in tiling microarray data Background: Genome-wide tiling array experiments are increasingly used for the analysis of DNA methylation. Because DNA methylation patterns are tissue and cell type specific, the detection of differentially methylated regions (DMRs) with small effect size is a necessary feature of tiling microarray 'peak' finding algorithms, as cellular heterogeneity within a studied tissue may lead to a dilution of the phenotypically relevant effects. Additionally, the ability to detect short length DMRs is necessary as biologically relevant signal may occur in focused regions throughout the genome.Results: We present a free open-source Perl application, Binding Intensity Only Tile array analysis or "BioTile", for the identification of differentially enriched regions (DERs) in tiling array data. The application of BioTile to non-smoothed data allows for the identification of shorter length and smaller effect-size DERs, while correcting for probe specific variation by inversely weighting on probe variance through a permutation corrected meta-analysis procedure employed at identified regions. BioTile exhibits higher power to identify significant DERs of low effect size and across shorter genomic stretches as compared to other peak finding algorithms, while not sacrificing power to detect longer DERs. The BioTile Perl application represents a simple and effective means to identify DERs in genome-scale data. BioTile out performs a number of comparable algorithms designed for the analysis of ChIP-chip data and is Genome-wide DNA methylation studies are becoming increasingly used in search of etiological factors contributing to complex non-Mendelian disease, as the susceptibility of DNA methylation to environmental influences and its potential for metastable drift may account for complex disease features, such as a discordance of monozygotic twins, parent of origin effects, an unequal frequency of affected males and females, complex inheritance, and a late age at onset, among others [1] [2] [3] . DNA methylation changes in the brain are becoming increasingly recognized as important mediators of behavioral phenotypes in model organisms and psychiatric disease in humans [4] [5] [6] [7] .. Despite the likelihood of epigenetic changes as etiological factors contributing to psychiatric disease risk, the success of the first round of epigenomic studies has been limited [8] . In the first epigenomic profiling studies performed in major psychosis, Mill et al. found moderate fold changes in prefrontal cortex DNA methylation. In the WDR18 glutamate receptor subunit gene, an 8% DNA methylation difference was detected between males with schizophrenia and controls, while female patients with bipolar disorder were 6% more methylated than controls at the RPL39 gene [9] . No significant differences were found in an analysis of 50 loci in temporal cortex of schizophrenia affected individuals [10] . A recent methylome profiling study in major depressive disorder (MDD) did not identify any significant loci after correction for multiple testing; however, they did successfully validated a 60% of the top nominally significant differences [11] . Of these, the largest depression associated effect size was 22%.. A consistent feature of these studies is the low effect size associations detected in the brain. A probable explanation for these observations is that true disease differences exist in a subpopulation of cells that are subject to dilution by disease non-relevant cell types, a factor particularly relevant in the brain, which represents one of the most cellularly heterogeneous organs in the body. This situation calls for algorithms capable of detecting DMRs of small effect size in order to direct downstream validation and follow up functional studies, such as cell type specific analyses. In this regard, the ability of a DMR detection technique to adjust for covariates such as cellular heterogeneity, medication status, or age are of particular interest in psychiatric phenotypes but to date, few available algorithms for DMR detection allow for these adjustments.. Another factor that remains at issue is that phenotypically relevant epigenetic changes may occur over relatively small regions. A number of locus specific studies highlight the importance of short genomic regions in regulating phenotypic outcome. Epigenetic changes spanning short genomic regions have been identified in imprinting control regions, over exonic regions that may direct alternative splicing, and at transcription factor binding sites that have been associated with early life trauma exposure or major psychosis [9, [12] [13] [14] . The power to identify short DMRs is an important facet of DMR finding algorithms used in studies searching for small epigenetic aberrations conferring phenotypic variation.. The application of tiling array technology to the study of DNA methylation has greatly increased the resolution over earlier microarray based technologies and added to the potential to discover novel epigenetic changes. Tiling array experiments are based on measuring the genomic locations of enriched DNA fragments that hybridize across adjacently located probes called tiles. The experiments performed prior to hybridization involve enriching for the molecular marker of interest, either through antibody based immunoprecipitation employed in ChIP-chip [15] , MeDIP [16, 17] , or through enzymatically selecting a portion of the genome, such as with methylation sensitive restriction enzymes as is employed in numerous DNA methylome techniques [18] [19] [20] [21] . The enriched fractions are fragmented to improve target specificity, generally to lengths of 50-200 base pairs. After microarray hybridization, the combinatorial effects of fragment binding to specific genomic locations will result in peaks of signal intensity after data processing that may be detected by downstream data analysis applications.. A number of excellent programs that contain peak finding algorithms are available for the analysis of tiling array data, some of which include Ringo [22] , ChiPOTle [23] , CHARM [19] , TileMap [24] , ACME [25] , and MPEAK [26] , among others. There is a large degree of variation in the statistical methods employed, the ease of use, and the versatility across multiple experiment types. For example, many of these algorithms, such as CHARM and Ringo, were designed for one type of platform, such as NimbleGen arrays, but can now be applied to other datasets. Others, such as ChiPOTle are limited in the number of probes that can be analyzed (IE: 60,000), which makes it difficult to apply to larger tiling array datasets. With the exception of CHARM, these DMR finding algorithms are confined to the investigation of group classifiers as opposed to quantitative variables such as multiple treatment doses or age and do not allow for the correction of covariates prior to peak identification and statistical evaluation.. Cumulatively, the application of tiling array analyses to DNA methylation in heterogeneous tissues, such as brain, require the ability to detect DMRs of small effect size and of short length. A simple analysis paradigm applicable to multiple microarray platforms and satisfying these requirements will add to the successful identification of phenotypically relevant epigenetic variation across a diverse range of phenotypes. To address these issues we present an open source, freely available Perl application referred to as "Binding Intensity Only Tiling array analysis" or "BioTile". The BioTile algorithm is ideally suited to the identification of small length and low effect size DMRs, while not sacrificing power to detect longer DMRs, and is applicable across a range of tiling microarray platforms. BioTile is a single software application written in the Perl programming language designed for the identification of differentially enriched regions (DERs) in tiling microarray datasets (Additional file 1, Additional file 2, Additional file 3, Additional file 4). BioTile identifies DERs associated with either a group classifier, such as case vs. control, or continuous variables. To achieve this, BioTile first calculates the slope of a linear model between dependent and independent variables for each probe individually. Subsequently, stretches of adjacent probes exhibiting slope values above zero or below zero for greater than three probes are identified as potential DERs and are subsequently subjected to statistical evaluation. If specified by the user, BioTile will return DERs associated with the outcome of an additive multiple linear regression model, enabling control of covariates that may be present in psychiatric studies such as smoking status, medication history, age at onset, and cellular heterogeneity, among others. The default threshold of three probes was selected to maximize the resolution of the technique and therefore the ability of the algorithm to identify small DERs. This probe length corresponds to the average fragment length generated in most experimental enrichment steps and the probe spacing per array platform (3 probes: Affymetrix~105 bp, CHARM~100 bp, Agilent~100 bp); however, this threshold can be defined by the user. The distributions of DNA methylation across each probe in an implicated DER are subsequently evaluated statistically using a permutation corrected meta-analysis. The linear regression slope and squared standard error of the slope per probe in an implicated DER are used to calculate Cochran's meta-statistic, Q, according to the following formula: th probe then each j th probe in a DER consisting of n probes [27] . A permutation step is implemented to control for correlation among neighboring array tiles such that diagnostic criteria are shuffled at random for a number of iterations specified by the user (default 1000) and a null distribution of meta-statistics is generated. Significance is determined by calculating the quantile of the original meta-statistic, Q, relative to the null distribution for each DER. The output of the algorithm is a list of genomic regions (DER start and stop coordinates) differentially enriched between groups, each with its corresponding mean and maximum microarray fold difference and p value that can subsequently be corrected for multiple testing. The original meta-analysis Q statistic is also supplied to enable ranking of DERs that were returned with the same p-value such that a higher Q is indicative of a higher significance.. The software tool is designed for processing and DER peak finding in normalized datasets and is meant for use following standard quality assessment and data normalization steps. Resultantly, it is compatible with all single and dual channel microarray platforms. Use of the algorithm requires only a formatted data matrix containing chromosomal coordinates as well as an annotation file denoting the comparison of interest and containing relevant covariates.

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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 B 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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


A framework of social media engagement: Case studies with food and consumer organisations in the UK and Ireland For organisations that interface with a large audience (i.e. governments, businesses, consumer bodies, non-profits), there are expectations that engagement on social media can improve responsiveness. The paper develops a framework of social media engagement based on a case study with food governance and consumer organisations in the UK and Ireland. Application of the framework identifies three key capabilities that can frame the contribution of social media engagement in this context: (1) consistency in managing social interactions, (2) creating content to engage with specific audiences and (3) using social media as information sources to develop network alertness. Moving beyond simply characterising social media engagement in terms of the speed and volume of social interactions, this study contributes to a more systematic examination of the concept as an enabler of organisational responsiveness. Modern organisations are expected to develop a social media presence in order to enable them to share information and engage with the networked public. Starting with internal collaboration and knowledge management tools (McAfee, 2006) , social media have become relevant to the whole spectrum of organisational interactions with the public, from customer engagement and brand promotion to complaints, queries, campaigning and participation in policy making (e.g. McCarthy, Rowley, Ashworth, & Pioch, 2014; Trainor, Andzulis, Rapp, & Agnihotri, 2014; Whelan, Moon, & Grant, 2013) . Interactions with the public are taking place on channels that include online networks (Facebook, LinkedIn), blogs (Blogger, WordPress), microblogs (Twitter, Tumblr), video/photo sharing platforms (YouTube, Instagram, Flickr) and social bookmarking sites (Pinterest, Delicious, Reddit).. Current work on social media in organisations has focused on business engagement, mainly relationships with customers and managing brand communities (e.g. Baird & Parasnis, 2011; McCarthy et al., 2014; Trainor et al., 2014) or content and information management models (e.g. Aladwani, 2014) . Contributions outside business engagement have either mapped online interactions with public sector (Mergel, 2013) and cultural organisations (PadillaMeléndez & del Águila-Obra, 2013) or explored how non-profit organisations use social media to engage with stakeholder groups Kristen Lovejoy, Waters, & Saxton, 2012) . Those studies have highlighted operational and strategic aspects of social media engagement.. As interactions between organisations and the public are taking place in online spaces, there are increasing expectations for organisations to be more responsive, for example, to reply instantly to queries, update content regularly, manage multiple channels and be prepared to engage with the public on any issue. As a result, social media initiatives that usually start with a simple presence on different channels, quickly involve more complicated decisions about how to scale up the level of commitment. Making those decisions can be quite challenging, for example, Argenti et al. (2005) emphasise that responsive engagement strategies require attention to several aspects like channel integration and using feedback sources to inform an organisation's capacity to engage with different stakeholder groups.. To more systematically consider the engagement potential of social media and map its key dimensions, this paper develops a framework based on a case study with five organisations in the UK and Ireland. The organisations include consumer and food governance bodies that interface with a range of publics and stakeholders at the national level and that use social media with different objectives and levels of sophistication. Food communication provides an interesting context to illustrate the challenges of social media engagement as food topics, especially ones related to health and obesity, draw significant attention and reactions (Kolk, Lee, & Dolen, 2012; Shan et al., 2013) . Public and third sector organisations involved in food communication usually have to address a constant flow of queries, manage food crises like the 2013 horsemeat adulteration incident and at the same time lead engagement around key campaigns (e.g. healthy eating habits, food safety) (Rutsaert et al., 2013) .. The review of the relevant literature in the next section uses the concept of organisational responsiveness as a theoretical lens to identify challenges of social media engagement. Section 3 presents the framework development methodology based on a multiple case study approach, which leads to the presentation of the framework in section 4. The conclusion in section 5 elaborates on the practical implications by identifying three pathways to responsiveness. The three pathways support an understanding of responsiveness as a way of managing two-way interactions as well as using social media to reach key audiences.

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 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 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B I 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 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 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 B I 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 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 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 O 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


Dynamic integration of biological data sources using the data concierge Background: The ever-changing landscape of large-scale network environments and innovative biology technologies require dynamic mechanisms to rapidly integrate previously unknown bioinformatics sources at runtime. However, existing integration technologies lack sufficient flexibility to adapt to these changes, because the techniques used for integration are static, and sensitive to new or changing bioinformatics source implementations and evolutionary biologist requirements. To adapt to dynamic network environments and to meet diverse biologist's requirements, we propose an adaptive middleware, the Data Concierge, to easily and rapidly integrate heterogeneous biological data sources at runtime. In this innovative architecture, the Generic API Ontology is proposed to declaratively model the semantics of data source APIs. Based on the unified semantic metadata, XML-based state machines model sequences of requests to biological data services for complex biologist manipulations. This middleware provides adaptive functionalities for both the integration system and its client application to tackle the rapid changes of biological data sources without expensive and time-consuming software development and maintenance. The costs to integrate new biological data sources in the Data Concierge are significantly lower than that of static coding integration methods.. Our future work includes enabling the Data Concierge to represent the knowledge of the biological data functionalities' relations in the Generic API Ontology. According to classified metadata, the Data Concierge would be able to reason about the execution sequence for biologist manipulations. Thus, tasks of configuring and maintaining XML-based state machine models would be eased and even be avoided, which therefore would significantly reduce the integration costs further. For integrating new appearing biological data sources, traditional static integration techniques (Figure 23a ), which tightly couple with low level implementations, require program code changes along with subsequent testing and deployment. Although these static approaches achieve good performance, they are expensive in terms of engineering efforts.. Interface-based integration mechanisms such as CORBA and COM platforms decrease coupling with low level implementations according to their predefined Meta models (Figure 23b ). They can achieve polymorphism and can dynamically compose software components and change system behaviors at run-time. However, when data source interfaces are modified, code changes cannot be avoided.. In contrast, the Data Concierge deals with interface changes without application code changes. This is because the Generic API Ontology provides a declarative mechanism that can be modified and deployed when an interface change occurs. At run-time, the Data Concierge dynamically constructs biological data source API calls based on their classified API semantics and corresponding state machine context (Figure 23c ). The mechanism of dynamically accessing new data sources at run-time relieves developers from hard coded programming.. Our approach aims to use the Data Concierge to dynamically access new biological data sources at runtime without hard coded programming. This architecture provides sufficient flexibility to handle changes of biological data sources. Its dynamic call construction mechanism has several significant advantages over hard-coding calls to pre-fabricated wrappers:. No wrapper component is needed. In effect, the wrapper code is constructed dynamically from the information held in the meta-data repository. This potentially significantly reduces the software engineering effort needed to connect to a new type of biological data source. Ease of modification: If the underlying data source API changes, only changes to the meta-data repository are required. As the calls to the API are dynamically constructed, the changes will take effect as soon as the meta-data is updated. Hot swapping: As there is no wrapper, updating a data source API to provide bug fixes has no downstream implications. If the interface does not change, then the Data Concierge remains oblivious to the fact that a modified version of the API has been installed.. The Data Concierge relieves programmers from the routine maintenance tasks of integrating new biological data sources. However, this approach carries the costs of building and maintaining the Generic API Ontology for a given data source, and organizing classified API metadata to build state machine models. We use the Generic Wrappers, Data Source API Description Tool and the graphical State Machine Generator to minimize the maintenance costs.. In addition, some biological data sources provide abstract functionalities. The semantics of these biological data functionalities are implied in the parameter contents of data source APIs. Therefore, it is hard for the Data Concierge to classify these data source API semantics through their API syntax. One of our future targets is to find mechanism to extract the semantics of data source functionalities from the contents of their interface parameters. Huge amounts of biological data research projects put their efforts on the data source integration issue. Some of them target at providing flexible mechanisms for various biologist requirements and quick changing biological data source environment. TAMBIS [31] , BioMedoator [32] , [33] , and [34] cope with frequent modification of data source schemas. Based on a domain ontology, TAMBIS provides homogeneous views of various data sources. The ontology is designed to relieve biologists from heavy query tasks by shielding them from low data source details and is updated to cater for schema changes in the sources. To reduce the workload of database integration, the LIMBO architecture in [33] is designed as light-weight approach to overcome the problems with constantly evolving data warehousing schema. Both BioMedoator and [34] extract and represent metadata on the content of sources and relationships among sources. BioMedoator aims to facilitate the easy use of this tool with no informatics training required for the biologists, while [34] targets optimizing user's query plans according to semantic equivalence. Although these approaches provide significant flexibility to deal with user's queries and changes of data source contents, they lack dynamic mechanisms to deal with the rapid and frequent changes of biological data source functionalities.. IBM's DiscoveryLink [35] is a database middleware system that extracts data from multiple biology sources in response to a single query. This method promises there is no functionality lost in access the data source through DiscoveryLink. To make wrapper authoring as simple as possible, DiscoveryLink requires a small set of key services from a wrapper, which makes the cost of writing a basic wrapper small. Its DiscoveryLink Server compensates for missing functionality at data sources. This approach claims that data source schema can evolve without Figure 19 The performance results of state machine models with different null methods. requiring any change in the wrapper for the reason that the wrapper does not encode information on the schema used in the data source. However, the wrapper needs to be developed when its source API is changed.. The rapid integration of biological data web pages on the Internet is addressed by the approaches of [24] , [6] , [36] , and [37] . [24] highly depends on the description of service classes, which provides general descriptions of types of sources to integrate. However, the integrated biological data sources are restricted to biological data Web pages that must have a start page to include an HTML form with at least one text entry field. It also needs examples to analyze sources. Because of these limitations, the percentage of experimentally successful integrated web sources is lower than 70%. [6] aims to generate automatically the data source schema of each source by means of meta-information. The metainformation is extracted from output of a source query tool which identifies terms from tags of a set of Web pages examples. However, it cannot deal with some particular output formats which are provided by certain data source query tools. Based on its OWW Search View mechanism, [36] pursues no programming efforts for accessing any new integrated web pages. However, it cannot efficiently process user's complex queries which include multiple joints of several data sources. [37] proposes using reconfigurable web wrapper agents for user to represent Web browsing session. Based on sequential pattern mining techniques, web wrapper agents can automatically discover and extract patterns from structurally formatted biological data Web pages. However, the initial purposes of these methods limit the scale of integrated biological data sources. These approaches will not be available to other types of data sources except Web pages.. Biological data projects such as, [38] [39] [40] , and ISYS [41] , focus on component based integrations for biological data sources. [38] [39] [40] use CORBA to dynamically integrate biological data sources. These approaches aim to achieve flexible, scalable, and reconfigurable system architecture. However, these methodologies mainly focus on specifying syntactic interfaces of integrated components, while the semantics of these interfaces are implied in their implementations. ISYS emphasizes a decentralized integration mechanism for dynamically synchronizing component behaviour and exchanging their services without direct knowledge of one another. However, the programming tasks of building thick client components would be heavy for the communication with others. And biologists who are not familiar with information techniques have to resort assistance from IT expertise for building their client components.. SIBIOS [42] and Bio-Broker [9] are dynamic workflowbased systems. To achieve highly adaptability, SIBIOS separates individual service description from wrapper engine. The service description is stored in a service schema file. This file includes domain specific knowledge described by using ontology and a set of rules that describe how the data can be extracted from the services. The wrapper engine reads these service schema files and dynamically generates specific data source wrappers. However, this approach only targets services which are provided Web pages. Bio-Broker is an architecture for XML-based mediator systems. The system uses EVAS to construct mediator-services for the integration of heterogeneous data sources. The EVAS benefits user to easily construct workflows for their recurrent biological data processes. However, in this architecture, wrappers are created manually.. With the emergence of Web 2.0, Mashup applications such as Bio2RDF [43] and Damia [44] , provide mechanisms for users to customize new services through combining data and services from multiple Web sources. Bio2RDF converts various biological documents into standard RDF formats so that client applications can have unified access to various biological sources. Damia is a lightweight web style data integration platform which helps enterprise users to quickly combine data from different data sources and easily develop new enterprise applications. However when a new type of source appears, new wrappers such as rdfizers in Bio2RDF and connectors in Damia still need to be created.. The methods mentioned above provide solutions to some aspects of dynamic features in biological data source integration. The majority of these methodologies focus on the heterogeneity of data content. Some take the dynamic features of source functionalities into account. However, none of these methods uses ontology to represent the semantics of both biological data source functionality and data schema. As a result, they lack sufficient flexibility and adaptability to solve challenges arisen from dynamically integrating new previous unknown biological data sources at runtime. High throughput experimental processes in life science have led to a large variety of biological data sources continuously emerging on the Internet [1, 2] . These data sources provide great research potential for biology researchers to obtain data that support their new biological insights in areas such as gene prediction, proteomics analysis, mutations, and drug discovery. However, biology information is not easily and conveniently accessible [3, 4] . Even though most biological data source suppliers provide tools to access their own data sources, biologists have to switch to different interactive interfaces and manually seek and combine results from different resources. This manner of information collection is consequently tedious and time consuming [5, 6] . Hence a unified access mechanism to these various biological data sources has been necessitated to improve biology research processes [7] .. Many practical decisions have led to heterogeneous implementations of the existing biological data sources. Regardless, the resulting complexity makes the integration of biological data sources difficult. The lack of standardization also means biological data is available in a wide variety of formats. Various data schemas such as flat files, structured data (e.g. database), semi-structured data (e.g. XML [8] ), and arbitrary data structures, result in syntactical difficulties for data unification [9] .. Multifarious data access mechanisms such as web page navigation, web services, remote database access, FTP, Email, Wiki [10] , and so on, pose technical obstacles to unified schemes for data extraction and communication. In addition, semantic problems arise due to no standard terminology conventions in biological data. For instance, integration conflicts arise when different notions use the same terminology, or the same concept has different representations in different sources.. Data source integration is consequently a challenging research topic in biological data, and large amount of research efforts have been devoted into this area [11] . Early approaches focused on the integration of multiple biological relational databases. For instance, one popular early integration approach used multi-database query languages such as the Collection Programming Language (CPL) [12] , to enable biologists to specify complex queries for different biological databases. Mediation systems, for example Mediator-Wrapper [13] , Database Federation [14] , and data warehousing [15] , are another trend to provide a virtual or physical view of global biological data schema. In addition, some biological data centers such as EBI [16] , NCBI [17] , and DDBJ [18] , use navigation oriented methods, such as web browsers, to provide customized queries for researchers to access linked data sources. More recently, structured integration has gradually evolved to semantics based integration [19] and Web service based integration [20] . In these approaches, XML based Web services use Internet standards and protocols such as UDDI, SOAP, and WSDL, to offer interoperable and expandable integrations of biological data sources. Finally, targeting semantic heterogeneity in biological data sources, ontology-driven data integration [21, 22] has developed standardized biological vocabularies and naming convention [23] .. Although these existing technologies can partially solve the basic integration problems of the distribution, heterogeneity, and autonomy of biological data sources, they lack sufficient flexibility in adapting to the inherently dynamic and evolutionary environments. New research challenges emerge with the increase in scale and diversity of new biological data sources.. First of all, with the constant advance in bioinformatics techniques, for instance, microarray, new types of biology data with heterogeneous formats are continuously created and developed from different data sources. It is challenging to integrate new data schemas of these data types into existing integration systems at runtime. Furthermore, along with new types of biology data, new bioinformatics services for querying, translation, analysis, computation, and visualization, are continuously appearing for biologists to exploit their bioinformatics research processes. The collaboration of all these services in a uniform and automatic manner would greatly benefit bioinformatics research performance. However, in conventional integration approaches, these bioinformatics services are machine-manipulated but not machine-understandable. Once their invocation protocols have been hard-coded into the integration system, they cannot be simply modified if the logic sequence of operations required is updated. Adding new services or any changes of access interfaces would inevitably increase the burden of software development and maintenance.. Traditional integration techniques cannot solve the above dynamic challenges, because their static coding is sensitive to changes of biological data source functionality and schema. An integrated system has to be kept up-todate by manually modifying programs when new biological data sources must be integrated or the features of integrated biological data sources must be changed. The required software engineering tasks are time consuming, error prone, and expensive, and the inertia they introduce cannot accommodate to the growth of biological data sources on the Web [24] . Therefore, the next generation of integration technologies for bioinformatics should have the ability to rapidly respond to changing requirements and dynamic environments.. To address the above issues, in this paper we demonstrate how the Data Concierge adaptive middleware platform [25, 26] can be extended to integrate new biological data sources without the need for application-level programming. Our approach provides a comprehensive solution that can be used to dynamically connect to, access, and manipulate multiple biological data sources from a single client interface. The uniform access mechanism allows biologists to easily perform advanced and efficient research tasks in dynamic data environments.

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 B 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 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 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 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 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 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 B 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 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 B 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 B 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 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 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 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 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 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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


TurboPixels: Fast Superpixels Using Geometric Flows Abstract-We describe a geometric-flow-based algorithm for computing a dense oversegmentation of an image, often referred to as superpixels. It produces segments that, on one hand, respect local image boundaries, while, on the other hand, limiting undersegmentation through a compactness constraint. It is very fast, with complexity that is approximately linear in image size, and can be applied to megapixel sized images with high superpixel densities in a matter of minutes. We show qualitative demonstrations of high-quality results on several complex images. The Berkeley database is used to quantitatively compare its performance to a number of oversegmentation algorithms, showing that it yields less undersegmentation than algorithms that lack a compactness constraint while offering a significant speedup over N-cuts, which does enforce compactness. SUPERPIXELS [18] represent a restricted form of region segmentation, balancing the conflicting goals of reducing image complexity through pixel grouping while avoiding undersegmentation. They have been adopted primarily by those attempting to segment, classify, or label images from labeled training data [8] , [9] , [10] , [16] , [18] . The computational cost of the underlying grouping processes, whether probabilistic or combinatorial, is greatly reduced by contracting the pixel graph to a superpixel graph. For many such problems, it is far easier to merge superpixels than to split them, implying that superpixels should aim to oversegment the image. Region segmentation algorithms which lack some form of compactness constraint, e.g., local variation [6] , mean shift [3] , or watershed [7] , can lead to undersegmentation in the absence of boundary cues in the image. This can occur, for example, when there is poor contrast or shadows. Algorithms that do encode a compactness constraint, including N-Cuts [27] and TurboPixels (the framework we propose), offer an important mechanism for coping with undersegmentation. Fig. 1 shows the oversegmentations obtained using these five algorithms; the effect of a compactness constraint in limiting undersegmentation can be clearly observed in the results produced by TurboPixels and N-Cuts.. The superpixel algorithm of Ren and Malik [18] is a restricted graph cut algorithm, constrained to yield a large number of small, compact, quasi-uniform regions. Graph cut segmentation algorithms operate on graphs whose nodes are pixel values and whose edges represent affinities between pixel pairs. They seek a set of recursive bipartitions that globally minimize a cost function based on the nodes in a segment and/or the edges between segments. Wu and Leahy [26] were the first to segment images using graph cuts, minimizing the sum of the edge weights across cut boundaries. However, their algorithm is biased toward short boundaries, leading to the creation of small regions. To mitigate this bias, the graph cut cost can be normalized using the edge weights being cut and/or properties of the resulting regions. Although many cost functions have been proposed (e.g., [5] , [11] , [19] , [25] ), the most popular normalized cut formulation, referred to widely as N-Cuts, is due to Shi and Malik [21] and was the basis for the original superpixel algorithm of [18] .. The cost of finding globally optimal solutions is high. Since the normalized cut problem is NP-hard for nonplanar graphs, Shi and Malik proposed a spectral approximation method with (approximate) complexity OðN 3=2 Þ, where N is the number of pixels. Space and runtime complexity also depend on the number of segments, and become prohibitive with large numbers of segments. In [20] , a further reduction in complexity by a factor of ffiffiffiffi ffi N p is achieved, based on a recursive coarsening of the segmentation problem. However, the number of superpixels is no longer directly controlled nor is the algorithm designed to ensure the quasi uniformity of segment size and shape. Cour et al. [4] also proposed a linear time algorithm by solving a constrained multiscale N-Cuts problem, but this complexity does not take the number of superpixels into account. In practice, this method remains computationally expensive and thus unsuitable for large images with many superpixels.. There are fast segmentation algorithms with indirect control over the number of segments. Three examples include the local variation graph-based algorithm of Felzenszwalb and Huttenlocher [6] , the mean-shift algorithm of Comaniciu and Meer [3] , and Vincent and Soille's watershed segmentation [7] . However, as mentioned earlier, since they lack a compactness constraint, such algorithms typically produce regions of irregular shapes and sizes.. The TurboPixels algorithm introduced in this paper segments an image into a lattice-like structure of compact regions (superpixels) by dilating seeds so as to adapt to local image structure. Computationally, the approach is rooted in the early curve evolution techniques in computer vision (e.g., [1] , [13] , [14] ). In an approach that is similar in philosophy to the one we develop in this paper, in [28] properties of the medial axis are used to modify the evolution of two simultaneously evolving contours, in application to carpal bone segmentation. In the reaction-diffusion space of [13] , a constant motion (reaction) term was played off against a curvature term (diffusion) for shape analysis. This flow was subsequently adapted to the problem of segmentation in [14] and [1] via the inclusion of a multiplicative image gradient stopping term. These methods led to active contour models that could handle changes in topology in a natural way. Formal theoretical justification, as the gradient flows associated with particular weighted length or area functionals, followed [2] , [12] , [23] . A reaction-diffusion space of bubbles was further developed in [24] , where instead of a single contour, multiple bubbles were simultaneously placed and grown from homogeneous regions of the image.. While there are many variations on the theme of dilating seeds using geometric flows (e.g., this idea has been used for segmenting vasculature in medical imaging [29] ), none of these methods have been applied thus far to superpixel segmentation. Below we develop such a technique by combining a curve evolution model for dilation with a skeletonization process on the background region to prevent the expanding seeds from merging. We demonstrate that this technique advances the state of the art in compact superpixel computation by 1) being applicable to megapixel size images, with very high superpixel densities, and 2) providing comparable accuracy to N-Cuts, but with significantly lower runtimes. The task of efficiently computing a highly regular oversegmentation of an image can be effectively formulated as a set of locally interacting region growing problems, and as such avoids the high cost of computing globally optimal oversegmentations (or their approximations), such as N-Cuts. Combining the power of a data-driven curve evolution process with a set of skeletal-based external constraints represents a novel, highly efficient framework for superpixel segmentation. The results clearly indicate that, while superpixel quality is comparable to the benchmark algorithm, our algorithm is several orders of magnitude faster, allowing it to be applied to large megapixel images with very large superpixel densities. The framework is general and, like any region segmentation algorithm, is based on a user-defined measure of affinity between pixels. While our experiments have demonstrated the use of intensity gradient-based and Pb-based affinities, other more complex affinity measures, perhaps incorporating information from multiple scales, are possible. Selecting the appropriate affinity measure is entirely task dependent. We offer no prescription, but rather offer a general framework into which a domaindependent affinity measure can be incorporated.. It is also important to note that we have intentionally skirted several important domain-dependent problems. One global issue is the fact that our framework allows the user to control the superpixel shape and density. On the issue of density, our approach is very generic, and one could imagine that with domain knowledge, seeds could be placed much more judiciously. Depending on the task, seeds could be placed with varying density at the cost of lower superpixel uniformity. In some domains, varying seed density may be more desirable. In textured images, for example, seeds could be placed to capture the individual texture elements better (like the spots of the leopard in Fig. 7) . Moreover, our framework allows us to guide superpixels to have a certain shape. Currently, in the absence of edges, the superpixels would grow in a circular manner. However, one could imagine growing superpixels to be elliptical instead. This could be more useful for extracting superpixels in narrow structures. Still, as shown in the experiments, the use of a compactness constraint clearly minimizes undersegmentation at a significantly higher computational cost. If both undersegmentation and irregularly shaped superpixel boundaries can be tolerated, the Felz algorithm is clearly the better choice, offering a tenfold speedup as well as improved boundary recall at lower superpixel densities.. Perhaps the most important issue is what to do with the resulting superpixels. The application possibilities are numerous, ranging from image compression to perceptual grouping to figureground segmentation. Currently, superpixels are mainly used for image labeling problems to avoid the complexity of having to label many more pixels. In the same manner, superpixels can be used as the basis for image segmentation. In the graph cuts segmentation algorithm, the affinity can be defined over superpixels instead of over pixels, resulting in a much smaller graph. Superpixels can also be considered as a compact image representation. To illustrate this idea, in Fig. 8 , each superpixel's color is approximated by three polynomials (one per channel). Note that, whereas the mean and the linear approximations seem poor, the quadratic approximation approaches the quality of the original image.

O O B 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 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 B 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 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 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 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 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 B 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 B O O O O O O O O O O B I O O O O B O O O O B I O O O O O O O O O O O O O O O O B O 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 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


Information overload and virtual institutions The Internet puts at our disposal an unprecedented wealth of information. Unfortunately much of this information is unreliable and its very quantity exceeds our cognitive capacity. To deal with the resulting information overload requires knowledge evaluation procedures that have traditionally been performed by social institutions, such as the press or universities. But the Internet has also given rise to a new type of social institution operating online, such as Wikipedia. We will analyze these virtual institutions to understand how they function, and to determine to what extent they can help manage the information overload. Their distributed and collaborative nature, their agility and low cost make them not only a very interesting social model, but also a rather fragile one. To be durable, virtual institutions probably need strong rules and norms, as well as an appropriate social framework. It is by now evident that the Internet has ushered in a new era, offering a previously unimaginable wealth of information. Electronic networks coupled with various mobile devices mean that anybody, anywhere, anytime can access practically any information quickly and at little cost (given the right infrastructure, which is usually available in developed countries). This is of course an extremely beneficial development, for individuals as well as for society as a whole. Because so much information has already been digitized, we have at our fingertips most of human knowledge, useful daily information and unlimited human contacts.. But this abundance of riches comes together with an associated curse. It looks as if we had made a pact with the devil, gaining information wealth at the price of cognitive overload. The quantity and variety of information greatly exceeds our cognitive capacity for processing it. The issue of cognitive overload is not totally new (Wilson 1996; Bawden et al. 1999; Edmunds and Morris 2000; Eppler and Mengis 2004) but electronic networks have made it even worse. We are simply not built to process so much information in limited time, because our cognitive equipment (both biological and cultural) was developed long ago in simpler times.. For example if one looks for information on a disease, or in order to solve some technical problem, there are often thousands of Web sites potentially relevant to the question. But how can one find and read so many Web pages? And how can one be sure of the pertinence and reliability of each document? In case serious decisions have to be made (e.g., the appropriate cure for a disease), this turns out to be a vexing problem of very real importance.. Of course, mankind has always looked for information and has had to ascertain the reliability of any information that could be found. Various methods have been devised in history to manage human knowledge, ranging from priestly castes to public libraries. And material techniques such as writing and printing have proven to be very important informational tools, with momentous social consequences (McLuhan 1962; Eisenstein 1983 ). But our main point here will be that knowledge management is ultimately performed by social institutions, because no technique as yet can reliably evaluate documents without human supervision.. But if the problem is not really new, its present extent is unprecedented: we have never had such easy access to so much information in human history. For this information to be profitable, one should be able to retrieve, filter, evaluate and explain relevant knowledge from among a flood of dubious information. We will argue that classical institutions must learn to cope with such abundance, but we will also describe how novel virtual institutions are emerging on the Internet so as to deal with electronic information.. In this text, we will first analyze the problem of information overload caused by the Internet, and envision possible means to deal with this problem. We will see how information has been managed historically by a variety of social institutions, and we will describe the diverse functions they fulfill. We will then show that new virtual institutions better adapted to the nature of electronic information are emerging on the Internet, taking advantage of its speed and easy use, and we will discuss the characteristics of such institutions. This will allow us to suggest future directions. The Internet has brought us quick and easy access to a wealth of information. Unfortunately, individuals cannot process so much information in limited time. Information must therefore be evaluated and knowledge must be verified before use. This has traditionally been performed by social institutions (such as academia) that filter and evaluate the information available. These institutions must now adapt to the information overload caused by electronic networks.. But the Internet has also given rise to new virtual institutions (such as Wikipedia) that operate without a physical base by performing most of their interactions on the Internet. These institutions seem better qualified to deal with information overload because of their speed and low cost. Virtual institutions use a distributed, collaborative and voluntary model that has proven to be very flexible and socially useful and that should now be encouraged as far as possible.. However, the highly decentralized and informal character of virtual institutions might also make them rather fragile, and they have not passed the test of time yet. Our analysis strongly suggests that they need clear internal rules and norms in order to survive, as well as a supportive social environment. Such internal and external structures are being slowly put in place, but the issue should be explicitly recognized and systematically addressed, so as to offer virtual institutions the best possible environment in which to prosper and endure.

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 B I 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 B O O O O B I 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 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 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 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 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 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 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 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 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 B I O O O O O O O O O O


Color Image Enhancement via Chromaticity Diffusion Abstract-A novel approach for color image denoising is proposed in this paper. The algorithm is based on separating the color data into chromaticity and brightness, and then processing each one of these components with partial differential equations or diffusion flows. In the proposed algorithm, each color pixel is considered as an -dimensional vector. The vectors' direction, a unit vector, gives the chromaticity, while the magnitude represents the pixel brightness. The chromaticity is processed with a system of coupled diffusion equations adapted from the theory of harmonic maps in liquid crystals. This theory deals with the regularization of vectorial data, while satisfying the intrinsic unit norm constraint of directional data such as chromaticity. Both isotropic and anisotropic diffusion flows are presented for this -dimensional chromaticity diffusion flow. The brightness is processed by a scalar median filter or any of the popular and well established anisotropic diffusion flows for scalar image enhancement. We present the underlying theory, a number of examples, and briefly compare with the current literature.Index Terms-Brightness, chromaticity, color image denoising, directions, harmonic maps, isotropic and anisotropic diffusion, liquid crystals, partial differential equations. I N a number of disciplines, directions provide a fundamental source of information. Examples in the area of image processing are gradient directions, optical flow directions, surface normals, principal directions, and color. In the color case addressed in this paper, the direction is given by the normalized vector in the color space, and it represents the pixels' chromaticity.. Formally, an direction defined on an image in is given by a vector such that the Euclidean norm of is equal to one, that is, , where are the components of the vector. The notation can be simplified by considering , where is the unit ball in . When smoothing the data, or computing a multiscale representation of a direction ( stands for the scale), it is crucial to maintain the unit norm constraint. That is, the smoothed direction must also satManuscript received May 13, 1999 ; revised January 31, 2001 . This work was supported in part by the TMR European project "Viscosity solutions and their applications," reference FMRX-CT98-0234, the European Network PAVR FMRXCT960036, the Office of Naval Research under Grant ONR-N00014-97-1-0509, the Office of Naval Research Young Investigator Award, the Presidential Early Career Awards for Scientists and Engineers (PECASE), a National Science Foundation CAREER Award, and the National Science Foundation Learning and Intelligent Systems Program (LIS). The associate editor coordinating the review of this manuscript and approving it for publication was Prof. Scott T. Acton.. B. Tang and G. Sapiro are with Electrical and Computer Engineering, University of Minnesota, Minneapolis, MN 55455 USA (e-mail: guille@ece.umn.edu).. V. Caselles is with Escola Superior Politecnica, Universitat Pompeu Fabra, 08002 Barcelona, Spain.. Publisher Item Identifier S 1057-7149(01)03273-0.. isfy . Or, . The same constraint holds for a multiscale representation of the original direction . This is what makes the smoothing (denoising) of directions in general, and chromaticity in particular, different from the smoothing of ordinary vectorial data: The smoothing is performed in instead of ( for RGB color spaces for example). In [33] , we introduced a new framework for the diffusion of directional data. This extends to images in classical results for images in , e.g., [3] , [23] , [25] - [27] , [36] , [38] , [39] . That is, from the original unit norm vectorial image we showed how to construct a family of unit norm vectorial images that provides a multiscale representation of directions. The method intrinsically takes care of the unit norm constraint. The approach follows results from the literature on harmonic maps in liquid crystals, and is obtained from a system of coupled partial differential equations that reduces a given (harmonic) energy. The framework includes both isotropic and anisotropic (preserving chroma discontinuities) diffusion, works for directions in any dimension, it supports nonsmooth data (edges), applies also to directions defined on general manifolds, and it is based on a substantial amount of existing theoretical results that help to answer a number of relevant image processing questions.. In this paper we extend and apply this direction diffusion framework to the problem of color image enhancement (more precisely, denoising). As mentioned above, we consider each pixel of the color image as a vector in . 1 The unit direction, representing chromaticity, is obtained by normalizing this vector. The brightness is given by the vectors' magnitude. While the brightness is enhanced using classical scalar anisotropic diffusion flows, Section II, the chromaticity is processed with the novel direction diffusion framework, Section III.

O O O O B O O O O O B I I 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 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 B O O O O O O B O B 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 B O B I I I O O O O O O B 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 B B I I B B I B I I I B I B I I O O O O O O B O O O O O O O O O O O O O O O B O O B 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 B 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 B I I 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O


Tracking population densities using dynamic neural fields with moderately strong inhibition Abstract We discuss the ability of dynamic neural fields to track noisy population codes in an online fashion when signals are constantly applied to the recurrent network. To report on the quantitative performance of such networks we perform population decoding of the 'orientation' embedded in the noisy signal and determine which inhibition strength in the network provides the best decoding performance. We also study the performance of decoding on time-varying signals. Simulations of the system show good performance even in the very noisy case and also show that noise is beneficial to decoding time-varying signals. It is increasingly obvious that information processing in the brain is very different from information processing in a digital computer. In particular, information processing in the brain is based on highly distributed representations of information. For example, it is well known from the work of Hubel and Wiesel (1962) that some neurons in the primary visual cortex are selective to edges with specific orientations. While those neurons fire most vigorously to edges with their so-called preferred orientation, the same neurons also fire to edges with other orientations, resulting in broad tuning curves (see for example, Henry et al. 1974 ).. Accurate decoding can thus only be achieved by combining the information of many neurons.. Several questions arise when thinking about information processing with such population representations. For example, it seems at first puzzling that broad tuning curves are common in the brain as it is more difficult to decode information from such broad representations, in particular when considering the large noise present in spike trains. While it turns out that decoding errors can be very small even with brought tuning curves, when combining information from several neurons (see for example, Trappenberg 2002, Chapter 5.4.4) , the presence of large fluctuations in neuronal firing are a serious challenge to accurate decoding. Indeed, depictions of tuning curves in common publications are somewhat deceiving as they represent averages over many, sometimes hundreds, of trials.. Population decoding has recently sparked new interest in the computational neuroscience community as it was realized that population decoding in very noisy circumstances can be achieved through very efficient implementations based on recurrent radial basis function networks that resemble possible cortical processing (Pouget and Zhang 1997; Pouget et al. 1998 Pouget et al. , 2000 Deneve et al. 1999; Wu et al. 2002 Wu et al. , 2004 Li and Wu 2007) . This research has shown that this implementation is statistically efficient and equivalent to maximum likelihood decoding (Wu et al. 2002) , and that these methods also work with correlations in the noise (Wu et al. 2004) . In this paper we will introduce this method in the formulation of dynamic field models and show that these models work quite well in practice without the commonly applied global operation of divisive inhibition. We also demonstrate that this method works well online, that is, when noisy signals are constantly applied. An important aspect of the model is that of global inhibition that provides the necessary competition between noisy population components. We investigate in this paper which strength of activity-dependent inhibition is optimal for the online decoding. Interestingly, it turns out that the best performance is reached in a transition region of the model, where the model turns from a forgetful mode into a mode with sustained activity. Some preliminary results of these findings have been reported in (Trappenberg 2008) . However, in this paper we will not only present these results in more detail, but we also show results of additional studies that have explored the ability of online tracking of time varying signals with the simplified model proposed in this paper. We found that the method works well even with fairly fast changing stimuli. Surprisingly, we also found that some slow changing stimuli provided a more challenging case for decoding. However, this was solvable by including noise in the system.. While we demonstrate fast population decoding in this paper, it is important to keep in mind that the decoding of a parameter such as the orientation of a stimulus in a visual scene is not necessarily the goal in cortical information processing. That is, we subscribe to the interpretation advanced by Pouget et al. (2000) that population responses in the brain should be viewed as probabilistic density information in the brain, that is, the brain cares not only about specific events but also about their likelihood. It is thus not desirable to extract only single parameters from the representation. The online method discussed here does provide ongoing information of complex signals in the system, which we believe is essential for further processing of the information in cortex. Thus, the extraction of a parameter such as the most likely orientation embedded in a signal should be seen as only a means of demonstrating the performance of the system. In this paper we discussed the tracking of noisy population codes with neural fields. This method has gained considerable interest as it not only performs well in the statistical sense (Pouget et al. 1998; Wu et al. 2002) , but is also a biologically plausible implementation of how cortical networks with lateral interactions could process noisy information provided to them from lower or higher cortical areas. We showed that this method works well online, when external inputs are continuously applied. Also, we investigated which inhibition constant (which regulates the amount of long range competition relative to short range cooperation) is best suited for population decoding. Interestingly, we found that this inhibition constant should be chosen in a range where the neural field model goes from the memory regime to the regime with decaying activity packets. This seems to indicate that some balance between cooperation and competition is useful and illustrates why simple competitive networks might not provide the best implementation of winner-take-all mechanisms. The brain faces the challenge of combining a multitude of bottom-up sensory information with top-down expectations to achieve a coherent assessment of the world. This is consistent with the hypothesis that the cortex forms a predictive memory system with different levels of abstractions (Friston 2005; Hinton 2007; George and Hawkins 2005; Dayan et al. 1995) . While in this paper we extracted (decoded) the 'orientation' from the noisy population code, it is important to note that this was mainly done to provide a quantitative illustration of the performance of the neural field's ability to track noisy inputs. The extraction of a single parameter, which was done here with a center of mass scheme, is in this view not the main goal of the neural field processing in the brain. Indeed, it should be beneficial to represent some measure of likelihood of features with the population code, consistent with the interpretation of (Pouget et al. 2000) . In this view it is also important to note that population coding is not restricted to low level sensory information with tuning curves where population decoding is commonly discussed. It is, of course, more difficult to establish this experimentally since it is much more challenging to measure such higher-level 'tuning curves' as the neurons that are involved in the representation of a stimulus might not be organized in the spatial way as the spatial organizations in hypercolumns found in early visual areas.. In this view we could also think about the noise in a different way. While in the experiments shown here we chose the noise term from stochastic processes, we could also imagine that these signals represent additional information from other features of the sensory scene encoded in the population. It is therefore desirable to not completely neglect these feature as would be the case when using the asymptotic states of the neural field without input for further processing. With the value of inhibition found in this study and the strength of input used in the simulations, it seems that we achieved some balance between the information provided by the external input and the activity generate from the neural field itself. A further step in establishing neural fields as component of cortical processing is to study their ability to integrate top-down information, which can itself change with time, with the bottom-up signals processing discussed in this paper. : noise = 0 Fig. 6 The phase difference between the input signal and the response of the neural field. The noiseless case, n g = 0, scales linear with the period T, while in the case with strong noise, n g = 0.9, the phase shift approaches a constant Online decoding and optimal inhibition regime As was shown in Fig. 2 , neural fields can be used to enhance noisy population decoding even during the time the noisy signal is applied to the system. However, the quality of decoding should be compared to the traditional case of decoding with asymptotic states. The question remains which inhibition constant is most useful for decoding. While moderately small inhibition in the memory regime of the neural field model seem to produce clear signals, stronger inhibition also increases the competition which could speed up the formation of clean signals.. In order to report an estimate of the encoded information, in our case the location of the center of the Gaussian signal which we sometimes call 'orientation', we use a simple center of mass estimate based on the activations r of the neural fields at different times during their evolution. We thereby calculate a torque value,. for each node i = 1, …, N in the network and choose as an estimate of the 'orientation' the minimum,. The decoding error calculated as absolute minimum difference between the estimated orientation and the true orientation. In the following we show results of simulations in which we consider time varying noise in which a new noise term was chosen in each unit time interval. This represents a more plausible implementation of decoding conditions in the brain. We found similar results in the static noise case. Figure 3 shows results of simulations over 100 runs at different estimation times and for various inhibition constants C. Shown is the improvement ratio, the ratio of decoding errors, of the decoding when estimating the orientation from the neural field at various times relative to the center of mass estimation of the noisy signal at t = 0. Error bars in the figures represent the variance of the results over 100 runs. As can be seen, the estimation improves with ongoing evolution of the neural field, and the best improvements are achieved with an inhibition constant around C = 0.06. Interestingly, this is also the transition region from the memory regime to the regime with decaying activity.. Further details of the estimation performance at different times and for different noise amplitudes from simulations with inhibition C = 0.06 are shown in Fig. 4 . Figure 4a shows that the estimation error rapidly decrease with time and that there is only a small further improvement after the noisy signal is removed. It is also interesting to note that decoding with neural fields works well for very noisy signals. Figure 4b shows the decoding error with the center of mass estimation on the noisy signal (the curve labeled t = 0 in the figure) and the center of mass decoding at time t = 20s based on the neural fields. The curves represent Decoding error with optimal inhibition C = 0.06 for different noise levels n e ta with the center of mass decoding of the original signal t = 0 and with the neural fields t = 20 averages over 100 runs and the error bars depict the standard deviations in these runs. While the decoding error does of course increase in both cases, it is interesting to note that the neural field decoding deteriorates much less with increasing noise. We consider the problem of decoding information from very noisy signals represented by populations of neurons. For simplicity we consider representations where a single parameter is encoded by the activity of nodes, although the method can be generalized to higher dimensions (Deneve et al. 2001) . Each node represents thereby a collection of neurons and the activity represents the population rate (Wilson and Cowan 1972; Gerstner 2000) . Each node is considered to have a different response profile in dependence of the encoded parameter. We use Gaussian tuning curves similar to orientation tuning curves found in V1 that ride on top of a constant background field. We further added noise and only consider periodic parameters to avoid boundary effects. Specifically, a raw signal s raw with orientation x o is calculated from. with b = 0.1 and r = 2p/10. To simulate noise we applied independent Gaussian noise to each node,. where g is a normal distributed random variable with mean l = 0 and variance r 2 = 1, and n g is a noise parameter setting the strength of the noise. The final noisy signal was calculated by rectifying and normalizing s noisy ,. where H(x) is the step function and the parameter a was set to a = 0.2. An example of the noiseless signal and a corresponding signal with n g = 0.5 is illustrated in Fig. 1 . Note that a simple 'max' estimate would result in poor estimates of the center of the Gaussian signal.. As mentioned in the introduction, a common method to decode population signals is to use the them as the starting state of a radial-basis recurrent network and to iterate the network until a stable state is reached (Pouget and Zhang 1997) . The continuous time dynamics of a standard recurrent network is thereby given as . where Dx = 2p/N is a scale factor. The rate r(x,t) in Eq. 5 is related to the internal state variable u(x,t) by a nonlinear gain function r = g(u). In the recent population decoding literature it is common to use divisive inhibition (Deneve et al. 1999) ,. which has the advantage of resulting in Gaussian activity packets. However, we propose to use the simpler local sigmoidal gain function,. with slope parameter b = 0.1. The results in this paper demonstrate that decoding does not rely critically on the specific form of the gain function so that a more efficient local function can be used in practice.. Most important for the use of recurrent networks for decoding is the form of the weight kernel w(x,y). This is chosen to be shift invariant and only depends on the distance between locations in the neural field, that is wðx; yÞ ¼ wðjx À yjÞ:. It is thereby common to used Mexican hat functions such as the difference of two Gaussian bell curves or a shifted Gaussian in a periodic feature space. Again, the precise form is not critical as long as this interaction kernel provides some local excitation and long range inhibition. We use a shifted Gaussian of the form. with an weight amplitude of A w ¼ 0:2=ð ffiffiffiffiffi ffi 2p p rÞ and width r w ¼ ffiffi ffi 2 p r: The Gaussian form can be learned with Hebbian training on Gaussian pattern (Stringer et al. 2002) , but most interesting for this paper is the inhibition constant C which provides the necessary, activity-dependent long range inhibition.. The dynamics of such center-surround neural fields has been analyzed by Amari in a classic paper (Amari 1977) that shows that this model exhibits several regimes characterized by different possible asymptotic states. For sufficiently large weight amplitude A w , the specific regime is determined by the inhibition constant C. If C is low compared to excitation in the network, then the excitation will spread through the network resulting in runaway activity. In contrast, if inhibition is dominating (large C), then any activity in the field will decay without external reinforcement. In an intermediate regime it is possible to have activity packets where localized activity is stable. We call this regime of the model the memory regime.. The time evolution of the neural field approximated with 100 nodes is depicted in Fig. 2 . The noisy input of Fig. 1 was applied until t = 20s, after which point it was removed. The field develops into a clean bubble around the middle node in Fig. 2a which was the center of the Gaussian signal chosen in this experiment. This demonstrates perfect decoding of the 'orientation' parameter. The bubble is maintained after the input is removed, which demonstrates the working memory regime of the neural field model. The clear asymptotic signal is commonly used for decoding, but in this paper we are specifically interested in fast online decoding. It is therefore important to note that some good estimates can be obtained much earlier, even during the time the external signal is still present. This can be seen when showing the time evolution until t = 10s on a finer color scale (Fig. 2b) . In Fig. 2c we show the time evolution with stronger inhibition. In this case, the inhibition is too large to maintain an activity packet after external input is removed. However, even in this case, we can see that some good estimates can be achieved during the time the signal is present and even shortly after it is removed. The main goal of the remainder of this paper is to investigate which inhibition strength C is best for decoding and to show that the neural field can track time varying signals.

O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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