Python package for EDA / lithography mask design.
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jan Petykiewicz 48b28351ed speed up GDS writing
by preallocating xy array and directly rounding to target dtype
2022-06-08 21:12:39 -07:00
examples move dev2pat and pat2dev into masque.builder.port_utils 2022-02-28 23:38:55 -08:00
masque speed up GDS writing 2022-06-08 21:12:39 -07:00
.flake8 style and type fixes (per flake8) 2020-10-16 19:00:50 -07:00
.gitignore add .oas.gz to .gitignore 2020-05-19 01:01:03 -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 make klamath the default gdsii reader/writer, and install it automatically 2021-03-26 10:34:02 -07:00
setup.py Update email 2021-07-11 17:20:17 -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.7 (written and tested with 3.8)
  • numpy
  • klamath (used for gdsii i/o and library management)
  • matplotlib (optional, used for visualization functions and text)
  • 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 a SubPattern combined with a Grid 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