Name | faser JSON |
Version |
0.3.6
JSON |
| download |
home_page | None |
Summary | Faser is a tool for vectorial psf simulation |
upload_time | 2024-12-25 10:35:15 |
maintainer | None |
docs_url | None |
author | None |
requires_python | <3.13,>=3.9 |
license | The MIT License (MIT) Copyright (c) 2024 Kyle Harrington Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
keywords |
faser
napari
psf
simulation
vectorial
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# faser
faser is a Python-based software package designed to simulate the excitation
point spread function (PSF) of optical microscopes. Faser calculates PSFs for high NA
focusing by using a vectorial model of the electromagnetic field, enabling exploration of the impact
of geometrical and optical parameters on imaging performance in advanced applications. The
software supports various beam profiles, including those used in STED microscopy, and allows for
the simulation of common experimental conditions such as a cranial window and a coverslip tilt.
We provide to prefered ways to use faser:
## Faser as a Napari Plugin
The recommended way to install faser is as a Napari plugin, which provides a user-friendly GUI for interactively exploring the PSF simulation. This can be done via:
```bash
pip install faser napari[pyqt5]
```
#### Usage
You can run the GUI application via (or just as a Napari plugin)
```bash
qtfaser
```
For more information on how to use the GUI, please refer to the [preprint](https://faser.readthedocs.io/en/latest/).
## Faser as a standalone application
Alternatively, you can install the package as a standalone application only, that you can run in enironments without Napari or GUI support:
```bash
pip install faser[cli]
```
This will install the package as a standalone application that can be run from the command line via:
```bash
faser
```
We generally recommend the GUI application for most users, as it provides a more user-friendly interface.
However faser can also be used as a library, and the CLI application is useful for scripting and batch processing.
#### Usage
To simulate the PSF, with a specific numerical aperture (NA) and a beam profile, you can run the following command:
```bash
faser --na 1.4 --window=NO
```
For more information and options you can run:
```bash
faser --help
```
To display the GUI interface and the available options:
```
__
/ _| __ _ ___ ___ _ __
| |_ / _` / __|/ _ \ '__|
| _| (_| \__ \ __/ |
|_| \__,_|___/\___|_|
Generating PSF with config
faser➜ faser git:(master) ✗ uv run faser --help
Usage: faser [OPTIONS]
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --config FILENAME Path to a JSON file │
│ --detector_gaussian_noise FLOAT Detector Gaussian noise │
│ --gaussian_beam_noise FLOAT Gaussian_beam noise │
│ --add_noise NOISE │
│ --loaded_phase_mask OPTIONAL Loaded Phasemak │
│ --p FLOAT Ratio between Donut (p) and Bottle (1-p) intensity │
│ --mask_offset_y FLOAT Y offset of the phase mask in regard to pupil center │
│ --mask_offset_x FLOAT X offset of the phase mask in regard to pupil center │
│ --ring_radius FLOAT Radius of the ring phase mask (on unit pupil) │
│ --rc FLOAT Ring charge (should be odd to produce bottle) │
│ --vc FLOAT Vortex charge (should be integer to produce donut) │
│ --epsilon FLOAT Ellipticity of the polarization (in °) │
│ --psi FLOAT Direction of the polarization (in °) │
│ --ampl_offset_y FLOAT Y offset of the amplitude profile in regard to pupil center │
│ --ampl_offset_x FLOAT X offset of the amplitude profile in regard to pupil center │
│ --waist FLOAT Diameter of the input beam on the objective pupil (in µm) │
│ --wavelength FLOAT Wavelength of light (in µm) │
│ --polarization POLARIZATION │
│ --mode MODE │
│ --aberration_offset_y FLOAT Y offset of the aberration function in regard to pupil center │
│ --aberration_offset_x FLOAT X offset of the aberration function in regard to pupil center │
│ --a24 ABERRATIONFLOAT Secondary spherical │
│ --a12 ABERRATIONFLOAT Primary spherical │
│ --a9 ABERRATIONFLOAT Oblique Trefoil │
│ --a8 ABERRATIONFLOAT Horizontal Coma │
│ --a7 ABERRATIONFLOAT Vertical Coma │
│ --a6 ABERRATIONFLOAT Vertical Trefoil │
│ --a5 ABERRATIONFLOAT Vertical Astigmatism │
│ --a4 ABERRATIONFLOAT Defocus │
│ --a3 ABERRATIONFLOAT Oblique Astigmatism │
│ --a2 ABERRATIONFLOAT Horizontal Tilt │
│ --a1 ABERRATIONFLOAT Vertical Tilt │
│ --a0 ABERRATIONFLOAT Piston │
│ --wind_offset_y FLOAT Y offset of the cranial window in regard to pupil center │
│ --wind_offset_x FLOAT X offset of the cranial window in regard to pupil center │
│ --wind_depth FLOAT Depth of the cranial window (in mm) │
│ --wind_radius FLOAT Diameter of the cranial window (in mm) │
│ --window WINDOW │
│ --tilt FLOAT Tilt angle of the coverslip (in °) │
│ --depth FLOAT Imaging depth in the sample (in µm) │
│ --collar FLOAT Correction collar setting to compensate coverslip thickness │
│ --thickness FLOAT Thickness of the coverslip (in µm) │
│ --n3 FLOAT Refractive index of the sample │
│ --n2 FLOAT Refractive index of the coverslip │
│ --n1 FLOAT Refractive index of the immersion medium │
│ --wd FLOAT Working Distance of the objective lens (in µm) │
│ --na FLOAT Numerical Aperture of Objective Lens │
│ --normalize NORMALIZE │
│ --nphi INTEGER Integration sted of the aximutal angle on the pupil │
│ --ntheta INTEGER Integration sted of the focalization angle │
│ --nz INTEGER Discretization of Z axis - better be odd number for perfect 0 │
│ --nxy INTEGER Discretization of image plane - better be odd number for perfect 0 │
│ --l_obs_z FLOAT Observation scale in Z (in µm) │
│ --l_obs_xy FLOAT Observation scale in XY (in µm) │
│ --help Show this message and exit. │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
```
Raw data
{
"_id": null,
"home_page": null,
"name": "faser",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.13,>=3.9",
"maintainer_email": "Johannes Roos <jhnnsrs@gmail.com>",
"keywords": "faser, napari, psf, simulation, vectorial",
"author": null,
"author_email": "Johannes Roos <jhnnsrs@gmail.com>, Stephane Bancelin <stephane.bancelin@cnrs.fr>",
"download_url": "https://files.pythonhosted.org/packages/9b/f0/fa2c1e1b31c9a9c5692cd528880fedc26b271ac4896c4c322c9e005686a3/faser-0.3.6.tar.gz",
"platform": null,
"description": "# faser\n\nfaser is a Python-based software package designed to simulate the excitation\npoint spread function (PSF) of optical microscopes. Faser calculates PSFs for high NA\nfocusing by using a vectorial model of the electromagnetic field, enabling exploration of the impact\nof geometrical and optical parameters on imaging performance in advanced applications. The\nsoftware supports various beam profiles, including those used in STED microscopy, and allows for\nthe simulation of common experimental conditions such as a cranial window and a coverslip tilt.\n\nWe provide to prefered ways to use faser:\n\n## Faser as a Napari Plugin\n\nThe recommended way to install faser is as a Napari plugin, which provides a user-friendly GUI for interactively exploring the PSF simulation. This can be done via:\n\n```bash\npip install faser napari[pyqt5]\n```\n\n#### Usage\n\nYou can run the GUI application via (or just as a Napari plugin)\n\n```bash\nqtfaser\n```\n\nFor more information on how to use the GUI, please refer to the [preprint](https://faser.readthedocs.io/en/latest/).\n\n## Faser as a standalone application\n\nAlternatively, you can install the package as a standalone application only, that you can run in enironments without Napari or GUI support:\n\n```bash\npip install faser[cli]\n```\nThis will install the package as a standalone application that can be run from the command line via:\n\n```bash\nfaser\n```\nWe generally recommend the GUI application for most users, as it provides a more user-friendly interface.\nHowever faser can also be used as a library, and the CLI application is useful for scripting and batch processing.\n\n#### Usage\n\nTo simulate the PSF, with a specific numerical aperture (NA) and a beam profile, you can run the following command:\n\n```bash\nfaser --na 1.4 --window=NO\n```\n\nFor more information and options you can run:\n\n```bash\nfaser --help\n```\n\nTo display the GUI interface and the available options:\n\n```\n __ \n / _| __ _ ___ ___ _ __ \n| |_ / _` / __|/ _ \\ '__|\n| _| (_| \\__ \\ __/ | \n|_| \\__,_|___/\\___|_| \n\nGenerating PSF with config\nfaser\u279c faser git:(master) \u2717 uv run faser --help\n \n Usage: faser [OPTIONS] \n \n\u256d\u2500 Options \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502 --config FILENAME Path to a JSON file \u2502\n\u2502 --detector_gaussian_noise FLOAT Detector Gaussian noise \u2502\n\u2502 --gaussian_beam_noise FLOAT Gaussian_beam noise \u2502\n\u2502 --add_noise NOISE \u2502\n\u2502 --loaded_phase_mask OPTIONAL Loaded Phasemak \u2502\n\u2502 --p FLOAT Ratio between Donut (p) and Bottle (1-p) intensity \u2502\n\u2502 --mask_offset_y FLOAT Y offset of the phase mask in regard to pupil center \u2502\n\u2502 --mask_offset_x FLOAT X offset of the phase mask in regard to pupil center \u2502\n\u2502 --ring_radius FLOAT Radius of the ring phase mask (on unit pupil) \u2502\n\u2502 --rc FLOAT Ring charge (should be odd to produce bottle) \u2502\n\u2502 --vc FLOAT Vortex charge (should be integer to produce donut) \u2502\n\u2502 --epsilon FLOAT Ellipticity of the polarization (in \u00b0) \u2502\n\u2502 --psi FLOAT Direction of the polarization (in \u00b0) \u2502\n\u2502 --ampl_offset_y FLOAT Y offset of the amplitude profile in regard to pupil center \u2502\n\u2502 --ampl_offset_x FLOAT X offset of the amplitude profile in regard to pupil center \u2502\n\u2502 --waist FLOAT Diameter of the input beam on the objective pupil (in \u00b5m) \u2502\n\u2502 --wavelength FLOAT Wavelength of light (in \u00b5m) \u2502\n\u2502 --polarization POLARIZATION \u2502\n\u2502 --mode MODE \u2502\n\u2502 --aberration_offset_y FLOAT Y offset of the aberration function in regard to pupil center \u2502\n\u2502 --aberration_offset_x FLOAT X offset of the aberration function in regard to pupil center \u2502\n\u2502 --a24 ABERRATIONFLOAT Secondary spherical \u2502\n\u2502 --a12 ABERRATIONFLOAT Primary spherical \u2502\n\u2502 --a9 ABERRATIONFLOAT Oblique Trefoil \u2502\n\u2502 --a8 ABERRATIONFLOAT Horizontal Coma \u2502\n\u2502 --a7 ABERRATIONFLOAT Vertical Coma \u2502\n\u2502 --a6 ABERRATIONFLOAT Vertical Trefoil \u2502\n\u2502 --a5 ABERRATIONFLOAT Vertical Astigmatism \u2502\n\u2502 --a4 ABERRATIONFLOAT Defocus \u2502\n\u2502 --a3 ABERRATIONFLOAT Oblique Astigmatism \u2502\n\u2502 --a2 ABERRATIONFLOAT Horizontal Tilt \u2502\n\u2502 --a1 ABERRATIONFLOAT Vertical Tilt \u2502\n\u2502 --a0 ABERRATIONFLOAT Piston \u2502\n\u2502 --wind_offset_y FLOAT Y offset of the cranial window in regard to pupil center \u2502\n\u2502 --wind_offset_x FLOAT X offset of the cranial window in regard to pupil center \u2502\n\u2502 --wind_depth FLOAT Depth of the cranial window (in mm) \u2502\n\u2502 --wind_radius FLOAT Diameter of the cranial window (in mm) \u2502\n\u2502 --window WINDOW \u2502\n\u2502 --tilt FLOAT Tilt angle of the coverslip (in \u00b0) \u2502\n\u2502 --depth FLOAT Imaging depth in the sample (in \u00b5m) \u2502\n\u2502 --collar FLOAT Correction collar setting to compensate coverslip thickness \u2502\n\u2502 --thickness FLOAT Thickness of the coverslip (in \u00b5m) \u2502\n\u2502 --n3 FLOAT Refractive index of the sample \u2502\n\u2502 --n2 FLOAT Refractive index of the coverslip \u2502\n\u2502 --n1 FLOAT Refractive index of the immersion medium \u2502\n\u2502 --wd FLOAT Working Distance of the objective lens (in \u00b5m) \u2502\n\u2502 --na FLOAT Numerical Aperture of Objective Lens \u2502\n\u2502 --normalize NORMALIZE \u2502\n\u2502 --nphi INTEGER Integration sted of the aximutal angle on the pupil \u2502\n\u2502 --ntheta INTEGER Integration sted of the focalization angle \u2502\n\u2502 --nz INTEGER Discretization of Z axis - better be odd number for perfect 0 \u2502\n\u2502 --nxy INTEGER Discretization of image plane - better be odd number for perfect 0 \u2502\n\u2502 --l_obs_z FLOAT Observation scale in Z (in \u00b5m) \u2502\n\u2502 --l_obs_xy FLOAT Observation scale in XY (in \u00b5m) \u2502\n\u2502 --help Show this message and exit. \u2502\n\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n```\n\n\n",
"bugtrack_url": null,
"license": " The MIT License (MIT) Copyright (c) 2024 Kyle Harrington Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
"summary": "Faser is a tool for vectorial psf simulation",
"version": "0.3.6",
"project_urls": {
"Bug Tracker": "https://jhnnsrs.github.io/faser/issues",
"Documentation": "https://jhnnsrs.github.io/faser",
"Source Code": "https://github.com/jhnnsrs/faser"
},
"split_keywords": [
"faser",
" napari",
" psf",
" simulation",
" vectorial"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "ecb9dfa8e5f8798181e6fa05db7b3cfd8ea812b8e5652920574b19f5b6dddeca",
"md5": "3d57cbe3c0e8e77d23260ce32f6a52c5",
"sha256": "de4f53898b7e6cc3c9fc644467741578b4a2e5373fcaa10fe804fd39d2de8ae1"
},
"downloads": -1,
"filename": "faser-0.3.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3d57cbe3c0e8e77d23260ce32f6a52c5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.13,>=3.9",
"size": 3674706,
"upload_time": "2024-12-25T10:35:11",
"upload_time_iso_8601": "2024-12-25T10:35:11.679858Z",
"url": "https://files.pythonhosted.org/packages/ec/b9/dfa8e5f8798181e6fa05db7b3cfd8ea812b8e5652920574b19f5b6dddeca/faser-0.3.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "9bf0fa2c1e1b31c9a9c5692cd528880fedc26b271ac4896c4c322c9e005686a3",
"md5": "a26d01fd1748a01d3c4ca85198a1a537",
"sha256": "0bd6be759a8c7c186c300604343034701d7de2924bf52460a39a8f410c89b066"
},
"downloads": -1,
"filename": "faser-0.3.6.tar.gz",
"has_sig": false,
"md5_digest": "a26d01fd1748a01d3c4ca85198a1a537",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.13,>=3.9",
"size": 4744604,
"upload_time": "2024-12-25T10:35:15",
"upload_time_iso_8601": "2024-12-25T10:35:15.106146Z",
"url": "https://files.pythonhosted.org/packages/9b/f0/fa2c1e1b31c9a9c5692cd528880fedc26b271ac4896c4c322c9e005686a3/faser-0.3.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-25 10:35:15",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jhnnsrs",
"github_project": "faser",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "faser"
}