Skip to content

Commit

Permalink
Merge pull request #74 from MREYE-LUMC/crnh_update_cff
Browse files Browse the repository at this point in the history
Update citation information with JOSS paper
  • Loading branch information
jwmbeenakker authored Apr 5, 2024
2 parents 3280559 + a2dce68 commit e2ee036
Show file tree
Hide file tree
Showing 9 changed files with 81 additions and 92 deletions.
38 changes: 0 additions & 38 deletions .zenodo.json

This file was deleted.

69 changes: 42 additions & 27 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -1,31 +1,46 @@
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: ZOSPy
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
cff-version: "1.2.0"
authors:
- affiliation: Leiden University Medical Center
- family-names: Vught
given-names: Luc
name-particle: van
orcid: "https://orcid.org/0000-0001-8290-9071"
- family-names: Haasjes
given-names: Corné
orcid: "https://orcid.org/0000-0003-0187-4116"
- family-names: Beenakker
given-names: Jan-Willem M.
orcid: "https://orcid.org/0000-0003-0479-5587"
contact:
- family-names: Vught
given-names: Luc
name-particle: van
orcid: "https://orcid.org/0000-0001-8290-9071"
message: If you use this software, please cite our article in the
Journal of Open Source Software.
preferred-citation:
authors:
- family-names: Vught
given-names: Luc
family-names: Vught
name-particle: van
email: l.van_vught@lumc.nl
orcid: 'https://orcid.org/0000-0001-8290-9071'
- given-names: Jan-Willem
family-names: Beenakker
email: j.w.m.beenakker@lumc.nl
affiliation: Leiden University Medical Center
orcid: 'https://orcid.org/0000-0003-0479-5587'
- given-names: Corné
family-names: Haasjes
email: c.haasjes@lumc.nl
orcid: 'https://orcid.org/0000-0003-0187-4116'
affiliation: Leiden University Medical Center
identifiers:
- type: doi
value: 10.5281/zenodo.7759530
orcid: "https://orcid.org/0000-0001-8290-9071"
- family-names: Haasjes
given-names: Corné
orcid: "https://orcid.org/0000-0003-0187-4116"
- family-names: Beenakker
given-names: Jan-Willem M.
orcid: "https://orcid.org/0000-0003-0479-5587"
date-published: 2024-04-04
doi: 10.21105/joss.05756
issn: 2475-9066
issue: 96
journal: Journal of Open Source Software
publisher:
name: Open Journals
start: 5756
title: "ZOSPy: optical ray tracing in Python through OpticStudio"
type: article
url: "https://joss.theoj.org/papers/10.21105/joss.05756"
volume: 9
title: "ZOSPy: optical ray tracing in Python through OpticStudio"
repository-code: 'https://github.com/MREYE-LUMC/ZOSPy'
license: GPL-3.0
license: MIT
26 changes: 14 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,14 @@
[![Conda Version](https://img.shields.io/conda/v/conda-forge/zospy)](https://anaconda.org/conda-forge/zospy)
![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/MREYE-LUMC/ZOSPy/ci.yml)
[![Documentation Status](https://readthedocs.org/projects/zospy/badge/?version=latest)](https://zospy.readthedocs.io/en/latest/?badge=latest)
[![JOSS](https://joss.theoj.org/papers/10.21105/joss.05756/status.svg)](https://doi.org/10.21105/joss.05756)
[![Zenodo](https://zenodo.org/badge/403590410.svg)](https://zenodo.org/badge/latestdoi/403590410)

## About

Wrapper around the [Ansys Zemax OpticStudio](https://www.zemax.com/pages/opticstudio) API that provides a more pythonic and
intuitive way to interact with the [ZOS-API](https://www.zemax.com/blogs/free-tutorials/getting-started-with-zos-api)
through python using a .NET connection. It thereby allows you to do more
optics modelling with less coding.
Wrapper around the [Ansys Zemax OpticStudio](https://www.zemax.com/pages/opticstudio) API that provides a more intuitive way to interact with the
[ZOS-API](https://www.zemax.com/blogs/free-tutorials/getting-started-with-zos-api) through Python using a .NET connection, as described in [this Journal of Open Source Software paper][joss-paper].
It thereby allows you to do more optics modelling with less coding.

In addition to full access to all the OpticStudio fucntions through the ZOS-API, ZOSPy provides the following features:

Expand Down Expand Up @@ -72,14 +73,13 @@ ZOSPy is tested with the following versions of Python and Ansys Zemax OpticStudi

## Referencing

When publishing results obtained with this package, please cite the paper in which the package was first used:<br>
van Vught L, Que I, Luyten GPM and Beenakker JWM.
_Effect of anatomical differences and intraocular lens design on Negative Dysphotopsia._
JCRS: Sep 06, 2022.
[doi: [10.1097/j.jcrs.0000000000001054](https://doi.org/10.1097/j.jcrs.0000000000001054) ] [[JCRS](https://journals.lww.com/jcrs/Abstract/9900/Effect_of_anatomical_differences_and_intraocular.107.aspx)]
When publishing results obtained with this package, please cite [our paper][joss-paper]
in the Journal of Open Source Software:

If a direct reference of the package is also required, reference it using the following DOI:<br>
[![DOI](https://zenodo.org/badge/403590410.svg)](https://zenodo.org/badge/latestdoi/403590410)
> Vught, L. van, Haasjes, C. & Beenakker, J.W.M. (2024).
> ZOSPy: Optical ray tracing in Python through OpticStudio.
> Journal of Open Source Software, 9(96), 5756.
> https://doi.org/10.21105/joss.05756
## Contributing

Expand Down Expand Up @@ -221,4 +221,6 @@ Feel free to contact us for any inquiries:

- C. Haasjes ([email](mailto:c.haasjes@lumc.nl))
- J.W.M. Beenakker ([email](mailto:j.w.m.beenakker@lumc.nl))
- L. van Vught ([email](mailto:l.van_vught@lumc.nl))
- L. van Vught ([email](mailto:l.van_vught@lumc.nl))

[joss-paper]: https://joss.theoj.org/papers/10.21105/joss.05756
11 changes: 7 additions & 4 deletions examples/Escudero-Sanz eye model/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,21 @@
This example shows how to create and analyze a wide-angle eye model described in the paper _[Off-axis aberrations of a wide-angle schematic eye model](https://doi.org/10.1364/JOSAA.16.001881)_ by I. Escudero-Sanz and R. navarro.

## Included functionalities

* _Sequential mode_:
- Usage of `zospy.solvers.material_model()` to model the refractive index of the elements of the eye.
- Usage of `zospy.analyses.viewers.viewer_3d` and `zospy.analyses.viewers.shaded_model()` to open viewers.
- Usage of `zospy.analyses.psf.huygens_psf()` to perform a Huygens PSF analysis.

## Citation
Next to citing ZOSPy, please also cite the following paper when using the data provided in this example:

I. Escudero-Sanz and R. Navarro, "Off-axis aberrations of a wide-angle schematic eye model," J. Opt. Soc. Am. A 16, 1881-1891 (1999). doi: [10.1364/JOSAA.16.001881](https://doi.org/10.1364/JOSAA.16.001881).

Next to [citing ZOSPy](../../README.md#referencing), please also cite the following paper when using the data provided in this example:

> Escudero-Sanz, I. & Navarro, R. (1999).
> Off-axis aberrations of a wide-angle schematic eye model.
> Journal of the Optical Society of America A, 16(8), 1881-1891.
> https://doi.org/10.1364/JOSAA.16.001881
## Warranty and liability
The examples are provided 'as is'. There is no warranty and rights cannot be derived from them, as is also stated in the general license of this repository.

The examples are provided 'as is'. There is no warranty and rights cannot be derived from them, as is also stated in the general license of this repository.
3 changes: 2 additions & 1 deletion examples/Polarization Prism/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@
This example shows how to perform and subsequently plot a polarization analysis in a prisim with total internal reflection. [The provided iPython Notebook](polarization_prism_example.ipynb) is dependent on the example file _"[Prism using total internal reflection.zmx](Prism%20using%20total%20internal%20reflection.zmx)"_, which is also supplied.

## Included functionalities

* _Sequential mode_:
- Usage of `zospy.analyses.polarization.transmission()` to perform a polarization transmission analysis.
- Usage of `zospy.analyses.polarization.polarization_pupil_map` to calculate the polarization pupil map.


## Warranty and liability

The examples are provided 'as is'. There is no warranty and rights cannot be derived from them, as is also stated in the general license of this repository.

3 changes: 0 additions & 3 deletions examples/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,15 @@ Multiple examples are available for ZOSPy, showing various use-cases. Each examp
* **[Escudero-Sanz eye model](Escudero-Sanz%20eye%20model)** _(Sequential mode)_

Shows how to create and analyze the eye model described in the paper _[Off-axis aberrations of a wide-angle schematic eye model](https://doi.org/10.1364/JOSAA.16.001881)_ by I. Escudero-Sanz, et al.


* **[Polarization Prism](Polarization%20Prism)** _(Sequential mode)_

Shows how to perform and subsequently plot a polarization analysis in a prisim with total internal reflection.


* **[Ray trace Double Gauss](Ray%20trace%20Double%20Gauss)** _(Sequential mode)_

Shows to perform and subsequently plot single ray traces and ray fan analyses in a Double Gauss lens.


* **[Retinal illumination in pseudophakic eyes](Retinal%20illumination%20in%20pseudophakic%20eyes%20with%20and%20without%20Negative%20Dysphotopsia)** _(Non-sequential mode)_

Shows how to simulate the retinal illumination in non-sequential eye models as described in the paper _[Effect of anatomical differences and intraocular lens design on Negative
Expand Down
2 changes: 2 additions & 0 deletions examples/Ray trace Double Gauss/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@
This example shows how to determine, perform and subsequently plot single ray traces and ray fan analyses in a Double Gauss lens. [The provided code](Ray%20trace%20double%20gauss.py) is dependent on the example file _"Double Gauss 28 degree field.zmx"_ as provided by OpticStudio.

## Included functionalities

* _Sequential mode_:
- Usage of `zospy.analyses.raysandspots.single_ray_trace()` to perform a single ray trace.
- Usage of `zospy.analyses.raysandspots.ray_fan()` to perfrom a ray fan analysis.

## Warranty and liability

The examples are provided 'as is'. There is no warranty and rights cannot be derived from them, as is also stated in the general license of this repository.

Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,16 @@ This example shows how to determine the peripheral retinal illumination in model
- Reading out detector data from a `CAD Part:STL` surface.

## Citation
Next to citing ZOSPy, please also cite the following paper when using this example or the data provided with this example:

van Vught L, Que I, Luyten GPM and Beenakker JWM.
_Effect of anatomical differences and intraocular lens design on Negative Dysphotopsia._
JCRS: Sep 06, 2022.<br>
[doi: [10.1097/j.jcrs.0000000000001054](https://doi.org/10.1097/j.jcrs.0000000000001054) ] [[JCRS](https://journals.lww.com/jcrs/Abstract/9900/Effect_of_anatomical_differences_and_intraocular.107.aspx)]
Next to [citing ZOSPy](../../README.md#referencing), please also cite the following paper when using this example or the data provided within this example:

> Vught, L. van, Que, I., Luyten, G.P.M. & Beenakker, J.W.M. (2022).
> Effect of anatomical differences and intraocular lens design on Negative Dysphotopsia.
> Journal of Cataract & Refractive Surgery, 48(12), 1446-1452
> https://doi.org/10.1097/j.jcrs.0000000000001054
## Warranty and liability

The presented code and data are made available for research purposes only. There is no warranty and rights can not be
derived from them, as is also stated in the general license of this repository.

9 changes: 7 additions & 2 deletions examples/Simple thick lens/README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,17 @@
# Example: Simple thick lens

This example shows how to create and analyze a simple thick lens as described in the paper [ZOSPy: optical ray tracing in Python through OpticStudio](../../Paper). The code resembles the example of the paper with the addition of plotting the analysis results.
This example shows how to create and analyze a simple thick lens as described in the paper
[ZOSPy: optical ray tracing in Python through OpticStudio](https://joss.theoj.org/papers/10.21105/joss.05756).
The code resembles the example of the paper with the addition of plotting the analysis results.

## Included functionalities

* _Sequential mode_:
- Building a simple sequential optical system.
- Usage of `zospy.analyses.mtf.fft_through_focus_mtf` to calculate the FFT through focus MTF.
- Usage of `zospy.analyses.psf.huygens_psf()` to perform a Huygens PSF analysis.

## Warranty and liability
The examples are provided 'as is'. There is no warranty and rights cannot be derived from them, as is also stated in the general license of this repository.

The examples are provided 'as is'. There is no warranty and rights cannot be derived from them, as is also stated in the
general license of this repository.

0 comments on commit e2ee036

Please sign in to comment.