Test for generating stylized circuit traces from images

Related tags

Testingjacktrace
Overview

test for generating stylized circuit traces from images

Author: Miller Hooks - 12.26.2021

Concept

image -> split into plates via dithering -> make image positives, negatives and masks -> halftone as needed -> voronoi stippling -> make traces - rinse/repeat

Source

Some python for doing some dithering and a dockerfile to make a CUDA docker container as a start, just in case GPU is needed.

Voronoi Stippling and Tracefinding

StippleGen2

https://github.com/evil-mad/stipplegen/releases/tag/v2.31

Dithering

https://scipython.com/blog/floyd-steinberg-dithering/ https://en.wikipedia.org/wiki/Floyd%E2%80%93Steinberg_dithering Example in Source directory

TODO

Meshroom Workflow and Interface

This seems to mirror functionally, how I see a good process for doing this working. Also it's open source and python with a QT interface so it could be aped entirely or just make the tool a plugin for Meshroom or somethign.

https://meshroom-manual.readthedocs.io/en/latest/feature-documentation/gui/index.html

Halftones

https://github.com/philgyford/python-halftone

Traces

JS Circuit Board Generator

https://codepen.io/tsuhre/pen/xgmEPe

https://github.com/vygr/Python-PCB

SKiDL

https://hackaday.com/2016/12/28/skidl-script-your-circuits-in-python/ https://devbisme.github.io/skidl/ https://github.com/devbisme/skidl https://xess.com/blog/are-you-in-an-abusive-relationship-with-your-schematic-editor/

SAT Router

monosat_router.py - https://gist.github.com/nmz787/10c60e76941a8e5de624454666ea65b3 cryptominisat_router.py - https://gist.github.com/nmz787/ae4a6121ce4aa42c2caed5b062b97c70#file-cryptominisat_router-py Based on this paper "Scalable, High-Quality, SAT-Based Multi-Layer Escape Routing" - https://dl.acm.org/doi/10.1145/2966986.2967072

PCBFlow

Looks nice. Based on CuFlow https://github.com/michaelgale/pcbflow

CuFlow looks promising

https://excamera.com/sphinx/article-cuflow-crossbar.html

Visolate: Voronoi Toolpaths for PCB Etching

https://groups.csail.mit.edu/drl/wiki/index.php?title=Visolate:_Voronoi_Toolpaths_for_PCB_Mechanical_Etch

KiCAD... Just use KiCAD. It's made by CERN

https://www.kicad.org/

Nice Containerized KiCAD for scripting. https://github.com/productize/kicad-automation-scripts https://github.com/devbisme/kicad-3rd-party-tools#layout-tools

This looks like the business https://forum.kicad.info/t/announcing-kicad-freerouting-plugin/16799

or use PCBModE. It's Pretty

https://boldport.com/pcbmode https://pcbmode.com/ https://hackaday.com/tag/pcbmode/

Selecting Via Points to Join

  • Select a region via layer mask
  • Select via points as a pseudo-random distrobution as FROM vias
  • Select TO viasvia some sort of drunkards walk to a f(x) of min/mean/max neighbors
  • Route paths
  • group new joined traces and vias and ignore
  • repeat until no vias remain. If number of vias is odd, drop the last one

Image Example Assets

Big Wave Vector PDF and some process files from a test run.

Owner
Miller Hooks
Natural User Interface enthusiast. Owner of several broken robots.
Miller Hooks
Test utility for validating OpenAPI documentation

DRF OpenAPI Tester This is a test utility to validate DRF Test Responses against OpenAPI 2 and 3 schema. It has built-in support for: OpenAPI 2/3 yaml

snok 103 Dec 21, 2022
Sixpack is a language-agnostic a/b-testing framework

Sixpack Sixpack is a framework to enable A/B testing across multiple programming languages. It does this by exposing a simple API for client libraries

1.7k Dec 24, 2022
1st Solution to QQ Browser 2021 AIAC Track 2

