.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/micro_manager_microscope.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_examples_micro_manager_microscope.py: Micro-Manager simulated microscope ====================================================================== This script simulates a microscope with a random noise image as a mock specimen. The numerical aperture, stage position, and other parameters can be modified through the Micro-Manager GUI. To use it: * make sure you have the PyDevice adapter installed in Micro-Manager (install the nightly build if you don't have it). * load the micro_manager_microscope.cfg hardware configuration in Micro-Manager, * locate the micro_manager_microscope.py in the file open dialog box that popps up. * take a snapshot or turn on live preview, you may need to auto-adjust the color scale * experiment with the numerical aperture or set the stage X and Y position in the device properties. See the 'Sample Microscope' example for a microscope simulation that runs from Python directly. .. GENERATED FROM PYTHON SOURCE LINES 15-53 .. code-block:: Python import astropy.units as u import numpy as np from openwfs.simulation import Microscope, StaticSource, Camera, SLM from openwfs.utilities.patterns import gaussian specimen_resolution = (512, 512) # height × width in pixels of the specimen image specimen_pixel_size = 120 * u.nm # resolution (pixel size) of the specimen image magnification = 40 # magnification from object plane to camera. numerical_aperture = 0.85 # numerical aperture of the microscope objective wavelength = 532.8 * u.nm # wavelength of the light, for computing diffraction. camera_resolution = (256, 256) # number of pixels on the camera camera_pixel_size = 6.45 * u.um # Size of the pixels on the camera # Create a random noise image with a few bright spots image_data = np.maximum(np.random.randint(-10000, 100, specimen_resolution, dtype=np.int16), 0) src = StaticSource( data=image_data, pixel_size=specimen_pixel_size, ) slm = SLM(shape=(100, 100), field_amplitude=gaussian((100, 100), waist=1.0)) # Create a microscope with the given parameters mic = Microscope( source=src, magnification=magnification, numerical_aperture=numerical_aperture, wavelength=wavelength, incident_field=slm.field, ) # simulate shot noise in an 8-bit camera with auto-exposure: cam = Camera(mic, analog_max=None, shot_noise=True, digital_max=255) # construct dictionary of objects to expose to Micro-Manager devices = {"camera": cam, "stage": mic.xy_stage} .. _sphx_glr_download_auto_examples_micro_manager_microscope.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: micro_manager_microscope.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: micro_manager_microscope.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: micro_manager_microscope.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_