napari-stl-exporter

Exports label images to 3D-printable stl files.


    Learn more:

    License PyPI Python Version tests codecov

    This plugin allows to import and export surface data in Napari to common file formats. The generated file formats can be read by other common applications, and - in particular - allow 3D-printing.

    Usage

    This section explains which data can be written with the napari-stl-exported and how you can do so.

    Supported file formats:

    Currently supported file formats for export include and rely on the vedo io API.

    Supported Napari layers:

    Currently supported Napari layer types are:

    Import/export

    Interactively: To export the data, simply save the selected layer with File > Save Selected Layer(s) and specify the file ending to be some_file.[file_ending], for supported file types, see above. Similarly, supported file types can be imported into Napari with File >

    From code: A Napari Label layer can be added to the viewer as described in the napari reference with this code snippet:

    import napari
    import numpy as np
    
    # Load and binarize image
    label_image = np.zeros((100, 100, 100), dtype=int)
    label_image[25:75, 25:75, 25:75] = 1
    
    # Add data to viewer
    viewer = napari.Viewer()
    label_layer = viewer.add_labels(data, name='3D object')
    
    # save the layer as 3D printable file to disc
    napari.save_layers(r'/some/path/test.stl', [label_layer])

    Sample data

    You can create sample label/surface data for export using the built-in functions as shown here:

    ...or from code with

    import napari_stl_exporter
    
    pyramid = napari_stl_exporter.make_pyramid_surface()
    

    3D-printing

    To actually send your object to a 3D-printer, it has to be further converted to the .gcode format with a Slicer program. The latter convert the 3D object to machine-relevant parameters (printing detail, motor trajectories, etc). Popular slicers are:

    Note: You can also upload the STL file to github.com and interact with it in the browser:


    This napari plugin was generated with Cookiecutter using with @napari's cookiecutter-napari-plugin template.

    Installation

    You can install napari-stl-exporter via pip:

    pip install napari-stl-exporter

    Contributing

    Contributions are very welcome. Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.

    License

    Distributed under the terms of the BSD-3 license, "napari-stl-exporter" is free and open source software

    Issues

    If you encounter any problems, please file an issue along with a detailed description or post to image.sc and tag El_Pollo_Diablo

    Version:

    • 0.0.11

    Release date:

    • 02 August 2022

    First released:

    • 06 October 2021

    License:

    • BSD-3-Clause

    Supported data:

    • Information not submitted

    GitHub activity:

    • Stars: 0
    • Forks: 0
    • Issues + PRs: 0

    Python versions supported:

    Operating system:

    Requirements:

    • napari
    • napari-plugin-engine (>=0.1.4)
    • numpy
    • scikit-image
    • vedo
    • npe2

    Sign up to receive updates