TOMOBFLOW: Feature-preserving noise filtering for electron tomography J.J. Fernandez 1,2 1 2

National Centre for Biotechnology. National Research Council (CNB-CSIC). 28049 Madrid. Spain. Associated unit CSIC+UAL. University of Almeria (UAL). 04120 Almeria. Spain.

July 2011 Contact: jjfernandez.software @ gmail.com Web site

The program TOMOBFLOW (pronounced as tomo-be-flow) is intended for noise filtering of 3D tomograms with preservation of biologically relevant information. It is an efficient implementation of the Beltrami flow, a nonlinear filtering method that locally tunes the strength of the smoothing according to an edge indicator based on geometry properties. TOMOBFLOW is equipped with the power of diffusion-based filtering methods, with the important advantage that it does not require complicated parameter tuning for successful denoising of datasets. Furthermore, the program has been optimized to reduce the computational demands, specially in terms of memory requirements. In addition, code optimization and multithread programming has been used to exploit modern multicore computers. TOMOBFLOW reads and writes 3D datasets in MRC format. It is compatible with standard packages, which easily allows integration in the electron tomography workflow.

Table of Contents 1. 2. 3. 4. 5. 6. 7. 8. 9.

Installation Description Usage Options and parameters Examples Advices and comments History References Appendix A

1

1

Installation • Uncompress the file TOMOBFLOW.zip. • You will find these directories: – bin, which contains the executable binaries: ∗ tomobflow 64-bit executable program. ∗ tomobflow.ia32 32-bit executable program. – doc, with this documentation. • Set up your PATH environment variable to have direct access to the program.

Tested machines So far, the package has been built and tested on the following platforms: Linux machines based on x86 processors (32 bits and 64 bits) Intel-based Macs (64 bits) under OSX (10.6 and onwards) Intel-based Macs (32 bits) under OSX (10.5 and onwards)

In case of problems in these or other platforms, contact me and I’ll try my best to sort them out.

2

2

Description

Several approaches for noise reduction in multidimensional image processing are based on considering images as maps that are embedded into a higher dimension and that flow towards minimal surfaces. In these approaches, a 2D image is considered as a 2-manifold embedded in 3D, i.e. the image I(x, y) is regarded as a surface S = (x, y, I(x, y)) in a 3D space (see Figure 1). Similarly, a 3D volume I(x, y, z) is considered as a 3-manifold embedded in a 4D space S = (x, y, z, I(x, y, z)). Embedding the multidimensional image into a higher dimension allows the use of powerful differential geometry operators. The Beltrami flow is an efficient geometric diffusion flow approach that aims to minimize the area of the image manifold, driving the flow towards a minimal surface solution while preserving edges. The Beltrami flow is formulated as follows: ∇I 1 It = √ div √ g g

!

(1)

where It = δI/δt denotes the derivative of the image density I with respect to the time t; ∇I is the gradient vector, that is ∇I ≡ (Ix , Iy ) for 2D images whereas ∇I ≡ (Ix , Iy , Iz ) for 3D volumes, being Ix = δI/δx the derivative of I with respect to x (similar applies for y and z); div is the divergence operator, defined for a vector function f = (fx , fy , fz ) as div(f ) = δfx /δx + δfy /δy + δfz /δz. Finally, g denotes the determinant of the first fundamental form of the surface, which is g = 1 + |∇I|2 .

Figure 1: Principles of Beltrami flow. An image I(x, y) made up of a white square over black background (top) is viewed as a surface S = (x, y, I(x, y)) in a 3D space (bottom). The edges are seen as cliffs in the Z direction. At each point of the surface, the projection of the normal n (blue arrows) to the Z direction (black arrows) is the edge indicator √1g in Equation (1), yielding little value at sharp edges. In uniform areas, however, the normal to the surface n runs parallel to Z and the projection thus yields maximum value.

The term g comes from an induced metric for the Euclidean (n + 1)-D space where the density of a n-D image is embedded in the (n + 1)-rd dimension (with n = 2 for 2D images and n = 3 for 3D volumes). This g provides the measure of the area expansion between the image domain I and the surface domain S, and thus plays an important role to drive the flow towards a surface with the least area. Moreover, the term √1g in Equation (1) acts as an edge indicator since it is proven to be the projection of the normal-to-the-surface to the vector representing the (n + 1)-rd dimension (see Figure 1). Therefore, the Beltrami flow is a selective 3

