# Eikonal Copernicus node

Computes distances by solving the Eikonal Equation.

This esoteric node solves the Eikonal Equation .

The idea is to build a Mono layer where the speed at which the values are changing matches a reference speed. If the reference speed is `1`, this results in a distance field.

A one-sided solution is found where pixels can decrease in value, but never increase. Thus black pixels will act as sources and white pixels will be replaced by the distance to the closest black pixel. The seed field controls how easy it is to traverse the pixel - a value of `0` stops propagation so can be used as boundaries.

## Parameters ¶

Speed

Global rate of change.

Iterations

A single iteration is sufficient to converge if there is a uniform speed field. But if the speed varies in complicated fashions, it may require more passes for the distances to fully propagate.

Tile Size

The layer is broken up into blocks of this size. This helps balance the serial and parallel components of the algorithm. If it has converged, this should have no effect on the behaviour. The default values should be sufficient.

## Inputs ¶

initial_dist

A Mono layer of the original distances. These can only decrease in value, so usually “sources” are made black and the rest is filled to large values, such as `60000`.

speed

A Mono layer to control the speed on a per-pixel manner. Zero areas will act like boundaries and can be used to form simple mazes. Note additional iterations may then be needed.

## Outputs ¶

sdf

A Mono layer that becomes a distance field, subject to the provided speed values. Note this is not a signed distance field - another pass is required to decide if voxels are inside or outside.

# Copernicus nodes

• Generates an image with a 3D illusion.

• Takes the average of all input layers.

• Blends two layers together.

• Start of a block, containing its inputs.

• End of a block, declaring its outputs.

• Compiles a block and produces its geometry representation.

• Applies a blur to a layer.

• Creates a Bokeh effect by expanding each pixel by an aperture shape.

• Finds the bounding rectangle of a mask.

• Brightens a layer.

• Creates a layer in a camera’s space.

• Adjusts the camera properties of a layer.

• Extracts a channel from a layer.

• Combines multiple Mono layers into one multichannel layer.

• Divides a layer’s channels into Mono layers.

• Swaps channels within a multichannel layer.

• Creates an alternating checker pattern.

• Keys an input based on hue, saturation, and luminance ranges.

• Clamps an input layer.

• Creates a mask by comparing two layers.

• Initializes pixels to constant values.

• Arranges input layers into a contact sheet.

• Applies contrast to a layer.

• Converts normal layers between signed and offset.

• Crops a layer to a new size.

• Performs a cross product of two RGB layers.

• Builds a matte from cryptomatte layers.

• Decodes a cyrptomatte into coverage and ID.

• Encodes a coverage and object hash into a cryptomatte layer.

• Denoises an input layer.

• Removes white noise from an image.

• Computes the derivative of the source layer along the x- and y-axis.

• Dilates or erodes a layer.

• Distorts an input layer.

• Performs dot product between two layers.

• Detects edges in the input image.

• Detects varying-width silhouette lines.

• Detects varying-width self-occluding silhouettes.

• Detects varying-width crease-lines.

• Computes distances by solving the Eikonal Equation.

• Equalizes colors by stretching or shifting their range.

• Generates a message, warning, or error..

• Fills empty areas of an image using colors at the edges of non-empty areas.

• Smooths out sharp changes in contrast.

• Loads an image or video from disk.

• Fills a layer with a constant value.

• Flips a layer horizontally, vertically, or diagonally.

• Rasterizes text onto a layer from Type 1, TrueType and OpenType fonts.

• Generates fractal noise.

• Generates fractal noise from 3d locations.

• Applies a mathematical function to a layer

• Applies gamma correction to a layer.

• Converts a 2D volume into a layer.

• Adds glow to an image based on its luminance.

• Converts between RGB and HSV color spaces, or applies hue and saturation modifications.

• Imagines a sphere for each pixel and determines how occluded that sphere is based on its surroundings.

• Converts a height layer to a normal layer.

• Randomly tiles texture.

• Builds a histogram from a layer.

• Creates a mask from an ID layer based on filtering parameters.

• Converts an ID layer to a Mono layer.

• Converts an ID layer to an RGB layer based on a seed.

• Computes a Signed Distance Field from changes in ID values.

• Detects illegal pixels, like NAN and INF, in images.

• Fetches the input to a subnetwork.

• Inverts a layer.

• Runs a block using inputs plugged into this node.

• Summary.

• Applies Kuwhara Filter for Painterly Effects.

• Generates a Layer.

• Converts a Layer into a 2d Volume.

• Lights a layer given a light direction and normals.

• Transform a Layer to match a reference camera.

• Applies a 3 x 3 or 5 x 5 median filter to the input image.

• Mirrors an image based on an arbitrary number of planes.

• Convert a layer to Mono.

• Converts a Mono layer to an ID layer

• Uses a ramp to convert a Mono Layer to RGB.

• Explicitly convertes a Mono layer to an RGBA Layer.

• Computes a Signed Distance Field from an iso-level of a Mono layer.

• Passes inputs to the outputs.

• Converts color spaces using OCIO transforms.

• Applies inference from an ONNX Machine Learning model.

• Executes an OpenCL kernel on layers.

• Collects the outputs of a subnetwork.

• Converts polar coordinate pixels to Cartesian pixels.

• Generates a Position Map.

• Computes the prefix sum of a layer.

• Premultiplies an RGBA layer.

• Applies the preview material to geometry.

• Projects a layer onto a target layer.

• Quantizes input data into discrete steps.

• Converts RBG layers to RGBA.

• Splits an RGB layer into UV and Mono layers.

• Converts RBGBA layers to RGB.

• Splits an RGBA layer into two UV layers.

• Writes the output of a COP network to disk.

• Generates linear and radial ramps.

• Creates a Mono layer with random values.

• Creates a Mono layer with random values.

• Rasterizes geometry onto a layer.

• Rasterizes a layer onto another layer’s camera.

• Prepares geometry for the Rasterize Geometry COP.

• Remaps a layer.

• Performs image scaling by changing the width, height and pixel sizes.

• Modifies the values for a Mono SDF layer.

• Combines two Mono SDF layers.

• Builds a 2D signed distance field of a selected shape.

• Converts an SDF field to a Mono image layer.

• Converts an SDF field to an RGB color layer.

• Imports SOP Geometry into Copernicus.

• Segment a layer into connected components.

• Segment a Mono layer into bands of similar value.

• Blends multiple image inputs by a blend factor.

• Import live layers from the Solaris Viewport.

• Converts a height layer into a direction layer.

• Smoothly fills a region of a layer.

• Stamps layers from point positions.

• Outputs the average, minimum and maximum values of the input layer

• Compute statistics for each ID island.

• Streaks an image, adding a motion blur effect.

• Used to organize a collection of COPs into one node.

• Selects an input layer.

• Selects an input based on what is connected.

• Selects an output layer by the type of the inputs.

• Generates rectangular tiles for texture patterns.

• Transforms a layer in 2D.

• Transforms a layer in 3D.

• Generates a UV Map.

• Creates a UV Map for each connected ID island.

• Samples an input layer using a UV layer.

• Transforms the values of a UV layer in 2d space.

• Converts Cartesian coordinate pixels to polar coordinate pixels.

• Joins an UV and Mono layer into an RGB layer.

• Joins two UV layers into an RGBA layer.

• Transforms values of an RGB layer in 3d space.

• Performs a wipe transition between two images.

• Generates Worley noise.

• Generates Worley noise from 3d locations.

• Runs a VEX snippet to modify layer values.

• Composites two layers by depth.