calculate 2d-diagram from pd_code.
Project description
pd_code_to_diagram
given a pd_code for a topological link or knot, output a possible 2d-diagram.
Install
pip install pd-code-to-diagram
Usage
import pd_code_to_diagram
# pd_code is a list of list of int
pd_code = [[6, 1, 7, 2], [14, 7, 15, 8], [4, 15, 1, 16], [10, 6, 11, 5], [8, 4, 9, 3], [18, 11, 19, 12], [20, 17, 5, 18], [12, 19, 13, 20], [16, 10, 17, 9], [2, 14, 3, 13]]
# last_socket should be int or None
# the program will ensure in the components contains last_socket
# there will be at least one arc on the border of
last_socket = 1
# diagram_2d will be a matrix of int
# its type will be list of list of int
# get_diagram_from_pd_code will raise an RuntimeError if such diagram not exists
diagram_2d = pd_code_to_diagram.get_diagram_from_pd_code(pd_code, last_socket)
for line in diagram_2d:
print(line)
# get string_form diagram and save to file
link = [[2, 9, 3, 10], [4, 11, 5, 12], [6, 7, 1, 8], [8, 5, 7, 6], [10, 1, 11, 2], [12, 3, 9, 4]]
with open("test.txt", "w") as fp:
fp.write(pd_code_to_diagram.get_diagram_str_from_pd_code(link, last_socket))
diagram_now = pd_code_to_diagram.get_diagram_from_pd_code(link, last_socket)
print(pd_code_to_diagram.diagram_to_pd_code(diagram_now))
# save diagram_2d as a png image
pd_code_to_diagram.diagram_to_png(diagram_now, "diagram.png")
# get a PIL.Image.Image object instead of writing a file
image = pd_code_to_diagram.diagram_to_image(diagram_now)
# optionally resize every grid tile, default tile size is 30 pixels
pd_code_to_diagram.diagram_to_png(diagram_now, "diagram_20px.png", tile_size=20)
# optionally draw small red labels for the four socket ids around each crossing
pd_code_to_diagram.diagram_to_png(diagram_now, "diagram_labeled.png", show_socket_labels=True)
In the diagram matrix, 0 means empty space, positive integers mean arc ids, -1
means the vertical strand is under the horizontal strand, and -2 means the
horizontal strand is under the vertical strand.
Project details
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 pd_code_to_diagram-0.1.5.tar.gz.
File metadata
- Download URL: pd_code_to_diagram-0.1.5.tar.gz
- Upload date:
- Size: 47.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.4.1 CPython/3.11.15 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
081dfbb08d68f375bd2388bef9fa61e876f8261e1f0110dd399885a04a879ab4
|
|
| MD5 |
37bc16321c5d55bbca7802d2dd8bc22a
|
|
| BLAKE2b-256 |
29c67ceaadd8265a3a3733af50cd560fbd123ea434417f4e3277b6ec20879d00
|
File details
Details for the file pd_code_to_diagram-0.1.5-py3-none-any.whl.
File metadata
- Download URL: pd_code_to_diagram-0.1.5-py3-none-any.whl
- Upload date:
- Size: 76.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.4.1 CPython/3.11.15 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
962b4cb0ea2ae5dcaa69bbcfd30776eea2634936674532266fa425ce65a6c46a
|
|
| MD5 |
ab3c9bd09484a49c5777f2178cc1bdac
|
|
| BLAKE2b-256 |
7b0b624129eeb8c6fe8e978fce578389765ac8cdfcee060e009b62507583e31c
|