noise filtering method that preserves edges as minimizes diffusion at and across edges whereas it applies extensive diffusion elsewhere. In TOMOBFLOW, the implementation of the partial differential equation derived from Equation (1) is based on finite differences, using an Euler forward difference approximation for It and central differences to approximate the spatial derivatives. An efficient implementation has been carried out using single processor optimization to reduce memory and time consumption. Only one copy of the input dataset, which is progressively updated during the processing, is held in memory. A sliding window of 3 slices is used to keep the data needed for the current slice of the tomogram in order to avoid overwriting. This optimization allows processing huge datasets, as commonly found in ET, on computers with modest amounts of memory. A description of the procedure implemented in the program as well as experimental examples are published here: TOMOBFLOW: Feature-preserving noise filtering for electron tomography. J.J. Fernandez BMC Bioinformatics 2009, 10:178 http://www.biomedcentral.com/1471-2105/10/178 Please, cite this article if you use TOMOBFLOW in your works.

4

3

Usage

The program allows fast nonlinear noise reduction based on Beltrami flow on standard multicore computers.The program works with a command line user interface that adheres to typical Unixstyle practices. To get the list of options, just type the program name followed by ’-h’: tomobflow -h

It will show the following information on console: -----------------------------------------------------------Feature-preserving noise filtering for electron tomography Fernandez (2009). BMC Bioinformatics 10:178. http://dx.doi.org/10.1186/1471-2105-10-178 Version: July 2011 -----------------------------------------------------------Usage:

tomobflow [options] input tomogram output tomogram

Where: input/output tomograms:

MRC format (modes 0, 1, 2). Default: output uses the same mode as input

Optional parameters: -b factor

-c -f -g -h -H -i -n -s -t -v

sigma

iter step threads level

Factor for High-Boost-like filtering: A*I-E, where I is the denoised map and E is the edge map, and A is a scalar indicating the contribution of I. Indicates that the input tomogram comes from a previous run of the program. Equivalent to use ’-g 0’ The output tomogram is saved in FLOAT mode, regardless of the input mode. Sigma of the initial Gaussian filtering (default: 0.5) Show this help. Use Hyper-Threading if available No. Iterations of Beltrami flow (default: 70) Disable density scaling for Beltrami flow. Time step. (default: the maximum recommended value: 0.15). Use multithreading (default: as many threads as cores). Verbosity level: 0 (silent), 1 (low, default), 2 (high).

5

4

Options and Parameters

Mandatory parameters input/output tomograms The format of the input tomogram is MRC, any mode (0 - unsigned char; 1 - short; 2 - float), as typically used with standard packages like IMOD. The format of the output tomogram is MRC using, by default, the same mode as the input tomogram. However, forcing the writing of the tomogram in mode 2 (float) is possible with the option ’-f’, as described below.

Optional parameters for the general user -b If this option is entered, the output map is similar to the output of the well-known HighBoost filter in image processing (e.g. see the book by Gonzalez and Woods). In particular, the output map would be A ∗ I − E, where A is the scalar factor introduced by the user, I is the denoised map that would be obtained if this option is not entered, and E is the edge √ map (i.e. g in Eq. 1). The resulting output map has their edges improved as compared to the result that would be obtained if this option is not used. Any real value for A can be used. Recommendable values for A are in the range [1,2]. The lower the value of A is, the higher the edge improvement is. If A = 0 the output map would be the edge map. See Appendix A for an illustration of these effects. -c This option allows the user to indicate that the input tomogram comes from a previous run of the program. If so, the program automatically switches off any initial filtering to avoid any potential blurring of the edges. So this option is equivalent to use ’-g 0’. -f This option forces the program to write the output tomogram in mode 2 (float). By default, the output tomogram is written using the same mode as the input tomogram. -g This option allows the user to enter the standard deviation for an initial Gaussian filtering of the input tomogram. This initial filtering is intended to remove the fine-grain noise in order to regularize the computation of the gradients and make them less sensitive to noise. A value in the range [0.5,1.0] is advisable. Higher values may blur the structures, which would thus spoil the effects of the subsequent Beltrami flow. By default a value of 0.5 is assumed. If no initial Gaussian filtering is wanted, it must be switched off with ’-g 0’. -h The program shows the help information on console and exits. -H The program automatically detects whether the cores have hyperthreading technology (e.g. Intel Nehalem architecture: Core i7, i5, i3, etc.). However, by default the program does not exploit this feature. This option allows activation of the use of hyperthreading. 6

