PyOptik 1.3.0.post0__tar.gz → 1.4.0.post0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/.gitignore +3 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PKG-INFO +49 -27
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/__init__.py +3 -1
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/_version.py +2 -2
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/sellmeier_class.py +22 -21
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/tabulated_class.py +17 -13
- pyoptik-1.4.0.post0/PyOptik/utils.py +171 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik.egg-info/PKG-INFO +49 -27
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik.egg-info/SOURCES.txt +62 -6
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/README.rst +48 -22
- pyoptik-1.4.0.post0/docs/examples/create_sellmeier_file.py +32 -0
- pyoptik-1.4.0.post0/docs/examples/create_tabulated_file.py +39 -0
- pyoptik-1.4.0.post0/docs/examples/download_yml_file.py +22 -0
- pyoptik-1.4.0.post0/docs/images/example_bk7.png +0 -0
- pyoptik-1.4.0.post0/docs/source/code.rst +60 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/source/conf.py +1 -0
- pyoptik-1.4.0.post0/docs/source/gallery/create_sellmeier_file.ipynb +43 -0
- pyoptik-1.4.0.post0/docs/source/gallery/create_sellmeier_file.py +32 -0
- pyoptik-1.4.0.post0/docs/source/gallery/create_sellmeier_file.py.md5 +1 -0
- pyoptik-1.4.0.post0/docs/source/gallery/create_sellmeier_file.rst +107 -0
- pyoptik-1.4.0.post0/docs/source/gallery/create_sellmeier_file_codeobj.pickle +0 -0
- pyoptik-1.4.0.post0/docs/source/gallery/create_tabulated_file.ipynb +43 -0
- pyoptik-1.4.0.post0/docs/source/gallery/create_tabulated_file.py +39 -0
- pyoptik-1.4.0.post0/docs/source/gallery/create_tabulated_file.py.md5 +1 -0
- pyoptik-1.4.0.post0/docs/source/gallery/create_tabulated_file.rst +114 -0
- pyoptik-1.4.0.post0/docs/source/gallery/create_tabulated_file_codeobj.pickle +0 -0
- pyoptik-1.4.0.post0/docs/source/gallery/download_yml_file.ipynb +43 -0
- pyoptik-1.4.0.post0/docs/source/gallery/download_yml_file.py +22 -0
- pyoptik-1.4.0.post0/docs/source/gallery/download_yml_file.py.md5 +1 -0
- pyoptik-1.4.0.post0/docs/source/gallery/download_yml_file.rst +96 -0
- pyoptik-1.4.0.post0/docs/source/gallery/download_yml_file_codeobj.pickle +0 -0
- pyoptik-1.4.0.post0/docs/source/gallery/images/sphx_glr_create_sellmeier_file_001.png +0 -0
- pyoptik-1.4.0.post0/docs/source/gallery/images/sphx_glr_create_tabulated_file_001.png +0 -0
- pyoptik-1.4.0.post0/docs/source/gallery/images/sphx_glr_download_yml_file_001.png +0 -0
- pyoptik-1.4.0.post0/docs/source/gallery/images/sphx_glr_plot_bk7_001.png +0 -0
- pyoptik-1.4.0.post0/docs/source/gallery/images/sphx_glr_plot_sf5_001.png +0 -0
- pyoptik-1.4.0.post0/docs/source/gallery/images/sphx_glr_plot_silica_001.png +0 -0
- pyoptik-1.4.0.post0/docs/source/gallery/images/sphx_glr_plot_silver_001.png +0 -0
- pyoptik-1.4.0.post0/docs/source/gallery/images/sphx_glr_plot_water_001.png +0 -0
- pyoptik-1.4.0.post0/docs/source/gallery/images/thumb/sphx_glr_create_sellmeier_file_thumb.png +0 -0
- pyoptik-1.4.0.post0/docs/source/gallery/images/thumb/sphx_glr_create_tabulated_file_thumb.png +0 -0
- pyoptik-1.4.0.post0/docs/source/gallery/images/thumb/sphx_glr_download_yml_file_thumb.png +0 -0
- pyoptik-1.4.0.post0/docs/source/gallery/images/thumb/sphx_glr_plot_bk7_thumb.png +0 -0
- pyoptik-1.4.0.post0/docs/source/gallery/images/thumb/sphx_glr_plot_sf5_thumb.png +0 -0
- pyoptik-1.4.0.post0/docs/source/gallery/images/thumb/sphx_glr_plot_silica_thumb.png +0 -0
- pyoptik-1.4.0.post0/docs/source/gallery/images/thumb/sphx_glr_plot_silver_thumb.png +0 -0
- pyoptik-1.4.0.post0/docs/source/gallery/images/thumb/sphx_glr_plot_water_thumb.png +0 -0
- pyoptik-1.4.0.post0/docs/source/gallery/index.rst +175 -0
- pyoptik-1.4.0.post0/docs/source/gallery/plot_bk7.ipynb +43 -0
- pyoptik-1.4.0.post0/docs/source/gallery/plot_bk7.py +21 -0
- pyoptik-1.4.0.post0/docs/source/gallery/plot_bk7.py.md5 +1 -0
- pyoptik-1.4.0.post0/docs/source/gallery/plot_bk7.rst +83 -0
- pyoptik-1.4.0.post0/docs/source/gallery/plot_bk7_codeobj.pickle +0 -0
- pyoptik-1.4.0.post0/docs/source/gallery/plot_sf5.ipynb +43 -0
- pyoptik-1.4.0.post0/docs/source/gallery/plot_sf5.py +21 -0
- pyoptik-1.4.0.post0/docs/source/gallery/plot_sf5.py.md5 +1 -0
- pyoptik-1.4.0.post0/docs/source/gallery/plot_sf5.rst +84 -0
- pyoptik-1.4.0.post0/docs/source/gallery/plot_sf5_codeobj.pickle +0 -0
- pyoptik-1.4.0.post0/docs/source/gallery/plot_silica.ipynb +43 -0
- pyoptik-1.4.0.post0/docs/source/gallery/plot_silica.py +21 -0
- pyoptik-1.4.0.post0/docs/source/gallery/plot_silica.py.md5 +1 -0
- pyoptik-1.4.0.post0/docs/source/gallery/plot_silica.rst +84 -0
- pyoptik-1.4.0.post0/docs/source/gallery/plot_silica_codeobj.pickle +0 -0
- pyoptik-1.4.0.post0/docs/source/gallery/plot_silver.ipynb +43 -0
- pyoptik-1.4.0.post0/docs/source/gallery/plot_silver.py +22 -0
- pyoptik-1.4.0.post0/docs/source/gallery/plot_silver.py.md5 +1 -0
- pyoptik-1.4.0.post0/docs/source/gallery/plot_silver.rst +85 -0
- pyoptik-1.4.0.post0/docs/source/gallery/plot_silver_codeobj.pickle +0 -0
- pyoptik-1.4.0.post0/docs/source/gallery/plot_water.ipynb +43 -0
- pyoptik-1.4.0.post0/docs/source/gallery/plot_water.py +22 -0
- pyoptik-1.4.0.post0/docs/source/gallery/plot_water.py.md5 +1 -0
- pyoptik-1.4.0.post0/docs/source/gallery/plot_water.rst +85 -0
- pyoptik-1.4.0.post0/docs/source/gallery/plot_water_codeobj.pickle +0 -0
- pyoptik-1.4.0.post0/docs/source/gallery/sg_execution_times.rst +27 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/source/index.rst +0 -1
- pyoptik-1.4.0.post0/docs/source/references.rst +4 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/pyproject.toml +0 -4
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/tests/test_sellmeier.py +0 -9
- pyoptik-1.4.0.post0/tests/test_utils.py +75 -0
- pyoptik-1.3.0.post0/PyOptik/data/sellmeier/test.yml +0 -14
- pyoptik-1.3.0.post0/PyOptik/data/tabulated/test.yml +0 -14
- pyoptik-1.3.0.post0/PyOptik/data/test.yml +0 -14
- pyoptik-1.3.0.post0/PyOptik/utils.py +0 -47
- pyoptik-1.3.0.post0/developments/testing.py +0 -12
- pyoptik-1.3.0.post0/docs/source/code.rst +0 -16
- pyoptik-1.3.0.post0/docs/source/gallery/index.rst +0 -103
- pyoptik-1.3.0.post0/docs/source/gallery/sg_execution_times.rst +0 -19
- pyoptik-1.3.0.post0/docs/source/references.rst +0 -4
- pyoptik-1.3.0.post0/tests/test_extra.py +0 -12
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/.github/dependabot.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/.github/workflows/coverage.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/.github/workflows/deploy_workflow.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/.readthedocs.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/LICENSE +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/base_class.py +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/__init__.py +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/sellmeier/BAK1.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/sellmeier/BK7.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/sellmeier/SF5.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/sellmeier/ZBLAN.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/sellmeier/__init__.py +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/sellmeier/argon.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/sellmeier/crown.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/sellmeier/default.py +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/sellmeier/flint.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/sellmeier/fluorine_doped_silica_1%.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/sellmeier/fluorine_doped_silica_2%.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/sellmeier/fused_silica.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/sellmeier/germanium.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/sellmeier/lithium_niobate.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/sellmeier/polystyren.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/sellmeier/silica.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/sellmeier/silicon.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/sellmeier/soda_lime_glass.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/sellmeier/water.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/tabulated/__init__.py +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/tabulated/aluminium.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/tabulated/calcium.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/tabulated/copper.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/tabulated/default.py +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/tabulated/gold.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/tabulated/iron.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/tabulated/nickel.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/tabulated/silver.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/tabulated/sodium.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/data/tabulated/zinc.yml +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/directories.py +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/download.py +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik/material.py +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik.egg-info/dependency_links.txt +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik.egg-info/requires.txt +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/PyOptik.egg-info/top_level.txt +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/Makefile +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/deprecated/experiment_material.py +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/examples/README.rst +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/examples/plot_bk7.py +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/examples/plot_sf5.py +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/examples/plot_silica.py +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/examples/plot_silver.py +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/examples/plot_water.py +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/images/logo.png +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/make.bat +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/source/_static/default.css +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/source/gallery/add_material.ipynb +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/source/gallery/add_material.py +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/source/gallery/add_material.rst +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/source/gallery/add_material_codeobj.pickle +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/source/gallery/get_values.ipynb +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/source/gallery/get_values.py +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/source/gallery/get_values.rst +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/source/gallery/get_values_codeobj.pickle +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/source/gallery/images/sphx_glr_plot_sellmeier_0_001.png +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/source/gallery/images/sphx_glr_plot_sellmeier_1_001.png +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/source/gallery/images/thumb/sphx_glr_add_material_thumb.png +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/source/gallery/images/thumb/sphx_glr_get_values_thumb.png +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/source/gallery/images/thumb/sphx_glr_plot_sellmeier_0_thumb.png +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/source/gallery/images/thumb/sphx_glr_plot_sellmeier_1_thumb.png +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/source/gallery/plot_sellmeier_0.ipynb +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/source/gallery/plot_sellmeier_0.py +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/source/gallery/plot_sellmeier_0.py.md5 +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/source/gallery/plot_sellmeier_0.rst +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/source/gallery/plot_sellmeier_0_codeobj.pickle +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/source/gallery/plot_sellmeier_1.ipynb +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/source/gallery/plot_sellmeier_1.py +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/source/gallery/plot_sellmeier_1.py.md5 +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/source/gallery/plot_sellmeier_1.rst +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/docs/source/gallery/plot_sellmeier_1_codeobj.pickle +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/setup.cfg +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/tests/__init__.py +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/tests/test_tabulated.py +0 -0
- {pyoptik-1.3.0.post0 → pyoptik-1.4.0.post0}/tests/test_usual_material.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: PyOptik
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.4.0.post0
|
|
4
4
|
Summary: A package for refractive index values.
|
|
5
5
|
Author-email: Martin Poinsinet de Sivry-Houle <martin.poinsinet.de.sivry@gmail.com>
|
|
6
6
|
License: MIT License
|
|
@@ -28,10 +28,6 @@ License: MIT License
|
|
|
28
28
|
Keywords: refracive index,optics
|
|
29
29
|
Classifier: Programming Language :: Python
|
|
30
30
|
Classifier: Programming Language :: Python :: 3
|
|
31
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
32
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
33
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
34
|
-
Classifier: Programming Language :: Python :: 3.13
|
|
35
31
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
36
32
|
Classifier: Development Status :: 4 - Beta
|
|
37
33
|
Classifier: Topic :: Scientific/Engineering :: Physics
|
|
@@ -60,24 +56,6 @@ Requires-Dist: sphinx-gallery==0.15.0; extra == "documentation"
|
|
|
60
56
|
Requires-Dist: sphinx-rtd-theme==2.0.0; extra == "documentation"
|
|
61
57
|
Requires-Dist: pydata-sphinx-theme==0.14.1; extra == "documentation"
|
|
62
58
|
|
|
63
|
-
.. |python| image:: https://img.shields.io/pypi/pyversions/pyoptik.svg
|
|
64
|
-
:target: https://www.python.org/
|
|
65
|
-
|
|
66
|
-
.. |Logo| image:: https://github.com/MartinPdeS/PyOptik/raw/master/docs/images/logo.png
|
|
67
|
-
|
|
68
|
-
.. |docs| image:: https://readthedocs.org/projects/pyoptik/badge/?version=latest
|
|
69
|
-
:target: https://pyoptik.readthedocs.io/en/latest/
|
|
70
|
-
|
|
71
|
-
.. |PyPi| image:: https://badge.fury.io/py/pyoptik.svg
|
|
72
|
-
:target: https://badge.fury.io/py/pyoptik
|
|
73
|
-
|
|
74
|
-
.. |PyPi_download| image:: https://img.shields.io/pypi/dm/pyoptik.svg
|
|
75
|
-
:target: https://pypistats.org/packages/pyoptik
|
|
76
|
-
|
|
77
|
-
.. |coverage| image:: https://raw.githubusercontent.com/MartinPdeS/PyOptik/python-coverage-comment-action-data/badge.svg
|
|
78
|
-
:alt: Unittest coverage
|
|
79
|
-
:target: https://htmlpreview.github.io/?https://github.com/MartinPdeS/PyOptik/blob/python-coverage-comment-action-data/htmlcov/index.html
|
|
80
|
-
|
|
81
59
|
PyOptik
|
|
82
60
|
=======
|
|
83
61
|
|
|
@@ -117,13 +95,11 @@ After installing PyOptik, you can easily access material properties:
|
|
|
117
95
|
n = bk7.compute_refractive_index(0.55e-6)
|
|
118
96
|
print(f"Refractive index at 0.55 µm: {n}")
|
|
119
97
|
|
|
120
|
-
# Accessing and plotting material properties
|
|
121
|
-
bk7.plot(wavelength_range=[0.3e-6, 2.5e-6])
|
|
122
98
|
|
|
123
99
|
Example
|
|
124
100
|
*******
|
|
125
101
|
|
|
126
|
-
Here
|
|
102
|
+
Here is a quick example demonstrating how to use PyOptik to retrieve and plot the refractive index of a material:
|
|
127
103
|
|
|
128
104
|
.. code:: python
|
|
129
105
|
|
|
@@ -138,7 +114,34 @@ Here’s a quick example demonstrating how to use PyOptik to retrieve and plot t
|
|
|
138
114
|
n_values = bk7.compute_refractive_index(wavelengths)
|
|
139
115
|
|
|
140
116
|
# Plot the results
|
|
141
|
-
bk7.plot(
|
|
117
|
+
bk7.plot()
|
|
118
|
+
|
|
119
|
+
This code produces the following figure:
|
|
120
|
+
|
|
121
|
+
|example_bk7|
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
You can also add a custom element to your library providing a URL from `refractiveindex.info <https://refractiveindex.info>`_ website.
|
|
125
|
+
|
|
126
|
+
.. code:: python
|
|
127
|
+
|
|
128
|
+
from PyOptik.utils import download_yml_file
|
|
129
|
+
from PyOptik.directories import sellmeier_data_path # or tabulated_data_path for tabulated elements
|
|
130
|
+
|
|
131
|
+
download_yml_file(
|
|
132
|
+
filename='test',
|
|
133
|
+
url='https://refractiveindex.info/database/data-nk/main/H2O/Daimon-19.0C.yml',
|
|
134
|
+
location=tabulated_data_path
|
|
135
|
+
)
|
|
136
|
+
|
|
137
|
+
Evidently, you can also remove element from the library using as follows:
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
.. code:: python
|
|
141
|
+
|
|
142
|
+
from PyOptik.utils import remove_element
|
|
143
|
+
|
|
144
|
+
remove_element(filename='test', location='any') # location can be "any", "sellmeier" or "tabulated"
|
|
142
145
|
|
|
143
146
|
Testing
|
|
144
147
|
*******
|
|
@@ -168,3 +171,22 @@ As of 2024, PyOptik is still under development. If you would like to collaborate
|
|
|
168
171
|
|
|
169
172
|
|
|
170
173
|
|
|
174
|
+
.. |python| image:: https://img.shields.io/pypi/pyversions/pyoptik.svg
|
|
175
|
+
:target: https://www.python.org/
|
|
176
|
+
|
|
177
|
+
.. |Logo| image:: https://github.com/MartinPdeS/PyOptik/raw/master/docs/images/logo.png
|
|
178
|
+
|
|
179
|
+
.. |example_bk7| image:: https://github.com/MartinPdeS/PyOptik/blob/master/docs/images/example_bk7.png
|
|
180
|
+
|
|
181
|
+
.. |docs| image:: https://readthedocs.org/projects/pyoptik/badge/?version=latest
|
|
182
|
+
:target: https://pyoptik.readthedocs.io/en/latest/
|
|
183
|
+
|
|
184
|
+
.. |PyPi| image:: https://badge.fury.io/py/pyoptik.svg
|
|
185
|
+
:target: https://badge.fury.io/py/pyoptik
|
|
186
|
+
|
|
187
|
+
.. |PyPi_download| image:: https://img.shields.io/pypi/dm/pyoptik.svg
|
|
188
|
+
:target: https://pypistats.org/packages/pyoptik
|
|
189
|
+
|
|
190
|
+
.. |coverage| image:: https://raw.githubusercontent.com/MartinPdeS/PyOptik/python-coverage-comment-action-data/badge.svg
|
|
191
|
+
:alt: Unittest coverage
|
|
192
|
+
:target: https://htmlpreview.github.io/?https://github.com/MartinPdeS/PyOptik/blob/python-coverage-comment-action-data/htmlcov/index.html
|
|
@@ -7,4 +7,6 @@ except ImportError:
|
|
|
7
7
|
|
|
8
8
|
from .utils import build_default_library
|
|
9
9
|
from .material import UsualMaterial
|
|
10
|
-
from .base_class import Material
|
|
10
|
+
from .base_class import Material
|
|
11
|
+
from .tabulated_class import TabulatedMaterial
|
|
12
|
+
from .sellmeier_class import SellmeierMaterial
|
|
@@ -12,5 +12,5 @@ __version__: str
|
|
|
12
12
|
__version_tuple__: VERSION_TUPLE
|
|
13
13
|
version_tuple: VERSION_TUPLE
|
|
14
14
|
|
|
15
|
-
__version__ = version = '1.
|
|
16
|
-
__version_tuple__ = version_tuple = (1,
|
|
15
|
+
__version__ = version = '1.4.0.post0'
|
|
16
|
+
__version_tuple__ = version_tuple = (1, 4, 0)
|
|
@@ -10,7 +10,7 @@ from PyOptik.directories import sellmeier_data_path
|
|
|
10
10
|
import itertools
|
|
11
11
|
import warnings
|
|
12
12
|
from PyOptik.base_class import Material
|
|
13
|
-
|
|
13
|
+
from MPSPlots.styles import mps
|
|
14
14
|
|
|
15
15
|
@dataclass
|
|
16
16
|
class SellmeierMaterial(Material):
|
|
@@ -136,26 +136,27 @@ class SellmeierMaterial(Material):
|
|
|
136
136
|
Args:
|
|
137
137
|
wavelength_range (Union[List[float], numpy.ndarray]): The range of wavelengths to plot, in meters.
|
|
138
138
|
"""
|
|
139
|
-
|
|
140
|
-
wavelength
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
139
|
+
with plt.style.context(mps):
|
|
140
|
+
if wavelength is None:
|
|
141
|
+
wavelength = numpy.linspace(*self.wavelength_range, 100) * 1e-6
|
|
142
|
+
|
|
143
|
+
wavelength = numpy.asarray(wavelength)
|
|
144
|
+
|
|
145
|
+
if wavelength.ndim != 1:
|
|
146
|
+
raise ValueError("wavelength must be a 1D array or list of float values.")
|
|
147
|
+
|
|
148
|
+
# Calculate the refractive index over the wavelength range
|
|
149
|
+
refractive_index = self.compute_refractive_index(wavelength)
|
|
150
|
+
|
|
151
|
+
# Plotting
|
|
152
|
+
fig, ax = plt.subplots()
|
|
153
|
+
ax.set_xlabel('Wavelength [m]')
|
|
154
|
+
ax.set_ylabel('Refractive Index')
|
|
155
|
+
ax.plot(wavelength, refractive_index.real, linewidth=2, label='Real Part')
|
|
156
|
+
ax.legend()
|
|
157
|
+
ax.grid(True)
|
|
158
|
+
plt.tight_layout()
|
|
159
|
+
plt.show()
|
|
159
160
|
|
|
160
161
|
def print(self) -> str:
|
|
161
162
|
"""
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
#!/usr/bin/env python
|
|
2
|
+
# -*- coding: utf-8 -*-
|
|
3
|
+
|
|
1
4
|
import numpy
|
|
2
5
|
from dataclasses import dataclass, field
|
|
3
6
|
from typing import Optional, Tuple, Union, List
|
|
@@ -6,6 +9,8 @@ from scipy.interpolate import interp1d
|
|
|
6
9
|
import warnings
|
|
7
10
|
from PyOptik.directories import tabulated_data_path
|
|
8
11
|
from PyOptik.base_class import Material
|
|
12
|
+
from MPSPlots.styles import mps
|
|
13
|
+
import matplotlib.pyplot as plt
|
|
9
14
|
|
|
10
15
|
@dataclass
|
|
11
16
|
class TabulatedMaterial(Material):
|
|
@@ -80,22 +85,21 @@ class TabulatedMaterial(Material):
|
|
|
80
85
|
n_values = self.n_values
|
|
81
86
|
k_values = self.k_values
|
|
82
87
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
fig, ax1 = plt.subplots()
|
|
88
|
+
with plt.style.context(mps):
|
|
89
|
+
fig, ax1 = plt.subplots()
|
|
86
90
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
+
ax1.set_xlabel('Wavelength [µm]')
|
|
92
|
+
ax1.set_ylabel('Refractive Index (n)', color='tab:blue')
|
|
93
|
+
ax1.plot(wavelength, n_values, 'o-', color='tab:blue', label='n')
|
|
94
|
+
ax1.tick_params(axis='y', labelcolor='tab:blue')
|
|
91
95
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
+
ax2 = ax1.twinx() # instantiate a second axes that shares the same x-axis
|
|
97
|
+
ax2.set_ylabel('Absorption (k)', color='tab:red') # we already handled the x-label with ax1
|
|
98
|
+
ax2.plot(wavelength, k_values, 'o-', color='tab:red', label='k')
|
|
99
|
+
ax2.tick_params(axis='y', labelcolor='tab:red')
|
|
96
100
|
|
|
97
|
-
|
|
98
|
-
|
|
101
|
+
fig.tight_layout() # to prevent the right y-label from being slightly clipped
|
|
102
|
+
plt.show()
|
|
99
103
|
|
|
100
104
|
def print(self) -> str:
|
|
101
105
|
"""
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
|
|
2
|
+
import yaml
|
|
3
|
+
from typing import Optional, List, Tuple, NoReturn
|
|
4
|
+
import requests
|
|
5
|
+
from PyOptik.directories import sellmeier_data_path, tabulated_data_path
|
|
6
|
+
from PyOptik.data.sellmeier.default import default_material as sellmeier_default
|
|
7
|
+
from PyOptik.data.tabulated.default import default_material as tabulated_default
|
|
8
|
+
|
|
9
|
+
def download_yml_file(url: str, filename: str, location: str) -> NoReturn:
|
|
10
|
+
"""
|
|
11
|
+
Downloads a .yml file from a specified URL and saves it locally.
|
|
12
|
+
|
|
13
|
+
Args:
|
|
14
|
+
url (str): The URL of the .yml file to download.
|
|
15
|
+
save_path (str): The local path where the .yml file should be saved.
|
|
16
|
+
|
|
17
|
+
Raises:
|
|
18
|
+
HTTPError: If the download fails due to an HTTP error.
|
|
19
|
+
"""
|
|
20
|
+
file_path = location / f"{filename}.yml"
|
|
21
|
+
try:
|
|
22
|
+
# Send a GET request to the URL
|
|
23
|
+
response = requests.get(url)
|
|
24
|
+
response.raise_for_status() # Raise an error for bad status codes
|
|
25
|
+
|
|
26
|
+
# Save the content of the response as a file
|
|
27
|
+
file_path.parent.mkdir(parents=True, exist_ok=True) # Create directories if they don't exist
|
|
28
|
+
|
|
29
|
+
with open(file_path, 'wb') as file:
|
|
30
|
+
file.write(response.content)
|
|
31
|
+
|
|
32
|
+
print(f"File downloaded and saved to {file_path}")
|
|
33
|
+
|
|
34
|
+
except requests.exceptions.HTTPError as http_err:
|
|
35
|
+
print(f"HTTP error occurred: {http_err}")
|
|
36
|
+
except Exception as err:
|
|
37
|
+
print(f"An error occurred: {err}")
|
|
38
|
+
|
|
39
|
+
def build_default_library() -> NoReturn:
|
|
40
|
+
"""
|
|
41
|
+
Downloads and saves the default materials from the specified URLs.
|
|
42
|
+
"""
|
|
43
|
+
from PyOptik.utils import download_yml_file
|
|
44
|
+
|
|
45
|
+
for name, url in sellmeier_default.items():
|
|
46
|
+
download_yml_file(url=url, filename=name, location=sellmeier_data_path)
|
|
47
|
+
|
|
48
|
+
for name, url in tabulated_default.items():
|
|
49
|
+
download_yml_file(url=url, filename=name, location=tabulated_data_path)
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def remove_element(filename: str, location: str = 'any') -> None:
|
|
53
|
+
"""
|
|
54
|
+
Remove a file associated with a given element name from the specified location.
|
|
55
|
+
|
|
56
|
+
Args:
|
|
57
|
+
filename (str): The name of the file to remove, without the '.yml' suffix.
|
|
58
|
+
location (str): The location to search for the file, either 'sellmeier', 'tabulated', or 'any' (default is 'any').
|
|
59
|
+
|
|
60
|
+
Raises:
|
|
61
|
+
FileNotFoundError: If the specified file does not exist.
|
|
62
|
+
ValueError: If an invalid location is provided.
|
|
63
|
+
"""
|
|
64
|
+
location = location.lower()
|
|
65
|
+
|
|
66
|
+
if location not in ['any', 'sellmeier', 'tabulated']:
|
|
67
|
+
raise ValueError("Invalid location. Please choose 'sellmeier', 'tabulated', or 'any'.")
|
|
68
|
+
|
|
69
|
+
if location in ['any', 'sellmeier']:
|
|
70
|
+
sellmeier_file = sellmeier_data_path / f"{filename}.yml"
|
|
71
|
+
if sellmeier_file.exists():
|
|
72
|
+
sellmeier_file.unlink()
|
|
73
|
+
|
|
74
|
+
if location in ['any', 'tabulated']:
|
|
75
|
+
tabulated_file = tabulated_data_path / f"{filename}.yml"
|
|
76
|
+
if tabulated_file.exists():
|
|
77
|
+
tabulated_file.unlink()
|
|
78
|
+
|
|
79
|
+
def create_sellmeier_file(
|
|
80
|
+
filename: str,
|
|
81
|
+
formula_type: int,
|
|
82
|
+
coefficients: List[float],
|
|
83
|
+
wavelength_range: Optional[Tuple[float, float]] = None,
|
|
84
|
+
reference: Optional[str] = None,
|
|
85
|
+
comments: Optional[str] = None,
|
|
86
|
+
specs: Optional[dict] = None) -> NoReturn:
|
|
87
|
+
"""
|
|
88
|
+
Creates a YAML file with custom Sellmeier coefficients in the correct format.
|
|
89
|
+
|
|
90
|
+
Args:
|
|
91
|
+
filename (str): The name of the file to create (without the extension).
|
|
92
|
+
formula_type (int): The type of Sellmeier formula.
|
|
93
|
+
coefficients (list[float]): A list of coefficients for the Sellmeier equation.
|
|
94
|
+
wavelength_range (Tuple[float, float]): The range of wavelengths, in micrometers.
|
|
95
|
+
reference (str): A reference for the material data.
|
|
96
|
+
comments (Optional[str]): Additional comments about the material.
|
|
97
|
+
specs (Optional[dict]): Additional specifications, such as temperature and whether the wavelength is in a vacuum.
|
|
98
|
+
"""
|
|
99
|
+
reference = 'None' if reference is None else reference
|
|
100
|
+
wavelength_range = [None, None] if wavelength_range is None else wavelength_range
|
|
101
|
+
# Create the data dictionary for YAML
|
|
102
|
+
data = {
|
|
103
|
+
'REFERENCES': reference,
|
|
104
|
+
'DATA': [
|
|
105
|
+
{
|
|
106
|
+
'type': f'formula {formula_type}',
|
|
107
|
+
'wavelength_range': f"{wavelength_range[0]} {wavelength_range[1]}",
|
|
108
|
+
'coefficients': " ".join(map(str, coefficients)),
|
|
109
|
+
}
|
|
110
|
+
]
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
# Add comments if provided
|
|
114
|
+
if comments:
|
|
115
|
+
data['COMMENTS'] = comments
|
|
116
|
+
|
|
117
|
+
# Add specs if provided
|
|
118
|
+
if specs:
|
|
119
|
+
data['SPECS'] = specs
|
|
120
|
+
|
|
121
|
+
# Define the file path
|
|
122
|
+
file_path = sellmeier_data_path / f"{filename}.yml"
|
|
123
|
+
|
|
124
|
+
# Write the data to a YAML file
|
|
125
|
+
with open(file_path, 'w') as file:
|
|
126
|
+
yaml.dump(data, file, default_flow_style=False)
|
|
127
|
+
|
|
128
|
+
print(f"Sellmeier data saved to {file_path}")
|
|
129
|
+
|
|
130
|
+
def create_tabulated_file(
|
|
131
|
+
filename: str,
|
|
132
|
+
data: List[Tuple[float, float, float]],
|
|
133
|
+
reference: Optional[str] = None,
|
|
134
|
+
comments: Optional[str] = None) -> NoReturn:
|
|
135
|
+
"""
|
|
136
|
+
Creates a YAML file with tabulated nk data in the correct format.
|
|
137
|
+
|
|
138
|
+
Args:
|
|
139
|
+
filename (str): The name of the file to create (without the extension).
|
|
140
|
+
data (List[Tuple[float, float, float]]): The tabulated nk data.
|
|
141
|
+
reference (Optional[str]): A reference for the material data.
|
|
142
|
+
comments (Optional[str]): Additional comments about the material.
|
|
143
|
+
"""
|
|
144
|
+
reference = 'None' if reference is None else reference
|
|
145
|
+
|
|
146
|
+
# Convert the data list to a formatted string
|
|
147
|
+
data_str = "\n".join(" ".join(map(str, row)) for row in data)
|
|
148
|
+
|
|
149
|
+
# Create the data dictionary for YAML
|
|
150
|
+
yaml_data = {
|
|
151
|
+
'REFERENCES': reference,
|
|
152
|
+
'DATA': [
|
|
153
|
+
{
|
|
154
|
+
'type': 'tabulated nk',
|
|
155
|
+
'data': data_str,
|
|
156
|
+
}
|
|
157
|
+
]
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
# Add comments if provided
|
|
161
|
+
if comments:
|
|
162
|
+
yaml_data['COMMENTS'] = comments
|
|
163
|
+
|
|
164
|
+
# Define the file path
|
|
165
|
+
file_path = tabulated_data_path / f"{filename}.yml"
|
|
166
|
+
|
|
167
|
+
# Write the data to a YAML file
|
|
168
|
+
with open(file_path, 'w') as file:
|
|
169
|
+
yaml.dump(yaml_data, file, default_flow_style=False)
|
|
170
|
+
|
|
171
|
+
print(f"Tabulated nk data saved to {file_path}")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: PyOptik
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.4.0.post0
|
|
4
4
|
Summary: A package for refractive index values.
|
|
5
5
|
Author-email: Martin Poinsinet de Sivry-Houle <martin.poinsinet.de.sivry@gmail.com>
|
|
6
6
|
License: MIT License
|
|
@@ -28,10 +28,6 @@ License: MIT License
|
|
|
28
28
|
Keywords: refracive index,optics
|
|
29
29
|
Classifier: Programming Language :: Python
|
|
30
30
|
Classifier: Programming Language :: Python :: 3
|
|
31
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
32
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
33
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
34
|
-
Classifier: Programming Language :: Python :: 3.13
|
|
35
31
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
36
32
|
Classifier: Development Status :: 4 - Beta
|
|
37
33
|
Classifier: Topic :: Scientific/Engineering :: Physics
|
|
@@ -60,24 +56,6 @@ Requires-Dist: sphinx-gallery==0.15.0; extra == "documentation"
|
|
|
60
56
|
Requires-Dist: sphinx-rtd-theme==2.0.0; extra == "documentation"
|
|
61
57
|
Requires-Dist: pydata-sphinx-theme==0.14.1; extra == "documentation"
|
|
62
58
|
|
|
63
|
-
.. |python| image:: https://img.shields.io/pypi/pyversions/pyoptik.svg
|
|
64
|
-
:target: https://www.python.org/
|
|
65
|
-
|
|
66
|
-
.. |Logo| image:: https://github.com/MartinPdeS/PyOptik/raw/master/docs/images/logo.png
|
|
67
|
-
|
|
68
|
-
.. |docs| image:: https://readthedocs.org/projects/pyoptik/badge/?version=latest
|
|
69
|
-
:target: https://pyoptik.readthedocs.io/en/latest/
|
|
70
|
-
|
|
71
|
-
.. |PyPi| image:: https://badge.fury.io/py/pyoptik.svg
|
|
72
|
-
:target: https://badge.fury.io/py/pyoptik
|
|
73
|
-
|
|
74
|
-
.. |PyPi_download| image:: https://img.shields.io/pypi/dm/pyoptik.svg
|
|
75
|
-
:target: https://pypistats.org/packages/pyoptik
|
|
76
|
-
|
|
77
|
-
.. |coverage| image:: https://raw.githubusercontent.com/MartinPdeS/PyOptik/python-coverage-comment-action-data/badge.svg
|
|
78
|
-
:alt: Unittest coverage
|
|
79
|
-
:target: https://htmlpreview.github.io/?https://github.com/MartinPdeS/PyOptik/blob/python-coverage-comment-action-data/htmlcov/index.html
|
|
80
|
-
|
|
81
59
|
PyOptik
|
|
82
60
|
=======
|
|
83
61
|
|
|
@@ -117,13 +95,11 @@ After installing PyOptik, you can easily access material properties:
|
|
|
117
95
|
n = bk7.compute_refractive_index(0.55e-6)
|
|
118
96
|
print(f"Refractive index at 0.55 µm: {n}")
|
|
119
97
|
|
|
120
|
-
# Accessing and plotting material properties
|
|
121
|
-
bk7.plot(wavelength_range=[0.3e-6, 2.5e-6])
|
|
122
98
|
|
|
123
99
|
Example
|
|
124
100
|
*******
|
|
125
101
|
|
|
126
|
-
Here
|
|
102
|
+
Here is a quick example demonstrating how to use PyOptik to retrieve and plot the refractive index of a material:
|
|
127
103
|
|
|
128
104
|
.. code:: python
|
|
129
105
|
|
|
@@ -138,7 +114,34 @@ Here’s a quick example demonstrating how to use PyOptik to retrieve and plot t
|
|
|
138
114
|
n_values = bk7.compute_refractive_index(wavelengths)
|
|
139
115
|
|
|
140
116
|
# Plot the results
|
|
141
|
-
bk7.plot(
|
|
117
|
+
bk7.plot()
|
|
118
|
+
|
|
119
|
+
This code produces the following figure:
|
|
120
|
+
|
|
121
|
+
|example_bk7|
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
You can also add a custom element to your library providing a URL from `refractiveindex.info <https://refractiveindex.info>`_ website.
|
|
125
|
+
|
|
126
|
+
.. code:: python
|
|
127
|
+
|
|
128
|
+
from PyOptik.utils import download_yml_file
|
|
129
|
+
from PyOptik.directories import sellmeier_data_path # or tabulated_data_path for tabulated elements
|
|
130
|
+
|
|
131
|
+
download_yml_file(
|
|
132
|
+
filename='test',
|
|
133
|
+
url='https://refractiveindex.info/database/data-nk/main/H2O/Daimon-19.0C.yml',
|
|
134
|
+
location=tabulated_data_path
|
|
135
|
+
)
|
|
136
|
+
|
|
137
|
+
Evidently, you can also remove element from the library using as follows:
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
.. code:: python
|
|
141
|
+
|
|
142
|
+
from PyOptik.utils import remove_element
|
|
143
|
+
|
|
144
|
+
remove_element(filename='test', location='any') # location can be "any", "sellmeier" or "tabulated"
|
|
142
145
|
|
|
143
146
|
Testing
|
|
144
147
|
*******
|
|
@@ -168,3 +171,22 @@ As of 2024, PyOptik is still under development. If you would like to collaborate
|
|
|
168
171
|
|
|
169
172
|
|
|
170
173
|
|
|
174
|
+
.. |python| image:: https://img.shields.io/pypi/pyversions/pyoptik.svg
|
|
175
|
+
:target: https://www.python.org/
|
|
176
|
+
|
|
177
|
+
.. |Logo| image:: https://github.com/MartinPdeS/PyOptik/raw/master/docs/images/logo.png
|
|
178
|
+
|
|
179
|
+
.. |example_bk7| image:: https://github.com/MartinPdeS/PyOptik/blob/master/docs/images/example_bk7.png
|
|
180
|
+
|
|
181
|
+
.. |docs| image:: https://readthedocs.org/projects/pyoptik/badge/?version=latest
|
|
182
|
+
:target: https://pyoptik.readthedocs.io/en/latest/
|
|
183
|
+
|
|
184
|
+
.. |PyPi| image:: https://badge.fury.io/py/pyoptik.svg
|
|
185
|
+
:target: https://badge.fury.io/py/pyoptik
|
|
186
|
+
|
|
187
|
+
.. |PyPi_download| image:: https://img.shields.io/pypi/dm/pyoptik.svg
|
|
188
|
+
:target: https://pypistats.org/packages/pyoptik
|
|
189
|
+
|
|
190
|
+
.. |coverage| image:: https://raw.githubusercontent.com/MartinPdeS/PyOptik/python-coverage-comment-action-data/badge.svg
|
|
191
|
+
:alt: Unittest coverage
|
|
192
|
+
:target: https://htmlpreview.github.io/?https://github.com/MartinPdeS/PyOptik/blob/python-coverage-comment-action-data/htmlcov/index.html
|
|
@@ -21,7 +21,6 @@ PyOptik.egg-info/dependency_links.txt
|
|
|
21
21
|
PyOptik.egg-info/requires.txt
|
|
22
22
|
PyOptik.egg-info/top_level.txt
|
|
23
23
|
PyOptik/data/__init__.py
|
|
24
|
-
PyOptik/data/test.yml
|
|
25
24
|
PyOptik/data/sellmeier/BAK1.yml
|
|
26
25
|
PyOptik/data/sellmeier/BK7.yml
|
|
27
26
|
PyOptik/data/sellmeier/SF5.yml
|
|
@@ -40,7 +39,6 @@ PyOptik/data/sellmeier/polystyren.yml
|
|
|
40
39
|
PyOptik/data/sellmeier/silica.yml
|
|
41
40
|
PyOptik/data/sellmeier/silicon.yml
|
|
42
41
|
PyOptik/data/sellmeier/soda_lime_glass.yml
|
|
43
|
-
PyOptik/data/sellmeier/test.yml
|
|
44
42
|
PyOptik/data/sellmeier/water.yml
|
|
45
43
|
PyOptik/data/tabulated/__init__.py
|
|
46
44
|
PyOptik/data/tabulated/aluminium.yml
|
|
@@ -52,18 +50,20 @@ PyOptik/data/tabulated/iron.yml
|
|
|
52
50
|
PyOptik/data/tabulated/nickel.yml
|
|
53
51
|
PyOptik/data/tabulated/silver.yml
|
|
54
52
|
PyOptik/data/tabulated/sodium.yml
|
|
55
|
-
PyOptik/data/tabulated/test.yml
|
|
56
53
|
PyOptik/data/tabulated/zinc.yml
|
|
57
|
-
developments/testing.py
|
|
58
54
|
docs/Makefile
|
|
59
55
|
docs/make.bat
|
|
60
56
|
docs/deprecated/experiment_material.py
|
|
61
57
|
docs/examples/README.rst
|
|
58
|
+
docs/examples/create_sellmeier_file.py
|
|
59
|
+
docs/examples/create_tabulated_file.py
|
|
60
|
+
docs/examples/download_yml_file.py
|
|
62
61
|
docs/examples/plot_bk7.py
|
|
63
62
|
docs/examples/plot_sf5.py
|
|
64
63
|
docs/examples/plot_silica.py
|
|
65
64
|
docs/examples/plot_silver.py
|
|
66
65
|
docs/examples/plot_water.py
|
|
66
|
+
docs/images/example_bk7.png
|
|
67
67
|
docs/images/logo.png
|
|
68
68
|
docs/source/code.rst
|
|
69
69
|
docs/source/conf.py
|
|
@@ -74,11 +74,31 @@ docs/source/gallery/add_material.ipynb
|
|
|
74
74
|
docs/source/gallery/add_material.py
|
|
75
75
|
docs/source/gallery/add_material.rst
|
|
76
76
|
docs/source/gallery/add_material_codeobj.pickle
|
|
77
|
+
docs/source/gallery/create_sellmeier_file.ipynb
|
|
78
|
+
docs/source/gallery/create_sellmeier_file.py
|
|
79
|
+
docs/source/gallery/create_sellmeier_file.py.md5
|
|
80
|
+
docs/source/gallery/create_sellmeier_file.rst
|
|
81
|
+
docs/source/gallery/create_sellmeier_file_codeobj.pickle
|
|
82
|
+
docs/source/gallery/create_tabulated_file.ipynb
|
|
83
|
+
docs/source/gallery/create_tabulated_file.py
|
|
84
|
+
docs/source/gallery/create_tabulated_file.py.md5
|
|
85
|
+
docs/source/gallery/create_tabulated_file.rst
|
|
86
|
+
docs/source/gallery/create_tabulated_file_codeobj.pickle
|
|
87
|
+
docs/source/gallery/download_yml_file.ipynb
|
|
88
|
+
docs/source/gallery/download_yml_file.py
|
|
89
|
+
docs/source/gallery/download_yml_file.py.md5
|
|
90
|
+
docs/source/gallery/download_yml_file.rst
|
|
91
|
+
docs/source/gallery/download_yml_file_codeobj.pickle
|
|
77
92
|
docs/source/gallery/get_values.ipynb
|
|
78
93
|
docs/source/gallery/get_values.py
|
|
79
94
|
docs/source/gallery/get_values.rst
|
|
80
95
|
docs/source/gallery/get_values_codeobj.pickle
|
|
81
96
|
docs/source/gallery/index.rst
|
|
97
|
+
docs/source/gallery/plot_bk7.ipynb
|
|
98
|
+
docs/source/gallery/plot_bk7.py
|
|
99
|
+
docs/source/gallery/plot_bk7.py.md5
|
|
100
|
+
docs/source/gallery/plot_bk7.rst
|
|
101
|
+
docs/source/gallery/plot_bk7_codeobj.pickle
|
|
82
102
|
docs/source/gallery/plot_sellmeier_0.ipynb
|
|
83
103
|
docs/source/gallery/plot_sellmeier_0.py
|
|
84
104
|
docs/source/gallery/plot_sellmeier_0.py.md5
|
|
@@ -89,15 +109,51 @@ docs/source/gallery/plot_sellmeier_1.py
|
|
|
89
109
|
docs/source/gallery/plot_sellmeier_1.py.md5
|
|
90
110
|
docs/source/gallery/plot_sellmeier_1.rst
|
|
91
111
|
docs/source/gallery/plot_sellmeier_1_codeobj.pickle
|
|
112
|
+
docs/source/gallery/plot_sf5.ipynb
|
|
113
|
+
docs/source/gallery/plot_sf5.py
|
|
114
|
+
docs/source/gallery/plot_sf5.py.md5
|
|
115
|
+
docs/source/gallery/plot_sf5.rst
|
|
116
|
+
docs/source/gallery/plot_sf5_codeobj.pickle
|
|
117
|
+
docs/source/gallery/plot_silica.ipynb
|
|
118
|
+
docs/source/gallery/plot_silica.py
|
|
119
|
+
docs/source/gallery/plot_silica.py.md5
|
|
120
|
+
docs/source/gallery/plot_silica.rst
|
|
121
|
+
docs/source/gallery/plot_silica_codeobj.pickle
|
|
122
|
+
docs/source/gallery/plot_silver.ipynb
|
|
123
|
+
docs/source/gallery/plot_silver.py
|
|
124
|
+
docs/source/gallery/plot_silver.py.md5
|
|
125
|
+
docs/source/gallery/plot_silver.rst
|
|
126
|
+
docs/source/gallery/plot_silver_codeobj.pickle
|
|
127
|
+
docs/source/gallery/plot_water.ipynb
|
|
128
|
+
docs/source/gallery/plot_water.py
|
|
129
|
+
docs/source/gallery/plot_water.py.md5
|
|
130
|
+
docs/source/gallery/plot_water.rst
|
|
131
|
+
docs/source/gallery/plot_water_codeobj.pickle
|
|
92
132
|
docs/source/gallery/sg_execution_times.rst
|
|
133
|
+
docs/source/gallery/images/sphx_glr_create_sellmeier_file_001.png
|
|
134
|
+
docs/source/gallery/images/sphx_glr_create_tabulated_file_001.png
|
|
135
|
+
docs/source/gallery/images/sphx_glr_download_yml_file_001.png
|
|
136
|
+
docs/source/gallery/images/sphx_glr_plot_bk7_001.png
|
|
93
137
|
docs/source/gallery/images/sphx_glr_plot_sellmeier_0_001.png
|
|
94
138
|
docs/source/gallery/images/sphx_glr_plot_sellmeier_1_001.png
|
|
139
|
+
docs/source/gallery/images/sphx_glr_plot_sf5_001.png
|
|
140
|
+
docs/source/gallery/images/sphx_glr_plot_silica_001.png
|
|
141
|
+
docs/source/gallery/images/sphx_glr_plot_silver_001.png
|
|
142
|
+
docs/source/gallery/images/sphx_glr_plot_water_001.png
|
|
95
143
|
docs/source/gallery/images/thumb/sphx_glr_add_material_thumb.png
|
|
144
|
+
docs/source/gallery/images/thumb/sphx_glr_create_sellmeier_file_thumb.png
|
|
145
|
+
docs/source/gallery/images/thumb/sphx_glr_create_tabulated_file_thumb.png
|
|
146
|
+
docs/source/gallery/images/thumb/sphx_glr_download_yml_file_thumb.png
|
|
96
147
|
docs/source/gallery/images/thumb/sphx_glr_get_values_thumb.png
|
|
148
|
+
docs/source/gallery/images/thumb/sphx_glr_plot_bk7_thumb.png
|
|
97
149
|
docs/source/gallery/images/thumb/sphx_glr_plot_sellmeier_0_thumb.png
|
|
98
150
|
docs/source/gallery/images/thumb/sphx_glr_plot_sellmeier_1_thumb.png
|
|
151
|
+
docs/source/gallery/images/thumb/sphx_glr_plot_sf5_thumb.png
|
|
152
|
+
docs/source/gallery/images/thumb/sphx_glr_plot_silica_thumb.png
|
|
153
|
+
docs/source/gallery/images/thumb/sphx_glr_plot_silver_thumb.png
|
|
154
|
+
docs/source/gallery/images/thumb/sphx_glr_plot_water_thumb.png
|
|
99
155
|
tests/__init__.py
|
|
100
|
-
tests/test_extra.py
|
|
101
156
|
tests/test_sellmeier.py
|
|
102
157
|
tests/test_tabulated.py
|
|
103
|
-
tests/test_usual_material.py
|
|
158
|
+
tests/test_usual_material.py
|
|
159
|
+
tests/test_utils.py
|