diff options
author | jaseg <git@jaseg.de> | 2023-12-27 13:42:28 +0100 |
---|---|---|
committer | jaseg <git@jaseg.de> | 2023-12-27 13:42:28 +0100 |
commit | 8a673ca3322350bd7e1580a90f89d0bd0c5fa3bf (patch) | |
tree | eeec5676c576c03a94b5bc74f929f2962d056ee9 /research/colorspace/csv_to_svg_path.py | |
parent | 2bb3b936b405f4f089d77655aed62903b6ae0a7f (diff) | |
parent | ab0eb2b834856c19a195c98435c4525fba08376a (diff) | |
download | blog-8a673ca3322350bd7e1580a90f89d0bd0c5fa3bf.tar.gz blog-8a673ca3322350bd7e1580a90f89d0bd0c5fa3bf.tar.bz2 blog-8a673ca3322350bd7e1580a90f89d0bd0c5fa3bf.zip |
deploy.py auto-commit
Diffstat (limited to 'research/colorspace/csv_to_svg_path.py')
-rwxr-xr-x | research/colorspace/csv_to_svg_path.py | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/research/colorspace/csv_to_svg_path.py b/research/colorspace/csv_to_svg_path.py deleted file mode 100755 index 5f638ed..0000000 --- a/research/colorspace/csv_to_svg_path.py +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env python3 -import textwrap - -def svg_path_from_points(points, r): - points_joined = ' '.join(f'{x:.6f} {y:.6f}' for x, y in points) - return textwrap.dedent(f''' - <?xml version="1.0" encoding="UTF-8" standalone="no"?> - <svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - version="1.1" - width="{r*2}mm" - height="{r*2}mm" - viewBox="0 0 {r*2} {r*2}" - id="svg2"> - <g id="layer1"> - <path id="path2991" - style="fill:none;stroke:#000000;stroke-width:0.1mm;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="M 0,0 L {points_joined}" /> - </g> - </svg> - ''').strip() - -if __name__ == '__main__': - import argparse - parser = argparse.ArgumentParser() - parser.add_argument('locus_csv', help='CSV file containing locus coordinates. Format: lambda, x, y, z.') - parser.add_argument('-r', '--radius', type=float, default=100, help='Radius of plot area in mm') - args = parser.parse_args() - - import csv, ast - points = [] - with open(args.locus_csv, newline='') as f: - for row in csv.reader(f): - # use literal_eval to handle entries like "1.153E-5" - λ, x, y, z = (ast.literal_eval(e.strip()) for e in row) - points.append((x*args.radius*2, y*args.radius*2)) - - print(svg_path_from_points(points, args.radius)) |