Last data update: 2014.03.03

R: Class "ellipsoidGate"
ellipsoidGate-classR Documentation

Class "ellipsoidGate"

Description

Class and constructor for n-dimensional ellipsoidal filter objects.

Usage


ellipsoidGate(..., .gate, mean, distance=1, filterId="defaultEllipsoidGate")

Arguments

filterId

An optional parameter that sets the filterId of this gate.

.gate

A definition of the gate via a covariance matrix.

mean

Numeric vector of equal length as dimensions in .gate.

distance

Numeric scalar giving the Mahalanobis distance defining the size of the ellipse. This mostly exists for compliance reasons to the gatingML standard as mean and gate should already uniquely define the ellipse. Essentially, distance is merely a factor that gets applied to the values in the covariance matrix.

...

You can also directly describe the covariance matrix through named arguments, as described below.

Details

A convenience method to facilitate the construction of a ellipsoid filter objects. Ellipsoid gates in n dimensions (n >= 2) are specified by a a covarinace matrix and a vector of mean values giving the center of the ellipse.

This function is designed to be useful in both direct and programmatic usage. In the first case, simply describe the covariance matrix through named arguments. To use this function programmatically, you may pass a covarince matrix and a mean vector directly, in which case the parameter names are the colnames of the matrix.

Value

Returns a ellipsoidGate object for use in filtering flowFrames or other flow cytometry objects.

Extends

Class "parameterFilter", directly.

Class "concreteFilter", by class parameterFilter, distance 2.

Class "filter", by class parameterFilter, distance 3.

Slots

mean:

Objects of class "numeric". Vector giving the location of the center of the ellipse in n dimensions.

cov:

Objects of class "matrix". The covariance matrix defining the shape of the ellipse.

distance:

Objects of class "numeric". The Mahalanobis distance defining the size of the ellipse.

parameters:

Object of class "character", describing the parameter used to filter the flowFrame.

filterId:

Object of class "character", referencing the filter.

Objects from the Class

Objects can be created by calls of the form new("ellipsoidGate", ...) or by using the constructor ellipsoidGate. Using the constructor is the recommended way of object instantiation:

Methods

%in%

signature(x = "flowFrame", table = "ellipsoidGate"): The workhorse used to evaluate the filter on data. This is usually not called directly by the user, but internally by calls to the filter methods.

show

signature(object = "ellipsoidGate"): Print information about the filter.

Note

See the documentation in the flowViz package for plotting of ellipsoidGates.

Author(s)

F.Hahne, B. Ellis, N. LeMeur

See Also

flowFrame, polygonGate, rectangleGate, polytopeGate, filter for evaluation of rectangleGates and split and Subsetfor splitting and subsetting of flow cytometry data sets based on that.

Examples


## Loading example data
dat <- read.FCS(system.file("extdata","0877408774.B08",
package="flowCore"))

## Defining the gate
cov <- matrix(c(6879, 3612, 3612, 5215), ncol=2,
dimnames=list(c("FSC-H", "SSC-H"), c("FSC-H", "SSC-H")))
mean <- c("FSC-H"=430, "SSC-H"=175)
eg <- ellipsoidGate(filterId= "myEllipsoidGate", .gate=cov, mean=mean)

## Filtering using ellipsoidGates
fres <- filter(dat, eg)
fres
summary(fres)

## The result of ellipsoid filtering is a logical subset
Subset(dat, fres)

## We can also split, in which case we get those events in and those
## not in the gate as separate populations
split(dat, fres)

##ellipsoidGate can be converted to polygonGate by interpolation
pg <- as(eg, "polygonGate")
pg


Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(flowCore)
> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/flowCore/ellipsoidGate.Rd_%03d_medium.png", width=480, height=480)
> ### Name: ellipsoidGate-class
> ### Title: Class "ellipsoidGate"
> ### Aliases: ellipsoidGate-class ellipsoidGate show,ellipsoidGate-method
> ### Keywords: methods
> 
> ### ** Examples
> 
> 
> ## Loading example data
> dat <- read.FCS(system.file("extdata","0877408774.B08",
+ package="flowCore"))
> 
> ## Defining the gate
> cov <- matrix(c(6879, 3612, 3612, 5215), ncol=2,
+ dimnames=list(c("FSC-H", "SSC-H"), c("FSC-H", "SSC-H")))
> mean <- c("FSC-H"=430, "SSC-H"=175)
> eg <- ellipsoidGate(filterId= "myEllipsoidGate", .gate=cov, mean=mean)
> 
> ## Filtering using ellipsoidGates
> fres <- filter(dat, eg)
> fres
A filterResult produced by the filter named 'myEllipsoidGate'
> summary(fres)
myEllipsoidGate+: 4209 of 10000 events (42.09%)
> 
> ## The result of ellipsoid filtering is a logical subset
> Subset(dat, fres)
flowFrame object '0877408774.B08'
with 4209 cells and 8 observables:
     name              desc range minRange maxRange
$P1 FSC-H             FSC-H  1024        0     1023
$P2 SSC-H             SSC-H  1024        0     1023
$P3 FL1-H              <NA>  1024        1    10000
$P4 FL2-H              <NA>  1024        1    10000
$P5 FL3-H              <NA>  1024        1    10000
$P6 FL1-A              <NA>  1024        0     1023
$P7 FL4-H              <NA>  1024        1    10000
$P8  Time Time (51.20 sec.)  1024        0     1023
164 keywords are stored in the 'description' slot
> 
> ## We can also split, in which case we get those events in and those
> ## not in the gate as separate populations
> split(dat, fres)
$`myEllipsoidGate+`
flowFrame object '0877408774.B08 (myEllipsoidGate+)'
with 4209 cells and 8 observables:
     name              desc range minRange maxRange
$P1 FSC-H             FSC-H  1024        0     1023
$P2 SSC-H             SSC-H  1024        0     1023
$P3 FL1-H              <NA>  1024        1    10000
$P4 FL2-H              <NA>  1024        1    10000
$P5 FL3-H              <NA>  1024        1    10000
$P6 FL1-A              <NA>  1024        0     1023
$P7 FL4-H              <NA>  1024        1    10000
$P8  Time Time (51.20 sec.)  1024        0     1023
164 keywords are stored in the 'description' slot

$`myEllipsoidGate-`
flowFrame object '0877408774.B08 (myEllipsoidGate-)'
with 5791 cells and 8 observables:
     name              desc range minRange maxRange
$P1 FSC-H             FSC-H  1024        0     1023
$P2 SSC-H             SSC-H  1024        0     1023
$P3 FL1-H              <NA>  1024        1    10000
$P4 FL2-H              <NA>  1024        1    10000
$P5 FL3-H              <NA>  1024        1    10000
$P6 FL1-A              <NA>  1024        0     1023
$P7 FL4-H              <NA>  1024        1    10000
$P8  Time Time (51.20 sec.)  1024        0     1023
164 keywords are stored in the 'description' slot

> 
> ##ellipsoidGate can be converted to polygonGate by interpolation
> pg <- as(eg, "polygonGate")
> pg
Polygonal gate 'myEllipsoidGate' with 50 vertices in dimensions FSC-H and SSC-H
> 
> 
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>