Node Details
Common Types
GrayScaleImage: single-channel image (numpy array)
ColorImage: three-channel image (numpy array)
Contours: list of OpenCV contours
String, Int, Float: basic scalar types
IDXNode
- Inputs
None
- Outputs
Idx (Int)
- Parameters
None
- Underlying functions
random.randint
SourceNode
- Inputs
Offset (Int)
- Outputs
Image (GrayScaleImage or ColorImage), repeated for n_frames
- Parameters
n_frames (constructor): number of frames to output per compute (creates that many output sockets)
grayscale_mode (constructor): convert images to grayscale when True
enable_resize (constructor): downscale images larger than target_size
target_size (constructor): max (height, width) for resizing; larger images are resized to this size
- Underlying functions
SourceManager.get_next_n_frames
cv2.resize (when resizing enabled)
ABSDiffNode
- Inputs
Image 1 (GrayScaleImage)
Image 2 (GrayScaleImage)
- Outputs
Result Image (GrayScaleImage)
- Parameters
None
- Underlying functions
cv2.absdiff
ThresholdNode
- Inputs
Image 1 (GrayScaleImage)
Threshold value (Float)
New value (Int)
Type (ThresholdType)
- Outputs
Result Image (GrayScaleImage)
Threshold value (Float)
Type (ThresholdType)
- Parameters
Threshold value: min 0, max 255, default 10. Cutoff used by cv2.threshold
New value: min 0, max 255, default 255. Value assigned to pixels that pass the threshold
Type: default Binary. Thresholding mode (Binary, BinaryInv, Trunc, ToZero, ToZeroInv)
- Underlying functions
cv2.threshold
InvertNode
- Inputs
Image 1 (GrayScaleImage)
- Outputs
Result Image (GrayScaleImage)
- Parameters
None
- Underlying functions
cv2.bitwise_not
MinNode
- Inputs
Image 1..N (GrayScaleImage)
- Outputs
Result Image (GrayScaleImage)
- Parameters
n_inputs (constructor): number of input sockets to create for the min reduction
- Underlying functions
numpy.minimum.reduce
MaxNode
- Inputs
Image 1..N (GrayScaleImage)
- Outputs
Result Image (GrayScaleImage)
- Parameters
n_inputs (constructor): number of input sockets to create for the max reduction
- Underlying functions
numpy.maximum.reduce
ClampedDiffNode
- Inputs
Image 1 (GrayScaleImage)
Image 2 (GrayScaleImage)
Cutoff (Int)
- Outputs
Result Image (GrayScaleImage)
- Parameters
Cutoff: min 0, max 255, default 0. Values below this after (img1 - img2) are set to 0
- Underlying functions
numpy subtraction and clipping
SplitChannelNode
- Inputs
Image (ColorImage)
- Outputs
Channel 1 (GrayScaleImage)
Channel 2 (GrayScaleImage)
Channel 3 (GrayScaleImage)
- Parameters
None
- Underlying functions
cv2.split
RegionOfInterestNode
- Inputs
Image (GrayScaleImage)
x (Int)
y (Int)
width (Int)
height (Int)
- Outputs
Result Image (GrayScaleImage)
- Parameters
x: default 0. Left edge of the ROI in pixels
y: default 0. Top edge of the ROI in pixels
width: default -1 (full width). ROI width; <= 0 uses the remaining image width
height: default -1 (full height). ROI height; <= 0 uses the remaining image height
- Underlying functions
numpy slicing
ErodeNode
- Inputs
Image (GrayScaleImage)
kernelSize (Int)
iterations (Int)
- Outputs
Result Image (GrayScaleImage)
- Parameters
kernelSize: min 0, default 3. Size of the square erosion kernel in pixels
iterations: min 0, default 1. Number of erosion passes
- Underlying functions
cv2.erode
DilateNode
- Inputs
Image (GrayScaleImage)
kernelSize (Int)
iterations (Int)
- Outputs
Result Image (GrayScaleImage)
- Parameters
kernelSize: min 0, default 3. Size of the square dilation kernel in pixels
iterations: min 0, default 1. Number of dilation passes
- Underlying functions
cv2.dilate
PixelwiseAnd
- Inputs
Image 1 (GrayScaleImage)
Image 2 (GrayScaleImage)
- Outputs
Result Image (GrayScaleImage)
- Parameters
None
- Underlying functions
cv2.bitwise_and
MorphologyOperationNode
- Inputs
Image (GrayScaleImage)
operation (MorphologyTypes)
kernelSize (Int)
iterations (Int)
- Outputs
Result Image (GrayScaleImage)
- Parameters
operation: default Close. Morphology operation (Open, Close, Gradient, TopHat, BlackHat, etc.)
kernelSize: min 0, default 3. Size of the square morphology kernel in pixels
iterations: min 0, default 1. Number of morphology passes
- Underlying functions
cv2.morphologyEx
FindContoursNode
- Inputs
Input Image (GrayScaleImage)
Draw On Image (GrayScaleImage)
Mode (Int)
Method (Int)
Min Area (Int)
Draw Color R (Int)
Draw Color G (Int)
Draw Color B (Int)
Thickness (Int)
- Outputs
Result Image (ColorImage)
Contour Count (Int)
Contours (Contours)
- Parameters
Mode: default cv2.RETR_EXTERNAL. OpenCV contour retrieval mode
Method: default cv2.CHAIN_APPROX_SIMPLE. OpenCV contour approximation method
Min Area: min 0, max 10000, default 100. Filters out small contours by area
Draw Color: defaults R=0, G=255, B=0. RGB color used to draw contours
Thickness: min -1, max 50, default 2. Line thickness; -1 fills the contour
- Underlying functions
cv2.findContours
cv2.contourArea
cv2.drawContours
cv2.cvtColor
SaveContourCropsNode
- Inputs
Input Image (GrayScaleImage)
Contours (Contours)
Padding (Int)
Min Area (Int)
- Outputs
Saved Count (Int)
Output Directory (String)
Status (String)
- Parameters
Padding: min 0, max 100, default 5. Extra pixels added around each contour crop
Min Area: min 0, max 10000, default 100. Filters out small contours before saving
- Underlying functions
cv2.contourArea
cv2.boundingRect
cv2.imwrite
json.dump
ClassificationNode
- Inputs
Original Image (GrayScaleImage)
Crops Directory (String)
Entropy Threshold (Float)
Temperature (Float)
Batch Size (Int)
- Outputs
Annotated Image (ColorImage)
Classification Count (Int)
Status (String)
- Parameters
Entropy Threshold: min 0.0, max 5.0, default 1.0. Predictions above this entropy are marked as OOD
Temperature: min 0.1, max 3.0, default 1.5. Logit scaling before softmax; higher = softer probabilities
Batch Size: min 1, max 256, default 64. Number of crop images per inference batch
- Underlying functions
transformers.ViTForImageClassification.from_pretrained
torch.utils.data.DataLoader
torch.nn.functional.softmax
cv2.rectangle, cv2.putText, cv2.cvtColor
json.load/json.dump
PlotContourAreaHistogramNode
- Inputs
Contours (Contours)
Bins (Int)
Min Area (Int)
Max Area (Int)
Output Dir (String)
Filename Prefix (String)
- Outputs
Histogram Image (ColorImage)
Saved Path (String)
Status (String)
- Parameters
Bins: min 1, max 200, default 20. Number of histogram bins
Min Area: min 0, max 10_000_000, default 0 (auto). Lower bound for contour area filter
Max Area: min 0, max 10_000_000, default 0 (auto). Upper bound for contour area filter
Output Dir: directory where the histogram image is saved
Filename Prefix: prefix used for the saved histogram file name
- Underlying functions
matplotlib.pyplot.hist
cv2.imwrite
DeconvolutionNode
- Inputs
Input Image (GrayScaleImage)
Batch Size (Int)
Min StdDev (Float)
- Outputs
Deconvolved Image (GrayScaleImage)
Status (String)
- Parameters
Batch Size: min 1, max 32, default 4. Reserved for future batching; current implementation processes one image at a time
Min StdDev: min 0.0, max 100.0, default 2.0. Skip deconvolution when image contrast is below this threshold
- Underlying functions
LUCYD model (diplo_lib/core/lucyd.py)
torch (cuda/mps selection, no_grad)
PlotClassificationHistogramNode
- Inputs
Crops Directory (String)
Bins (Int)
Min Area (Int)
Max Area (Int)
Output Dir (String)
Filename Prefix (String)
- Outputs
Histogram Image (ColorImage)
Saved Path (String)
Status (String)
- Parameters
Bins: min 1, max 200, default 20. Number of histogram bins
Min Area: min 0, max 10_000_000, default 0 (auto). Lower bound for contour area filter
Max Area: min 0, max 10_000_000, default 0 (auto). Upper bound for contour area filter
Output Dir: directory where the histogram image is saved
Filename Prefix: prefix used for the saved histogram file name
- Underlying functions
json.load
numpy.histogram
matplotlib.pyplot.bar
cv2.imwrite
CalculateRegionPropsNode
- Inputs
Input Image (GrayScaleImage)
Contours (Contours)
Min Area (Int)
Output CSV (String)
- Outputs
Annotated Image (ColorImage)
Properties Count (Int)
CSV Path (String)
Status (String)
- Parameters
Min Area: min 0, max 10000, default 100. Filters out small contours before computing properties
Output CSV: path where the properties table is saved
- Underlying functions
skimage.measure.label
skimage.measure.regionprops
cv2.drawContours, cv2.boundingRect, cv2.putText
csv.DictWriter