swissvamyknife.jl
Julia package for Light Based Tomographic Volumetric Additive Manufacturing.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
✓DOI references
Found 1 DOI reference(s) in README -
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.8%) to scientific vocabulary
Keywords
Repository
Julia package for Light Based Tomographic Volumetric Additive Manufacturing.
Basic Info
- Host: GitHub
- Owner: EPFL-LAPD
- License: mit
- Language: Julia
- Default Branch: main
- Homepage: https://epfl-lapd.github.io/SwissVAMyKnife.jl/dev
- Size: 1.85 MB
Statistics
- Stars: 7
- Watchers: 1
- Forks: 2
- Open Issues: 2
- Releases: 6
Topics
Metadata Files
README.md
SwissVAMyKnife.jl
Tomographic Volumetric Additive Manufacturing is a novel 3D printing technique which is based on a tomographic principle. Light is illuminated from different angles onto a glass vial which contains a photosensitive resin. Once a voxel in the resin receives enough light, polymerization starts.
This toolbox is developed to solve the optimization challenge around TVAM. What are the required patterns on the projector such object voxels polymerize and not-object voxels stay unpolymerized?
This package is written in Julia Lang and features CUDA and multithreaded CPU support. CUDA can accelerate reconstruction typically 10-20x times.
It runs on Windows, Linux and macOS!
Background
The general principle behind TVAM. a) a set of 2D projection patterns is
propagated into space. b) shows how a slice of the pattern propagates through the
volume and c) how the incoherent sum results in a total energy dose. d) the object
polymerizes if it reaches an energy threshold. e) polymerization threshold results in a
printed slice. f) is the intensity histogram of b). g) is the 3D view of the Benchy boat.
h) is the general setup.
Features
- 3D parallel Radon transform for ray optical simulation
- rigorous simulation of absorption and air -> vial -> resin refraction
- CUDA acceleration -> high performance
- 3D coherent wave optical optimization (see this publication for details and limitations). Note this has been only theoretical demonstrated and experimentally not validated.
Installation
The installation and running of the examples is very simple. Install the most recent Julia version. Then open the REPL and run: ```julia julia> using Pkg
julia> Pkg.add("SwissVAMyKnife") ```
Examples
You can run the examples locally. Download this repository and then do the following in your REPL: ```julia julia> cd("examples/")
julia> using Pkg; Pkg.activate("."); Pkg.instantiate()
Activating project at ~/.julia/dev/SwissVAMyKnife.jl/examples
julia> using Pluto; Pluto.run() ``` Dependencies (including CUDA) are automatically installed!
Overview of the examples
Here a short overview of the example: * A simple 2D example to showcase abilites to model glass vial refraction and without refraction * Here a large 3D example based on ray optics. It is compared with the wave optical propagator. * A large 3D example based on the wave optical optimization * A real example of our setup where the DMD is smaller than the glass vial.
Other packages
There is the Python based VAM Toolbox and LDCD-VAM. In terms of functionality, they also offer a ray based methods including absorption. Wave optical methods are not offered.
Development
File an issue on GitHub if you encounter any problems. You can also join my conference room. Give me a minute to join! If you need any help regarding TVAM in general, don't hesistate to contact us!
Citation
If you use this software in academic work, please consider citing this publication:
bibtex
@article{Wechsler:24,
author = {Felix Wechsler and Carlo Gigli and Jorge Madrid-Wolff and Christophe Moser},
journal = {Opt. Express},
keywords = {3D printing; Computed tomography; Liquid crystal displays; Material properties; Ray tracing; Refractive index},
number = {8},
pages = {14705--14712},
publisher = {Optica Publishing Group},
title = {Wave optical model for tomographic volumetric additive manufacturing},
volume = {32},
month = {Apr},
year = {2024},
url = {https://opg.optica.org/oe/abstract.cfm?URI=oe-32-8-14705},
doi = {10.1364/OE.521322},
}
Owner
- Name: EPFL-LAPD
- Login: EPFL-LAPD
- Kind: organization
- Repositories: 1
- Profile: https://github.com/EPFL-LAPD
Citation (CITATION.bib)
@article{Wechsler:24,
author = {Felix Wechsler and Carlo Gigli and Jorge Madrid-Wolff and Christophe Moser},
journal = {Opt. Express},
keywords = {3D printing; Computed tomography; Liquid crystal displays; Material properties; Ray tracing; Refractive index},
number = {8},
pages = {14705--14712},
publisher = {Optica Publishing Group},
title = {Wave optical model for tomographic volumetric additive manufacturing},
volume = {32},
month = {Apr},
year = {2024},
url = {https://opg.optica.org/oe/abstract.cfm?URI=oe-32-8-14705},
doi = {10.1364/OE.521322},
}
GitHub Events
Total
- Watch event: 2
- Push event: 5
- Pull request event: 2
- Fork event: 2
- Create event: 2
Last Year
- Watch event: 2
- Push event: 5
- Pull request event: 2
- Fork event: 2
- Create event: 2
Packages
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 6
juliahub.com: SwissVAMyKnife
Julia package for Light Based Tomographic Volumetric Additive Manufacturing.
- Homepage: https://epfl-lapd.github.io/SwissVAMyKnife.jl/dev
- Documentation: https://docs.juliahub.com/General/SwissVAMyKnife/stable/
- License: MIT
-
Latest release: 0.2.3
published about 2 years ago
Rankings
Dependencies
- actions/checkout v3 composite
- actions/checkout v2 composite
- codecov/codecov-action v4 composite
- julia-actions/cache v1 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-docdeploy releases/v1 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v1 composite
- JuliaRegistries/TagBot v1 composite