Inverse hyperbolic sin transformation as parameterized in Gating-ML 2.0 is defined by the following function:

*bound(f, boundMin, boundMax) = max(min(f,boundMax),boundMin))*

where

*f(parameter, T, M, A) = (asinh(parameter * sinh(M * ln(10)) / T) +A * ln(10)) / ((M + A) * ln(10))*

This transformation is equivalent to Logicle(T, 0, M, A) (i.e., with W=0). It provides an inverse hyperbolic sine transformation that maps a data value onto the interval [0,1] such that:

The top of scale value (i.e., T ) is mapped to 1.

Large data values are mapped to locations similar to an (M + A)-decade logarithmic scale.

A decades of negative data are brought on scale.

In addition, if a boundary is defined by the boundMin and/or boundMax parameters, then the result of this transformation is restricted to the [boundMin,boundMax] interval. Specifically, should the result of the f function be less than boundMin, then let the result of this transformation be boundMin. Analogically, should the result of the f function be more than boundMax, then let the result of this transformation be boundMax. The boundMin parameter shall not be greater than the boundMax parameter.

Objects can be created by calls to the constructor

`asinhtGml2(parameter, T, M, A, transformationId, boundMin, boundMax)`

`.Data`

:Object of class

`function`

~~`T`

:Object of class

`numeric`

-positive constant (top of scale value)`M`

:Object of class

`numeric`

-positive constant (desired number of decades)`A`

:Object of class

`numeric`

-non-negative constant that is less than or equal to M (desired number of additional negative decades)`parameters`

:Object of class

`"transformation"`

-flow parameter to be transformed`transformationId`

:Object of class

`"character"`

-unique ID to reference the transformation`boundMin`

:Object of class

`numeric`

-lower bound of the transformation, default -Inf`boundMax`

:Object of class

`numeric`

-upper bound of the transformation, default Inf

Class `singleParameterTransform`

, directly.
Class `transform`

, by class singleParameterTransform, distance 2.
Class `transformation`

, by class singleParameterTransform, distance 3.
Class `characterOrTransformation`

, by class singleParameterTransform, distance 4.

No methods defined with class asinhtGml2 in the signature.

The inverse hyperbolic sin transformation object can be evaluated using the eval method by passing the data frame as an argument. The transformed parameters are returned as a matrix with a single column. (See example below)

Spidlen, J.

Gating-ML 2.0: International Society for Advancement of Cytometry (ISAC) standard for representing gating descriptions in flow cytometry. http://flowcyt.sourceforge.net/gating/20141009.pdf

`asinht`

, `transform-class`

, `transform`

1 2 3 4 5 | ```
myDataIn <- read.FCS(system.file("extdata", "0877408774.B08",
package="flowCore"))
myASinH1 <- asinhtGml2(parameters = "FSC-H", T = 1000, M = 4.5,
A = 0, transformationId="myASinH1")
transOut <- eval(myASinH1)(exprs(myDataIn))
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.