PyMieSim 3.5.4.3__cp311-cp311-win_amd64.whl → 3.6.0__cp311-cp311-win_amd64.whl

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.
Files changed (34) hide show
  1. PyMieSim/__init__.py +8 -3
  2. PyMieSim/__main__.py +2 -0
  3. PyMieSim/_version.py +2 -2
  4. PyMieSim/binary/interface_detector.cp310-win_amd64.pyd +0 -0
  5. PyMieSim/binary/interface_detector.cp311-win_amd64.pyd +0 -0
  6. PyMieSim/binary/interface_experiment.cp310-win_amd64.pyd +0 -0
  7. PyMieSim/binary/interface_experiment.cp311-win_amd64.pyd +0 -0
  8. PyMieSim/binary/interface_scatterer.cp310-win_amd64.pyd +0 -0
  9. PyMieSim/binary/interface_scatterer.cp311-win_amd64.pyd +0 -0
  10. PyMieSim/binary/interface_sets.cp310-win_amd64.pyd +0 -0
  11. PyMieSim/binary/interface_sets.cp311-win_amd64.pyd +0 -0
  12. PyMieSim/binary/interface_source.cp310-win_amd64.pyd +0 -0
  13. PyMieSim/binary/interface_source.cp311-win_amd64.pyd +0 -0
  14. PyMieSim/binary/libcpp_coordinates.a +0 -0
  15. PyMieSim/binary/libcpp_detector.a +0 -0
  16. PyMieSim/binary/libcpp_experiment.a +0 -0
  17. PyMieSim/binary/libcpp_fibonacci.a +0 -0
  18. PyMieSim/binary/libcpp_mode_field.a +0 -0
  19. PyMieSim/binary/libcpp_sets.a +0 -0
  20. PyMieSim/binary/libcpp_source.a +0 -0
  21. PyMieSim/single/scatterer/core_shell.py +13 -1
  22. PyMieSim/single/scatterer/cylinder.py +6 -1
  23. PyMieSim/single/scatterer/sphere.py +13 -1
  24. PyMieSim/special_functions.py +7 -8
  25. lib/libZBessel.a +0 -0
  26. lib/lib_ZBessel.a +0 -0
  27. lib/libcpp_base_scatterer.a +0 -0
  28. lib/libcpp_coreshell.a +0 -0
  29. lib/libcpp_cylinder.a +0 -0
  30. lib/libcpp_sphere.a +0 -0
  31. {pymiesim-3.5.4.3.dist-info → pymiesim-3.6.0.dist-info}/METADATA +77 -214
  32. {pymiesim-3.5.4.3.dist-info → pymiesim-3.6.0.dist-info}/RECORD +34 -34
  33. {pymiesim-3.5.4.3.dist-info → pymiesim-3.6.0.dist-info}/WHEEL +1 -1
  34. {pymiesim-3.5.4.3.dist-info → pymiesim-3.6.0.dist-info}/licenses/LICENSE +0 -0
PyMieSim/__init__.py CHANGED
@@ -1,4 +1,11 @@
1
- from PyMieSim.units import Quantity # God knows why removing this line make the test fails on mac x86_64! DO NOT REMOVE!
1
+ """PyMieSim package initialization.
2
+
3
+ This module exposes the package version and sets up unit handling. Importing
4
+ ``Quantity`` here ensures proper initialization on all platforms. Removing this
5
+ import causes unit tests to fail on macOS systems.
6
+ """
7
+
8
+ from PyMieSim.units import Quantity # required for unit registration on macOS
2
9
 
3
10
  try:
4
11
  from ._version import version as __version__
@@ -7,5 +14,3 @@ except ImportError:
7
14
  __version__ = "0.0.0"
8
15
 
9
16
  debug_mode = False
10
-
11
- # -
PyMieSim/__main__.py CHANGED
@@ -1,4 +1,6 @@
1
1
 
2
+ """Entry point for launching the experimental PyMieSim GUI."""
3
+
2
4
  from PyMieSim.gui.interface import OpticalSetupGUI
3
5
 
4
6
 
PyMieSim/_version.py CHANGED
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '3.5.4.3'
21
- __version_tuple__ = version_tuple = (3, 5, 4, 3)
20
+ __version__ = version = '3.6.0'
21
+ __version_tuple__ = version_tuple = (3, 6, 0)
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding: utf-8 -*-
3
3
 
4
+ import numpy
4
5
  import pyvista
5
6
  from PyOptik.material.base_class import BaseMaterial
6
7
 
@@ -35,7 +36,7 @@ class CoreShell(CORESHELL, BaseScatterer):
35
36
  source: BaseSource
36
37
 
37
38
  property_names = [
38
- "size_parameter", "cross_section", "g",
39
+ "size_parameter", "radius", "volume", "cross_section", "g",
39
40
  "Qsca", "Qext", "Qabs", "Qback", "Qratio", "Qpr",
40
41
  "Csca", "Cext", "Cabs", "Cback", "Cratio", "Cpr"
41
42
  ]
@@ -85,6 +86,17 @@ class CoreShell(CORESHELL, BaseScatterer):
85
86
  source=self.source
86
87
  )
87
88
 
89
+ @property
90
+ def radius(self) -> units.Quantity:
91
+ """Return the outer radius of the scatterer."""
92
+ return self.core_diameter / 2 + self.shell_thickness
93
+
94
+ @property
95
+ def volume(self) -> units.Quantity:
96
+ """Return the volume of the scatterer."""
97
+ vol = (4/3) * numpy.pi * (self.radius ** 3)
98
+ return vol.to(units.meter ** 3)
99
+
88
100
  def _add_to_3d_ax(self, scene: pyvista.Plotter, color: str = 'black', opacity: float = 1.0) -> None:
