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.7 (written and tested with 3.8)
- numpy
- matplotlib (optional, used for visualizationfunctions andtext)
- python-gdsii (optional, used for gdsiii/o)
- klamath (optional, used for gdsiii/o and library management)
- ezdxf (optional, used for dxfi/o)
- fatamorgana (optional, used for oasisi/o)
- svgwrite (optional, used for svgoutput)
- freetype (optional, used for text)
Install with pip:
pip3 install 'masque[visualization,gdsii,oasis,dxf,svg,text,klamath]'
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 a- SubPatterncombined with a- Gridrepetition.
- 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
Description
				
					Languages
				
				
								
								
									Python
								
								100%