{"id":20613064,"url":"https://github.com/sun-data/optika","last_synced_at":"2025-04-15T07:10:40.789Z","repository":{"id":185132807,"uuid":"672759904","full_name":"sun-data/optika","owner":"sun-data","description":"A Python library for simulating optical systems, similar to Zemax","archived":false,"fork":false,"pushed_at":"2025-04-07T15:55:56.000Z","size":4315,"stargazers_count":16,"open_issues_count":4,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-07T16:28:00.829Z","etag":null,"topics":["astropy","image-simulation","named-arrays","numpy","optics","optika","python","raytracing","zemax"],"latest_commit_sha":null,"homepage":"https://optika.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sun-data.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2023-07-31T05:28:07.000Z","updated_at":"2025-03-29T11:06:23.000Z","dependencies_parsed_at":"2023-07-31T20:52:49.091Z","dependency_job_id":"e9589855-9597-4c3e-a66c-2928fdeb5c11","html_url":"https://github.com/sun-data/optika","commit_stats":{"total_commits":387,"total_committers":1,"mean_commits":387.0,"dds":0.0,"last_synced_commit":"2ec4c3f54a0553250fb0f6a79e56c8db78b72d07"},"previous_names":["byrdie/optika","sun-data/optika"],"tags_count":30,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sun-data%2Foptika","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sun-data%2Foptika/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sun-data%2Foptika/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sun-data%2Foptika/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sun-data","download_url":"https://codeload.github.com/sun-data/optika/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249023725,"owners_count":21199960,"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","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":["astropy","image-simulation","named-arrays","numpy","optics","optika","python","raytracing","zemax"],"created_at":"2024-11-16T11:08:46.178Z","updated_at":"2025-04-15T07:10:40.772Z","avatar_url":"https://github.com/sun-data.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# optika\n\n[![tests](https://github.com/sun-data/optika/actions/workflows/tests.yml/badge.svg)](https://github.com/sun-data/optika/actions/workflows/tests.yml)\n[![codecov](https://codecov.io/gh/sun-data/optika/graph/badge.svg?token=tBcex8q72g)](https://codecov.io/gh/sun-data/optika)\n[![Black](https://github.com/sun-data/optika/actions/workflows/black.yml/badge.svg)](https://github.com/sun-data/optika/actions/workflows/black.yml)\n[![Ruff](https://github.com/sun-data/optika/actions/workflows/ruff.yml/badge.svg)](https://github.com/sun-data/optika/actions/workflows/ruff.yml)\n[![Documentation Status](https://readthedocs.org/projects/optika/badge/?version=latest)](https://optika.readthedocs.io/en/latest/?badge=latest)\n[![PyPI version](https://badge.fury.io/py/optika.svg)](https://badge.fury.io/py/optika)\n\nA Python library for simulating optical systems, similar to Zemax.\n\n## Installation\n\nOptika can be installed using pip:\n\n```bash\npip install optika\n```\n\n## Features\n- Sequential raytrace modeling\n- Spherical, conical and toroidal surface sag profiles\n- Ruled surfaces, constant, variable, and holographic line spacing\n- Circular, rectangular, and polygonal apertures\n- multilayer reflectivity and transmissivity\n- n-dimensional configurations of the optical system using [named-arrays](https://github.com/sun-data/named-arrays)\n- uncertainity propagation using [named-arrays](https://github.com/sun-data/named-arrays)\n\n## Example Gallery\n\nAn [example](https://optika.readthedocs.io/en/latest/_autosummary/optika.systems.SequentialSystem.html#optika.systems.SequentialSystem)\nof how to raytrace a Newtonian telescope using Optika:\n\n![Newtonian telescope example](https://optika.readthedocs.io/en/latest/_images/optika.systems.SequentialSystem_0_0.png)\n\nCompute the [reflectivity of a multilayer mirror](https://optika.readthedocs.io/en/latest/_autosummary/optika.materials.multilayer_efficiency.html#optika.materials.multilayer_efficiency)\nby specifying the materials and thicknesses of the layers.\n\n![multilayer example](https://optika.readthedocs.io/en/latest/_images/optika.materials.multilayer_efficiency_1_1.png)\n\nModel the [quantum efficiency of a backilluminated CCD](https://optika.readthedocs.io/en/latest/_autosummary/optika.sensors.quantum_efficiency_effective.html#optika.sensors.quantum_efficiency_effective)\n\n![QE example](https://optika.readthedocs.io/en/latest/_images/optika.sensors.quantum_efficiency_effective_0_1.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsun-data%2Foptika","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsun-data%2Foptika","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsun-data%2Foptika/lists"}