Skip to main content

fib-o-mat is a toolbox to generate patterns for focused ion beam instruments.

Project description

fibomat logo

fib-o-mat is a Python library to create beam patterns for focused ion beam instruments.

Pattern geometries can be modeled directly in Python bsaed on (pre-)defined geometric primitives or importet from vector graphics. These can be equipped with beam and rasterizing settings and exported to microscope compatible files.

fib-o-mat is by designed flexible and easily expandable. Hence, adding support for for different microscopes, custom geometric primitives or optimization routines is a straightforward process.

For the usage of fib-o-mat, basic python knowledge and a good understanding of the target microscope are mandatory. See the getting started guide for an introduction to this library and the user guide for a complete documentation. The module reference is to be found here.

workflow

Made with :black_heart: and :coffee: at HZB and FBH in Berlin.

If you use this library in your work, please cite

Deinhart et al., ...

Installation

Run in a terminal

$ pip install fibomat

It is highly recommended to use virtual environments.

Example

from fibomat import Sample, Mill, Q_, U_
from fibomat.shapes import Line
from fibomat import raster_styles
from fibomat.default_backends import SpotListBackend

# create a Sample class object with optional description
sample = Sample('Useful description here')

# add a site to the sample with cente = (0, 0) and field of view of (10, 10)
site = sample.create_site(dim_position=([0, 0], U_('µm')), dim_fov=([10, 10], U_('µm')))  # '%*µm*)'

# create a Pattern with a Line shape and add it to the site
site.create_pattern(
    dim_shape=(Line((-5, 0), (5, 0)), U_('µm')),
    shape_mill=Mill(dwell_time=Q_('5 ms'), repeats=1),
    raster_style=raster_styles.one_d.Linear(pitch=Q_('1 nm'))
)

# export a rasterized version of the pattern as text file in a pre-defined (but editable) format. See docs for details.
sample.export(SpotListBackend).save('pattern.txt')

# plot the pattern
sample.plot()

License

The source code is licensed under the GNU General Public License v3.0. This includes everything besides the 'docs' folder and its content in the git repository. See LICENSE.txt for a copy of the license.

The documentation is licensed under the Creative Commons Attribution 4.0 International. This includes everything in the 'docs' folder in the git repository and the documentation hosted at https://fib-o-mat.readthedocs.io/. A copy of the license is to be found at 'docs/LICENSE_DOCS.txt' in the git repository.

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

fibomat-0.3.2.tar.gz (122.1 kB view hashes)

Uploaded Source

Built Distributions

fibomat-0.3.2-cp38-cp38-win_amd64.whl (303.8 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

fibomat-0.3.2-cp38-cp38-win32.whl (280.9 kB view hashes)

Uploaded CPython 3.8 Windows x86

fibomat-0.3.2-cp38-cp38-manylinux2014_x86_64.whl (319.2 kB view hashes)

Uploaded CPython 3.8

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