89
101
  """
90
102
  Adds a 3D cone representation to the given PyVista plotting scene.
@@ -27,7 +27,7 @@ class Cylinder(CYLINDER, BaseScatterer):
27
27
  source: BaseSource
28
28
 
29
29
  property_names = [
30
- "size_parameter", "cross_section", "g",
30
+ "size_parameter", "radius", "cross_section", "g",
31
31
  "Qsca", "Qext", "Qabs",
32
32
  "Csca", "Cext", "Cabs"
33
33
  ]
@@ -62,6 +62,11 @@ class Cylinder(CYLINDER, BaseScatterer):
62
62
  source=self.source
63
63
  )
64
64
 
65
+ @property
66
+ def radius(self) -> units.Quantity:
67
+ """Return the radius of the cylinder."""
68
+ return self.diameter / 2
69
+
65
70
  @property
66
71
  def Cback(self) -> None:
67
72
  raise NotImplementedError
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding: utf-8 -*-
3
3
 
4
+ import numpy
4
5
  import pyvista
5
6
  from PyOptik.material.base_class import BaseMaterial
6
7
 
@@ -29,7 +30,7 @@ class Sphere(SPHERE, BaseScatterer):
29
30
  source: BaseSource
30
31
 
31
32
  property_names = [
32
- "size_parameter", "cross_section", "g",
33
+ "size_parameter", "radius", "volume", "cross_section", "g",
33
34
  "Qsca", "Qext", "Qabs", "Qback", "Qratio", "Qpr",
34
35
  "Csca", "Cext", "Cabs", "Cback", "Cratio", "Cpr"
35
36
  ]
@@ -66,6 +67,17 @@ class Sphere(SPHERE, BaseScatterer):
66
67
  source=self.source
67
68
  )
68
69
 
70
+ @property
71
+ def radius(self) -> units.Quantity:
72
+ """Return the radius of the sphere."""
73
+ return self.diameter / 2
74
+
75
+ @property
76
+ def volume(self) -> units.Quantity:
77
+ """Return the volume of the sphere."""
78
+ vol = (4/3) * numpy.pi * (self.radius ** 3)
79
+ return vol.to(units.meter ** 3)
80
+
69
81
  def _add_to_3d_ax(self, scene: pyvista.Plotter, color: str = 'black', opacity: float = 1.0) -> None:
70
82
  """
71
83
  Adds a 3D cone representation to the given PyVista plotting scene.
