FEBID 3D Algorithm for Stream File Generation (F3AST)
Project description
FEBID 3D Algorithm for Stream File generation (F3AST)
If you use f3ast in any work or publication, we kindly ask you to cite:
Installation
The package can be installed with pip:
pip install f3ast
To install the most up-to-date version and get the example notebooks, clone the repository from github:
git clone git@github.com:Skoricius/f3ast.git
pip install -e f3ast --user
Documentation
See readthedocs for detailed documentation and examples.
Possible issues
This library was tested with Python 3.8.5. Earlier versions of Python might not have all the libraries required to make this project work. To make sure you are using the correct version of Python without affecting your base environment, use conda environments:
conda create -n f3ast python=3.8.5
conda activate f3ast
And then install the library in the newly created environment.
On MACs, there might be an issue with numba threading. It has something to do with tbb
library. If someone finds out a fix, please let me know.
A simple workaround is to comment out line 9 in slicing.py
which might make the slicing slightly slower.
Building the documentation
Make sure the project is installed. Also, install pandoc with apt install pandoc
. Navigate to ./docs
folder of the cloned directory. In Linux or with Git Bash (on Windows) run:
make html
If using Windows without Git Bash, first install make
. Easiest is to open Powershell and install chocolatey. Then run:
choco install make
make html
Open ./docs/_build/html/index.html
.
Usage
Microscope settings are defined in settings.hjson
file and contain information about the microscope and basic slicing settings.
In the following example, we load the structure and the settings, define the deposit model we are using, and build the stream.
# load the settings
settings = load_settings()
# get the structure from a file
struct = Structure.from_file('testing/FunktyBall.stl', **settings["structure"])
struct.rescale(2) # make the structure a bit bigger
# define the model
gr = 0.1
k = 1
sigma = 4
model = DDModel(struct, gr, k, sigma, **settings['dd_model'])
# Solve for dwells and build the stream
stream_builder, dwell_solver = StreamBuilder.from_model(model, **settings['stream_builder'])
dwell_solver.print_total_time()
# save the streamfile and the build information
save_path = 'funky_ball'
strm = stream_builder.get_stream()
strm.write(save_path)
save_build(save_path, dwell_solver, stream_builder)
For a full step-by-step example, see examples/building.ipynb
.
For acquiring calibration parameters, see examples/calibration.ipynb
.
TO DO
- progressive slicing
- filling in the STL (this should only be done in get_eqd function and should be relatively straightforward)
- improved testing and CI
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file f3ast-1.0.1.tar.gz
.
File metadata
- Download URL: f3ast-1.0.1.tar.gz
- Upload date:
- Size: 1.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f9d766c69a833d3b102ac312d48d33d3a86f01e983511b084c261c991053a77 |
|
MD5 | b97d26117d0b671959587a81479e7c29 |
|
BLAKE2b-256 | 77258baa999c0ec7e85f186ec34bbd88de622be0b483e9039a6f6e84c1f3964a |
File details
Details for the file f3ast-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: f3ast-1.0.1-py3-none-any.whl
- Upload date:
- Size: 37.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e462267f6445e8006eea6c0bf6990b4297eaf3ac2414b586bafc630a6734ba13 |
|
MD5 | b141a254eb5c02079d10727455f1e03e |
|
BLAKE2b-256 | 631628894504967f640bd832d09abcb511dce6af646ab23747d6c32699e326a2 |