List of all parameters defined in config_base.yaml. Some parameters are system specific or for advanced settings. Users are not required to work with all parameters. We divided those parameters into system specific, channel specific and PSF specific parameters. For most application, users only need to edit or add system type config file e.g. 4pi.yaml and update the parameters in the demo notebook.
- To create a new system type config file, select one example file from the systemtype folder and save it as a new .yaml file. Some example files are from the following systems:
- M2.yaml: Used for both single-channel astigmatism imaging and dual-channel ratiometric astigmatism imaging
- M4.yaml: Used for single-channel large FOV imaging
- DM_Li.yaml: Used for a single-channel system with a deformable mirror
- LLS.yaml: Used for a lattice light-sheet system
- TP.yaml: Used for a single-channel system with a phase plate generating the tetrapod PSFs
- 4pi.yaml: Used for a 4Pi-SMLM system
- The channeltype and psftype config files shouldn't be changed, unless a new PSF type or modelling method is added to the package.
- The config_base.yaml file shouldn't be changed. For advanced settings, the user can create a new .yaml file from config_user.yaml and interacte with all parameters. To load this config file in a demo notebook, run the following command
L.param = io.param.combine('config_user')
Parameters | Description |
---|---|
datapath | string, full path to the data |
keyword | string, keyword for the data file, used for automatic finding files with the same keyword |
savename | string, full path to the result folder/filename (no extension) |
subfolder | string, keyword for the subfolder name if each bead data is saved in a individual folder |
format | string, options are {'.mat', '.tif', '.h5', '.czi'} , data format |
stage_mov_dir | string, options are {'normal', 'reverse'} , normal direction is where stage move towards the objective when taking a z-stack bead data |
gain | float, camera gain that converts the raw pixel value to photon by multiplication |
ccd_offset | float, camera offset, the average pixel value at no light |
roi | |
roi_size | vector[int], crop size of each emitter in [y,x] or [z,y,x] |
gauss_sigma | vector[int], smooth kernel size of a Gaussian filter in [y,x] or [z,y,x] |
max_kernel | vector[int], kernel size of a maximum filter in [y,x] or [z,y,x] |
peak_height | float, relative intensity above which the emitters are selected |
max_bead_number | int, maximum number of beads to be selected |
bead_radius | float, unit: micron , radius of the bead |
pixel_size | |
x | float, unit: micron , pixel size in x at the sample plane |
y | float, unit: micron , pixel size in y at the sample plane |
z | float, unit: micron , pixel size in z at the sample plane |
FOV | |
y_center | int, y coordinate of defined FOV, within which emitters are selected |
x_center | int, x coordinate of defined FOV, within which emitters are selected |
radius | int, radius of defined FOV, within which emitters are selected |
z_start | +int, start slice in z dimension, e.g. 1 means ignore the first slice |
z_end | -int, end slice in z dimension, e.g. -1 means ignore the last slice |
z_step | int, sampling step in z, e.g. 2 means sample at every 2 slices from the original data |
dual | |
mirrortype | string, options are {'up-down','left-right'} , mirror arrangement between two channels |
channel_arrange | string, options are {'up-down','left-right'} , channel arrangement between two channels |
multi | |
channel_size | vector[int], size of each channel in [y,x] , for MFM system |
fpi | |
modulation_period | float, unit: micron , modulation period of a 4Pi-SMLM system |
LLS | |
skew_const | float, unit: pixel , translation in [y,x] per z slice, relative to the detection objective in a LLS system |
option | |
imaging | |
emission_wavelength | float, unit: micron , central wavelength of the emission filter |
RI | |
imm | float, refractive index of the immersion medium |
med | float, refractive index of the sample medium |
cov | float, refractive index of the coverglass |
NA | float, numerical aperture of the objective |
insitu | |
stage_pos | float, unit: micron , position of the sample stage, equal to 0 at the coverslip and positive when move the objective towards the coverslip |
min_photon | float, quantile of the photon below which the emitters are rejected |
partition_data | bool, options are {true, false} , true means partition the emitters |
partition_size | vector[int], define partition size, [NO. z segments, NO. emitters per segment] or [NO. z segments, NO. y segments, NO. x segments, NO. emitters per segment] for insitu-FD |
zernike_index | vector[int], indices of non-zero Zernike coefficients for an initial pupil, if [] , search from lower or higher order Zernike polynomials |
zernike_coeff | vector[float], values of Zernike coefficients defined in zernike_index |
z_range | float, unit: micron , z range of the insitu PSF model |
zkorder_rank | string, options are {'L', 'H'} , searching range of zernike coefficient, 'L' means searching from 5 to 21 Zernike polynomials, 'H' means searching from 22 to 45 Zernike polynomials |
var_stagepos | bool, options are {true, false} , true means estimate the stage position |
repeat | int, repeat number for insitu PSF modelling, the previous PSF model will be used for the next iteration |
fpi | |
link_zernikecoeff | bool, options are {true, false} , true means link the Zernike coefficients between the four channels of a 4Pi-SMLM system |
phase_dm | vector[float], unit: radian , a vector of three phase positions of a bead stack |
sampleheight | float, unit: micron , height of the sample chamber between the two coverslips |
var_sampleheight | bool, options are {true, false} , true means estimate the sample height |
phase_delay_dir | string, options are {'descend', 'ascend'} , direction of the phase increment between the four channels |
multi | |
defocus_offset | float, unit: micron , defocus of the first channel in a MFM system |
defocus_delay | float, unit: micron , defocus increment between the channels in a MFM system |
model | |
pupilsize | int, pixel size of the pupil image |
n_max | int, maximum radial order of the Zernike polynomials used in modelling |
zernike_nl | vector([int,int]), define the Zernike terms for PSF modelling in terms of [n, l] index, e.g. [[2,2],[2,-2]] , if [] , all zernike terms defined by n_max will be used |
blur_sigma | float, unit: pixel , the standard deviation of a 2D Gaussian kernel used to account for the extra blur of the measured PSF |
var_blur | bool, options are {true, false} , true means estimate the blur_sigma |
with_apoid | bool, options are {true, false} , true means include the apodization term in the pupil |
const_pupilmag | bool, options are {true, false} , true means set the pupil magnitude to be a unit circle |
symmetric_mag | bool, options are {true, false} , true means use only radial symmetric Zernike polynomials for the pupil magnitude |
with_IMM | bool, options are {true, false} , true means include index mismatch aberration, only used for agarose bead sample |
init_pupil_file | string, full path to the initial PSF file, the output file from uiPSF |
estimate_drift | bool, options are {true, false} , true means estimate the lateral drifts in z from bead data |
var_photon | bool, options are {true, false} , true means estimate the intensity fluctuation in z from bead data |
bin | int, upsampling rate of the camera pixel size, e.g. 2 means the pixel size of the upsampled PSF model is half of the camera pixel size |
division | int, number of divisions per lateral dimension of the FOV, used for modelling field-dependent aberration |
PSFtype | string, type of PSF model, options are {'voxel', 'zernike', 'pupil', 'zernike_vector', 'pupil_vector', 'zernike_FD', 'zernike_vector_FD', 'insitu_zernike', 'insitu_pupil', 'insitu_FD'} |
channeltype | string, type of system channel, options are {'single', 'multi', '4pi'} |
datatype | string, type of data, options are {'bead', 'smlm'} |
loss_weight | |
mse1 | float, weight for MSE in the loss function |
mse2 | float, weight for modified MSE in the loss function |
smooth | float, weight for smooth regularization in the loss function |
edge | float, weight for reducing edge effect in the loss function |
psf_min | float, weight for ensuring positive PSF model in the loss function |
bg_min | float, weight for ensuring positive background in the loss function |
photon_min | float, weight for ensuring positive photon in the loss function |
Inorm | float, weight for ensuring sum of the PSF model in lateral dimension being constant in the loss function |
gxy_min | float, weight for ensuring small lateral drifts in the loss function |
rej_threshold | |
bias_z | float, relative z localization bias, above which the emitters will be rejected for re-learning step |
mse | float, relative MSE error, above which the emitters will be rejected for re-learning step |
photon | float, relative photon count, above which the emitters will be rejected for re-learning step |
usecuda | bool, options are {true, false} , true means use GPU for localization |
plotall | bool, options are {true, false} , true means show plots during the modelling process |
ref_channel | int, index of the reference channel, for multi-channel or 4Pi system |
batch_size | int, maximum number of emitters to be modeled at one time |
iteration | int, number of iterations for the optimization process |
varname | string, the variable name for the data, used for simulated matlab data |
filelist | vector[string], a list of data files, if [] , the data files will be identified based on the keyword |
swapxy | bool, options are {true, false} , true means permute the x, y dimensions of the raw images |