Skip to main content

Mask generation tool

Project description

Linux/OS: [![Build Status](https://travis-ci.org/DerekK88/PICwriter.svg?branch=master)](https://travis-ci.org/DerekK88/PICwriter) Windows: [![Build status](https://ci.appveyor.com/api/projects/status/f9q96u9na63hy3ce?svg=true)](https://ci.appveyor.com/project/DerekK88/PICwriter) Documentation: [![Documentation Status](https://readthedocs.org/projects/picwriter/badge/?version=latest)](http://picwriter.readthedocs.io/en/latest/?badge=latest) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)

# PICwriter README Picwriter (Photonic-Integrated-Circuit Writer) is a [Python](https://www.python.org/) module, built above the [gdspy](https://github.com/heitzmann/gdspy) module, aimed at simplifying the process of designing complex masks for photonic integrated circuits through a prebuilt library of easy-to-implement PCells. Supported blocks currently include: * waveguides (strip, slot, and sub-wavelength grating) * grating couplers (straight and focusing) * tapers * strip to slot waveguide mode converters * directional couplers * adiabatic couplers * spiral structures (auto-generated from specified waveguide length) * 1x2 multi-mode interferometers * 2x2 multi-mode interferometers * ring & disk resonators with automatic bus waveguide wrapping * distributed bragg reflectors * Mach-Zehnder interferometers * alignment markers (for photolithography and ebeam lithography) * metal routes * bond pads

Stay tuned, more components are coming soon! In the meantime, check out the documentation for this project at [picwriter.readthedocs.io](http://picwriter.readthedocs.io).

## Features The ultimate goal of this module is to reduce the time required to generate photonic integrated circuit mask designs, by extending the functionality of the gdspy library. * High-level specification of common building blocks for photonic-integrated circuits * Fabrication specific masks. Specify the photoresist type (‘+’ or ‘-’) and fabrication type (such as ‘ETCH’) and PICwriter will generate the appropriate mask files for electron-beam or photolithography. * All library components are subclasses of the gdspy Cell class, so gdspy Cell features such as rotation(), copy(), flatten(), get_bounding_box(), etc. are all supported.

## Installation

### Dependencies: With a working version of python, all dependencies should be automatically installed through the instructions below.

### Linux / OS X Both options should automatically install all dependencies (like gdspy, numpy, etc.).

Option 1: using [pip](https://docs.python.org/3/installing/):

`sh pip install picwriter `

Option 2: download the source from [github](https://github.com/DerekK88/picwriter) and build/install with:

`sh python setup.py install `

### Windows

The best way of obtaining the library is by installing the prebuilt binaries.

  • First, go to the [gdspy appveyor project page](https://ci.appveyor.com/project/heitzmann/gdspy), then click the python environment that matches your python version and processor type. For example, if you have a 64-bit processor with Python version 3.5 (you can check by running python –version in a command prompt) then you would click ‘PYTHON=C:Python35-x64’. Then, click the Artifacts tab and download the corresponding distgdspy-1.X.X.X.whl wheel file.

  • Open up a command prompt (type cmd in the search bar), navigate to your downloads, then install via:

`sh pip install dist\gdspy-1.X.X.X.whl `

  • Next, install the PICwriter library by following the same procedure as before at the [picwriter appveyor page](https://ci.appveyor.com/project/DerekK88/picwriter) to install the corresponding prebuilt picwriter .whl file.

  • In a command prompt, navigate to your downloads and install with pip:

`sh pip install dist\picwriter-1.X.X.X.whl `

Building from source is also possible. For installing gdspy, an appropriate build environment is required for compilation of the C extension modules.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

picwriter-0.5.tar.gz (75.0 kB view details)

Uploaded Source

Built Distributions

picwriter-0.5-py3.7.egg (296.9 kB view details)

Uploaded Source

picwriter-0.5-py3-none-any.whl (139.7 kB view details)

Uploaded Python 3

File details

Details for the file picwriter-0.5.tar.gz.

File metadata

  • Download URL: picwriter-0.5.tar.gz
  • Upload date:
  • Size: 75.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for picwriter-0.5.tar.gz
Algorithm Hash digest
SHA256 3a92c5e6414b99add5c4d5b3a833b2b2d88f1fa07c3673f7e06b3634270c100f
MD5 9c9b0dae5ef5017e7a2b56a2d0fef633
BLAKE2b-256 f2ed838969668eb0536d535612ad45924f0ef8daf16e2f6248ecfd494df18621

See more details on using hashes here.

File details

Details for the file picwriter-0.5-py3.7.egg.

File metadata

  • Download URL: picwriter-0.5-py3.7.egg
  • Upload date:
  • Size: 296.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for picwriter-0.5-py3.7.egg
Algorithm Hash digest
SHA256 98447ae65e94d36f27f3829a9522e43725de44109ef67b2c6846039365194972
MD5 0bc247b2a88a2d34077d8ae7e31ee754
BLAKE2b-256 b646255dbaa90131117a5659af5a94abb55123b32040c32fac5abba73e4682b2

See more details on using hashes here.

File details

Details for the file picwriter-0.5-py3-none-any.whl.

File metadata

  • Download URL: picwriter-0.5-py3-none-any.whl
  • Upload date:
  • Size: 139.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for picwriter-0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 4a70528f8441282b2d96db644d8908f75b3b54817dea75a882a9822b9e0bcdfc
MD5 e36dd6dbfa439066938b6efe1d218365
BLAKE2b-256 bc118ca1d29fd14b39079f09b04f0e1fad532a60c268a9fa50540f1a9ade1ba0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page