Skip to main content

projkit

Welcome to projkit, a Python library designed to simplify camera projection tasks and calculations, particularly when working with image predictions and 3D point cloud data. This library provides functions to effectively incorporate point cloud data with image predictions.

Installation

pip install projkit

Features

  • Camera Projection to Image Coordinates: Easily project point cloud data onto image coordinates using provided camera parameters.

    from projkit.camops import project_in_2d_with_K_R_t_dist_coeff
    from projkit.imutils import to_image, filter_image_and_world_points_with_img_dim
    
    ic, wc, z = project_in_2d_with_K_R_t_dist_coeff(K, R, t, d, wc)
    ic, wc, z = filter_image_and_world_points_with_img_dim(Nx, Ny, ic, wc)
    
    projection_on_image = to_image(Ny, Nx, ic, wc)
    
  • Intersection with Binary Mask: Determine intersections between projected data and a binary mask.

    from projkit.imutils import intersection
    binary_mask = cv2.imread(file, cv2.IMREAD_GRAYSCALE)
    binary_mask[binary_mask > 0.50] = 255
    
    intersection_img, locations = intersection(binary_mask, ic, wc)
    
  • Identifying Data Holes in Mask: Identify locations in the mask that require interpolation due to missing point cloud data.

    import numpy as np
    from projkit.imutils import difference
    
    _missing_z_values_image = difference(Ny, Nx, ic, wc, binary_mask)
    x, y = np.where(_missing_z_values_image == 255)
    locations = list(zip(y, x))
    
  • Nearest Search Interpolation: Perform nearest search interpolation for dense regions in point cloud data.

    from projkit.imutils import nn_interpolation
    
    query = nn_interpolation(ic, wc)
    points = query.generate_points_for_nn_search(Ny, Nx, binary_mask)
    ic, wc, dist = query.query(points, dist_thresh=15)
    

    For larger datasets, utilize batch processing:

    from projkit.imutils import nn_interpolation
    from projkit.pyutils import batch_gen
    
    query = nn_interpolation(ic, wc)
    points = query.generate_points_for_nn_search(Ny, Nx, binary_mask)
    for i, batch in batch_gen(points, batch_size=500):
        ic, wc, dist = query.query(batch, dist_thresh=15)
    

Metadata

Release files for projkit 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for projkit 0.1.3
File Size Uploaded
projkit-0.1.3.tar.gz 12.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for projkit 0.1.3
File Interpreter ABI Platform
projkit-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 24.0 kB

Release files / projkit-0.1.3.tar.gz

Download URL projkit-0.1.3.tar.gz
Size 12.0 kB
Tags Source
SHA-256 checksum
How to use checksums
3e68f7b1df06460e9aaeb316e80b46a107dfadb0a64f4a79333b5860227dfd0d
BLAKE2b-256 checksum
How to use checksums
50f5dcd067466f773ee0766b883724a04e5ec05f66bac36d5b003f274755ad96
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.17

Release files / projkit-0.1.3-py3-none-any.whl

Download URL projkit-0.1.3-py3-none-any.whl
Size 12.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
718e0992c8a63a8087093473f088e98e9a0911f6e01f8345916be34a8331d7c6
BLAKE2b-256 checksum
How to use checksums
a6fa225cecbd7f66105d406e0f3853bf4a675a7c6efaaf91ba9bdde4853f5acd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.17

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page