swissvamyknife.jl

Julia package for Light Based Tomographic Volumetric Additive Manufacturing.

https://github.com/epfl-lapd/swissvamyknife.jl

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

3dprinting julia
Last synced: 9 months ago · JSON representation ·

Repository

Julia package for Light Based Tomographic Volumetric Additive Manufacturing.

Basic Info
Statistics
  • Stars: 7
  • Watchers: 1
  • Forks: 2
  • Open Issues: 2
  • Releases: 6
Topics
3dprinting julia
Created over 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

SwissVAMyKnife.jl

CI codecov Documentation for stable version Documentation for development version

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

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.

  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 9.6%
Average: 24.3%
Dependent packages count: 38.9%
Last synced: 10 months ago

Dependencies

.github/workflows/CI.yml actions
  • 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
.github/workflows/CompatHelper.yml actions
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite