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
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.4%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: marcsgil
  • License: mit
  • Language: Julia
  • Default Branch: master
  • Size: 21.9 MB
Statistics
  • Stars: 8
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 14
Created almost 3 years ago · Last pushed 7 months ago
Metadata Files
Readme License Citation

README.md

StructuredLight.jl

CI

A comprehensive Julia package for simulating, manipulating, and visualizing spatially structured light beams. StructuredLight.jl provides efficient tools for paraxial beam propagation, including specialized functions for generating structured modes, simulating optical elements, and creating computer-generated holograms for spatial light modulators.

Features

  • Beam Profiles: Generate Laguerre-Gauss and Hermite-Gauss modes, diagonal Hermite-Gauss modes, and various aperture shapes
  • Free Space Propagation: Simulate beam propagation using fast Fourier transforms
  • Nonlinear Propagation: Kerr effect simulation for nonlinear media
  • Computer-Generated Holograms: Create phase patterns for spatial light modulators with multiple algorithms
  • Phase Modulation: Apply lenses, tilted lenses, and aberration correction using Zernike polynomials
  • Linear Combinations: Efficiently compute superpositions of structured modes
  • GPU Acceleration: Full CUDA support for high-performance computations
  • Visualization: Comprehensive plotting tools via Makie.jl extension

Installation

julia using Pkg Pkg.add("StructuredLight")

Quick Start

```julia using StructuredLight

Create a spatial grid

rs = LinRange(-5, 5, 256)

Generate fundamental Gaussian mode

E0 = lg(rs, rs)

Visualize the beam intensity

visualize(abs2.(E0))

Propagate through free space

Epropagated = freepropagation(E0, rs, rs, 1.0) ```

Advanced Examples

GPU Acceleration

```julia using CUDA

Transfer to GPU for faster computation

E0gpu = lg(rs, rs) |> cu Epropagated = freepropagation(E0gpu, rs, rs, 1.0) ```

Computer-Generated Holograms

```julia

Create a hologram for an SLM

targetfield = lg(rs, rs, p=1, l=2) # LG mode hologram = generatehologram(target_field, 255, 20, 20) ```

Compatibility

Related Packages

Owner

  • Login: marcsgil
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
title: StructuredLight.jl
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Marcos
    family-names: Oliveira
    email: marcosgildeoliveira@gmail.com
    affiliation: UFF
    orcid: 'https://orcid.org/0009-0006-4225-8706'
identifiers:
  - type: url
    value: 'https://github.com/marcsgil/StructuredLight.jl'
    description: GitHub Repository

GitHub Events

Total
  • Create event: 7
  • Commit comment event: 6
  • Release event: 3
  • Watch event: 1
  • Delete event: 6
  • Issue comment event: 4
  • Push event: 17
  • Pull request review event: 1
  • Pull request event: 6
Last Year
  • Create event: 7
  • Commit comment event: 6
  • Release event: 3
  • Watch event: 1
  • Delete event: 6
  • Issue comment event: 4
  • Push event: 17
  • Pull request review event: 1
  • Pull request event: 6

Packages

  • Total packages: 1
  • Total downloads:
    • julia 2 total
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 13
juliahub.com: StructuredLight
  • Versions: 13
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 2 Total
Rankings
Dependent repos count: 9.8%
Dependent packages count: 38.3%
Average: 42.3%
Forks count: 54.6%
Stargazers count: 66.5%
Last synced: 6 months ago