{"id":26457835,"url":"https://github.com/ivankuznetsoff/vectorpsfs.jl","last_synced_at":"2025-09-16T09:51:54.998Z","repository":{"id":268448332,"uuid":"904364616","full_name":"IvanKuznetsoff/VectorPSFs.jl","owner":"IvanKuznetsoff","description":"Julia package for vectorial point spread functions simulation","archived":false,"fork":false,"pushed_at":"2025-03-04T09:45:47.000Z","size":467,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-22T06:33:58.252Z","etag":null,"topics":["julia","psf"],"latest_commit_sha":null,"homepage":"https://ivankuznetsoff.github.io/VectorPSFs.jl/","language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IvanKuznetsoff.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-12-16T18:40:26.000Z","updated_at":"2025-03-10T13:07:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"0edaf6c7-a091-4296-95ad-7ea7bd7349d4","html_url":"https://github.com/IvanKuznetsoff/VectorPSFs.jl","commit_stats":null,"previous_names":["ivankuznetsoff/vectorpsfs.jl"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/IvanKuznetsoff/VectorPSFs.jl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IvanKuznetsoff%2FVectorPSFs.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IvanKuznetsoff%2FVectorPSFs.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IvanKuznetsoff%2FVectorPSFs.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IvanKuznetsoff%2FVectorPSFs.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IvanKuznetsoff","download_url":"https://codeload.github.com/IvanKuznetsoff/VectorPSFs.jl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IvanKuznetsoff%2FVectorPSFs.jl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275399182,"owners_count":25457779,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-16T02:00:10.229Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["julia","psf"],"created_at":"2025-03-18T23:52:41.202Z","updated_at":"2025-09-16T09:51:54.933Z","avatar_url":"https://github.com/IvanKuznetsoff.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VectorPSFs\n\n[![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://ivankuznetsoff.github.io/VectorPSFs.jl/)\n[![Build Status](https://github.com/IvanKuznetsoff/VectorPSFs.jl/actions/workflows/CI.yml/badge.svg?branch=main)](https://github.com/IvanKuznetsoff/VectorPSFs.jl/actions/workflows/CI.yml?query=branch%3Amain)\n[![Coverage](https://codecov.io/gh/IvanKuznetsoff/VectorPSFs.jl/branch/main/graph/badge.svg)](https://codecov.io/gh/IvanKuznetsoff/VectorPSFs.jl)\n\n## Overview\n\n**VectorPSFs.jl** provides a comprehensive toolkit for **computing fully vectorial point spread functions (PSFs)** under various conditions, including the presence or absence of **aberrations** induced by plane-parallel plates. The package features specialized optimizations for modeling the PSFs of **NV centers** and supports **quantitative aberration analysis** by computing Strehl ratios and identifying plate thicknesses that preserve near-diffraction-limited performance ($\\mathrm{Strehl} \u003e 0.8$).\n\n## Features\n\n- **PSF Computations**:  \n  The `PSF(...)` function handles scenarios involving normal or tilted incidence, immersion objectives, and spectral weighting. Users can specify `(x, y, z)` coordinates in micrometers, a chosen objective, and optionally a plane-parallel plate with a tilt angle.\n\n- **Aberrations**:  \n  Refractive-index mismatched transparent materials situated in the path of converging rays introduce **aberrations**. This package enables the computation of aberrated PSFs using a fully vectorial approach.\n\n- **Plane-Parallel Plate Materials**:  \n  Create `PlaneParallelPlate` objects for various materials, including diamond, fused silica, BK7 (borosilicate crown), magnesium fluoride, sapphire, or custom transparent plates whose refractive indices are given by Sellmeier equation.\n\n- **Aberration Quantification**:  \n  Compute **Strehl ratios** across defocus ranges or tilt scenarios, and automate the search for plate thicknesses that ensure near-diffraction-limited performance (\\(\\mathrm{Strehl} \\geq 0.8\\)).\n\n- **Microscope Objective Conditioning**:  \n  Define `Objective` structures to capture parameters such as focal length, numerical aperture, refractive index, and immersion medium (e.g., air, oil).\n\n- **NV-Center Integration**:  \n  Includes a specialized workflow for NV photoluminescence, utilizing spline-interpolated spectral data to compute polychromatic PSFs at different wavelengths.\n\nFor installation and setup instructions, see the [Document](https://ivankuznetsoff.github.io/VectorPSFs.jl/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivankuznetsoff%2Fvectorpsfs.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fivankuznetsoff%2Fvectorpsfs.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivankuznetsoff%2Fvectorpsfs.jl/lists"}