You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
8 months ago | |
---|---|---|
examples | 2 years ago | |
masque | 8 months ago | |
.flake8 | 3 years ago | |
.gitignore | 3 years ago | |
LICENSE.md | 8 years ago | |
README.md | 9 months ago | |
pyproject.toml | 9 months ago |
README.md
Masque README
Masque is a Python module for designing lithography masks.
The general idea is to implement something resembling the GDSII file-format, but with some vectorized element types (eg. circles, not just polygons), better support for E-beam doses, and the ability to output to multiple formats.
Installation
Requirements:
- python >= 3.8
- numpy
- klamath (used for
gdsii
i/o and library management) - matplotlib (optional, used for
visualization
functions andtext
) - ezdxf (optional, used for
dxf
i/o) - fatamorgana (optional, used for
oasis
i/o) - svgwrite (optional, used for
svg
output) - freetype (optional, used for
text
)
Install with pip:
pip3 install 'masque[visualization,oasis,dxf,svg,text]'
Alternatively, install from git
pip3 install git+https://mpxd.net/code/jan/masque.git@release
Translation
Pattern
: OASIS or GDS "Cell", DXF "Block"SubPattern
: GDS "AREF/SREF", OASIS "Placement"Shape
: OASIS or GDS "Geometry element", DXF "LWPolyline" or "Polyline"repetition
: OASIS "repetition". GDS "AREF" is aSubPattern
combined with aGrid
repetition.Label
: OASIS, GDS, DXF "Text".annotation
: OASIS or GDS "property"
TODO
- Better interface for polygon operations (e.g. with
pyclipper
)- de-embedding
- boolean ops
- Construct polygons from bitmap using
skimage.find_contours
- Deal with shape repetitions for dxf, svg