PointSpreadFunctionImage3d
Computes a point spread function (PSF) for deconvolution of widefield and confocal microscopic image data.
Access to parameter description
The PSF computation is based on electromagnetic vector theory.
See also
Access to parameter description
The PSF computation is based on electromagnetic vector theory.
See also
Function Syntax
This function returns outputImage.
// Function prototype
std::shared_ptr< iolink::ImageView > pointSpreadFunctionImage3d( double numericalAperture, double wavelength, double index, PointSpreadFunctionImage3d::MicroscopicMode microscopicMode, const iolink::Vector3u32& shape, const iolink::Vector3d& spacing, std::shared_ptr< iolink::ImageView > outputImage = nullptr );
This function returns outputImage.
// Function prototype. point_spread_function_image_3d(numerical_aperture: float = 1.35, wavelength: float = 520, index: float = 1.516, microscopic_mode: PointSpreadFunctionImage3d.MicroscopicMode = PointSpreadFunctionImage3d.MicroscopicMode.WIDEFIELD, shape: Iterable[int] = [32, 32, 32], spacing: Union[Iterable[int], Iterable[float]] = [100, 100, 100], output_image: idt.ImageType = None) -> idt.ImageType
This function returns outputImage.
// Function prototype. public static IOLink.ImageView PointSpreadFunctionImage3d( double numericalAperture = 1.35, double wavelength = 520, double index = 1.516, PointSpreadFunctionImage3d.MicroscopicMode microscopicMode = ImageDev.PointSpreadFunctionImage3d.MicroscopicMode.WIDEFIELD, uint[] shape = null, double[] spacing = null, IOLink.ImageView outputImage = null );
Class Syntax
Parameters
Parameter Name | Description | Type | Supported Values | Default Value | |||||
---|---|---|---|---|---|---|---|---|---|
![]() |
numericalAperture |
The numerical aperture of the microscope. | Float64 | >=0 | 1.35 | ||||
![]() |
wavelength |
The wavelength (as measured in a vacuum) of the emitted light in nanometers.
For confocal data the excitation and emission wavelength are assumed to be identical. In this case, it might prove useful to compensate by supplying a value between excitation and emission wavelength as parameter. |
Float64 | >=0 | 520 | ||||
![]() |
index |
The refractive index of the specimen. | Float64 | >=0 | 1.516 | ||||
![]() |
shape |
The X, Y, and Z dimensions, in pixels, of the output image. | Vector3u32 | != 0 | {32, 32, 32} | ||||
![]() |
spacing |
The X, Y, and Z voxel size in nanometers of the PSF image to be generated. | Vector3d | >0 | {100.f, 100.f, 100.f} | ||||
![]() |
microscopicMode |
Specifies whether the PSF of a widefield microscope or of a confocal microscope should be computed.
|
Enumeration | WIDEFIELD | |||||
![]() |
outputImage |
The output image. | Image | nullptr |
Parameter Name | Description | Type | Supported Values | Default Value | |||||
---|---|---|---|---|---|---|---|---|---|
![]() |
numerical_aperture |
The numerical aperture of the microscope. | float64 | >=0 | 1.35 | ||||
![]() |
wavelength |
The wavelength (as measured in a vacuum) of the emitted light in nanometers.
For confocal data the excitation and emission wavelength are assumed to be identical. In this case, it might prove useful to compensate by supplying a value between excitation and emission wavelength as parameter. |
float64 | >=0 | 520 | ||||
![]() |
index |
The refractive index of the specimen. | float64 | >=0 | 1.516 | ||||
![]() |
shape |
The X, Y, and Z dimensions, in pixels, of the output image. | vector3u32 | != 0 | [32, 32, 32] | ||||
![]() |
spacing |
The X, Y, and Z voxel size in nanometers of the PSF image to be generated. | vector3d | >0 | [100, 100, 100] | ||||
![]() |
microscopic_mode |
Specifies whether the PSF of a widefield microscope or of a confocal microscope should be computed.
|
enumeration | WIDEFIELD | |||||
![]() |
output_image |
The output image. | image | None |
Parameter Name | Description | Type | Supported Values | Default Value | |||||
---|---|---|---|---|---|---|---|---|---|
![]() |
numericalAperture |
The numerical aperture of the microscope. | Float64 | >=0 | 1.35 | ||||
![]() |
wavelength |
The wavelength (as measured in a vacuum) of the emitted light in nanometers.
For confocal data the excitation and emission wavelength are assumed to be identical. In this case, it might prove useful to compensate by supplying a value between excitation and emission wavelength as parameter. |
Float64 | >=0 | 520 | ||||
![]() |
index |
The refractive index of the specimen. | Float64 | >=0 | 1.516 | ||||
![]() |
shape |
The X, Y, and Z dimensions, in pixels, of the output image. | Vector3u32 | != 0 | {32, 32, 32} | ||||
![]() |
spacing |
The X, Y, and Z voxel size in nanometers of the PSF image to be generated. | Vector3d | >0 | {100f, 100f, 100f} | ||||
![]() |
microscopicMode |
Specifies whether the PSF of a widefield microscope or of a confocal microscope should be computed.
|
Enumeration | WIDEFIELD | |||||
![]() |
outputImage |
The output image. | Image | null |
Object Examples
PointSpreadFunctionImage3d pointSpreadFunctionImage3dAlgo; pointSpreadFunctionImage3dAlgo.setNumericalAperture( 1.35 ); pointSpreadFunctionImage3dAlgo.setWavelength( 520 ); pointSpreadFunctionImage3dAlgo.setIndex( 1.516 ); pointSpreadFunctionImage3dAlgo.setMicroscopicMode( PointSpreadFunctionImage3d::MicroscopicMode::WIDEFIELD ); pointSpreadFunctionImage3dAlgo.setShape( {32, 32, 32} ); pointSpreadFunctionImage3dAlgo.setSpacing( {100, 100, 100} ); pointSpreadFunctionImage3dAlgo.execute(); std::cout << "outputImage:" << pointSpreadFunctionImage3dAlgo.outputImage()->toString();
point_spread_function_image_3d_algo = imagedev.PointSpreadFunctionImage3d() point_spread_function_image_3d_algo.numerical_aperture = 1.35 point_spread_function_image_3d_algo.wavelength = 520 point_spread_function_image_3d_algo.index = 1.516 point_spread_function_image_3d_algo.microscopic_mode = imagedev.PointSpreadFunctionImage3d.WIDEFIELD point_spread_function_image_3d_algo.shape = [32, 32, 32] point_spread_function_image_3d_algo.spacing = [100, 100, 100] point_spread_function_image_3d_algo.execute() print("output_image:", str(point_spread_function_image_3d_algo.output_image))
PointSpreadFunctionImage3d pointSpreadFunctionImage3dAlgo = new PointSpreadFunctionImage3d { numericalAperture = 1.35, wavelength = 520, index = 1.516, microscopicMode = PointSpreadFunctionImage3d.MicroscopicMode.WIDEFIELD, shape = new uint[]{32, 32, 32}, spacing = new double[]{100, 100, 100} }; pointSpreadFunctionImage3dAlgo.Execute(); Console.WriteLine( "outputImage:" + pointSpreadFunctionImage3dAlgo.outputImage.ToString() );
Function Examples
auto result = pointSpreadFunctionImage3d( 1.35, 520, 1.516, PointSpreadFunctionImage3d::MicroscopicMode::WIDEFIELD, {32, 32, 32}, {100, 100, 100} ); std::cout << "outputImage:" << result->toString();
result = imagedev.point_spread_function_image_3d(1.35, 520, 1.516, imagedev.PointSpreadFunctionImage3d.WIDEFIELD, [32, 32, 32], [100, 100, 100]) print("output_image:", str(result))
IOLink.ImageView result = Processing.PointSpreadFunctionImage3d( 1.35, 520, 1.516, PointSpreadFunctionImage3d.MicroscopicMode.WIDEFIELD, new uint[]{32, 32, 32}, new double[]{100, 100, 100} ); Console.WriteLine( "outputImage:" + result.ToString() );
© 2025 Thermo Fisher Scientific Inc. All rights reserved.