Analysis of QRS-T subtraction in unipolar atrial fibrillation electrograms Abstract This paper presents a QRS-T subtraction approach for atrial fibrillation (AF) intracardiac atrial electrograms (AEG). It also presents a comparison between the proposed method and two alternative ventricular subtraction techniques: average beat subtraction (ABS) using a fixed length window and an approach based on flat interpolation for QRS cancellation. Areas of the atrium close to the mitral valve showed stronger ventricular influence on the AEGs when compared with the remaining atrial regions. Ventricular influence affects the spectral power distribution of the AEG and can also affect the estimation of the dominant frequency unless the whole ventricular activity influence (QRS-T) is removed. The average power after QRS-T subtraction is significantly reduced for frequencies above 10 Hz (mostly associated with QRS complexes), as well as for frequencies between 3 and 5.5 Hz, (mostly related to T waves). The results indicate that the proposed approach removes ventricular influence on the AF AEGs better than the QRS cancellation method. Spectral analysis showed that both the ABS and the proposed method do well and no method should be preferred to the other. In the time domain, the proposed approach is matched to the lengths and timings of onset and offset for individual QRS-T segments while the ABS approach uses an arbitrary length around the QRS for the pattern used for QRS-T removal. Atrial fibrillation (AF) affects about 1 % of the worldwide population [7] and its rate increases with the population age to over 9 % for those above 64 years old [5] . AF classification evolves from paroxysmal to persistent, long persistent and permanent [24] . In AF, the atria do not empty well between contractions and this can lead to the formation of blood clots and thromboembolic events, increasing the risk of stroke fivefold [4] . AF is responsible for frequent medical appointments and hospital admissions, contributing to elevated costs of health care [2] . Despite intensive research, the mechanisms of generation and maintenance of AF are still not well understood.. Cardiac signals from both surface and intracardiac recordings have been widely used in AF studies aiming to understand the atrial electrical behaviour to improve efficacy of interventional ablation treatment, but the presence of ventricular activity (VA) on these signals has hampered the analysis with possibility of distorted results. It is important to study atrial activity (AA) without the influence of the VA to improve understanding of AF genesis and maintenance. As AA and VA overlap in time and frequency domains within the relevant AF frequency range (3-15 Hz) [16] , the use of linear filtering solutions is ineffective to separate them and isolation of the AA is difficult.. Averaging consecutive QRS-T segments to generate a template that is then subtracted from the raw signals has been the method of choice for ventricular cancellation [18] . One classical implementation of this approach is the average beat subtraction (ABS) method, which relies on the fact that AF is uncoupled to VA [18, 19] . This method is characterised by a single-lead analysis of the ECG and by subtraction of a mean beat template. The template has the length of the shortest RR interval [19] . The alignment is done either with the QRS fiducial point at the centre of the template or at the sample located after 30 % of the beginning of the template, with the length of the template equal to the shortest RR interval and with the T-wave end defined as the last sample of that segment [18] . A limitation of this approach is that the QRS onset and T-wave end are fixed and the 30-70 % ratio used in their study frequently produces truncation of the T wave, but other choices might give better results.. An alternative technique recently published defines the QRS onset at 41.67 ms prior to the QRS fiducial point and the QRS offset at 50 ms after the QRS fiducial point and avoids the problem of identifying a QRS template by replacing the signal over the QRS period with an interpolation, with the authors favouring a flat line interpolator [1] . The three limitations of this approach are: (1) the length of the QRS to be removed is arbitrary and might not correspond to the actual onset or offset of some QRS complexes, resulting QRS residuals on the 'clean' signal; (2) it does not attempt to preserve the AA during the QRS, as that part of the signal is simply replaced with a flat line, for instance, and (3) it does not remove the ventricular repolarisation component.. This study presents an improved VA cancellation method for unipolar noncontact intracardiac atrial electrograms (AEGs). The method does not suffer from some of the limitations of the classical ABS approach or of the 'QRS cancellation' method, as it is based on a segmentation of each individual QRS complex [13] and T-wave end on the ECG [15] . The QRS-T templates are matched both in shape and in length to the individual signals (both onset and offset of the QRS-T complex). It also preserves the AA of the interval corresponding to the QRS-T interval.. The proposed method was used to remove VA for persistent AF (persAF) patients and the results were analysed in the time and frequency domains before and after VA subtraction. The proposed method was also compared to the classical ABS and the 'QRS cancellation' approaches. In the ABS-based approach for QRS-T subtraction, several QRS-T segments showed an inaccurate delimitation of the QRS onset and T-wave end (see Fig. 2b ). In addition, the ABS-based template is often longer when compared with that of the proposed approach (Fig. 3e-f) . We observed that the main reasons are (Fig. 2): (1) for the presented case, the 30 % segment that precedes each QRS fiducial point covers a time longer than the 'true' interval between a QRS onset and its fiducial point; (2) the 70 % segment after QRS fiducial point often falls before the T-wave end. Instead of using 30/70 other choices for the ratio such as 20/80, 15/85 are used, that might give better results, but we have not tested that. The proposed approach aims to match the actual length and timings of onset and offset for all individual QRS-T segments and does adaptively using a 7 s window. For Ahmad's QRS cancellation approach [1] , it can be observed that: (1) QRS onset and offset are based on a fixed window, which certainly does not reflect the dynamic changes in the ventricular depolarisation; (2) there is no cancellation of the ventricular repolarisation component; (3) there is no alignment between the QRS fiducial point in the ECG and the local VA detected in each AEG signal; (4) during the subtraction, an interpolation method is applied (spline, flat or linear) to connect the onset and offset points, so any AA that overlaps with the QRS segment is also removed.. Regarding the frequency domain analysis, the AEG spectrum shown in Fig. 3 illustrates that the proposed method attains a considerable attenuation for frequencies above 7 Hz (see also Fig. 5a ). Comparing the results of the QRS cancellation method with the proposed approach (see Fig. 5b ), we observed that the frequencies between 3 and 5 Hz were reduced suggesting that this range is mostly associated with the T-wave frequency content. For frequencies above 7 Hz, both methods produced similar attenuation which, we argue, is mostly related to the subtraction of the QRS activity. In addition, for frequencies between 5 and 7 Hz, only a slight reduction in power was observed, basically preserving the signals within that frequency range. The spectra for both QRS-T subtraction approaches showed a similar overall behaviour for this illustrative example.. The average spectral behaviour for the four distinct areas of the atrium is shown in Fig. 4 . We observed different degrees of VA contribution over the raw signal across the spectrum. Areas close to the MV showed stronger frequency components (higher amplitudes) related to VA when compared with areas such as the roof and around the PVs. Regarding the proposed approach, it was noticed that components of frequencies above 10 Hz, and also the components of frequency range around 3-6 Hz (3-5.5 Hz PVs, 3-5.2 Hz roof; 3-6 Hz septum; and 3-5.7 Hz MV) were attenuated due to, respectively, ventricular depolarisation and repolarisation subtraction. An agreement on these ranges was also observed when the overall average spectrum of the atrium was calculated. When both QRS-T subtraction methods were compared, similar results were identified in the frequency domain.. As an additional analysis, we also investigated the effectiveness of the ventricular repolarisation subtraction. The ratio between the frequency components related to physiological AF range excluding the VA repolarisation (5.5-12 Hz) and the reported frequency components related to VA repolarisation (3-5.5 Hz), P ratio , was computed (Eq. 7; Tables 1, 2 ). Previous studies have presented a slightly different approach [22, 23] , using a ratio between 4 and 9 Hz over the total spectrum power with focus on the QRS template cancellation on the ECG. Comparing P ratio of signals which had 'QRS cancellation' with P ratio of the raw signal, in Table 1 , we observed that it has decreased for all atrium areas. This suggests that (1) the approach of Fig. 5 Frequency spectrum of the AEG in Fig. 3a after QRS-T subtraction using the proposed method (black trace) compared with the spectra (grey trace) of the: a raw signal, b after the QRS cancellation, and c after QRS-T subtraction (ABS) QRS segment cancellation using flat interpolation results in a distorted reduction for all frequency components; (2) in particular the power above 10 Hz (corresponding mostly to the QRS complex) had a great reduction when compared with the raw signal; (3) for the T-wave frequency range, we observed a minor reduction, although reduction of T-wave activity is not a target for this cancellation method.. When the signals after both QRS-T subtraction methods were compared with the previous results, an improvement of P ratio for all atrium areas could be observed. This suggests that: (1) frequency components corresponding to both QRS and T wave were dramatically reduced; and/or (2) the remaining frequency content, which is mostly related to the main AA within the physiological AF range (above 5.5 Hz), clearly stands out from the frequency content related to the range (3-5.5 Hz), as consequence of an effective repolarisation subtraction.. When the ratios between both QRS-T subtraction methods were compared, the ABS approach produced a slightly higher P ratio around the MV and in areas close to the PVs (2.45 and 3.38) when compared with the proposed method (2.41 and 3.26). In contrast, for the roof and septum, the proposed method presented slightly higher ratios (5.33 and 3.76) when compared with the ABS (5.07 and 3.71). We extended the analysis considering the average spectrum for the 2,048 AEG signals of the whole atrium for individual patients ( Table 2 ). As we can see from both tables, our method produces similar P ratio index results to those of the ABS approach, but our templates are matched to the actual length and timings of onset and offset for individual QRS-T segments rather than using an arbitrary length based on the shortest R-R interval (Fig. 3) and positioning the QRS onset fiducial point at either 50 or 30 % of the total time. Considering the capabilities of the proposed method for adapting itself to the existing interand intra-patient variability in QRS durations and QT intervals, which define the length for each QRS-T complex, we argue that it should be preferred to the ABS approach.. Finally, concerning the limitations, it is well known that T-wave end location is a difficult problem, especially when the signal to noise ratio is low [15] . Also the presence of the f-waves related to AF over the ECG adds an extra challenge, e.g. an extra physiological 'noise', to time location of T-wave end. These limitations may directly affect the QRS-T pattern and the accuracy of the QRS-T subtraction in the AEG signals. However, the identification of the average of all QT intervals as the length of QRS-T pattern does reduces the effect of eventual misdetections.. The main clinical objective of identifying DF in AEGs is the location of key candidates for ablation to minimise the amount of burning and maximise the outcome of ablation procedures in persistent AF. Cancellation of ventricular influence on high density unipolar AF electrograms is a prerequisite to avoid 'contamination' of the AEGs that might alias as possible AF triggers. As well as the QRS complex, VA repolarisation also needs to be subtracted and using standard filters is not feasible as the frequency range of VA overlaps with the physiological AF spectrum. It should be performed using individual 'customized' and adaptive QRS-T segmentation and a coherent subtraction strategy. We have presented a novel approach that performs such cancellation and we have compared its performance to two alternative techniques. Evidence has been presented that shows that the new approach is capable of reducing the influence of the VA on the AEGs and that it does not suffer from some of the disadvantages of the alternative techniques it was compared to.

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


