Make CellTakes 2 input binary layers and filters them to include only cell and nucleus pairs with a specified cell area/nucleus area ratio.
CleanGets rid of small noise. Built into most of the thresholding operations. Can use 3D version with the toggle.
Clean (3D)Gets rid of small objects. Can choose matrix and radius threshold (used 10 here). Built into Threshold, but not Simple Threshold.
A yellow square with black background Description automatically generatedA yellow square with black background Description automatically generated
Close HolesFills small holes inside binary regions. Can choose number of iterations, used 10 here on a binary generated by Threshold with no additional postprocessing and 25 iterations. Can use 3D version with toggle.
Close Holes (3D)Another option to fill small holes in a 3D layer. Can choose matrix and number of iterations, unlike Fill Holes. However, using 10 iterations did not have much effect.
A yellow and black background Description automatically generatedA yellow and black background Description automatically generated
Close inside RefTakes a parent binary layer (yellow) and a child binary layer (green) and closes holes in the child binary layer using a specified matrix and number of iterations. 3×3 and 10 iterations used here.
Fill HolesFills holes in the binary layer. Built into most of the thresholding options. Can use 3D version with slider.
Fill Holes (3D)Closes small holes in a binary layer. Built into Threshold but not Simple Threshold. Did not have much effect on the example image.
A yellow and black background Description automatically generatedA yellow and black background Description automatically generated
Fill if EmptyIf the connected binary has no {1} pixels, makes the entire binary layer {1} pixels.
InvertInverts the binary. Can use 3D version with toggle.
Invert (3D)Inverts a binary.
A yellow square with black background Description automatically generatedA yellow and purple cloud Description automatically generated
Separate ObjectsBreaks binary objects up into smaller ones. Built into most of the thresholding operations. Can use 3D version with toggle.
Separate Objects (3D)Separates nearby binary objects. Can select number of iterations (chose 5 here). Used color by ID on the binary layer to better show separation. Built into Threshold but not Simple Threshold.
A colorfully colored cube Description automatically generated with low confidenceA colorfully painted box Description automatically generated with medium confidence
Separate BrightSeparates binary objects, using both binary and intensity layers. For bright objects on dark backgrounds.
Separate DarkSeparates binary objects, using both binary and intensity layers. For dark objects on bright backgrounds.
SmoothSmooths out binary objects. Built into most of the thresholding options. 10 iterations used here. Can use 3D version with toggle.
Smooth (3D)Smooths binary layer by using a sphere of the specified radius. Built into Threshold but not Simple Threshold. Used radius ~ 1 micron here.
A yellow square with black background Description automatically generatedA yellow and black square Description automatically generated
Smooth ObjectsSmooths objects using an alternate algorithm. Compare to Smooth also using 10 iterations.
OpenUses Erode then Dilate, removing small objects. Can use 3D version with toggle.
Open (3D)Uses Erode followed by Dilate for a specified number of iterations, which cleans up small noise while leaving bigger objects alone. Used 5 iterations here, which was enough to eliminate most of the small objects.
A yellow and black background Description automatically generatedA yellow and black background Description automatically generated
CloseUses Dilate then Erode, connecting objects and filling holes. Can use 3D version with toggle.
Close (3D)Performs Dilate then Erode for a specified number of iterations, which closes holes in objects. Used 5 iterations here.
A yellow and black background Description automatically generatedA yellow and black background Description automatically generated
ErodeShrinks binary objects. Can use 3D version with toggle.
Erode (3D)Compares voxels to their surroundings and sets {1} voxels to {0} if there is a neighboring {0}, which shrinks objects. Can choose matrix and number of iterations, used 2 here.
A yellow and black background Description automatically generatedA yellow and black background Description automatically generated
DilateExpands binary objects. Can use 3D version with toggle.
Dilate (3D)Compares voxels to their surroundings and sets {0} voxels to {1} if there is a neighboring {1}, which expands objects. Can choose matrix and number of iterations, only used 1 here and the binary region was still significantly expanded.
A yellow and black background Description automatically generatedA yellow and black background Description automatically generated
Circular OpenGets rid of binary objects under a certain radius, used 5 pixels here.
A yellow and black background Description automatically generatedA yellow and black background Description automatically generated
Circular CloseFills in holes smaller than the specified radius, used 10 pixels. Effect is most obvious on single cells.
A yellow and black background Description automatically generatedA yellow and black background Description automatically generated
Circular ErodeErode using a circle as its kernel instead of a matrix.
Circular DilateDilate using a circle as its kernel instead of a matrix.
Circular Open/Circular Close/Circular Erode/Circular Dilate/Circular Clean/Circular Close Holes (3D)Alternate methods of performing open/close/erode/dilate/clean/close holes, using a sphere of the specified radius instead of a square matrix of voxels.
Linear Open/Close/Erode/DilateOpen/close/erode/dilate using a linear matrix as its kernel. Can select matrix and number of iterations. Will result in some lines. Linear Open’s effect on a cell with 15 iterations and a horizontal matrix shown. Can use Z version using the toggle.
Linear Open Z/Linear Close Z/Linear Erode Z/Linear Dilate ZMore options for matrix-based image processing but use linear matrices in the Z-direction. Can choose number of iterations, the example here is 3 iterations of linear dilate, which has the effect of extruding objects in the Z direction. These options basically make objects more cylindrical and less conical.
Yellow spots on a black background Description automatically generatedA yellow and black background Description automatically generated
CentersPuts a pixel at the center of binary objects. Can use 3D version with toggle.
Centers (3D)Marks the geometric center of each binary object.
A map of different colors Description automatically generatedA purple and green lights Description automatically generated with medium confidence
CentroidsPuts a pixel at the centroid of binary objects, which differs from Centers because it takes the level of intensity underneath the binary layer into account and weights the centroid towards more intense areas. Can specify if signal is bright or dark. Can use 3D version with toggle.
Centroids (3D)Marks the center of mass of each object, requires a color layer in addition to the binary to calculate density. Brighter parts of the image are weighted more.
A map of different colors Description automatically generatedA purple and green lights Description automatically generated with medium confidence
Connect ObjectsConnects objects less than the specified distance apart with lines. Used 100 px (any smaller did not show an effect) and it took a VERY long time.
ContourMakes binary objects into 1-pixel contours.
Convex HullExpands concave objects to make them convex. Can use 3D version with toggle.
Convex Hull (3D)Extends object boundaries until objects become convex. Clearly encountered a bug in the example.
A colorful puzzle pieces Description automatically generated with medium confidenceA red rectangular object with black border Description automatically generated
Distance FunctionUses binary and original image to create a floating point layer that shows each pixel’s distance to the background pixels. Can use 3D version with toggle.
Distance Function (3D)Creates a new floating point layer that stores each {1} voxel’s distance to the nearest {0} voxel.
A yellow square with black spots Description automatically generatedA red and black square Description automatically generated
Geodesic CentersPuts a single pixel at the geodesic center of each binary object, which is the closest point to all other pixels in the object that falls within its borders. Make Circle & Ring used to show pixels more clearly.
GranulometryAdds a granulometry floating point layer, which shows the grain size of binary objects.
Homotopic MarkingRepresents objects with single points, using a different method than center or centroid.
Inscribed CirclesFor each object in a binary layer, replaces it with the largest circle that will fit within its borders.
Medial AxisSeems to look for midlines of objects, result similar to skeletonizing. Increasing endlines suppression will decrease branches. Can use 3D version with toggle.
Medial Axis (3D)Marks each object’s medial axis, which somewhat resembles skeletonizing.
A colorful background with black and pink spots Description automatically generated with medium confidenceA colorful lines on a black background Description automatically generated
PruningDebranches objects made by skeletonizing functions. Can choose number of iterations.
Ultimate ErosionUses Erode until one more iteration would remove objects. Can set how many iterations to keep.
Grow ObjectsGrows objects by specified radius but prevents them from touching. Will make objects more convex. Used 15 px here. Might be useful for making borders smoother. Can use 3D version with toggle.
Grow Objects by AreaGrows objects until the area of the binary layer reaches the specified area fraction. If the area fraction is lower than the original binary layer, the binary layer is unaffected. Area fraction of 0.5 used here.
Grow RegionsTakes a binary and color input. Extends binary objects to the specified intensity on the color layer. Can choose bright or dark regions. Used a lower threshold of 40 for bright objects. Might be useful if thresholding had to miss some parts of cells because of noise because it makes sure areas are connected to already detected objects. Can use 3D version with toggle.
Fast ExoskeletonFaster algorithm for creating zones influence (but zones of influence does not have any speed issues).
Make Circle & RingCreates 2 new binary layers from the input: the inside of objects and the border. Can also expand objects’ radius with Grow by and specify ring width. Used grow by 30 and width 10 px here.
ThickeningUses dilate to enlarge objects but prevents them from touching each other. until objects touch each other. Increasing parameter increases how much objects grow. Used Color by ID to show how objects remain separate and 30 iterations.
Watershed“Floods” image starting from either bright or dark regions, taking a binary and an RGB input. Essentially the inverse of zones of influence, ended up with a layer of {1} with 1-pixel wide {0} borders between regions using from bright to dark and the same but showing cell edges using from dark to bright. Will need to use Complement to see anything useful. Can use 3D version with toggle.