@@ -56,22 +56,21 @@ def spherical_to_cartesian(phi: numpy.ndarray, theta: numpy.ndarray, r: numpy.nd
56
56
 
57
57
 
58
58
  def rotate_on_x(phi: numpy.ndarray, theta: numpy.ndarray, angle: float) -> tuple:
59
- """
60
- Rotate spherical coordinates around the X-axis.
59
+ """Rotate spherical coordinates around the X-axis.
61
60
 
62
61
  Parameters
63
62
  ----------
64
63
  phi : numpy.ndarray
65
- The phi angles.
64
+ Azimuthal angles in radians.
66
65
  theta : numpy.ndarray
67
- The theta angles.
68
- r : numpy.ndarray
69
- The radial distances; defaults to unit radius if None.
66
+ Polar angles in radians.
67
+ angle : float
68
+ Rotation angle about the X-axis, in radians.
70
69
 
71
70
  Returns
72
71
  -------
73
- numpy.ndarray
74
- The Cartesian coordinates (x, y, z).
72
+ tuple
73
+ The rotated spherical coordinates ``(r, phi, theta)``.
75
74
  """
76
75
  # Convert to Cartesian for rotation
77
76
  x, y, z = spherical_to_cartesian(phi, theta)
lib/libZBessel.a CHANGED
Binary file
lib/lib_ZBessel.a CHANGED
Binary file
Binary file
lib/libcpp_coreshell.a CHANGED
Binary file
lib/libcpp_cylinder.a CHANGED
Binary file
lib/libcpp_sphere.a CHANGED
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: PyMieSim
3
- Version: 3.5.4.3
3
+ Version: 3.6.0
4
4
  Summary: A package for light scattering computation.
5
5
  Keywords: mie,scattering,backscatter,sphere,cylinder,nanoparticle,phase function,efficiency,rayleigh,backscattering
6
6
  Author-Email: Martin Poinsinet de Sivry-Houle <martin.poinsinet.de.sivry@gmail.com>
@@ -47,29 +47,28 @@ Project-URL: Documentation, https://martinpdes.github.io/PyMieSim/
47
47
  Project-URL: Repository, https://github.com/MartinPdeS/PyMieSim
48
48
  Requires-Python: >=3.10
49
49
  Requires-Dist: setuptools_scm[toml]~=8.0
50
- Requires-Dist: flexparser<0.5
51
50
  Requires-Dist: numpy==2.2.6
52
51
  Requires-Dist: matplotlib==3.10.3
53
52
  Requires-Dist: MPSPlots==1.6.4
54
53
  Requires-Dist: pydantic<2.12.0,>=2.9.2
55
54
  Requires-Dist: pint-pandas~=0.6
56
55
  Requires-Dist: pandas~=2.3.0
57
- Requires-Dist: PyOptik==1.10.8
56
+ Requires-Dist: PyOptik==1.11.0
58
57
  Requires-Dist: tabulate~=0.9
59
58
  Requires-Dist: pyvista==0.45.2
60
59
  Provides-Extra: testing
61
60
  Requires-Dist: pytest>=0.6; extra == "testing"
62
61
  Requires-Dist: pytest-cov>=2.0; extra == "testing"
63
62
  Requires-Dist: pytest-json-report==1.5.0; extra == "testing"
64
- Requires-Dist: coverage==7.9.1; extra == "testing"
63
+ Requires-Dist: coverage==7.9.2; extra == "testing"
65
64
  Provides-Extra: documentation
66
- Requires-Dist: numpydoc==1.8.0; extra == "documentation"
65
+ Requires-Dist: numpydoc==1.9.0; extra == "documentation"
67
66
  Requires-Dist: sphinx>=5.1.1; extra == "documentation"
68
67
  Requires-Dist: sphinx-rtd-theme==3.0.2; extra == "documentation"
69
68
  Requires-Dist: sphinx-gallery==0.19.0; extra == "documentation"
70
69
  Requires-Dist: pydata-sphinx-theme==0.16.1; extra == "documentation"
71
70
  Provides-Extra: dev
72
- Requires-Dist: flake8==7.2.0; extra == "dev"
71
+ Requires-Dist: flake8==7.3.0; extra == "dev"
73
72
  Description-Content-Type: text/x-rst
74
73
 
75
74
  |logo|
@@ -86,191 +85,98 @@ Description-Content-Type: text/x-rst
86
85
  - |ci/cd|
87
86
  - |coverage|
88
87
  - |colab|
89
- * - PyPi
90
- - |PyPi|
91
- - |PyPi_download|
88
+ * - PyPI
89
+ - |PyPI|
90
+ - |PyPI_download|
92
91
  -
93
92
  * - Anaconda
94
93
  - |anaconda|
95
94
  - |anaconda_download|
96
95
  - |anaconda_date|
97
96
 
98
-
99
-
100
-
101
97
  PyMieSim
102
98
  ========
103
99
 
104
- **PyMieSim** is a Python library designed to provide a robust and flexible framework for performing Mie scattering simulations.
105
- The software is easy to install and operate, making it accessible to both new users and experienced researchers.
106
- PyMieSim enables users to explore the scattering properties of particles under various configurations, and is tailored for investigating single scattering events, as well as conducting large-scale parametric experiments.
107
-
108
- At its core, PyMieSim includes three solvers optimized for different types of scatterers:
109
-
110
- - **Spherical particles**
111
- - **Infinite cylindrical particles**
112
- - **Core-shell spherical particles**
113
-
114
- The software also allows the user to customize the light source and detector attributes, depending on the specific simulation needs. The package is modular and provides an intuitive interface for users to model complex scattering scenarios with minimal effort.
115
-
116
- |code_structure|
117
-
118
- Main Submodules
119
- ---------------
120
-
121
- PyMieSim is organized into two primary submodules:
122
-
123
- 1. **single**: Focused on analyzing individual scattering events, such as:
124
- - Far-field distributions
125
- - Scattering phase functions
126
- - Stokes parameters
127
-
128
- 2. **experiment**: Designed for exploring how scattering parameters, such as `Qsca`, `Qext`, `g`, and `coupling (power)`, behave over large datasets, incorporating variations in sources, scatterers, and detectors.
100
+ **PyMieSim** is an open-source Python package for fast and flexible Mie
101
+ scattering simulations. It supports spherical, cylindrical and core--shell
102
+ particles and provides helper classes for custom sources and detectors.
103
+ The project targets both quick single-scatterer studies and large parametric
104
+ experiments.
129
105
 
130
- Both submodules work seamlessly together, making PyMieSim adaptable for a wide range of scattering simulations.
131
-
132
-
133
- ----
134
-
135
- Getting Started
136
- ---------------
137
-
138
- To use PyMieSim in Python, simply install the package and begin incorporating it into your scripts.
106
+ Features
107
+ --------
108
+ - Solvers for spheres, cylinders and core--shell geometries.
109
+ - Built-in models for plane wave and Gaussian sources.
110
+ - Multiple detector types including photodiodes and coherent modes.
111
+ - Simple data analysis with pandas DataFrame outputs.
139
112
 
140
113
  Installation
141
- ************
142
-
143
- PyMieSim supports Windows, Linux, macOS (including Apple M1/M2 chips), and ARM architectures. To install the package, use pip:
114
+ ------------
115
+ PyMieSim is available on PyPI and Anaconda. Install it with:
144
116
 
145
117
  .. code-block:: bash
146
118
 
147
- pip install PyMieSim (using pip package manager)
148
-
149
- conda install PyMieSim (using conda environment manager)
119
+ pip install PyMieSim
120
+ conda install PyMieSim
150
121
 
151
- For more details, visit the `documentation <https://pymiesim.readthedocs.io/en/latest/>`_ for a comprehensive guide on how to use the package.
152
-
153
- ----
154
-
155
- Example Code
156
- ------------
122
+ See the `online documentation <https://pymiesim.readthedocs.io/>`_ for detailed
123
+ usage and additional examples.
157
124
 
158
- Here is an example of how to use PyMieSim for a simple Mie scattering simulation. This example demonstrates how to configure a light source, scatterer, and detector, and retrieve the scattering data:
125
+ Quick example
126
+ -------------
127
+ Below is a short example computing the scattering efficiency of a sphere.
159
128
 
160
129
  .. code-block:: python
161
130
 
162
- import numpy as np
163
-
164
- from PyMieSim.experiment.scatterer import Sphere
165
- from PyMieSim.experiment.source import Gaussian
166
- from PyMieSim.experiment import Setup
167
- from PyMieSim.units import nanometer, degree, watt, AU, RIU
168
-
169
- source = Gaussian(
170
- wavelength=np.linspace(400, 1000, 500) * nanometer,
171
- polarization=0 * degree,
172
- optical_power=1e-3 * watt,
173
- NA=0.2 * AU
174
- )
175
-
176
- scatterer = Sphere(
177
- diameter=[200] * nanometer,
178
- property=[4] * RIU,
179
- medium_property=1 * RIU,
180
- source=source
181
- )
182
-
183
- experiment = Setup(scatterer=scatterer, source=source)
184
-
185
- dataframe = experiment.get('Qsca')
186
-
187
- dataframe.plot_data(x="source:wavelength")
188
-
189
-
190
- It produces the following figure which is equivalent to the one found on `wikipedia <https://en.wikipedia.org/wiki/Mie_scattering#/media/File:N4wiki.svg>`_.
191
-
192
- |wikipedia_example|
193
-
194
-
195
- This is just one example of PyMieSim in action. You can find more examples in the
196
- `examples section <https://pymiesim.readthedocs.io/en/master/gallery/index.html>`_ of the documentation.
197
-
198
- ----
199
-
200
- Examples
201
- --------
202
-
203
- Here are a few more examples showcasing the capabilities of PyMieSim:
204
-
205
- Example 1: Plasmonic Resonances for CoreShell Particles
206
- *******************************************************
207
-
208
- |example_plasmon|
209
-
210
- Example 2: Scattering Efficiency vs Diameter for Spherical Particles
211
- ********************************************************************
212
-
213
- |example_qsca|
214
-
215
- ----
216
-
217
- Manual Building
218
- ---------------
219
-
220
- If you prefer or need to build the project manually (e.g., for Apple silicon devices), ensure you have a C++ compiler (such as gcc) and Fortran installed, as well as Python 3.7+.
221
-
222
- Build Instructions
223
- ******************
224
-
225
- Linux/MacOS
226
- ~~~~~~~~~~~
131
+ import numpy as np
132
+ from PyMieSim.experiment.scatterer import Sphere
133
+ from PyMieSim.experiment.source import Gaussian
134
+ from PyMieSim.experiment import Setup
135
+ from PyMieSim.units import nanometer, degree, watt, AU, RIU
136
+
137
+ source = Gaussian(
138
+ wavelength=np.linspace(400, 1000, 500) * nanometer,
139
+ polarization=0 * degree,
140
+ optical_power=1e-3 * watt,
141
+ NA=0.2 * AU,
142
+ )
143
+
144
+ scatterer = Sphere(
145
+ diameter=[200] * nanometer,
146
+ property=[4] * RIU,
147
+ medium_property=1 * RIU,
148
+ source=source,
149
+ )
150
+
151
+ experiment = Setup(scatterer=scatterer, source=source)
152
+ df = experiment.get("Qsca")
153
+ df.plot_data(x="source:wavelength")
154
+
155
+ Building from source
156
+ --------------------
157
+ For development or manual compilation, clone the repository and run:
227
158
 
228
159
  .. code-block:: bash
229
160
 
230
- git clone https://github.com/MartinPdeS/PyMieSim.git
231
- cd PyMieSim
232
- git submodule init && git submodule update
233
- mkdir build
234
- cd build
235
- cmake ../ -G"Unix Makefiles"
236
- sudo make install
237
- cd ..
238
- python -m pip install .
239
-
240
- For Windows, use `MinGW Makefiles` instead of `Unix Makefiles` when invoking CMake.
241
-
242
- ----
161
+ git submodule update --init
162
+ mkdir build && cd build
163
+ cmake ../ -G"Unix Makefiles"
164
+ sudo make install
165
+ cd ..
166
+ python -m pip install .
243
167
 
244
168
  Testing
245
169
  -------
246
-
247
- You can test the local version of PyMieSim by running the following commands:
170
+ Run the unit tests with:
248
171
 
249
172
  .. code-block:: bash
250
173
 
251
- git clone https://github.com/MartinPdeS/PyMieSim.git
252
- cd PyMieSim
253
- pip install PyMieSim[testing]
254
- pytest
255
-
256
- This will run the suite of unit tests and provide coverage details.
257
-
258
- ----
259
-
260
- Google Colab
261
- ------------
262
-
263
- In 2024, running code on your local machine is optional! You can leverage the power of Google Colab to run PyMieSim remotely. Use the provided
264
- `Colab notebook <https://colab.research.google.com/github/MartinPdeS/PyMieSim/blob/master/notebook.ipynb>`_ for an interactive experience.
265
-
266
- |colab|
267
-
268
- ----
174
+ pip install PyMieSim[testing]
175
+ pytest
269
176
 
270
177
  Citing PyMieSim
271
178
  ---------------
272
-
273
- If PyMieSim contributes to your research, we kindly ask that you cite the following paper:
179
+ If you use PyMieSim in academic work, please cite:
274
180
 
275
181
  .. code-block:: none
276
182
 
@@ -285,99 +191,56 @@ If PyMieSim contributes to your research, we kindly ask that you cite the follow
285
191
  doi = {10.1364/OPTCON.473102},
286
192
  }
287
193
 
288
- You can access the full article `here <https://opg.optica.org/optcon/fulltext.cfm?uri=optcon-2-3-520&id=526697>`_
289
-
290
- ----
291
-
292
- Experimental Graphical User Interface (GUI)
293
- -------------------------------------------
294
-
295
- Since version 1.7.0, PyMieSim offers an experimental GUI for users who prefer a graphical approach to simulations. While still under development, the GUI can be installed and accessed as follows:
296
-
297
- .. code-block:: bash
298
-
299
- pip install PyMieSim
300
- python -m PyMieSim
301
-
302
- The GUI is not yet as robust as the core Python API, but it provides a simplified interface for generating simulations.
303
-
304
- |example_gui|
305
-
306
- ----
307
-
308
- Contact Information
309
- -------------------
310
-
311
- PyMieSim is actively developed and maintained by Martin Poinsinet de Sivry-Houle. If you're interested in contributing or have questions, feel free to reach out.
312
-
313
- Email: `martin.poinsinet.de.sivry@gmail.ca <mailto:martin.poinsinet.de.sivry@gmail.ca?subject=PyMieSim>`_
314
-
315
- Flag_0
316
-
317
- ----
194
+ Contact
195
+ -------
196
+ For questions or contributions, contact `martin.poinsinet.de.sivry@gmail.ca <mailto:martin.poinsinet.de.sivry@gmail.ca>`_.
318
197
 
319
198
  .. |logo| image:: https://github.com/MartinPdeS/PyMieSim/raw/master/docs/images/logo.png
320
199
  :alt: PyOptik logo
321
-
322
200
  .. |python| image:: https://img.shields.io/pypi/pyversions/pymiesim.svg
323
201
  :alt: Python
324
202
  :target: https://www.python.org/
325
-
326
203
  .. |zenodo| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.5593704.svg
327
204
  :alt: Scientific article
328
205
  :target: https://doi.org/10.5281/zenodo.4556074
329
-
330
206
  .. |colab| image:: https://colab.research.google.com/assets/colab-badge.svg
331
207
  :alt: Google Colab
332
208
  :target: https://colab.research.google.com/github/MartinPdeS/PyMieSim/blob/master/notebook.ipynb
333
-
334
209
  .. |docs| image:: https://github.com/martinpdes/pymiesim/actions/workflows/deploy_documentation.yml/badge.svg
335
210
  :target: https://martinpdes.github.io/PyMieSim/
336
211
  :alt: Documentation Status
337
-
338
- .. |PyPi| image:: https://badge.fury.io/py/PyMieSim.svg
339
- :alt: PyPi version
212
+ .. |PyPI| image:: https://badge.fury.io/py/PyMieSim.svg
213
+ :alt: PyPI version
340
214
  :target: https://badge.fury.io/py/PyMieSim
341
-
342
- .. |PyPi_download| image:: https://img.shields.io/pypi/dm/PyMieSim?style=plastic&label=PyPi%20downloads&labelColor=hex&color=hex
343
- :alt: PyPI - Downloads
344
- :target: https://pypistats.org/packages/pymiesim
345
-
215
+ .. |PyPI_download| image:: https://img.shields.io/pypi/dm/PyMieSim?style=plastic&label=PyPI%20downloads&labelColor=hex&color=hex
216
+ :alt: PyPI downloads
217
+ :target: https://pypistats.org/packages/pymiesim
346
218
  .. |coverage| image:: https://raw.githubusercontent.com/MartinPdeS/PyMieSim/python-coverage-comment-action-data/badge.svg
347
219
  :alt: Unittest coverage
348
220
  :target: https://htmlpreview.github.io/?https://github.com/MartinPdeS/PyMieSim/blob/python-coverage-comment-action-data/htmlcov/index.html
349
-
350
221
  .. |ci/cd| image:: https://github.com/martinpdes/pymiesim/actions/workflows/deploy_coverage.yml/badge.svg
351
222
  :alt: Unittest Status
352
-
353
223
  .. |code_structure| image:: https://github.com/MartinPdeS/PyMieSim/raw/master/docs/images/code_structure.png
354
224
  :width: 800
355
225
  :alt: Structure of the library
356
-
357
226
  .. |example_gui| image:: https://github.com/MartinPdeS/PyMieSim/raw/master/docs/images/example_gui.png
358
227
  :width: 800
359
228
  :alt: Structure of the library
360
-
361
229
  .. |wikipedia_example| image:: https://github.com/MartinPdeS/PyMieSim/raw/master/docs/images/wikipedia_example.png
362
230
  :width: 800
363
231
  :alt: Example wikipedia
364
-
365
232
  .. |example_plasmon| image:: https://github.com/MartinPdeS/PyMieSim/raw/master/docs/images/plasmonic_resonances.png
366
233
  :width: 800
367
234
  :alt: Plasmonic resonances
368
-
369
235
  .. |example_qsca| image:: https://github.com/MartinPdeS/PyMieSim/raw/master/docs/images/Qsca_diameter.png
370
236
  :width: 800
371
237
  :alt: Qsca vs diameter
372
-
373
238
  .. |anaconda| image:: https://anaconda.org/martinpdes/pymiesim/badges/version.svg
374
- :alt: Anaconda version
375
- :target: https://anaconda.org/martinpdes/pymiesim
376
-
239
+ :alt: Anaconda version
240
+ :target: https://anaconda.org/martinpdes/pymiesim
377
241
  .. |anaconda_download| image:: https://anaconda.org/martinpdes/pymiesim/badges/downloads.svg
378
- :alt: Anaconda downloads
379
- :target: https://anaconda.org/martinpdes/pymiesim
380
-
242
+ :alt: Anaconda downloads
243
+ :target: https://anaconda.org/martinpdes/pymiesim
381
244
  .. |anaconda_date| image:: https://anaconda.org/martinpdes/pymiesim/badges/latest_release_relative_date.svg
382
245
  :alt: Latest release date
383
246
  :target: https://anaconda.org/martinpdes/pymiesim
@@ -1,30 +1,30 @@
1
- lib/lib_ZBessel.a,sha256=uxLcPLxfwAv-BtN1pUZrk_518fwlNZmb8MtbVs5W-_Y,10676
2
- lib/libcpp_base_scatterer.a,sha256=sYK46ltptmCkP44u1vhWudqkMJJJprG5jAcO0ANMLFs,279546
3
- lib/libcpp_coreshell.a,sha256=B7wRi20ed38cdMFRzyFWUoxEXL24ZA34uwO73dsRzPM,282444
4
- lib/libcpp_cylinder.a,sha256=QsT1A5CIOSUrt0WOV09BGTJ_-X8zK3YYRwz-kf5eKDA,263650
5
- lib/libcpp_sphere.a,sha256=XdDDAXCNo5R3YlvLfAo5ivRpLjDVRhtAVNg1MsGUzqQ,276626
6
- lib/libZBessel.a,sha256=3Jzt91865HwdNarUQ2NkzKEB_hW2wyxto-vFLrTMbek,133174
7
- PyMieSim/__init__.py,sha256=ATPcasYo6e8DbNhyXGPN8lRhB_mcOGvNV-kO82U9Z5k,260
8
- PyMieSim/__main__.py,sha256=ZSJaGgDhOSzpwPZLLrqyzu6JH5nO7KPHblCD8OMuF4A,180
9
- PyMieSim/_version.py,sha256=SPA2ARbwEu3rmTOQ07I3xcu74m_6fSX88nf8mSfbM_U,537
1
+ lib/lib_ZBessel.a,sha256=J9RJYecvprt5KYLQjC3y0z3ckomN4Gw1CNF3T46t3jk,10676
2
+ lib/libcpp_base_scatterer.a,sha256=I4g7ZkELB3IEsD8kkzHnP1lBVn63Ib4gbsg24qzVsss,300872
3
+ lib/libcpp_coreshell.a,sha256=6-pqYDbaV1o9KLtpjRYxWATpmBHs34X-8CeaNLXlQwg,305714
4
+ lib/libcpp_cylinder.a,sha256=c1iiS0fiN_ZdRpp_5JfYSq5YJmXHdUQOZ_scCvGnztQ,287150
5
+ lib/libcpp_sphere.a,sha256=_Sr-UHf2Ymi0jMuKWQQeVKHyKglNwWGKQ-3zw6CJIPg,299958
6
+ lib/libZBessel.a,sha256=Sn_SbFzcz_b-1P0s9nDzeyIxhKC0hSzPMLNBXL_5LtE,133174
7
+ PyMieSim/__init__.py,sha256=3j_1gIfkkQdu6oflAVAot2mZPJO_yz5MVfhDNxjY6-s,469
8
+ PyMieSim/__main__.py,sha256=oGbu6nM6nxHbA1DRvpiG6loI-mkVCuVCJJPnN5pAmgQ,246
9
+ PyMieSim/_version.py,sha256=gjaLAkUsBET1sUPJb8F_jnhiFLEWqCIkrz1Y419AaLk,532
10
10
  PyMieSim/binary/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
- PyMieSim/binary/interface_detector.cp310-win_amd64.pyd,sha256=k_eFMo3StUEQDOdeIacs0DbZG4vwoZaxk-8RPsCyEVI,755712
12
- PyMieSim/binary/interface_detector.cp311-win_amd64.pyd,sha256=pulrHpr_y6wH7lwRM3J0kqocN2DMm6gu0AzhHJldzP0,758784
13
- PyMieSim/binary/interface_experiment.cp310-win_amd64.pyd,sha256=XKfGab5bUHMZPVK_c5qNsVtRE9uE4NIArcCBFpZbLk0,797696
14
- PyMieSim/binary/interface_experiment.cp311-win_amd64.pyd,sha256=0YOaqlzDhWpmBLPLC-33J0yVZzmggDVO2gZAY1_B2Lc,801280
15
- PyMieSim/binary/interface_scatterer.cp310-win_amd64.pyd,sha256=4Ot0KbxHCfRgTJKOJfPxWzpsM6FWdKyB5Vig0i6-2YE,1171968
16
- PyMieSim/binary/interface_scatterer.cp311-win_amd64.pyd,sha256=_8apNih_N2EFPeHLNsqS7VZyOPo6Ml5TizNvkXQhfzo,1176064
17
- PyMieSim/binary/interface_sets.cp310-win_amd64.pyd,sha256=_WVxNPVZkRnlhk_7LSaweouzs-giwNglHL42l-kGYBs,1178624
18
- PyMieSim/binary/interface_sets.cp311-win_amd64.pyd,sha256=Jlg7J9wyHGEvIvmpe74yA8J8Ihn6yMwXK2y_gUvvyYA,1183232
19
- PyMieSim/binary/interface_source.cp310-win_amd64.pyd,sha256=yOLgbVBPeOKYZrENJDeUlEPnolzflrjjJgYLlGVAwgs,539648
20
- PyMieSim/binary/interface_source.cp311-win_amd64.pyd,sha256=1jVMPboHJwMkz9RVrbTPxAUu6W2t-se1wLha3RGQyp8,542720
21
- PyMieSim/binary/libcpp_coordinates.a,sha256=E4F9hV3J41fUaSIlLN-a7j22ASW2YDND7tRi5D4nKnk,23506
22
- PyMieSim/binary/libcpp_detector.a,sha256=vSmKvEfnkSB1khvj-GFPhhN6Zsn5xuzU5Ndkz8kotd8,285852
23
- PyMieSim/binary/libcpp_experiment.a,sha256=pxsLtCTxIARDmUKIqDsRfxuZCulfv9LvGrzqfbL5g5M,243680
24
- PyMieSim/binary/libcpp_fibonacci.a,sha256=_paqbWq2cgH4JmhtakGeIeVA1A4zqhjEmVMijT_BCck,16808
25
- PyMieSim/binary/libcpp_mode_field.a,sha256=08IniCnlib7aPk7uDnUeEz5W82TSOOiVsDGhKU9YgeQ,13388
26
- PyMieSim/binary/libcpp_sets.a,sha256=sPfOgCsyY-hJlOQDHu-Xu7cPa_AXbwm9SqzI4JIWJCI,243594
27
- PyMieSim/binary/libcpp_source.a,sha256=wxnwgxcxSBQIijlsOdPcYOUomA7E_b6-PCNFuJpH40Q,4070
11
+ PyMieSim/binary/interface_detector.cp310-win_amd64.pyd,sha256=QkDGVeeDytSzLgFxJh42Ldoc88hTwm-vzN1QhK9MSPA,797184
12
+ PyMieSim/binary/interface_detector.cp311-win_amd64.pyd,sha256=0IhoeFFjH1oFUzZiCnosIJP45lkWJ0uuw51FuOQsFY8,801792
13
+ PyMieSim/binary/interface_experiment.cp310-win_amd64.pyd,sha256=8wUhVq2kMpUh2zxqbN3pSKjr4q6Hg4q9J5cF0_ZbGOE,820736
14
+ PyMieSim/binary/interface_experiment.cp311-win_amd64.pyd,sha256=XqlUixiWb1cLRU3GjTJF5B40ZN3-KW6BnmmvUN-SCbg,824320
15
+ PyMieSim/binary/interface_scatterer.cp310-win_amd64.pyd,sha256=Grk5L_jwnWfbhU4dOxopDUxpXi01IpLqJgt4CrFkhuU,1203712
16
+ PyMieSim/binary/interface_scatterer.cp311-win_amd64.pyd,sha256=7LPEfHpOQNQ939uaO19gGgDCbrhNsDxuE31c0qDl_LQ,1208320
17
+ PyMieSim/binary/interface_sets.cp310-win_amd64.pyd,sha256=LSrsf6Jp4IYO0owKTqoo11xVdniLEE0qkJbEe-CUBHg,1216512
18
+ PyMieSim/binary/interface_sets.cp311-win_amd64.pyd,sha256=7Sy_RPgFEf6lllEAAfIWxTUoBOn0v4CCG9QbXtoPucU,1220608
19
+ PyMieSim/binary/interface_source.cp310-win_amd64.pyd,sha256=WZAYfn_QYXHwZlWkmvwCoU5nfuTcC8BWhMMfnxX69hw,552448
20
+ PyMieSim/binary/interface_source.cp311-win_amd64.pyd,sha256=QAc8K_8doOEVypcDI1ToT6bB4KKqfsWAUynEhLuDyIA,556032
21
+ PyMieSim/binary/libcpp_coordinates.a,sha256=bZi5AGmAPXelcGrF9s7wfVpBx5cMaqjgvvmAZKer0ZU,23506
22
+ PyMieSim/binary/libcpp_detector.a,sha256=lBOTZVdUrY1_dhvQMDuHKhOxOkRS1XN-z8lIezIm36Q,307434
23
+ PyMieSim/binary/libcpp_experiment.a,sha256=XDJmUAPNfrE-MEngNStVy3eWMCTQLH_i1XnvUWG81Ys,265672
24
+ PyMieSim/binary/libcpp_fibonacci.a,sha256=OAjh-7kZcTMzZWSGdLMs_seZthL-QkFTbpyBMgm7sug,16808
25
+ PyMieSim/binary/libcpp_mode_field.a,sha256=l5E8p7R-XdMeGloKlIqzaPCBu4fN5PAKYNDyexpWdqs,13388
26
+ PyMieSim/binary/libcpp_sets.a,sha256=ov8Zc_U-nobyi60rPZVWTds73SzUcn_ZaAMVRSLpxKA,265586
27
+ PyMieSim/binary/libcpp_source.a,sha256=VOnR9RWCrw2GCFxYVIPbuJhP-o3P2qVopLcUJu6JWyM,4070
28
28
  PyMieSim/directories.py,sha256=x8nf0HACHDuny0YQ3sPnktY8aCKOA1RDvbDTSrerGN0,679
29
29
  PyMieSim/experiment/__init__.py,sha256=3W7RgRQ2wspQyhAsUUfd5oYx199lQbYv90Lf0A5Ypf4,46
30
30
  PyMieSim/experiment/dataframe_subclass.py,sha256=WVVbvLmdPaqgFU48f8Ua0-WOlNj-CDpK_tFNCDC5ixU,7394
@@ -57,14 +57,14 @@ PyMieSim/single/detector/uncoherent.py,sha256=CKR_Iqcx2UjD8ospj9H4rMFNbbM_jLXZgL
57
57
  PyMieSim/single/representations.py,sha256=vOznCZL-8KrErz-4m4-9w7g433rmUCfVmWFObLONd_Q,29883
58
58
  PyMieSim/single/scatterer/__init__.py,sha256=CN5D1UTvtIWMrlYvN4YqA3_DAp0jOPlPKl8ZCKUUU-4,128
59
59
  PyMieSim/single/scatterer/base.py,sha256=bRNhLsvu9t8SVROdpnXnpklR_9UNKhw69YmBo6PIjG8,20106
60
- PyMieSim/single/scatterer/core_shell.py,sha256=5u5kJpNf3m-E6hU6E4vhALYZitJ0BwlhnYrD1Ek6cIM,4785
61
- PyMieSim/single/scatterer/cylinder.py,sha256=uKnpNQ1gq-Mb2bOXIlWpohpd4xIdriT85LFYfoteNNc,4022
62
- PyMieSim/single/scatterer/sphere.py,sha256=UBdfnOSVA9Ep4Xz4ASgXmLKUOCtFoFqJgRTlMCk66Q4,3581
60
+ PyMieSim/single/scatterer/core_shell.py,sha256=YL8GBDv2t_IlSFNWu1PPy52ZBbddt8NUPpbwRqJ0EEg,5199
61
+ PyMieSim/single/scatterer/cylinder.py,sha256=i_pLQ6AIRqgssqRrYWNVsahV5J6aywQGsK6WmyauVsY,4174
62
+ PyMieSim/single/scatterer/sphere.py,sha256=ypzmZ3QssQxlK15kacr7AqLqWP_-_bWcel3ynv1UNSI,3955
63
63
  PyMieSim/single/source/__init__.py,sha256=UTGc7nja-s3Cfx9tbscY-OOpku8td8eTyRkruUNfN00,96
64
64
  PyMieSim/single/source/base.py,sha256=T7Wx-4JYsG7-OOuZAga7XrzQiYo1jzB2AHLWTxr71Uw,130
65
65
  PyMieSim/single/source/gaussian.py,sha256=LY7ShqlnpefXdHaEz5oQZBVhjxBQWcLhNjgGVzfOSxc,4986
66
66
  PyMieSim/single/source/planewave.py,sha256=Wr5vnege_0yyogG4oVDnJgGOnTfBcI0Delw61M_iTn8,3683
67
- PyMieSim/special_functions.py,sha256=Dwdt3civrBFckhw3Tj0bQvJ2m124B70dqXXQX5VQmcQ,2164
67
+ PyMieSim/special_functions.py,sha256=klYnLr-fpKt8VlqWngWJMeexLxbP-3hezBXQF5gSGGI,2174
68
68
  PyMieSim/units.py,sha256=b6TscVsAkKOiJfqs28gRLI4z_0g1tMS9lzelO623OjQ,4353
69
69
  PyMieSim/validation_data/bohren_huffman/figure_810.csv,sha256=a16WSB7y7_TuGcboXUINj7y-mX0mkG_Vo0CFtE-pfF8,10073
70
70
  PyMieSim/validation_data/bohren_huffman/figure_87.csv,sha256=6vf5uPxzYP7N1rD8GgQJxi4-Yme8Q3ycPpsavXlQQZY,40002
@@ -85,7 +85,7 @@ PyMieSim/validation_data/pymiescatt/validation_Qsca_coreshell_1.csv,sha256=fW1pa
85
85
  PyMieSim/validation_data/pymiescatt/validation_Qsca_coreshell_2.csv,sha256=khOJo3N54CqvrG9sxpuvvv5mZlcF3awOk738WHLougI,10400
86
86
  PyMieSim/validation_data/pymiescatt/validation_Qsca_medium.csv,sha256=7PE_F3sLIKmKPhcoMUxeByZHw3lzDfc3TH9g9bh3Noo,20800
87
87
  PyMieSim/validation_data/pymiescatt/validation_sphere.csv,sha256=0VCbInLU-PcTMa8IOsGL9vBWYJ9tQ6FpMv3ApV8fQVY,143548
88
- pymiesim-3.5.4.3.dist-info/METADATA,sha256=3QF4Pz6lqkM-onxvKsHs4zMk7yLajZ-4mZx9uSpp8dM,13472
89
- pymiesim-3.5.4.3.dist-info/WHEEL,sha256=snOjF3_Qdfl83AvEPF_jBYJIRsss89-Tk83TV05TAGs,106
90
- pymiesim-3.5.4.3.dist-info/licenses/LICENSE,sha256=Iiz1zBIAocPfqqVpPTakp8OKXY9K5j4bIRbgaXy2iAE,1109
91
- pymiesim-3.5.4.3.dist-info/RECORD,,
88
+ pymiesim-3.6.0.dist-info/METADATA,sha256=NLH1cmL-XPL5EVHrCZuT_ZTIbYMT-jqEMJlNV92L1PQ,9530
89
+ pymiesim-3.6.0.dist-info/WHEEL,sha256=RKWfL8d6R7y9dzb5_AyhPLMoBaKZaDpOTwy7YMg9zGI,106
90
+ pymiesim-3.6.0.dist-info/licenses/LICENSE,sha256=Iiz1zBIAocPfqqVpPTakp8OKXY9K5j4bIRbgaXy2iAE,1109
91
+ pymiesim-3.6.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: scikit-build-core 0.11.4
2
+ Generator: scikit-build-core 0.11.5
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp311-cp311-win_amd64
5
5