In that case, the program creates additional threads to a total of twice the number of cores. However, bear in mind that in an application like tomobflow all the threads execute the same operations using the same functional units within the core (hence competing for them). As a result, the speedup achieved by the hyperthreading might not be as high as that obtained by two real cores working in parallel. This flag is ignored if the option ’-t’ is used. -i Number of diffusion iterations. A number of iterations around [50,250] yields fairly good results. The more iterations the stronger the smoothing. If too many iterations are used, some interesting structural features may turn out to be blurred. By default, 70 iterations are assumed. This parameter is strongly related to the time step (see option ’-s’). -n By default, the program rescales the densities of the input tomogram to the range [0,255] for denoising, and restores the original scale at the end. The use of this option disables the density rescaling, thus keeping the input density scale throughout the denoising process. √ This may seriously affect the denoising process as the edge indicator (i.e. g in Eq. 1) is optimized for the range [0,255] (see the section below “advices and comments”). -s This option allows the user to change the time step. The default value is 0.15, which is the maximum value for the sake of numerical stability. Recommended values should be in the range [0.1,0.15]. The larger the time step, the lower the number of iterations needed. -t By default, the program automatically detects the number of cores available in the computer and creates as many threads as cores, which will collaborate in the denoising process. In other words, by default the program intends to fully exploit the parallel capabilities of multicore (dual, quad, hexa, etc) computers. This option allows the user to specify a particular number of threads instead of using the default value. In that case, the user should bear in mind that the maximum number of threads should not be higher than the number of cores in the computer, so for a computer with a quad-core, 4 should be the maximum number of threads; similarly, 2 threads should be the maximum for a dual-core (i.e. Intel Core 2 duo) and 8 threads for a computer with 8 cores, etc. If the cores have hyperthreading technology available, additional threads could be used (see the notes for the flag -H). -v Sets the verbosity level: 0 (no verbose), 1 (low, default level), 2 (high). The verbosity level 2 shows the statistics of the denoised tomogram at every iteration.

Summary: The most important parameters The most important options for denoising are related to the initial Gaussian filtering (-g) and the number of iterations (-i). The latter is also related to the time step (-s).

7

5 5.1

Examples Examples of commands

1. Denoising using the default initial Gaussian filtering (standard deviation of 0.5) followed by the default 70 iterations of Beltrami flow with a time step of 0.15. The program works at full computational speed, i.e. internally it creates as many threads as cores available in the computer, which work in parallel collaborating in the filtering. The verbosity level 1 is used, so the program shows the progress of the denoising. tomobflow inputtomogram.mrc outputtomogram.mrc

2. The same denoising as above is run using a smaller time step (0.1), adjusting the number of iterations accordingly (105). Note that the diffusion time in this example would be 105*0.1 = 10.5. This is the same as in the previous example: 70*0.15=10.5. Therefore, a result similar to the previous command is obtained, but with larger processing time. tomobflow -i 105 -s 0.1 inputtomogram.mrc outputtomogram.mrc

3. Illustration of the Boost ’-b’ option, with a denoising example using the default values. See Appendix A for a visual illustration of these effects. 3.1. Standard denoising. The resulting map is the result of the Beltrami flow process. tomobflow inputtomogram.mrc outputtomogram.mrc

3.2. The resulting map is the edge map. tomobflow -b 0 inputtomogram.mrc output edgemap.mrc

3.3. The resulting map is the result of 2 ∗ I − E, where I is the denoised map (equivalent to the output of 3.1) and E is the edge map (i.e. the output of 3.2). This map will have sharper edges compared to the map in 3.1. tomobflow -b 2 inputtomogram.mrc outputtomogram.mrc

4. Denoising with 70 iterations of Beltrami flow. An initial slight Gaussian filtering with standard deviation of 0.5 is used by default. This is the most common way of using this program. tomobflow inputdata.mrc outputdata bflow70.mrc

If the user feels that more iterations are necessary, it is possible to resume (-c) the filtering with additional iterations, say 30 more. tomobflow -c -i 30 outputdata bflow70.mrc outputdata bflow100.mrc

5. Denoising using an initial Gaussian filtering with standard deviation of 1.0 followed by 40 iterations of Beltrami flow. The verbosity level 2 is set up to obtain the statistics at every iteration. tomobflow -v 2 -g 1 -i 40 inputtomogram.mrc outtomogram40.mrc