1st Solution to QQ Browser 2021 AIAC Track 2 This repository is the winning solution to QQ Browser 2021 AI Algorithm Competition Track 2 Automated Hyp

DAIR Lab 24 Sep 10, 2022
The Good Old Days. | Testing Out A New Module-

The-Good-Old-Days. The Good Old Days. | Testing Out A New Module- Installation Asciimatics supports Python versions 2 & 3. For the precise list of tes

Syntax. 2 Jun 08, 2022
Pytest support for asyncio.

pytest-asyncio: pytest support for asyncio pytest-asyncio is an Apache2 licensed library, written in Python, for testing asyncio code with pytest. asy

pytest-dev 1.1k Jan 02, 2023
Automating the process of sorting files in my downloads folder by file type.

downloads-folder-automation Automating the process of sorting files in a user's downloads folder on Windows by file type. This script iterates through

Eric Mahasi 27 Jan 07, 2023
Pyramid debug toolbar

pyramid_debugtoolbar pyramid_debugtoolbar provides a debug toolbar useful while you're developing your Pyramid application. Note that pyramid_debugtoo

Pylons Project 95 Sep 17, 2022
A library for generating fake data and populating database tables.

Knockoff Factory A library for generating mock data and creating database fixtures that can be used for unit testing. Table of content Installation Ch

Nike Inc. 30 Sep 23, 2022
Pytest modified env

Pytest plugin to fail a test if it leaves modified os.environ afterwards.

wemake.services 7 Sep 11, 2022
Language-agnostic HTTP API Testing Tool

Dredd — HTTP API Testing Framework Dredd is a language-agnostic command-line tool for validating API description document against backend implementati

Apiary 4k Jan 05, 2023
A twitter bot that simply replies with a beautiful screenshot of the tweet, powered by poet.so

Poet this! Replies with a beautiful screenshot of the tweet, powered by poet.so Installation git clone https://github.com/dhravya/poet-this.git cd po

Dhravya Shah 30 Dec 04, 2022
This file will contain a series of Python functions that use the Selenium library to search for elements in a web page while logging everything into a file

element_search with Selenium (Now With docstrings 😎 ) Just to mention, I'm a beginner to all this, so it it's very possible to make some mistakes The

2 Aug 12, 2021
Test scripts etc. for experimental rollup testing

rollup node experiments Test scripts etc. for experimental rollup testing. untested, work in progress python -m venv venv source venv/bin/activate #

Diederik Loerakker 14 Jan 25, 2022
Minimal example of how to use pytest with automated 'devops' style automated test runs

Pytest python example with automated testing This is a minimal viable example of pytest with an automated run of tests for every push/merge into the m

Karma Computing 2 Jan 02, 2022
Auto Click by pyautogui and excel operations.

Auto Click by pyautogui and excel operations.

Janney 2 Dec 21, 2021
Python Moonlight (Machine Learning) Practice

PyML Python Moonlight (Machine Learning) Practice Contents Design Documentation Prerequisites Checklist Dev Setup Testing Run Prerequisites Python 3 P

Dockerian Seattle 2 Dec 25, 2022
The async ready version of the AniManga library created by centipede000.

Async-Animanga An Async/Aiohttp compatible library. Async-Animanga is an async ready web scraping library that returns Manga information from animepla

3 Sep 22, 2022
To automate the generation and validation tests of COSE/CBOR Codes and it's base45/2D Code representations

To automate the generation and validation tests of COSE/CBOR Codes and it's base45/2D Code representations, a lot of data has to be collected to ensure the variance of the tests. This respository was

160 Jul 25, 2022
Automatic SQL injection and database takeover tool

sqlmap sqlmap is an open source penetration testing tool that automates the process of detecting and exploiting SQL injection flaws and taking over of

sqlmapproject 25.7k Jan 04, 2023
CNE-OVS-SIT - OVS System Integration Test Suite

CNE-OVS-SIT - OVS System Integration Test Suite Introduction User guide Discussion Introduction CNE-OVS-SIT is a test suite for OVS end-to-end functio

4 Jan 09, 2022