Python bindings for Rust Planetarium rendering library
Project description
PyPlanetarium
Python bindings for Planetarium sub-pixel precision light spot rendering library for astronomy and video tracking applications.
Example usage
from pyplanetarium import Canvas, SpotShape, ImageFormat, Window
# Draw on a square 256x256 pixel canvas.
c = Canvas.new(256, 256)
# Define a round spot shape with diffraction radius of 2.5 pixels.
shape = SpotShape().scale(2.5)
# Add some spots at random positions with varying shape size
# and peak intensity.
spot1 = c.add_spot((100.3, 130.8), shape, 0.5)
spot2 = c.add_spot((80.6, 200.2), shape.scale(0.5), 0.9)
# Note: Out of range position coordinates and peak intensities are fine.
# The resulting spot image is clipped into the canvas rectangle.
# Peak intensity > 1.0 leads to saturation to the maximum pixel value.
spot3 = c.add_spot((256.1, 3.5), shape.scale(10.0), 1.1)
# Set the canvas background pixel value.
c.set_background(int(0.05 * Canvas.PIXEL_MAX))
# Clear the canvas and paint the light spots.
c.draw()
# Export to a 8-bit gamma-compressed grayscale PNG image.
png_8bpp_bytes = c.export_image(ImageFormat.PngGamma8Bpp)
# Export to a 16-bit linear light grayscale PNG image.
png_16bpp_bytes = c.export_image(ImageFormat.PngLinear16Bpp)
# Export a rectangular canvas window to a 8-bit gamma-compressed RAW image.
wnd = Window.new(64, 32).at(90, 120)
raw_window_8bpp_bytes = c.export_window_image(wnd, ImageFormat.RawGamma8Bpp)
# Export the 2x2 subsampled canvas frame to a 10-bit linear light RAW image.
factors = (2, 2)
raw_subsampled_10bpp_bytes = c.export_subsampled_image(factors, ImageFormat.RawLinear10BppLE)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyplanetarium-0.1.5.tar.gz
(20.0 kB
view details)
Built Distributions
File details
Details for the file pyplanetarium-0.1.5.tar.gz
.
File metadata
- Download URL: pyplanetarium-0.1.5.tar.gz
- Upload date:
- Size: 20.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/0.12.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16dbc72fca0616b7316396f53578433320f29911bc259918e28cf18c2bff5251 |
|
MD5 | 0cdd252d33b640b175f72a0359615ec3 |
|
BLAKE2b-256 | b72e9703bc624a7d13556e012e8e50246c76caba3cc9fccc16545eee65272991 |
File details
Details for the file pyplanetarium-0.1.5-cp37-abi3-win_amd64.whl
.
File metadata
- Download URL: pyplanetarium-0.1.5-cp37-abi3-win_amd64.whl
- Upload date:
- Size: 291.2 kB
- Tags: CPython 3.7+, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/0.12.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e8e82bd4972949c5649ce5752577dd711943215de40f2da328131ca99653821 |
|
MD5 | eb3f5d8fc13eb3127e50e9805ecf9be9 |
|
BLAKE2b-256 | 3e873833156f5f34bc74bedb9a1a0ef70ec9ead18e058c83d5920b5759f598f2 |
File details
Details for the file pyplanetarium-0.1.5-cp37-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
.
File metadata
- Download URL: pyplanetarium-0.1.5-cp37-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
- Upload date:
- Size: 299.9 kB
- Tags: CPython 3.7+, manylinux: glibc 2.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/0.12.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b939896df46a3e9610a7d9dda857f7eed549957d1defb9a1e7b4b4c52a6f60c5 |
|
MD5 | ad8a64932535bd58a44fc52439474bf8 |
|
BLAKE2b-256 | 9c96a4c079679dd19a3a7b00d1c48b4da8412f446ab66fd6c8ab0c820dcaa920 |