Continuation of the previous denoising with 30 further iterations of Beltrami flow, to yield a final denoised tomogram after a total of 70 iterations. In this case, the verbosity level is set up to 0 in order to work silently. tomobflow -v 0 -c -i 30 outtomogram40.mrc outtomogram70.mrc

8

6. Let’s assume that the denoising process is to be run on a computer based on a Intel Core i7 quad-core processor with hyperthreading technology available. By default, tomobflow will create four threads working in parallel, but it would not take advantage of hyperthreading. To exploit this technology, the flag -H has to be used, which would make the program create eight threads working concurrently. This is an example using the default parameters for the denoising: tomobflow -H inputtomogram.mrc outputtomogram.mrc

7. Let us assume the previous command is to be run on a computer with 4 cores, but we have another program running in the computer that is using one core. It may be helpful to set the number of parallel threads to 3, i.e. the three cores that are free. This can be specified with the option ’-t’. In this case, no hyperthreading is used. tomobflow -t 3 inputtomogram.mrc outputtomogram.mrc

5.2

Example of the output report

On the execution of the following command, with verbosity level 2, tomobflow -v 2 -g 1 emd 1155.mrc emd 1155 bflow.mrc

the program echoes the options specified in command line and then the following output report is shown on console during the execution: Initial Statistics (avg, std, min, max):

iteration number:

1 / 70

diffusion time:

0.1500

Statistics (avg, std, min, max):

iteration number:

0.3000

Statistics (avg, std, min, max):

.

124.118 16.128 1.705 248.139

2 / 70

diffusion time:

.

124.118 16.143 1.673 248.236

124.118 16.115 1.737 248.102

.

iteration number: diffusion time:

69 / 70 10.3500

Statistics (avg, std, min, max):

iteration number: diffusion time:

124.120 15.432 3.669 247.448

70 / 70 10.5000

Statistics (avg, std, min, max):

124.120 15.422 3.701 247.435

This report shows on console the progress of the program. First, it shows the statistics (average, standard deviation, minimum, maximum) of the initial volume (after being internally rescaled to [0,255]). Then at every iteration it shows the corresponding diffusion time (i.e. iteration × the time step) and the current statistics. The average value should keep aproximately constant whereas the standard deviation should be progresively reduced. 9

6

Advices and comments • It is advisable to use the initial Gaussian filtering, at least with the default values (standard deviation 0.5), which removes the shot noise and allows more reliable computations of the gradient. A value in the range [0.5,1.0] works fine. Higher values might yield good results as well, but under the risk of blurring. Lower values, or even cancellation of the Gaussian filtering, might make the method preserve shot noise because of their strong edges compared to the neighbourhood. • The density scale has an influence in the filter. For that reason, the program internally preprocesses the input image or tomogram: firstly, it truncates the density scale to µ ± 4σ, where µ is the average density and σ is the standard deviation; secondly, it moves the density scale to the range [0,255]. With those statistics, an initial Gaussian filtering of standard deviation of 0.5 (the default in tomobflow) or 1 is useful and a number of iterations in the range 30-100 (with time step 0.15), or 50-150 (with time step 0.1) (i.e. with a resulting diffusion time in the range [5.0,15.0]) seems to be OK, as reported in the article describing the program. Once the denoising process finishes, the program puts the denoised tomogram back to the original density scale. So, this is absolutely transparent for the user, who does not have to do anything special. If the user prefers to keep the density scale of the input map during the denoising process, or he/she prefers to apply his/her own scaling procedure, the option ’-n’ has to be used. In this case, it might happen that the number of the iterations needed could be significantly lower or higher, depending on the statistics of the input data. • Memory requirements. Given an input tomogram of Nx × Ny × Nz voxels, the program requires a memory space of 4 × Nx × Ny × (Nz + 3) Bytes to keep the volume and a sliding window. If the input tomogram is not in floating-point mode, an additional 50% of space may be required, but only for the conversion to/from this mode. • TOMOBFLOW applies an isotropic nonlinear filtering method based on the Beltrami flow, which tunes the strength of the smoothing according to a local edge indicator. In contrast to anisotropic nonlinear filtering, there is no enhancement of features since the direction of the smoothing is not tuned. If feature-enhancement is wanted, then you should try out TOMOAND: http://sites.google.com/site/3demimageprocessing/tomoand

