The Microscope class

Microscope is a handle class.

Properties

Public properties

name

type

default

description

Objective

Objective

Objective lens

CGcam

CGcamera

QLSI camera

f_TL

double

180

Objective lens

software

char

software used with the microscope (‘PhaseLIVE’, ‘Sid4Bio’)

zo

double

0

defocus

Read-only properties

name

type

description

M

double

magnification of the microscope

pxSize

double

pixel size of the image

Constructor

Constructor

Synthax

Prototypes
% possible forms
Microscope(M)
Microscope(OB)
Microscope(OB,brand)
Microscope(OB,f_TL)
Microscope(OB,f_TL,CGcam)
Microscope(OB,f_TL,Cam)
Microscope(OB,f_TL,CGcam,software)

% examples
Microscope(100)
Microscope(OB,'Nikon')
Microscope(OB,180)
Microscope(OB,200,'Silios_mono')
Microscope(OB,165,'Zyla')
Microscope(OB,200,'Silios_mono','PhaseLIVE')
Description

M is the objective magnification, OB is an Objective object, brand is the brand of the microscope, f_TL is the focal length of the tube lens (TL), CGcam is a CGcamera object, Cam is a Camera object and software is the software used to acquire data (must belong to {'Sid4Bio','PHAST','CG','PhaseLIVE','other'}).

Using an Objective object as the first input, instead of just a magnification value, enables the specification of the numerical aperture and the objective brand as well. Also, the brand of the microscope is specified as a second input, which here differs from the brand of the objective lens. This happens, and it is important to specifiy because the actual focal length of the TL \(f_\mathrm{mic}\) differs from one microscope company to another, and the magnifiation written on the objective assumes a specific focal length of the TL \(f_\mathrm{obj}\). Here is a table recalling the conventions

Tube length (TL) focal lengths \(f_\mathrm{TL}\) for each microscope manufacturer

Microscope brand

TL focal length

Leica

200 mm

Nikon

200 mm

Olympus

180 mm

Zeiss

165 mm

Because of that, if the brand of the microscope is not the brand of the objective, the magnification \(M\) of the microscope may differ from the one indicated on the objective lens \(M_\mathrm{obj}\), according to the relation

\[M = M_\mathrm{obj}\frac{f_\mathrm{mic}}{f_\mathrm{mobj}}\]

PhaseLAB knows these conventions and adapts MI.M accordingly. Here is an example

OB = Objective(100, 1.3, 'Olympus');
MI = Microscope(OB, 'Nikon')

MI =

Microscope with properties:

    Objective: [1×1 Objective]
        CGcam: [1×1 CGcamera]
        f_TL: 200
    software: ''
            M: -111.1111
    pxSize: 5.8500e-08
        zo: 0
        T0: []

Here the magnification equals -111.1111 instead of -100 because \(M = -100*200/180\).

Microscope methods

camList
Displays the list of predefined camera names.
>> MI.camList

ans =

    5x1 cell array

    {'Sid4Element-Sona'}
    {'Sid4Element'     }
    {'Silios_mono'     }
    {'sC8-830'         }
    {'sC8-944'         }

This list gives the possible values of the CGcam input in the Microscope constructor.

Mobj
Returns the magnification of the objective lens.
MI.Mobj()

returns MI.Objective.Mobj, the magnification written on the objective lens.

NA
Returns de numerical aperture of the objective lens.
MI.NA()

returns MI.Objective.NA, the numerical aperture of the objective.

objBrand
Returns the brand of the objective lens.
MI.objBrand()

returns MI.Objective.objBrand, the brand of the objective.

sigmaTheo
returns the theoretical noise standard deviation of the OPD image.
MI.sigmaTheo()

returns the theoretical noise standard deviation expected on the OPD image with this particular microscope, according to ref 1 .

code example
>> OB = Objective(100,1.3,'Olympus');
>> MI = Microscope(OB,200,'Silios_mono');
>> MI.sigmaTheo

ans =

    4.9235e-10
1

Cross-grating phase microscopy (CGM): In-silico experiment (insilex) algorithm, noise and accuracy, B. Marthy, G. Baffou, Optics Communications 521, 128577 (2022)