From dark regions 🡪 complement

From bright regions 🡪 complement

Watershed (3D)Floods regions from either bright areas to dark areas or dark areas to bright areas. This makes all of the space filled except for borders between objects. If binary is inverted, the boundary is left.
A colorful background with black background Description automatically generated with medium confidenceA colorful background with many different colors Description automatically generated
Zones of InfluencePuts borders at the midpoints between objects.
SkeletonizeSkeletonizes binary objects, which preserves their general shape while removing most of the area. Can use 3D version with toggle.
Skeleton (3D)Skeletonizes 3D objects, which drastically reduces volume while keeping general extent of objects.
A colorful squares on a black background Description automatically generatedA blurry image of colorful lights Description automatically generated
Detect BranchingPuts single binary pixels at branch points of skeleton. Can use 3D version with toggle.
Detect Branching (3D)Takes a skeletonized layer and puts voxels at branch points.
A colorful lines on a black background Description automatically generatedA purple and green background Description automatically generated with medium confidence
Detect EndingsPuts single pixels at the end of branches. Can use 3D version with toggle.
A yellow and red logo Description automatically generatedA red light in the dark Description automatically generated
Detect Endings (3D)Puts voxels at ending points of a skeletonized layer.
A colorful lines on a black background Description automatically generatedA purple and black sky with many small colored dots Description automatically generated with medium confidence
Cut BranchesGets rid of branches smaller than the specified length.
Connect Free EndingsUses a binary skeleton and RGB layer as inputs. Supposed to connect branches, with sensitivity determined by Connections input, but did not get it to work very well, and the algorithm was very time-consuming.
Vanish Small ObjectsGets rid of small binary skeleton objects using an RGB layer as comparison. Can specify diameter of objects to remove, as well as intensity threshold that determines if a small object is kept (because it has a high signal-noise ratio and is probably real data). Could not get it to work.
Remove Short FilamentsShortens branch ends by the specified number of pixels.
Make 4-ConnectiveChanges pixels from 8-connected (pixels touching either adjacent or diagonally) to 4-connected (adjacent pixels only considered connected) by adding some.
Make 8-ConnectiveSwitches connectivity from 4-connected to 8-connected by removing pixels.
Filter ObjectsA filter for removing binary objects that also takes an RGB layer as an input. Lots of filter options to choose from, such as diameter, convexity, area, and perimeter. Can use 3D version with toggle.
Select ObjectsTakes a table and a binary layer and selects objects that are represented in the table. Can use 3D version with toggle.
Select Largest ObjectsRemoves all objects in a binary layer except for the largest few. Can choose the number of objects to include.
Delete ObjectsSimilar to Select Objects, but removes objects represented in the table. Can use 3D version with toggle.
(Remove Objects) Touching BordersGets rid of binary objects that touch the image border. Can use 3D version with toggle.
(Remove Objects) Touching FrameGets rid of objects the specified distance or less from the image borders. Can change mode to keep objects touching the limit or not as well as choose from units. Can use 3D version with toggle.
Insert Line/Parallel Lines/Circle/Ellipse/Rectangle/Frame/etc.Inserts a binary object. Can specify parameters/dimensions. Can also select mode: copy (deletes input layer), logical OR/AND, or subtract. Can insert a plane using the 3D version.
Color by IDColors the binary objects in the layer. Can use 3D version with toggle.
Color by ValueUsing a table and a binary layer, lets you color code binary objects by parameters. To use it, you have to go into the menu and select the columns. Clicking the gear will help create value ranges. Color coded by perimeter here. Can use 3D version with toggle.

