Python package for EDA / lithography mask design.
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.
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.
4 years ago
examples update ellip_grating.py example to use new gdsii interface 4 years ago
masque Fix duplicates in gds with multiple top-level cells 4 years ago
.gitignore Add binary files and vim buffers into gitignore 5 years ago
LICENSE.md Add license 8 years ago
MANIFEST.in Use separate VERSION file 5 years ago
README.md give better instructions for extras 5 years ago
setup.py Use separate VERSION file 5 years 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.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)