Python package for EDA / lithography mask design.
Go to file
Jan Petykiewicz 64b8e4dec8 Fix duplicates in gds with multiple top-level cells
Since the different patterns we are handed might reference the same
Patterns, we have to deepcopy the entire list at once so that we
don't make multiple copies of them.
2020-01-07 22:17:00 -08:00
examples update ellip_grating.py example to use new gdsii interface 2019-12-12 01:48:36 -08:00
masque Fix duplicates in gds with multiple top-level cells 2020-01-07 22:17:00 -08:00
.gitignore Add binary files and vim buffers into gitignore 2019-05-25 12:46:17 -07:00
LICENSE.md Add license 2016-04-13 03:51:25 -07:00
MANIFEST.in Use separate VERSION file 2019-09-27 21:03:52 -07:00
README.md give better instructions for extras 2019-09-30 23:50:40 -07:00
setup.py Use separate VERSION file 2019-09-27 21:03:52 -07:00

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.5 (written and tested with 3.6)
  • numpy
  • matplotlib (optional, used for visualization functions and text)
  • python-gdsii (optional, used for gdsii i/o)
  • svgwrite (optional, used for svg output)
  • freetype (optional, used for text)

Install with pip:

pip3 install 'masque[visualization,gdsii,svg,text]'

Alternatively, install from git

pip3 install git+https://mpxd.net/code/jan/masque.git@release

TODO

  • Polygon de-embedding
  • Construct from bitmap
  • Boolean operations on polygons (using pyclipper)
  • Output to OASIS (using fatamorgana)