Skip to content

Pupil: Image Processing Skills

SUMMARY

Pupil is a module in the Telekinesis SDK containing skills for image processing and low-level vision algorithms.

It provides a set of modular tools for preprocessing, filtering, and transforming images, enabling developers to build robust vision pipelines for robotics applications.

When to Use Pupil?

Use Pupil for robotics applications that require low-level image processing and preprocessing, such as:

  • Enhancing camera input for vision-guided pick-and-place
  • Preparing images for object detection or segmentation
  • Noise reduction and filtering for robot navigation
  • Real-time feature extraction for tracking or visual servoing
  • Camera calibration and image rectification in robotics pipelines

What Does Pupil Provide?

Pupil includes a collection of modular skills for:

  • Image filtering and enhancement
  • Noise reduction and smoothing
  • Geometric transformations and rectification
  • Basic computer vision algorithms for preprocessing

How to Use Pupil?

To use the skills from Pupil, simply use:

python
from telekinesis import pupil

Here is a minimal example:

python
from telekinesis import pupil
from datatypes import datatypes, io

# Load an image
image = io.load_image(filepath=datatypes.String("path/to/image.png"))

# Apply Gaussian blur
blurred_image = pupil.filter_image_using_gaussian_blur(
    image=image,
    kernel_size=datatypes.Int(5),
    sigma_x=datatypes.Float(1.0)
)

# Save the result
io.save_image(image=blurred_image, filepath=datatypes.String("output.png"))

Overview of Skills

SDK CallDescription
enhance_image_using_claheApplies Contrast Limited Adaptive Histogram Equalization.
enhance_image_using_auto_gamma_correctionApplies gamma correction for brightness adjustment.
enhance_image_using_white_balanceApplies white balance correction to remove color casts.
filter_image_using_bilateralApplies bilateral filtering for edge-preserving smoothing.
filter_image_using_blurApplies simple box blur for fast smoothing.
filter_image_using_boxApplies normalized box filter with depth control.
filter_image_using_gaussian_blurApplies Gaussian blur for smooth noise reduction.
filter_image_using_median_blurApplies median filtering to remove salt-and-pepper noise.
filter_image_using_laplacianApplies Laplacian operator for edge detection.
filter_image_using_sobelApplies Sobel operator for gradient-based edge detection.
filter_image_using_scharrApplies Scharr operator for improved gradient estimation.
filter_image_using_gaborApplies Gabor filter for texture and oriented feature detection.
filter_image_using_frangiApplies Frangi vesselness filter for detecting tubular structures.
filter_image_using_hessianApplies Hessian-based vesselness filtering.
filter_image_using_satoApplies Sato tubeness filter for ridge detection.
filter_image_using_meijeringApplies Meijering neuriteness filter for detecting thin structures.
filter_image_using_morphological_erodeErodes bright regions to remove small features.
filter_image_using_morphological_dilateDilates bright regions to fill gaps and expand features.
filter_image_using_morphological_closeCloses holes by applying dilation followed by erosion.
filter_image_using_morphological_openOpens regions by applying erosion followed by dilation.
filter_image_using_morphological_gradientComputes morphological gradient for edge detection.
filter_image_using_morphological_tophatExtracts small bright features using top-hat transform.
filter_image_using_morphological_blackhatExtracts small dark features using black-hat transform.
transform_image_using_pyramid_downsamplingDownsamples image with anti-aliasing for pyramid construction.
transform_image_using_pyramid_upsamplingUpsamples image for pyramid reconstruction.
transform_mask_using_blob_thinningApplies morphological thinning for skeletonization.