MatGAT:

An

application

that

generates

similarity/identity

matrices

using

protein

or

DNA

sequences

The

rapid

increase

in

the

amount

of

protein

and

DNA

sequence

information

available

has

become

almost

overwhelming

to

researchers.

So

much

information

is

now

accessible

that

high-quality,

functional

gene

analysis

and

categorization

has

become

a

major

goal

for

many

laboratories.

To

aid

in

this

categorization,

there

is

a

need

for

non-commercial

software

that

is

able

to

both

align

sequences

and

also

calculate

pairwise

levels

of

similarity/identity.We

have

developed

MatGAT

(Matrix

Global

Alignment

Tool),

a

simple,

easy

to

use

computer

application

that

generates

similarity/identity

matrices

for

DNA

or

protein

sequences

without

needing

pre-alignment

of

the

data.The

advantages

of

this

program

over

other

software

are

that

it

is

open-source

freeware,

can

analyze

a

large

number

of

sequences

simultaneously,

can

visualize

both

sequence

alignment

and

similarity/identity

values

concurrently,

employs

global

alignment

in

calculations,

and

has

been

formatted

to

run

under

both

the

Unix

and

the

Microsoft

Windows

Operating

Systems.

We

are

presently

completing

the

Macintosh-based

version

of

the

program.

The

application

of

phylogenetics

in

the

examination

of

a

genome

has

been

dubbed

"phylogenomics"

The

analytic

process

of

phylogenomics

is

taking

on

more

importance

as

additional

DNA

and

protein

sequences

from

a

multitude

of

species

become

available..

GenBank

has

approximately

million

DNA

sequences

in

its

database

genbankstats.html.

The

number

of

sequences

in

GenBank

has

increased

by

five

orders

of

magnitude

since

its

founding

in

The

Institute

for

Genomic

Research