a package for anisotropic nonlinear filtering in electron tomography. Here, both the strength and the direction of the smoothing is adaptively tuned to the local structures found in the tomogram.

10

7

History

V. June 2009 • Original package as described in BMC Bioinformatics 2009, 10:178. V. December 2009 • Use of multithreading is now possible to fully exploit the power of multicore computers and reduce the processing time. • The density of the input tomogram is scaled internally before the denoising procedure. At the end, the denoised tomogram is put back to the original scale. • Some routines have been optimized to reduce the memory requirements. V. March 2010 • Bug related to memory allocation fixed. This bug made the program crash with some datasets. • The option ’-boost’ to create an output similar to the result of a High-Boost filter is introduced. This option produces output map with sharpened edges. V. July 2011 • The program automatically detects the number of cores and whether hyperthreading is available. • By default, the program fully exploits the computer power in the computer by creating as many threads as cores. • The program works faster, as a number of additional optimizations and multithreaded routines have been incorporated. • The program is not based on Bsoft library any more, thus limiting the image formats that are acceptable. • The program reads and writes datasets in MRC format (modes 0, 1, 2). • The program works with 3D tomograms. No 2D images are accepted any longer. • To reduce the processing time, the default values of the time step and the number of iterations have been set up to 0.15 and 70, respectively. • The output obtained with the different verbosity levels has changed.

Acknowledgements Stimulating discussions with B Zuber were of great help to improve the program and the user’s manual. This work has been possible thanks to grants from the Spanish MEC and MCI as well as EU through the network of excellence 3DEM-NoE.

11

8

References

• of special interest. References describing the method implemented in TOMOBFLOW • TOMOBFLOW: Feature-preserving noise filtering for electron tomography. J.J. Fernandez. BMC Bioinformatics 2009, 10:178. http://www.biomedcentral.com/1471-2105/10/178 References on denoising in electron tomography with anisotropic nonlinear diffusion • J.J. Fernandez, S. Li. An improved algorithm for anisotropic nonlinear diffusion for denoising cryotomograms. J. Struct. Biol., vol. 144, pp. 152–161, 2003. • J.J. Fernandez, S. Li. Anisotropic nonlinear filtering of cellular structures in cryoelectron tomography. Computing in Science and Engineering, vol. 7, issue 5, pp. 54–61, 2005. • J.J. Fernandez, S. Li, V. Lucic. Three-dimensional anisotropic noise reduction with automated parameter tuning. Application to electron cryotomography. Lecture Notes in Computer Science, vol. 4788, pp. 60–69, 2007. • A.S. Frangakis, R. Hegerl. Noise reduction in electron tomographic reconstructions using nonlinear anisotropic diffusion J. Struct. Biol., vol. 135, pp. 239–250, 2001. • A.S. Frangakis, A. Stoschek, R. Hegerl. Wavelet transform filtering and nonlinear anisotropic diffusion assessed for signal reconstruction performance on multidimensional biomedical data. IEEE Trans. BioMed. Engineering, vol. 48, pp. 213–222, 2001. • R. Narasimha et al., and S. Subramaniam. Evaluation of denoising algorithms for biological electron tomography. J. Struct. Biol., vol. 164, pp. 7–17, 2008. References on denoising in electron tomography with other methods A. Stoschek , R. Hegerl. Denoising of Electron Tomographic Reconstructions Using Multiscale Transformations. J. Struct. Biol. vol. 120, pp. 257–265, 1997. W. Jiang, M.L. Baker, Q. Wu, C. Bajaj, W. Chiu. Applications of a bilateral denoising filter in biological electron microscopy. J. Struct. Biol. vol. 144, pp. 114–122, 2003. R.S. Pantelic, R. Rothnagel, C.Y. Huang, D. Muller, D. Woolford, M.J. Landsberg, A. McDowall, B.Pailthorpe, P.R. Young, J. Banks, B. Hankamera, G. Ericksson. The discriminative bilateral filter: An enhanced denoising filter for electron microscopy data. J. Struct. Biol. vol. 155, pp. 395–408, 2006. P. van der Heide, X.-P. Xu, B.J. Marsh, D. Hanein, N.Volkmann. Efficient automatic noise reduction of electron tomographic reconstructions based on iterative median filtering. J. Struct. Biol. vol. 158, pp. 196–204, 2007.

12