A colorful splattered background Description automatically generated with medium confidence
Color by Value (3D)Like 2D Color by Value, color codes objects based on values from an input table. Takes some work to set up. Colored by object volume in this example.
A yellow and black background Description automatically generatedA colorful background with black border Description automatically generated with medium confidence
Renumber ObjectsUsing a binary layer and a reference, reassigns object IDs in the binary layer to what they were in the reference layer. For example, if remove objects touching borders is used on a binary layer, a different object will have ID number 20 than the original layer. However, if Renumber Objects is used with the original layer as reference, the original object with ID 20 will have ID 20. Can use 3D version with toggle.
Renumber Using TableAnother node for renumbering objects to their IDs from earlier in processing but takes a binary layer and a table. Must select a column to pull object IDs from. Can use 3D version with toggle.
TMA RenumberObject numbering scheme for tissue microarray cores. Detects a square grid of cores and numbers objects based on position. Different from default binary numbering because it skips IDs of unfilled positions.
Add Borders/Crop/Change Canvas/Fit Size/Move/Resize/Resize to Ref/RotateWork like the Transformations section of preprocessing, but for a binary layer.
ConnectAccessible through 3D toggle. According to the NIS website this node connects 2D slices from adjacent layers into 3D objects and is not necessary because other options do this automatically.
Connect CellsAccessible through 3D toggle. Connects objects that have a lot of overlap between neighboring layers and separates objects with less overlap. Has the overall effect of causing separation.
JS PostprocessOpen a JavaScript interface for coding your own image operations. Take RGB inputs by default but can change inputs to as many binary channels as needed. The only difference between the two is the data type of the output.