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
This project demonstrates selenium's ability to extract files from a website.

This project demonstrates selenium's ability to extract files from a website. I've added the challenge of connecting over TOR. This package also includes a personal archive site built in NodeJS and A

2 Jan 16, 2022
Python package to easily work with selenium and manage tabs effectively.

Simple Selenium The aim of this package is to quickly get started with working with selenium for simple browser automation tasks. Installation Install

Vishal Kumar Mishra 1 Oct 27, 2021
A automated browsing experience.

browser-automation This app is an automated browsing technique where one has to enter the required information, it's just like searching for Animals o

Ojas Barawal 3 Aug 04, 2021
Tools for test driven data-wrangling and data validation.

datatest: Test driven data-wrangling and data validation Datatest helps to speed up and formalize data-wrangling and data validation tasks. It impleme

269 Dec 16, 2022
Travel through time in your tests.

time-machine Travel through time in your tests. A quick example: import datetime as dt

Adam Johnson 373 Dec 27, 2022
Set your Dynaconf environment to testing when running pytest

pytest-dynaconf Set your Dynaconf environment to testing when running pytest. Installation You can install "pytest-dynaconf" via pip from PyPI: $ pip

David Baumgold 3 Mar 11, 2022
Let your Python tests travel through time

FreezeGun: Let your Python tests travel through time FreezeGun is a library that allows your Python tests to travel through time by mocking the dateti

Steve Pulec 3.5k Dec 29, 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
Automates hiketop+ crystal earning using python and appium

hikepy Works on poco x3 idk about your device deponds on resolution Prerquests Android sdk java adb Setup Go to https://appium.io/ Download and instal

4 Aug 26, 2022
WEB PENETRATION TESTING TOOL 💥

N-WEB ADVANCE WEB PENETRATION TESTING TOOL Features 🎭 Admin Panel Finder Admin Scanner Dork Generator Advance Dork Finder Extract Links No Redirect H

56 Dec 23, 2022
Implement unittest, removing all global variable and returning values

Implement unittest, removing all global variable and returning values

Placide 1 Nov 01, 2021
a wrapper around pytest for executing tests to look for test flakiness and runtime regression

bubblewrap a wrapper around pytest for assessing flakiness and runtime regressions a cs implementations practice project How to Run: First, install de

Anna Nagy 1 Aug 05, 2021
Whatsapp messages bulk sender using Python Selenium.

Whatsapp Sender Whatsapp Sender automates sending of messages via Whatsapp Web. The tool allows you to send whatsapp messages in bulk. This program re

Yap Yee Qiang 3 Jan 23, 2022
Hamcrest matchers for Python

PyHamcrest Introduction PyHamcrest is a framework for writing matcher objects, allowing you to declaratively define "match" rules. There are a number

Hamcrest 684 Dec 29, 2022
Obsei is a low code AI powered automation tool.

Obsei is a low code AI powered automation tool. It can be used in various business flows like social listening, AI based alerting, brand image analysis, comparative study and more .

Obsei 782 Dec 31, 2022
A single module to link Python ecosystem to the Web

A single module to link Python ecosystem to the Web. Have a quick look at the Gallery first to get convinced ! FAQ For any questions, please use Stack

66 Dec 21, 2022
Headless chrome/chromium automation library (unofficial port of puppeteer)

Pyppeteer Pyppeteer has moved to pyppeteer/pyppeteer Unofficial Python port of puppeteer JavaScript (headless) chrome/chromium browser automation libr

miyakogi 3.5k Dec 30, 2022
pytest splinter and selenium integration for anyone interested in browser interaction in tests

Splinter plugin for the pytest runner Install pytest-splinter pip install pytest-splinter Features The plugin provides a set of fixtures to use splin

pytest-dev 238 Nov 14, 2022
The pytest framework makes it easy to write small tests, yet scales to support complex functional testing

The pytest framework makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries. An example o

pytest-dev 9.6k Jan 02, 2023
DUCKSPLOIT - Windows Hacking FrameWork using Reverse Shell

Ducksploit Install Ducksploit Hacker setup raspberry pico Download https://githu

2 Jan 31, 2022