References on denoising with nonlinear diffusion D. Barash, “A fundamental relationship between bilateral filtering, adaptive smoothing and the nonlinear diffusion equation,” IEEE Trans. Patt. Anal. Mach. Intel., vol. 24, pp. 844–847, 2002. D. Barash and D. Comaniciu, “A common framework for nonlinear diffusion, adaptive smoothing, bilateral filtering and mean shift,” Image and Vision Computing, vol. 22, pp. 73–81, 2004. B. Jahne, H. Scharr, and S. Korkel, Handbook of Computer Vision and Applications, Vol. 2: Signal Processing and Pattern Recognition (B. Jahne, Ed.). San Diego: Academic Press, 1999, ch. Principles of Filter Design, pp. 125–152. R. Kimmel, N.A. Sochen, R. Malladi. “From high energy physics to low level vision,” Lecture Notes in Computer Science, vol. 1252, pp. 236–2476, 1997. R. Kimmel, R. Malladi, N.A. Sochen. “Images as embedded maps and minimal surfaces: Movies, color, texture,and volumetric medical images,” Intl. J. Computer Vision, vol. 39, pp. 111–129, 2000. P. Mrazek and M. Navara, “Selection of optimal stopping time for nonlinear diffusion filtering,” Intl. J. Computer Vision, vol. 52, pp. 189–203, 2003. P. Perona, J. Malik, “Scale-space and edge detection using anisotropic diffusion”, IEEE Trans. Patt. Anal. Mach. Intel. vol. 12(7), pp. 629-639, 1990. H. Scharr and D. Uttenweiler, “3D anisotropic diffusion filtering for enhancing noisy actin filament fluorescence images,” Lecture Notes in Computer Science: Pattern Recognition, vol. 2191, pp. 69–75, 2001. D. Uttenweiler, C. Weber, B. Jahne, R. H. Fink, and H. Scharr, “Spatio-temporal anisotropic diffusion filtering to improve SNRs and object restoration in fluorescence microscopic image sequences.” J. Biomed. Opt., vol. 8, pp. 40–47, 2003. J. Weickert, Anisotropic Diffusion in Image Processing.

Teubner, 1998.

J. Weickert, “Coherence-enhancing diffusion filtering,” Int. J. Computer Vision, vol. 31, pp. 111–127, 1999. J. Weickert, “Coherence-enhancing diffusion of colour images,” Image and Vision Computing, vol. 17, pp. 201–212, 1999. J. Weickert and H. Scharr, “A scheme for coherence-enhancing diffusion filtering with optimized rotation invariance,” J. Visual Comm. Imag. Repres., vol. 13, pp. 103–118, 2002.

13

9

Appendix A: Effect of High-Boosting

The option ’-b’ sharpens the edges in the output map/image. The following figure illustrates this effect when applied to the binned version of the dataset 3408 taken from the Cell Centered Database (http://ccdb.ucsd.edu) (sigma 1.0; 70 iterations at time step of 0.1).

top-left: top-right: bottom-left: bottom-right:

High-Boost effect. slice of the original tomogram. tomogram after standard denoising. edge map. Result of the High Boost effect using A = 1. Thus, this result is I − E, where I is the result shown in top-right and E is that shown in bottom-left. Note that the edges are sharper here compared to the result shown in top-right.

14

TOMOBFLOW: Feature-preserving noise filtering for ...

The term g comes from an induced metric for the Euclidean (n + 1)-D space where the ... the image domain I and the surface domain S, and thus plays an important role to ..... number of parallel threads to 3, i.e. the three cores that are free.

596KB Sizes 3 Downloads 177 Views

Recommend Documents

Use of adaptive filtering for noise reduction in ...
software solutions to the adaptive system using the two main leaders of adaptive LMS (least mean square) ... environment is variable in time and its development.

Use of adaptive filtering for noise reduction in communications systems
communication especially in noisy environments. (transport, factories ... telecommunications, biomedicine, etc.). By the word ..... Companies, 2008. 1026 s.

Method and apparatus for filtering E-mail
Jan 31, 2010 - Clark et a1., PCMAIL: A Distributed Mail System for Per. 6,052,709 A ..... keted as a Software Development Kit (hereinafter “SDK”). This Will ...

Combinational Collaborative Filtering for ... - Research at Google
Aug 27, 2008 - Before modeling CCF, we first model community-user co- occurrences (C-U) ...... [1] Alexa internet. http://www.alexa.com/. [2] D. M. Blei and M. I. ...

A filtering technique to lower LC oscillator phase noise
Circuits Conf. Dig. Tech. Papers, San Francisco, CA, 2001, pp. 372–373. [4] A. Dec and K. Suyama, .... degree from Imperial College,. London, U.K., in 1976, and ...

Unscented Information Filtering for Distributed ...
This paper represents distributed estimation and multiple sensor information fusion using an unscented ... Sensor fusion can be loosely defined as how to best extract useful information from multiple sensor observations. .... with nυ degrees of free

CONSTANT TIME BILATERAL FILTERING FOR ...
naıve extension for color images and propose a solution that adapts to the image .... [9, 10] is considerably long compared to other techniques as reported in [7].

Google Message Filtering - PDFKUL.COM
ABOUT GOOGLE APPS. Google Apps is a suite of applications that includes Gmail, Google Calendar. (shared calendaring), Google Talk. (instant messaging and voice over IP),. Google Docs & Spreadsheets (online document hosting and collaboration),. Google

Method and apparatus for filtering E-mail
Jan 31, 2010 - Petition for Suspension of Rules Under CFR § 1.183; 2 ...... 36. The e-mail ?lter as claimed in claim 33 Wherein one of the plurality of rule ...

MEASURING NOISE CORRELATION FOR ... - Research at Google
the Fourier frequency domain. Results show improved performance for noise reduction in an easily pipelined system. Index Terms— Noise Measurement, Video ...

Google Message Filtering
Software-as-a-Service (SaaS) model, saving money and IT resources because there is no hardware or ... Google Message Filtering reduces the burden on your IT team by empowering your end-users to ... document hosting and collaboration),.

