PyOptik 1.5.0.post0

Creator: bradpython12

Last updated:

Add to Cart

Description:

PyOptik 1.5.0.post0

PyOptik is a powerful Python tool designed to import refractive indexes and extinction coefficients for various materials across different wavelengths. The data provided by PyOptik can be used in numerous applications, including simulating light interactions with particles. All data is sourced from the reputable RefractiveIndex.INFO database.



Features

Comprehensive Database Access: Seamlessly import refractive index and extinction coefficient data for a wide range of materials.
Simulation Ready: Ideal for light-matter interaction simulations, particularly in optics and photonics.
Simple API: Easy-to-use API that integrates well with other Python libraries.
Open Source: Fully open-source.



Installation
To install PyOptik, simply use pip:
pip install pyoptik


Usage
After installing PyOptik, you can easily access material properties:
from PyOptik import UsualMaterial

# Access the refractive index of BK7 glass
bk7 = UsualMaterial.BK7
n = bk7.compute_refractive_index(0.55e-6)
print(f"Refractive index at 0.55 µm: {n}")


Example
Here is a quick example demonstrating how to use PyOptik to retrieve and plot the refractive index of a material:
import numpy as np
from PyOptik import UsualMaterial

# Define wavelength range
wavelengths = np.linspace(0.3e-6, 2.5e-6, 100)

# Retrieve refractive index for BK7 glass
bk7 = UsualMaterial.BK7
n_values = bk7.compute_refractive_index(wavelengths)

# Plot the results
bk7.plot()
This code produces the following figure:

You can also add a custom element to your library providing a URL from refractiveindex.info website.
from PyOptik.utils import download_yml_file
from PyOptik.directories import sellmeier_data_path # or tabulated_data_path for tabulated elements

download_yml_file(
filename='test',
url='https://refractiveindex.info/database/data-nk/main/H2O/Daimon-19.0C.yml',
location=tabulated_data_path
)
Evidently, you can also remove element from the library using as follows:
from PyOptik.utils import remove_element

remove_element(filename='test', location='any') # location can be "any", "sellmeier" or "tabulated"


Testing
To test locally after cloning the GitHub repository, install the dependencies and run the tests:
git clone https://github.com/MartinPdeS/PyOptik.git
cd PyOptik
pip install .
pytest


Contributing
PyOptik is open to contributions. Whether you’re fixing bugs, adding new features, or improving documentation, your help is welcome! Please feel free to fork the repository and submit pull requests.


Contact Information
As of 2024, PyOptik is still under development. If you would like to collaborate, it would be a pleasure to hear from you. Contact me at:
Author: Martin Poinsinet de Sivry-Houle
Email: martin.poinsinet.de.sivry@gmail.com

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.