Skip to main content

Generate micropatterning streamfiles, e.g. for FEI HELIOS machines.

Project description

Python Micro Pattern Stream Generator (pyMPSG) library DOI

Generate streamfiles (.str) for patterning on e.g. FEI dualbeam focussed ion beam (FIB) milling machines, such as Helios G4Cx or Helios 650. This allows for generating arbitrary¹ 2.5D shapes, such as domes, cones, markers, etc, as well as combinations thereof. Allowing for a wide range of complex patterns.

This should also be usable for electron- or ion-beam induced deposition (EBID/IBID). Extension to patterning text and bitmaps should be fairly easy (please open an issue if you are interested in details).

I developed this at the quantum technologies department at TNO and now publish it with their consent. If you are interested to have this technique applied to you chip², please reach out to diamond-devices@tno.nl

¹ within the limits of the machine
² e.g. for solid-immersion lenses around single color centers

Installation

pip install pyMPSG

Minimal usage example

from pyMPSG import pointscanner, depthmapper, StreamGenerator, Setup, Streamfile


# Prepare "Setup" - ie. the settings for the machine and substrate
machine = Setup(mu=7.5e-6, I_B=9.4, ds=0.1, zoom=3500)

# Specify the object to pattern and the rastering method
dm = depthmapper.Circle(r=5, depth=1, setup=machine)
ps = pointscanner.Spiral(radius=dm.r_o, inside_out=True, setup=machine)

# Generate the streamfile
sg = StreamGenerator(pointscanner=ps, depthmapper=dm, setup=machine, layer_thickness=0.05)
sf = Streamfile(sg)
sf.write_file('instructions')

More usage examples and explanation can be found in the examples folder.

Reference and Citing

Based on the python2 script provided in:
Mohammad Jamali, Ilja Gerhardt, Mohammad Rezai, Karsten Frenner, Helmut Fedder, Jörg Wrachtrup; Microscopic diamond solid-immersion-lenses fabricated around single defect centers by focused ion beam milling. Rev. Sci. Instrum. 1 December 2014; 85 (12): 123703.

If you use this code in your work, please cite it with its DOI: 10.5281/zenodo.17148127.

Disclaimer

All mentioned names (such as NanoBuilder, FEI, Helios, ...) are brands and/or registered trademarks of their respective owners (e.g. ThermoFisher). There is no affiliation with any of these brands or companies. For further disclaimers, please read the license file.

Copyright 2025 René Vollmer

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at apache.org.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

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

pympsg-1.0.2.tar.gz (21.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pympsg-1.0.2-py3-none-any.whl (21.8 kB view details)

Uploaded Python 3

File details

Details for the file pympsg-1.0.2.tar.gz.

File metadata

  • Download URL: pympsg-1.0.2.tar.gz
  • Upload date:
  • Size: 21.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pympsg-1.0.2.tar.gz
Algorithm Hash digest
SHA256 2e63b3265d828cd8cc0e2617ecb5b6378687ad0d348fa05344ddb8ac6b3a3171
MD5 0fdc997738586ac99a6d031a0f02ad59
BLAKE2b-256 1545612ad5a149d5189ef83abe7feafd8f76dd979d0b41ddfe21c44f4edf0e51

See more details on using hashes here.

Provenance

The following attestation bundles were made for pympsg-1.0.2.tar.gz:

Publisher: python-publish.yml on Aypac/pyMPSG

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pympsg-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: pympsg-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 21.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pympsg-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8af06ae9da7e5fb525981b0c2e7bd894259eb55d7ab56ba8551a0c831dac457a
MD5 cbc48f34d33188334ad48535fe2d8e51
BLAKE2b-256 3b571bbc2aef5a9ba9ae3859a5eba92301de3a0f3471deef58bfd0a43a06833e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pympsg-1.0.2-py3-none-any.whl:

Publisher: python-publish.yml on Aypac/pyMPSG

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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