A very simple implementation of Bresenham algorithm implementations
Project description
Simple Bresenham implementation
This is a very simple Bresenham implementation for enumerating pixels along a line including a very simple anti aliased version. It's the felt infinite implementation out there and has been implemented during enhancement of a tomography reconstruction library for personal use.
Dependencies
numpy >= 1.25
Installation
pip install pybresenham-tspspi
Usage
Simple lines
import matplotlib.pyplot as plt
import numpy as np
from bresenham.bresenham import trace_line
fig, ax = plt.subplots()
img = np.zeros((51, 21))
for pt in trace_line((-25,-10),(10,10)):
img[int(pt[0]) + 25, int(pt[1]) + 10] = 1
ax.imshow(img)
Simple lines using callbacks
from bresenham.bresenham import trace_line
def mycallback(point):
print(f"Point at {point[0]} x {point[1]}")
trace_line((-25,-10),(10,10),mycallback)
Antialiased lines
import matplotlib.pyplot as plt
import numpy as np
from bresenham.bresenham import trace_line_antialiased_it
fig, ax = plt.subplots()
imgaa = np.zeros((51, 21))
for pt, weight in trace_line_antialiased_it((-25,-10),(10,10)):
imgaa[int(pt[0]) + 25, int(pt[1]) + 10] = weight
ax.imshow(imgaa)
Antialiased lines using callbacks
from bresenham.bresenham import trace_line_antialiased
def mycallback(point, weight):
print(f"Point at {point[0]} x {point[1]} with weight {weight}")
trace_line_antialiased((-25,-10),(10,10),mycallback)
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pybresenham-tspspi-0.0.2.tar.gz.
File metadata
- Download URL: pybresenham-tspspi-0.0.2.tar.gz
- Upload date:
- Size: 3.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.8.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d3df4a612c21e1883d486800f5e9f1ecccbe53ee22e9c09731fccf64dacc96c
|
|
| MD5 |
0f4b4e3c7ac629c30b51bc35b78999fd
|
|
| BLAKE2b-256 |
931de72be66857b78b1a79c7ff1695e3e0603dbec6da1735c4a0dbfa88301291
|
File details
Details for the file pybresenham_tspspi-0.0.2-py3-none-any.whl.
File metadata
- Download URL: pybresenham_tspspi-0.0.2-py3-none-any.whl
- Upload date:
- Size: 3.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.8.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b927951ce5298006160821066c69355ccafdf83fa6f3d68add985b497f8d13ad
|
|
| MD5 |
cfc0246f564750080dd4852121740a8c
|
|
| BLAKE2b-256 |
828156c8b872d10c377210b1f83617a47ad958e4b01e5b0f4428cc39bf0838f4
|