Internet Filtering
Instead of a World Wide Web, as the data from our study of Internet filtering makes plain ..... The decision is most complicated when a single domain hosts ... Page 10 ..... these legitimate circumstances, the state reasonably turns to those best ...

Using Mixture Models for Collaborative Filtering - Cornell Computer ...
Using Mixture Models for Collaborative Filtering. Jon Kleinberg. ∗. Department of Computer Science. Cornell University, Ithaca, NY, 14853 [email protected].

Real-Time Particle Filtering with Heuristics for 3D ...
3D motion capture with a consumer computer and webcam. I. INTRODUCTION ... 20 degrees of freedom for body poses) where multiple local minimums may ...

Bilateral Filtering for Gray and Color Images
[email protected]. Abstract .... A low-pass domain filter applied to image f x produces an output ... font for f and h emphasizes the fact that both input and.

On Stopwords, Filtering and Data Sparsity for Sentiment ...
Conference, Turin, Italy. Shamma, D., Kennedy, L., and ... In Cloud and Green Computing (CGC), 2012 Second International. Conference on, pages 430–433.

An Incremental Approach for Collaborative Filtering in ...
Department of Computer Science and Engineering, National Institute of Technology. Rourkela, Rourkela, Odisha ... real-world datasets show that the proposed approach outperforms the state-of-the-art techniques in ... 1 Introduction. Collaborative filt

Generalised filtering and stochastic DCM for fMRI
This paper is about the fitting or inversion of dynamic causal models (DCMs) of fMRI time series. It tries to establish the validity of stochastic DCMs that accommodate random fluctuations in hidden neuronal and physiological states. We compare and c

content filtering ENGLISH.pdf
BI SEXUAL. 96. BIATCH. 97. BIG ASS. 98. BIG BITCH. 99. BIG BITCH. 100. BIG BUTT. 101. BIGASS. 102. BIGBASTARD. 103. BIGBUTT. 104. BISEXUAL. 105.

Filtering Large Fingerprint Database for Latent Matching
Department of Computer Science and Engineering. Michigan State University ... gerprints are acquired from co-operative subjects, they are typically of good ...

A Language and an Inference Engine for Twitter Filtering Rules
relevant in these years, where billion of users use online social ... posts in social network has been proposed only for Facebook in [15]. ..... campaigns in twitter,” ACM Trans. ... of the 2015 IEEE/ACM International Conference on Advances in.

Generalized Mean-Median Filtering for Robust ...
a number of optimization and design tools readily available for the linear filters. ..... signal (where the plot, not the signal, is clipped for visualization purposes) ...

Reward oriented packet filtering algorithm for ...
In this paper, we firstly define reward to denote the importance level of data, and then we present a ... operating systems which are based on the CPU's proces-.