View source: R/transform_gate-methods.R
shift_gate | R Documentation |
Shift a Gate-type filter object in one or more dimensions
## Default S3 method:
shift_gate(obj, dx = NULL, dy = NULL, center = NULL, ...)
obj |
A Gate-type |
dx |
Either a numeric scalar or numeric vector. If it is scalar, this is just the desired shift of the gate in
its first dimension. If it is a vector, it specifies both |
dy |
A numeric scalar specifying the desired shift of the gate in its second dimension. |
center |
A numeric vector specifying where the center or centroid should be moved (rather than specifiying |
... |
Additional arguments not used |
This method allows for geometric translation of filter types defined by simple geometric gates
(rectangleGate
, quadGate
, ellipsoidGate
, or polygonGate
).
The method provides two approaches to specify a translation. For rectangleGate
objects, this will
shift the min
and max
bounds by the same amount in each specified dimension. For quadGate
objects, this will simply shift the divinding boundary in each dimension. For ellipsoidGate
objects, this
will shift the center (and therefore all points of the ellipse). For polgonGate
objects, this will simply
shift all of the points defining the polygon.
The method allows two different approaches to shifting a gate. Through the dx
and/or dy
arguments,
a direct shift in each dimension can be provided. Alternatively, through the center
argument, the gate
can be directly moved to a new location in relation to the old center of the gate. For quadGate
objects,
this center is the intersection of the two dividing boundaries (so the value of the boundary
slot). For
rectangleGate
objects, this is the center of the rectangle defined by the intersections of the centers
of each interval. For ellipsoidGate
objects, it is the center of the ellipsoid, given by the mean
slot. For polygonGate
objects, the centroid of the old polygon will be calculated and shifted to the new
location provided by center
and all other points on the polygon will be shifted by relation to the centroid.
A Gate-type filter
object of the same type as gate
, with the translation applied
## Not run:
# Moves the entire gate +500 in its first dimension and 0 in its second dimension
shifted_gate <- shift_gate(original_gate, dx = 500)
#Moves the entire gate +250 in its first dimension and +700 in its second dimension
shifted_gate <- shift_gate(original_gate, dx = 500, dy = 700)
# Same as previous
shifted_gate <- shift_gate(original_gate, c(500,700))
# Move the gate based on shifting its center to (700, 1000)
shifted_gate <- shift_gate(original_gate, center = c(700, 1000))
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.