(TIGR),

by

the

end

of

had

completed

sequencing

seven

microbial

genomes,

half

of

the

world

total

at

the

time.

Today,

TIGR

is

in

the

process

of

sequencing

and

characterizing

the

genomes

of

many

major

organisms

of

the

world,

including

animal,

plant,

protist,

fungal

and

over

bacterial

species

All

this

new

information

is

obviously

a

great

asset

to

scientists,

since

there

is

constantly

new

supplementary

data

to

be

employed

in

genomic,

physiologic

and

genetic

research.

The

drawback

with

all

of

this

new

information

is

that

the

sheer

amount

of

it

has

become

overwhelming.

So

much

information

is

now

becoming

available

that

highquality,

functional

gene

analysis

and

categorization

is

becoming

a

paramount

goal..

One

of

the

most

important

analyses

that

can

be

employed

in

phylogenomics

or

phylogenetics

is

the

pairwise

determination

of

similarity

or

identity

between

DNA

or

protein

sequences.

The

percent

identity

is

the

calculated

percentage

of

how

two

sequences

compare

at

a

base-to-base

or

residue-to-residue

level.

The

percent

similarity

is

a

more

strict

calculation

where

sequence

gaps

and

mismatches

are

included

in

the

evaluation

and

scored

using

a

more

complex

formula

and

a

comparison

look-up

table

We

have

noted

that

there

is

a

lack

of

non-commercial

software

available

that

is

able

to

both

align

a

series

of

DNA

or

protein

sequences

and

also

calculate

pairwise

levels

of

similarity/identity.

Timothy

Carver's

DISTMAT

program

calculates

pairwise

divergence,

but

not

similarity,

and

it

only

functions

if

the

sequences

have

already

been

aligned

by

some

other

computer

program.

Pairwise

BLAST

may

also

be

used

to

calculate

similarity,

but

its

limitations

are

that

only

two

sequences

may

be

analyzed

at

one

time

and

percent

similarity/identity

are

based

on

local

alignment

-not

global

alignment

MegAlign,

which

comes

with

the

DNASTAR

package

(DNASTAR,

Inc.),

also

generates

similarity

matrices,

but

it

is

quite

expensive

and

not

available

as

a

stand-alone

product..

MatGAT

(Matrix

Global

Alignment

Tool)

is

a

simple,

easy

to

use

similarity/identity

matrix

generator

that

calculates

the

similarity

and

identity

between

every

pair

of

sequences

in

a

given

data

set

without

requiring

pre-alignment

of

the

data.

The

program

performs

a

series

of

pairwise

alignments

using

the

Myers

and

Miller

global

alignment

algorithm

calculates

similarity

and

identity,

and

then

places

the

results

in

a

distance

matrix.

In

order

to

increase

alignment

speed,

they

are

computed

in

the

C++

language

while

the

"front-end"

of

the

MatGAT

program

is

encoded

in

Java..

We

developed

MatGAT

because

of

a

perceived

need.

Mat-GAT

runs

under

both

the

Unix

and

Microsoft

Windows

Operating

Systems.

We

are

presently

completing

the

Macintosh

OS

X-based

version

of

the

program.

The

program

operates

as

a

native

application

and

makes

use

of

graphical

interfaces,

allowing

the

user

to

employ

standard

fonts

installed

on

their

machine

and

printer.

Data

may

be

input

into

MatGAT

by

cutting

and

pasting

or

using

a

browse

function

for

larger

files.

Files

must

be

plain

.txt

in

the

standard

FASTA

format.

In

multiple

sequence

analysis,

each

field

must

have

a

FASTA

title

line

starting

with

a

Fig.

Numerals

and

spaces

are

allowed

during

data

entry

of

the

comment

line

after

the

while

numbers

and

spaces

are

automatically

removed

by

MatGAT

in

the

sequence

data.

Test

data

files

in

the

FASTA

format

are

included

with

the

MatGAT

archive.

The

user

may

specify

which

type

of

alignment

matrix

and

to

employ

with

their

protein

sequence

examination..

Data

files

of

up

to

DNA

or

protein

sequences

have

been

analyzed

successfully

using

MatGAT.

The

DNA

sequences

analyzed

were

basepairs

in

size

and

took

min

to

finish

a

run

using

a

Pentium

Processor

on

a

standard

PC.

The

protein

sequences

ranged

from

to

amino

acids

in

length

and

took

min

to

complete

an

analysis

using

the

same

machine..

The

output

for

MatGAT

may

be

viewed

on

the

computer

screen

or

printed

directly.

The

results

may

also

be

saved

as

a

text

file,

or

Microsoft

Excel

delimited

file,

to

be

used

for

further

statistical

and

phylogenetic

analyses.

Moreover,

when

first

booted

up

MatGAT

searches

for

the

presence

of

Excel

on

the

user's

hard

drive.

If

detected,

this

information

is

saved

and

output

matrices

may

then

be

directly

transferred

to

Excel

by

the

click

of

a

single

screen

button.

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


