Sigmoid

Class: NodeSigmoidFilter

Node Icon

Computes the sigmoid function pixel-wise. A linear transformation is applied first on the argument of the sigmoid function. The resulting total transform is given by

\(f(x) = (Max-Min) * \dfrac{1}{1+e^{-(x - \beta) / \alpha }} + Min\)

Every output pixel is equal to f(x). Where x is the intensity of the homologous input pixel, and alpha and beta are user-provided constants.

The \(\beta\) value can be thought of the offset on the pixel value that you are trying to isolate. E.g., if the object you are trying to isolate is at a pixel intensity above 150, you would choose a \(\beta\) value that is around that value. The \(\alpha\) value can be thought of as the scaling or variance of the sigmoid. Lower \(\alpha\) values will make the pixel range of your intensity sharper. Your \(\alpha\) value would decide how much of the noise you would want to include in your transformation. Smaller \(\alpha\) values (0.25, 0.5) would zero out most of the noise, but it might make your actual signal thicker and not specific enough. Conversely, larger alpha values (e.g. 3+) might have a smoother signal but might include more noise. Negative alpha values can be thought of as using a positive alpha value and then inverting the image.

Inputs

Image

Input image.

Type: Image4DFloat, Required, Single

Outputs

Output

Resulting image.

Type: Image4DFloat

Settings

Alpha Number

Alpha parameter. Low values cancel noise, but makes signal thicker. Negative values inverts image.

Beta Number

Beta parameter. Set to ~the pixel value you want to isolate.

Output Maximum Number

Output max value.

Output Minimum Number

Output min value.

References