Optimizing data popularity conscious bloom filters Bloom filters are compact set representations that support set membership queries with small, one-sided error probabilities. Standard Bloom filters are oblivious to object popularity in sets and membership queries. However, sets and queries in many distributed applications follow known, stable, highly skewed distributions (e.g., Zipf-like). This paper studies the problem of minimizing the false-positive probability of a Bloom filter by adapting the number of hashes used for each data object to its popularity in sets and membership queries. We model the problem as a constrained nonlinear integer program and propose two polynomial-time solutions with bounded approximation ratios -one is a 2-approximation algorithm with O(N c ) running time (c ≥ 6 in practice); the other is a (2 + ǫ)-approximation algorithm with running time O(Here N denotes the total number of distinct data objects that appear in sets or queries. We quantitatively evaluate our proposed approach on two distributed applications (cooperative caching and full-text keyword searching) driven by real-life data traces. Compared to standard Bloom filters, our data popularityconscious Bloom filters achieve up to 24 and 27 times falsepositive probability reduction for the two applications respectively. The quantitative evaluation also validates our solution's bounded approximation ratio to the optimal. A Bloom filter [2] is a compact, lossy set representation that supports set membership queries with a small probability of false-positives. In principle, they are useful for any distributed application that requires compact set/list representations (e.g., due to limited network bandwidth for communicating data) and can tolerate occasional errors. Consequently, Bloom filters have been used widely to reduce the communication cost in distributed data-intensive systems. Examples include network content delivery [4] , cooperative distributed caching [7, 25] , peer-to-peer information retrieval [15, 23] , distributed databases [16, 19] , password checkers [17, 26] , and resource routing [14, 24] .. In many data-intensive applications, the popularity of data objects exhibits highly skewed distributions (e.g., Zipf-like) [1] . Furthermore, due to the stability of such skewness [27] , significant object popularities are typically estimable from collected system traces. However, such knowledge is not utilized in standard Bloom filters, which treat each data object equally by using the same number of hashes for each object. Intuitively, one can follow the simple principle of "long encodings for important objects" to adapt the per-object hash number. Specifically, a large number of hashes should be used to encode those objects that are frequent candidates for false-positives (popular in queries but unpopular in queried sets). For other objects, fewer hashed can be used to save space without causing significant error increase.. This paper studies the problem of minimizing the falsepositive probability of Bloom filters for known object popularities in sets and membership queries. We model a restricted version of the problem as a non-linear integer programming problem, where the results (numbers of hashes for data objects) must be integers within a realistic range. The lower threshold of the range is 1, which indicates that at least one hash must be assigned to each data object. The upper threshold of the range is set to ensure limited computation cost of object insertions and membership queries. Nonlinear integer programming problems are hard in general unless problem-specific features are exploited. We discover a feature in this problem that allows us to achieve polynomial-time approximability. The feature is an object importance metric that can guide the assignment of hashes -the higher the score of an object, the more hashes should be used. Such an in-order hash assignment greatly reduces the solution search space, and it leads to a 2-approximation algorithm with O(N c ) running time (typically c ≥ 6 in practice) by brute-force search. We further transform the optimization problem into a variant of the knapsack problemwith ordered, variable-value objects -and use dynamic programming to solve it. The result is a (2 + ǫ)-approximation algorithm with running time O( N 2 ǫ ), for any ǫ > 0. Compared to standard Bloom filters, our proposed popularityconscious Bloom filters achieve reduced false-positive probabilities (or reduced Bloom filter sizes when the same error probability threshold is satisfied). However, popularityconscious Bloom filters incur additional cost in offline computation (for estimating object popularities and determining the customized hash scheme) and local space (for storing the generated hash scheme). This is typically a preferable trade-off in distributed applications where network communication overhead is the dominant performance constraint. We also provide a brief discussion on the computation and local space overhead.. The remainder of this paper discusses related work, formulates our optimization problem, and then presents our solution with relevant analytical results. We also provide quantitative evaluation results on an artificial workload and two distributed applications driven by real-life data traces. A recent work by Bruck et al. [3] pursues the same goal as ours -to minimize the Bloom filter false-positive probability for given object popularities by customizing the number of hashes for each object. Their approach is to derive an optimal real-number solution (in which the number of hashes for each object is allowed to be an arbitrary real number) and then to round the real-numbers to nearest positive integers. Since the number of hashes in practice must be an integer and restricted to a realistic range (e.g., {1, 2, · · · , 10}), the rounding process may lead to significant increase in the false-positive probability. From an analytical point of view, their approach provides no bound on the ratio between their performance and the optimal performance. From a practical point of view, our trace-driven quantitative evaluation results (in Section 5) show that our proposed integer solution (with bounded approximation ratio) achieves up to 10 times false-positive probability reduction compare to the nearest rounding based solution under realistic application settings.. There are also studies on optimizing Bloom filters in terms of error probabilities and space overhead. Mitzenmacher [18] proposes compressed Bloom filters, which adjust Bloom filter parameters in order to optimize the compressed size of Bloom filters rather than the original Bloom filter size. His results show that compressed Bloom filters can achieve up to 30% space savings compared to standard Bloom filters. Pagh et al. [20] propose a new multi-set data structure as a substitute for standard Bloom filters for constant lookup time, smaller space usage, and succinct hash function encodings. Hao et al. [8] try to reduce the false-positive rate of Bloom filters by allowing each set element choose between multiple hash families, in order to set far fewer Bloom filter bits than standard Bloom filters. In comparison, we seek to reduce Bloom filter error rate from a different angle by exploiting the knowledge on data object popularity distributions. [5] generalize standard Bloom filters in a way that associative arrays can also be encoded and evaluated. Exponentially Decaying Bloom Filters [14] probabilistically encode routing tables in a highly compressed way that allows for efficient aggregation and propagation of routing information in unstructured peer-to-peer networks. Their results are orthogonal to our work since they do not focus on reducing the false positive probability of Bloom filters.

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


Using Reified Contextual Information for Safe Run-time Adaptation of Software Product Lines Software product lines (SPLs) is a paradigm to implement software products based on features. Contemporary SPL implementation techniques provide support for compile-time composition of features. Many approaches have been suggested for run-time adaptation of product lines which do not consider safe composition properties. This paper presents FeatureJ which enables safe compile-time and run-time composition of multiple product lines. We identify four compilation techniques necessary to achieve safe run-time adaptation of product lines in FeatureJ: (a) type checking of feature modules, (b) availability of contextual information at runtime, (c) resolving class-loading issues for multiple updated variants, and (d) an application container for executing and updating multiple variants. Accordingly, we show how an existing approach can be integrated with FeatureJ to support safe run-time adaptation. Software Product Lines (SPLs) represent a software engineering paradigm that enables creating a set of products based on the common and the variable features. SPLs enable reuse in terms of features that can be shared among software products. SPLs contain domain concepts (conceptual features) of a software system and their realization at code level (concrete features). Traditionally, the decision as to which products contain which features used to be made statically. With the emergence of dynamic software systems, this decision is no longer static and may be delayed until runtime [14] . Many researchers have assessed the value of using SPLs for such systems. Run-time composition and adaptation of SPLs has been explored in terms of dynamic product reconfiguration [14] , context aware and dynamic SPLs [10] .. In a parallel line of work, researchers have extended traditional SPL implementation techniques to include safe composition mechanisms for SPLs [3, 20] . Safe composition entails checking that (a) products of an SPL adhere to the specified domain constraints and (b) all selected features in the code are synthesized into a compilable product variant [3, 20] . By imposing type checking mechanisms on underlying feature representations, safe composition ensures any errors in valid products are detected at compile-time. To our knowledge, there is no approach that combines type checking of product lines with run-time composition of features to enable safe run-time adaptation.. In this paper, we take a step towards safe run-time adaptation of SPLs. We use FeatureJ which is an SPL implementation approach that differs from other approaches in its representation of features, product lines, and variants as types implemented atop the JastAdd Java compiler [7] . Both conceptual and concrete features are represented by a common semantic entity in FeatureJ [18] . Multiple product line and variant types can be defined and executed in a single FeatureJ program. We show how safe compile-time composition is supported in FeatureJ by extending semantic analyses in JastAdd. We show how FeatureJ stores the contextual information about features and how information is made available at run-time via meta-class instances of FeatureJ types which can be used to alter the structure of already defined variants. Finally, we discuss how safe runtime composition in FeatureJ can be extended to support safe run-time adaptation. An SPL represents family of related programs [5] . By representing requirements of a domain as features, SPLs enable rapid customization of products. SPLs make use of feature diagrams which graphically show the relationships between the features [5] . The notepad product line (NPL) shown in Figure 1 is based on the idea that the variants of a notepad application can be obtained by selecting specific features such as creating, editing, and formatting options. An NPL variant is obtained by selecting features starting with the top level features and further down the feature di-

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


Automatic Cryptosporidium and Giardia viability detection in treated water In the automatic detection of Cryptosporidium and Giardia (oo)cysts in water samples, low contrast and noise in the microscopic images can adversely affect the accuracy of the segmentation results. An improved partial differential equation (PDE) filtering that achieves a better trade-off between noise removal and edge preservation is introduced where the compass operator is utilized to attenuate noise while retaining edge information at the cytoplasm wall and around the nuclei of the (oo)cysts. Then the anatomically important information is separated from the unwanted background noise using the Otsu method to improve the detection accuracy. Once the (oo)cysts are located, a simple technique to classify the two types of protozoans using area, roundness metric and eccentricity is implemented. Finally, the number of nuclei in the cytoplasm of each (oo)cyst is counted to check the viability of individual parasite. The proposed system is tested on 40 microscopic images obtained from treated water samples, and it gives excellent detection and viability rates of 97% and 98%, respectively. Cryptosporidium parvum and Giardia lamblia are two common waterborne parasites infecting humans worldwide [1] . In infected humans, the organisms normally attack the small intestine after being ingested [2, 3] . They are found mostly in surface waters, where their concentration is related to the level of faecal pollution or human use of the water [4] [5] [6] . Cryptosporidium and Giardia parasites can also be found in infected sheep, cattle and many other animal species such as cat, beaver, deer and flies. Besides diarrhoea, other symptoms of giardiasis and cryptosporidiosis are slight fever, fatigue and myalgia. In rare cases, these parasites may infect the lungs and trachea, resulting in cough, dehydration and extreme weight loss [7] [8] [9] .. The impact of epidemic Cryptosporidium and Giardia outbreaks has motivated many researchers to find measures to prevent them from recurring worldwide. As a result, studies related to the transmission, detection and life cycle of the parasites have proliferated. The process of detecting the presence of Cryptosporidium and Giardia (oo)cysts in water and wastewater samples involves filtration, isolation, staining and microscopy. In microscopy, direct visual inspection under a microscope is performed by an expert to detect the presence of Cryptosporidium and Giardia (oo)cysts. This manual inspection is tedious and timeconsuming. Attempts have been made to implement automatic detection of (oo)cysts in microscopic images to increase the efficiency of the process. Widmer et al. used an artificial neural network (ANN) algorithm to accurately identify Cryptosporidium and Giardia (oo)cyst images. Back-propagation technique was employed in the training process, and adjustment of weights was made within the neuron layers. The aim was to minimize the error between the predicted and the correct solution [10] . Fernandez-Canque et al. implemented an algorithm that detected Cryptosporidium oocysts using shape and colour features in fluorescein isothiocyanate (FITC)-stained images [11] .. In this paper, an automation detection system is developed to detect the presence of Cryptosporidium and Giardia (oo)cysts in samples of treated water concentrate. The system employs a modified partial differential equation (PDE) filter to denoise FITC-and 4′,6-diamidino-2-phenylindole (DAPI)-stained images. The modified fourth-order PDE filter uses the compass operator instead of the common Laplacian operator so that more edge information is preserved. In addition, roundness metric, nucleus counting and viability measure are also incorporated as additional features. This paper is organized as follows. Section 2 contains details of the steps involved in the system, and Section 3 describes the experimental results of implementing it on 40 stained images. Finally, conclusion is presented in Section 4. In this work, a robust technique is presented for image filtering of DAPI-and FITC-stained images for Cryptosporidium and Giardia (oo)cyst detection using compass operator with fourth-order PDE. Roundness metric and eccentricity are utilized to differentiate Cryptosporidium and Giardia (oo)cysts in 40 images. The performance of the system is measured in terms of detection, viability and nucleus counting rates and compared against those of the human observer. Excellent rates of more than 97% are achieved for both parasites on all measures. In the future, segmentation and identification of overlapping and occluded nuclei and (oo)cysts in clean and dirty images will be considered.

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


On the hardness of game equivalence under local isomorphism We introduce a type of isomorphism among strategic games that we call local isomorphism. Local isomorphisms is a weaker version of the notions of strong and weak game isomorphism introduced in [J. Gabarro, A. Garcia and M. Serna, Theor. Comput. Sci. 412 (2011) 6675-6695]. In a local isomorphism it is required to preserve, for any player, the player's preferences on the sets of strategy profiles that differ only in the action selected by this player. We show that the game isomorphism problem for local isomorphism is equivalent to the same problem for strong or weak isomorphism for strategic games given in: general, extensive and formula general form. As a consequence of the results in [J. Gabarro, A. Garcia and M. Serna, Theor. Comput. Sci. 412 (2011) 6675-6695] this implies that local isomorphism problem for strategic games is equivalent to (a) the circuit isomorphism problem for games given in general form, (b) the boolean formula isomorphism problem for formula games in general form, and (c) the graph isomorphism problem for games given in explicit form.Mathematics Subject Classification. 68Q17. The isomorphism problem is a classical complexity question for several combinatorial structures. One of the fundamental problems in complexity is the graph isomorphism problem for graphs. Two graphs are isomorphic if there is a oneto-one correspondence between their vertices and there is an edge between two vertices of one graph if and only if there is an edge between the two corresponding vertices in the other graph. The GraphIso problem asks whether there is an isomorphism among two given graphs. It is well known that GraphIso belongs to NP but it is not expected to be NP-hard [12] . For circuits and formulas it is well known that the problem is harder. Recall that two circuits C 1 (x 1 , . . . , x n ) and C 2 (x 1 , . . . , x n ) are isomorphic if there is a permutation π of {1, . . . , n} such that, for any truth assignment x ∈ {0, 1} n , C 1 (x) = C 2 (π(x)). The CircuitIso problem has been studied by B. Borchert, D. Ranjan and F. Stephan in [5] , among many other results they show that CircuitIso ∈ Σ p 2 . M. Agrawal and T. Thierauf prove that the CircuitIso problem cannot be Σ p 2 -hard unless the polynomial hierarchy collapses (see Cor. 3.5 in [1] ). For boolean formulas, B. Borchert, D. Ranjan and F. Stephan in [5] show that FormulaIso ∈ Σ p 2 . Again the FormulaIso problem cannot be Σ p 2 -hard unless the polynomial hierarchy collapses (see Cor. 3.4 in [1] ). We are interested in analyzing the complexity of deciding whether two strategic games are equivalent. In defining a concrete equivalence between strategic games we have to pay attention to the structural properties that are preserved in equivalent games. Two notions of isomorphisms that preserve at different levels the structure of the Nash equilibria strong and weak isomorphism were introduced in [8] . Isomorphisms are defined on the basis of game mappings formed by a bijection among players, and for each player a bijection among its action set. A strong isomorphism is a mapping that preserves the player's utilities in correspondence to the notion of isomorphism introduced in [14 ] . In consequence strong isomorphisms preserve both pure and mixed Nash equilibria, however the notion is not well adapted to compare games with ordinal preferences (look at Def. 13.1 in [15] ). In [7, 8] we consider weak isomorphisms as one notion better suited to games with ordinal preferences. In a weak isomorphism it is required to preserve player's preferences and in consequence only the structure of the pure strategy profiles, including pure Nash equilibria, is preserved. This approach was implicitly undertaken to classify all strategic games with two players and two strategies per player (2 × 2 games) [11] .. In this paper we consider another notion of isomorphism that we call local isomorphism. A local isomorphism is a mapping that preserves, for each player and each strategy profile, the preferences of the player on the "close" neighborhood of the strategy profile. This condition, which is weaker than the requirements for weak isomorphism, still guarantees that the local structure of the pure strategy profiles, including the pure Nash equilibria, is preserved. However, as for the case of weak isomorphisms, mixed Nash equilibria are not preserved. Our definition of local isomorphism constitutes a generalization of the concept of better response equivalence [3] restricted to pure strategies, see definitions in Section 2. This last restriction on pure strategies has been used in comparing potential games [21] . In this paper, our objective is to analyze the computational complexity of the local isomorphism problem.. In the context of computational complexity it is very important to fix how games are represented as problem inputs. We consider here two of the game representations considered in [2] . For giving a game Γ we have to provide a listing of the set of actions allowed to each player and the corresponding utilities. The two representations differ on the form in which utilities are given. In the general form utilities are given implicitly by a Turing machine. In the explicit form utilities are provided explicitly by giving the value corresponding to each profile. We also consider another succinct representation of games introduced in [8] , formula game in general form in which the utility of a player is defined by a collection of boolean formulas, each one of them providing a bit of the player's utility. This is one of the many ways in which games have been described in terms of formulas. In [4] , player i has a goal ϕ i to fulfill. Goals are usually described by boolean formulas. The utility of the player is binary. It is 1 if the goal is satisfied and 0 otherwise. Another model for strategic games that use boolean formula was introduced in [13] , the weighted boolean formula games. Along the lines suggested by circuit games [17] the formula strategic form, whose representation is close to a game given in general form but with utilities defined by formulas was introduced in [8] .. In [8] we obtained a classification of the complexity of the game isomorphism problem according to the level of succinctness of the representation of the game. Our results show that the isomorphism problem for strategic games and strong or weak isomorphism is equivalent to (a) the circuit isomorphism problem for games given in general form, (b) the boolean formula isomorphism problem for formula games in general form, and (c) the graph isomorphism problem for games given in explicit form. Thus showing that the classification differ depending on the game representation.. In this paper we show the computational equivalence between the isomorphism problem for strong isomorphism and the isomorphism problem for local isomorphism. This equivalence is proved for any of the three game representation considered above. Thus showing that the local isomorphism problem for strategic games has the same classification as the other stronger notions of isomorphism. Our proof shows the equivalence through a series of steps. First we reduce the StrongIso problem for binary games, games whose actions and utilities are binary, to the LocalIso problem. Then we show how to reduce the LocalIso problem to the LocalIso problem for binary actions games, games whose actions are binary. Finally we reduce the LocalIso problem for binary actions games to the StrongIso problem for binary games. Our reductions are polynomial time computable when the given games and the output games are written in explicit, general, and formula general form (see definitions later).. The paper is organized as follows, in Section 2 we give the definitions and results needed in the paper, we also introduce the isomorphism problem. In Section 3 we show how to transform a binary game into another strategic game in such a way that strongly isomorphic binary games are mapped to locally isomorphic games. Sections 4 and 5 are devoted to show transformation that preserve local isomorphism. In Section 4 we transform a strategic game into a binary actions game and in Section 5 a binary actions game into binary games. Section 6 is devoted to show that descriptions (in the adequate form) of the transformed games can be computed in polynomial time and conclude with our main result. Finally, in Section 7, we conclude with some open questions and research directions. We have analyzed the general question of determining when two games are the same. As games with ordinal preferences are fundamental to analyze qualitative strategic behavior our analysis of equivalence have been based on preferences. In [7, 8] we consider weak isomorphisms which preserve player's preferences. In this paper we have introduced local isomorphisms that provide a coarser classification of strategic games. Local isomorphism maintain the structure of the pure strategy profiles and therefore the set of pure Nash equilibria as well as weak isomorphism. We have shown that the complexity of the the isomorphism problem is the same as, for weak and strong isomorphism in all the representation forms considered in this paper.. The study of the equivalence between games under other different criteria (risk dominance, rationability) has also been undertaken [10] it will be of interest to analyze the computational complexity of the corresponding notions of isomorphisms.. Another direction of interest is whether it is possible to build (at least until some point) a catalog of games. For the cases in which we are just interested in the set of pne, the problem of finding all the equivalence classes under some class of isomorphism which preserve the set of pne. For instance [22] is a very entertaining partial answer to that question. The case of two players and 2 strategies per player has been consider under different approaches [6, 7, 11] . In [9] some preliminary results for 3 players having 2 and 2 or 3 actions each under local isomorphisms are given. In this framework, this paper provides a notion of isomorphism with a smaller number of classes. We expect that a complete classification under local isomorphism can be obtained for a small number of players and a small number of actions, extending the results given in [9] . However, the complexity results indicate that it will be difficult to scale the number of players or the number of actions. However we feel that ever partial results are of interest in this direction.. There are several fields in computer science developing games, strategic or extensive, that can be used to attain different goals in the Semantic Web. One clear example of this direction is the games with a purpose approach [18] [19] [20] . Those games are used, for instance, to label a image, thus facilitating the acquisition of terms for the semantic web. Games, strategic or extensive, are used in this approach to learn from the strategic behavior of the players. The games are defined in such a way that term agreement provides higher utility. Observe that in this setting games designed by different research teams might lead to different definitions on the game corresponding to the labeling of the same image. To asses the validity of the final results we should check the equivalence among the games. This might lead to different notions of equivalence from the ones presented in this paper. We believe that the results on this paper will provide the basis for the analysis of the complexity of equivalence of such games and other web games.

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


New software developments for quality mesh generation and optimization from biomedical imaging data j o u r n a l h o m e p a g e : w w w . i n t l . e l s e v i e r h e a l t h . c o m / j o u r n a l s / c m p b In this paper we present a new software toolkit for generating and optimizing surface and volumetric meshes from three-dimensional (3D) biomedical imaging data, targeted at image-based finite element analysis of some biomedical activities in a single material domain. Our toolkit includes a series of geometric processing algorithms including surface re-meshing and quality-guaranteed tetrahedral mesh generation and optimization.All methods described have been encapsulated into a user-friendly graphical interface for easy manipulation and informative visualization of biomedical images and mesh models.Numerous examples are presented to demonstrate the effectiveness and efficiency of the described methods and toolkit. © 2013 Elsevier Ireland Ltd. All rights reserved.Computer simulations have been widely used to study various activities in biomedical systems, ranging from molecular, cellular to organ scales [10, 36, 60] . Many of these biological activities can be formulated as partial differential equations (PDEs), which often do not admit analytical solutions and have to be numerically solved. Among a variety of numerical approaches, the finite element method (FEM) has become popular for solving PDEs. One of the challenges in using the FEM, however, is to generate high-quality meshes on which the * Corresponding author. Tel.: +1 414 229 2960.E-mail address: yuz@uwm.edu (Z. Yu).simulations are performed. In order to obtain more accurate simulation results, it is also practically important to incorporate realistic biological structures into geometric mesh models [11, 14, 29, 48, 49, 56] . To this end, the goal of the present paper is to construct high-quality geometric mesh models from 3D biomedical imaging data. In bridging the gap between images and meshes, the following steps are typically involved: (1) from images to surface models, (2) from surface models to tetrahedral meshes, and (3) tetrahedral mesh smoothing to further improve the mesh quality. Below we shall give a brief summary of the related work on these topics. Computer simulations have been widely used to study various activities in biomedical systems, ranging from molecular, cellular to organ scales [10, 36, 60] . Many of these biological activities can be formulated as partial differential equations (PDEs), which often do not admit analytical solutions and have to be numerically solved. Among a variety of numerical approaches, the finite element method (FEM) has become popular for solving PDEs. One of the challenges in using the FEM, however, is to generate high-quality meshes on which the simulations are performed. In order to obtain more accurate simulation results, it is also practically important to incorporate realistic biological structures into geometric mesh models [11, 14, 29, 48, 49, 56] . To this end, the goal of the present paper is to construct high-quality geometric mesh models from 3D biomedical imaging data. In bridging the gap between images and meshes, the following steps are typically involved: (1) from images to surface models, (2) from surface models to tetrahedral meshes, and (3) tetrahedral mesh smoothing to further improve the mesh quality. Below we shall give a brief summary of the related work on these topics.. From images to surface models. To construct surface mesh models from images, we need to extract the boundaries of the feature of interest. Various computational algorithms have been proposed for image boundary segmentation. Commonly used methods include edge detection [22] , region growing and/or region merging [64] , active curve/surface motion [41, 51] , watershed immersion method [9, 58] , normalized graph cut [53] and eigenvector analysis [16] . As image processing is not the focus of the current paper, we assume that the feature boundaries have been segmented either manually or automatically. If the segmentation is applied to 2D images, as commonly seen in manual segmentation, each slice of a given 3D image produces one or multiple contours and the contours found on different slices are connected together to form a 3D triangular surface mesh [1] . As shown below, these surface meshes are often very noisy and corrupted with badlyshaped triangles and sometimes wrong topologies. Therefore, it is often necessary to regenerate a new surface mesh with much higher quality to approximate the original surface shape [57, 62] .. From surface models to tetrahedral meshes. There has been an extensive study on tetrahedral mesh generation from surface models [21, 45] . The related techniques can be classified as Delaunay-based, advancing-front-based, and octree-based methods. The Delaunay-based method usually generates and refines the Delaunay triangulation of a set of progressively inserted vertices inside/on a given surface domain (e.g., see [52, 54] ). This technique is very successful in 2D mesh generation but may not work well in generating high-quality tetrahedral meshes, where some nearly degenerate elements known as slivers often occur. The advancing front-based method starts from the boundary of a domain and then inserts new points inside the domain so that the generated tetrahedra have acceptable shapes and conform to the desired sizing function [2, 8, 19] . However, poorly-shaped surface triangles often give rise to very low quality tetrahedra. The octree-based method recursively subdivides the domain containing the given mesh until some stopping criteria are reached [4, 43, 63, 67] . In all the above approaches, however, the dihedral angles are not guaranteed in the resulting tetrahedra especially those near the surfaces. More recently, Labelle and Shewchuk [34] presented an iso-surface stuffing algorithm to generate tetrahedral meshes, where the dihedral angles are bounded by [10. Tetrahedral mesh quality improvement. Typical methods of tetrahedral mesh quality improvement include: (1) topology optimization, which modifies the connectivity between mesh vertices while keeping vertex positions unchanged. The edge-or face-swapping methods are commonly used in topology optimization [18, 30] . (2) vertex insertion/deletion, which inserts/deletes vertices to/from the mesh [7, 13, 44] . (3) vertex smoothing, which repositions the coordinates of the vertices while keeping the connectivity unchanged [3, 17] . Despite the wide use of the first two methods in mesh quality improvement, the third method remains an active research topic in this area. There has been a lot of work on vertex relocation for mesh quality improvement, including Laplacian smoothing [15, 23, 25] , angle-based methods [61, 65, 71] , methods based on centroid Voronoi tessellation (CVT) [12] , and more recently optimization-based methods utilizing optimal Delaunay triangulation (ODT) [6] . Most of these methods perform well for internal tetrahedral nodes. In many real-world mesh models, however, badly-shaped tetrahedra often occur near or on the boundaries of a domain [34, 69] . Therefore, how to simultaneously smooth internal and boundary vertices is of great interest in tetrahedral mesh smoothing.. The main goal of the current work is to integrate several of our newly-developed algorithms into a user-friendly toolkit, called BIMoS (or Biomedical Image-based Modeling and Simulation), to create high-quality tetrahedral mesh models from biomedical imaging data. Fig. 1 shows a flowchart of the mesh generation and optimization algorithms available in BIMoS. Compared to some existing software tools on tetrahedral mesh generation and improvement, such as Tetgen [54] , CGALMesh [47] , LBIE [67] , and Stellar [30] , the described BIMoS is the first publicly available toolkit that guarantees a lower bound of dihedral angles in tetrahedral mesh generation, which is vital in finite element methods. In addition, the accompanying graphical user interface (GUI) provides various ways to pre-process and visualize the meshes (e.g., local refinement, hole-filling, mesh quality measurement, cross sectioning of meshes at arbitrary views and depths, etc.). While the present methods and tools are applicable to a wide range of biomedical images, we shall consider as examples the electron microscopic (EM) images of subcellular structures in cardiac myocytes (or muscle cells) and aim to produce tetrahedral meshes suitable for finite element analysis of cardiac cell dynamics [26, 38] . The current version of the present toolkit can only generate meshes in a single material domain. For domains with multiple materials, the reader is referred to some published work such as the method described in [69] .. The remainder of the present paper is organized as follows. In Section 2 we describe the computational approaches on mesh generation and smoothing. We outline our software toolkit in Section 3. Some experimental results are presented in Section 4, followed by the conclusion in Section 5. We presented computational approaches to generating and improving tetrahedral mesh models from very low-quality surface meshes that are originally reconstructed from 3D electron microscopic imaging data. The guaranteed quality of the obtained tetrahedral meshes provides good geometric models for finite element simulation. All these algorithms have been implemented in C++and encapsulated into a software toolkit called BIMoS with a user-friendly graphical interface. The BIMoS toolkit is currently freely available in a binary form at www.bimos.org. A new version with the source code wherever the copyright permits will be made accessible on the same web-site. Although this paper is focused on the application of cardiac sub-cellular structures, the algorithms and software toolkit described are also applicable to other types of imaging data and mesh models. Related to the current work are two problems we are working on. One is semi-automatic image segmentation requiring a minimal amount of user intervention. This can significantly reduce users' burden on manual contour segmentation that our current work depends on. The other problem in progress is to utilize the produced tetrahedral meshes to study calcium dynamics and cell contraction in cardiac myocytes.

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


Improved texture image classification through the use of a corrosion-inspired cellular automaton In this paper, the problem of classifying synthetic and natural texture images is addressed. To tackle this problem, an innovative method is proposed that combines concepts from corrosion modeling and cellular automata to generate a texture descriptor. The core processes of metal (pitting) corrosion are identified and applied to texture images by incorporating the basic mechanisms of corrosion in the transition function of the cellular automaton. The surface morphology of the image is analyzed before and during the application of the transition function of the cellular automaton. In each iteration the cumulative mass of corroded product is obtained to construct each of the attributes of the texture descriptor. In a final step, this texture descriptor is used for image classification by applying Linear Discriminant Analysis. The method was tested on the well-known Brodatz and Vistex databases. In addition, in order to verify the robustness of the method, its invariance to noise and rotation were tested. To that end, different variants of the original two databases were obtained through addition of noise to and rotation of the images. The results showed that the method is effective for texture classification according to the high success rates obtained in all cases. This indicates the potential of employing methods inspired on natural phenomena in other fields. The classification of texture images is an important problem in pattern recognition and consequently forms the subject of many research works in this field. Texture is an important image feature with a strong discriminative capability and is therefore widely used in computer vision. The texture classification problem addressed in this paper is a multiclass classification problem and two different well-known databases are considered: the Brodatz database, which contains a number of unique textures that each form a class, and the Vistex database, which consists of a number of classes, each with several texture images belonging to it. For the Brodatz database, ten subimages of the same size are taken from each texture to obtain different texture images for the corresponding class. For each texture image of both databases a feature vector, i.e. a vector of characteristics, is obtained by using a novel method introduced in this paper, as well as by using a number of popular methods from literature. This feature vector is then employed to classify the different texture images using Linear Discriminant Analysis (LDA) following a stratified 10-fold cross-validation scheme. Feature vectors for image texture are usually obtained from the analysis of groups of pixels and the way this analysis is performed is used to classify the different texture analysis methods. Five main categories can be distinguished: structural [1] [2] [3] , statistical [4] , model-based [5] [6] [7] , spectral [8, 9] , and agent-based methods [10] [11] [12] .. This paper proposes a novel method to analyze the structural elements of textures by means of a cellular automaton (CA) inspired by the pitting corrosion phenomenon, further on referred to as the Corrosion-Inspired Texture Analysis (CITA) method. The basic mechanisms behind this detrimental reaction which occurs between metals (or alloys) and their environment serve as inspiration to develop a CA-based model. Next, this CA-based model is employed to perform texture analysis by treating the image to be classified as a metal surface. The CITA method, like real corrosion, amplifies existing differences in material and height (in this case grayscale value) so that the biggest contrasts in the original texture image will become more pronounced and smaller contrasts will be nullified. The eroded mass of 'metal' by the progression of pitting corrosion at each iteration is used to generate a feature vector that describes the image to be classified. The effectiveness of this strategy is demonstrated on two texture data sets with natural and synthetic textures. In addition, to verify the robustness of the CITA method, its invariance to noise and rotation were tested, obtaining satisfactory results. This paper is organized as follows. Section II describes the basics behind the pitting corrosion phenomenon, while the definition of a CA as well as further explanation of some parts of this definition form the subject of Section III. The CITA method is described in Section IV and the experimental setup needed to test its efficacy is explained in Section V. Section VI presents the results and discussion of the study. Finally, the paper is concluded in Section VII.

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