Abstract
A method for the analysis of super-resolution microscopy images is presented. This method is based on the analysis of stochastic trajectories of particles moving on the membrane of a cell with the assumption that this motion is determined by the properties of this membrane. Thus, the purpose of this method is to recover the structural properties of the membrane by solving an inverse problem governed by the Fokker–Planck equation related to the stochastic trajectories. Results of numerical experiments demonstrate the ability of the proposed method to reconstruct the potential of a cell membrane by using synthetic data similar those captured by super-resolution microscopy of luminescent activated proteins.
Keywords:
super-resolution microscopy; Fokker–Planck equation; stochastic processes; numerical optimization MSC:
49M05; 65K10; 93E03; 93E20; 92C37
1. Introduction
The pioneering works [1,2,3] mark the development of the revolutionary superresolution microscopy (SRM) that allows us to go beyond the Abbe limit for conventional light microscopy [4]. The SRM method consists of labeling the molecules moving on a biological support with fluorophores and then in sampling the microscopic images of the activated fluorescent molecules.
Observation of the frames of the sampled SRM microscopic images have suggested that the motion of the molecules could be modeled by a stochastic Langevin equation [5,6]. Clearly, the cell membrane at the microscope is a 3-dimensional object; however, it can be considered flat, and the observed motion is 2-dimensional since it results in the projection on the focal plane of the SRM microscope. It appears that an adequate model of the observed trajectories of 2-dimensional images is given by the following stochastic differential equation (SDE) [7]:
where b represents the drift, is the dispersion coefficient, and denotes the position of the observed molecule at time t. In this framework, it is well-known that the drift and dispersion coefficients satisfy
where the expected values are computed with respect to the process having value z at ; the operator denotes averaging with regard to the measure of the trajectories conditioned to be at z at time s.
The formulas above suggest that suitable approximations to b and can be obtained by tracking single molecules; see, e.g., [7,8]. However, this approach may suffer from the highly fluctuating values of the trajectories and the difficulty of discerning between different molecules that come closer to the resolution limit.
For this reason, already in [9] the authors have pursued an alternative strategy that allows us to build a robust methodology for the estimation of the drift based on the observation of an ensemble of trajectories. Our approach is built upon the assumption that this ensemble is driven by a velocity field (the drift), given by a potential velocity field , with , as follows:
Moreover, one assumes a constant diffusion coefficient whose value is chosen consistently with estimates of laboratory measurement [10]. It is the purpose of our work to reconstruct the potential by means of the observation of the motion of the molecules modeled by Equation (1).
In agreement with our statistical approach based on ensembles, we focus on the evolution of the probability density function (PDF) of the positions of the molecules (not on the single trajectories) whose evolution is governed by the Fokker–Planck (FP) problem given by [6,11]:
where and . In this formulation, represents the PDF of a particle at at time t, is the Cartesian gradient of the potential U, is the initial density, and is the two-dimensional Laplace operator. Notice that we require zero-flux boundary conditions, where is the following flux of probability
We choose zero-flux boundary conditions since they reasonably model the situation where a similar number of particles enters and exits the domain; see, e.g., [6,12].
Our proposal is to construct an FP-based imaging modality that is based on the formulation of an inverse problem for U and the observation of a time sequence, in time interval , of numerical PDFs (two-dimensional histograms), which are obtained from a uniform binning of SRM particles’ positions. We denote this input data as which is a piecewise constant function. In this setting, the initial condition is given by .
This proposal is similar to that in our previous work [9]. However, in [9] the assumption of interacting particles was made that resulted in very involved and CPU time demanding calculations. It is the purpose of this work to demonstrate that accurate reconstruction results can be obtained assuming noninteracting particles, hence by using a linear FP model.
At the continuous level, our FP-based imaging tool is formulated as the following inverse problem:
with the given initial and boundary conditions for the FP equation, and .
In this problem, the objective functional J is defined as the weighted sum of a space–time best fit term , and at final time , and of a suitable ‘energy’ of the potential , which corresponds to the square of the norm of U. Notice that this formulation allows us to avoid any differentiation of the data and makes it possible to choose the binning size and, in general, the measurement setting, independently of any choice of parameters that are required in the numerical solution of the optimization problem.
Our second main concern in determining the potential U is to provide a measure of uncertainty, and thus of reliability, of its reconstruction. Statistically, this is achieved by many repetitions of the same experiment, that could not be feasible for (short) living cells. However, inspired by the so-called model predictive control (MPC) scheme [13] already used for optimal control problems [12,14], we propose a novel procedure to quantify the uncertainty of the estimation of U by using the data of a single experiment.
Our methodology is to consider a sequence of non-parametric inverse problems like (8) defined on time windows , , that represent a uniform partition in K subintervals of the time interval . Therefore, a statistical analysis can be performed on the set of the corresponding K solutions for U that are obtained in the subintervals.
For development and validation, we consider images of a cell’s membrane structures (actin, cytoskeleton), as expression of potentials, that is pixel grey values where increased brightness stands for more repulsion, with which we generate our synthetic data. In particular, we use an image of actin from a cytoskeleton obtained with a Platinium-replica electron microscopy [15,16].
With this images taken as gray-level representation of potential functions, we perform Monte Carlo simulation of motion of particles to generate images of molecules at different time instants, thus constructing the datasets representing the output of measurements. This setting is illustrated in Figure 1, where the image of actin [17] and a plot of few trajectories of the corresponding stochastic motion of the particles in this potential are shown.
Figure 1.
(Up) A picture of actin from a cytoskeleton as cell membrane potential (close up) (courtesy of Koch Institute [17]); (Down) a few simulated trajectories of particles (black dots) on the membrane (in reverse colors).
Once the synthetic measurement data is constructed, we perform a pre-processing step on this data to construct the numerical PDF required in our method and solve our inverse problem to find the estimated–measured potential U. The latter is compared with that one used in the MC simulation, by a measure of similarity based on the pixel cross-correlation between the two images.
In Section 2, we discuss a numerical methodology for solving our FP-based reconstruction method for the potential U. In Section 3, we provide all details of our experimental setting and introduce some analysis tools for determining the accuracy of the proposed reconstruction. In Section 4, we validate our reconstruction method, and use our uncertainty quantification procedure. In Section 5, we investigate the resolution of the proposed FP image reconstruction as an optical instrument. A section of conclusion and acknowledgements completes this work.
2. Numerical Methodology
Our aim is to reconstruct the potential U from the data consisting of a temporally sampled SRM images of the positions of particles subject to this potential; see Figure 2 (up) for a schematic snap-shot of this data. This image is subject to a pre-processing binning procedure in order to construct histograms by counting the number of particles in a regular square partition of . The height of an histogram is proportional to the number of particles in a bin of the domain. This procedure for the image at time t defines the histogram function ; see Figure 2 (down).
Figure 2.
A frame of particles (up) and the corresponding histogram on a mesh of 40 × 40 bins for a fixed time (down), from simulated data.
In order to illustrate our numerical framework, we introduce the potential-to-state map , that is, the map that associates to a given the unique solution to our FP problem (4)–(6), with given initial condition . For the analysis of well-posedness and regularity of the map S, we refer to [18].
Next, we remark that with the map S, we can define the reduced objective functional and consider the equivalent formulation of (8) given by
which has the structure of an unconstrained optimization problem. Thanks to the regularity of S and the quadratic structure of J, existence of an optimal U can be stated by well known techniques; see, e.g., [19].
Further, since S and J are Fréchet differentiable, it is possible to characterize an optimal U as the solution to the following first-order optimality condition
where denotes the so-called reduced gradient [20].
In the Lagrange framework, this condition results in the following optimality system:
where p denotes the adjoint variable, which is governed by a backward adjoint FP equation. Notice that the adjoint equation is a well-posed problem with , which allows to use the irregular histograms as input data. The numerical solution obtained with a finite difference approximation is consistent with the interpretation of as a piecewise constant function obtained by local averaging an function on subcells centered at grid points. Notice that the numerical grid is finer than that of the binning.
The last equation in (10) is the so-called the optimality condition equation, and the Neumann boundary condition is our modeling choice. One can show that its left-hand side represents the gradient along the FP differential constraint with respect to U of the objective functional. We have
Our approach for solving our FP optimization problem (8) is based on the nonlinear conjugate gradient (NCG) method; see, e.g., [20]. This is an iterative method that resembles the standard CG scheme and requires to estimate the reduced gradient at each iteration.
In order to illustrate the NCG method, we start with a discussion on the construction of the gradient. For a given obtained after n iterations, we solve the FP equation and its adjoint, and use (11) to assemble the gradient. However, since the potential is sought in , we need to obtain the gradient that satisfies the following relation
where denotes the scalar product.
Now, using the definition of the inner product, we obtain
which must hold for all the test functions . Therefore we obtain
with the boundary conditions on ; see [9] for more details. In Algorithm 1 our procedure for computing the gradient is given.
| Algorithm 1 Calculate gradient. |
In this algorithm, the FP problem and its optimization FP adjoint are approximated by the exponential Chang–Cooper scheme and the implicit BDF2 method; see [12].
Now, we can discuss the NCG method. The NCG iterative procedure is initialized with . We denote the optimization directions with . In the first update, we have and perform the optimization step
where is obtained by a backtracking linesearch procedure. After the first step, in the NCG method the descent direction is defined as a linear combination of the new gradient and the past direction as follows:
where , and , that is, the Dai-Yuan formula , where here stand for the deepest descent direction and is the conjugate direction at the previous step; see, e.g., [20].
The tolerance and the maximum number of iterations are used for termination criteria. Summarizing, in Algorithm 2 we present the NCG procedure.
| Algorithm 2 Nonlinear conjugate gradient (NCG) method |
|
For our numerical experiments these algorithms have been implemented with object oriented programming in C++, by using the numerical libraries Armadillo [21,22], Openblas [23], Lapack [24], SuperLU [25,26] and HDF5 [27].
3. Experimental Design and Analysis Tools
In a real application, the input data is given by frames of a recorded sequence of a SRM experiment, and the desired output is the reconstructed potential denoted with . In our case, we construct this data based on a sample potential that determines the drift function in our stochastic model (1). Thus, we generate our frames of synthetic data first by time-integrating this SDE in the chosen interval , and choosing the initial positions of the particles randomly uniformly distributed. Next, the positions of the particles at different times are collected in a sequence of 2-dimensional bins that result in the sequence of distributions , , where L is the length of the resulting time sequence of frames. With this preparation, we apply our algorithm to obtain , which represents the proposed reconstruction of . A comparison between these two potentials allows to validate the accuracy of our reconstruction method (see below).
We choose a domain , and corresponds to Figure 1 (up), where the values of in correspond to the gray scale pixel values of the picture mapped in . With this , we perform a stochastic simulation of particles for a time horizon T, and diffusion amplitude . The particles trajectories given by (1) with (3), are computed with the Euler-Maruyama scheme with a time step , which results in a number of L frames. In this simulation, reflecting barriers for the stochastic motion are implemented. We remark that for the following calculations we are going to consider a relatively small value of density of particles; see [10,28].
Next, we perform a binning of the positions of the particles at each frame to construct . Hence, we consider a uniform partition of with non-overlapping squares; see Figure 2 for a plot of particles in at a given time and the corresponding . Notice that is irregular; nevertheless, we do not perform smoothing of this data. The sequence of values enter in our best fit functional in (8).
Once we have computed with our optimization procedure, we aim at providing a quantification of its uncertainty. Thus, we compute the following normalized cross-correlation factor between the reconstructed potential and the one used to generate the synthetic data . We have
In this formula, and are considered as vectors and · represents the scalar product. Therefore if we have that the two potentials match perfectly, whereas if its value is close to 0, the two potentials are dissimilar. Notice that cross-correlation is commonly used in medical imaging and biology; see, e.g., [29,30,31].
Clearly, one could consider many repetitions of the simulation of the motion of the particles with the same initial condition and make the final binning on the average of the resulting frames. This procedure would result in a less fluctuating that allows a better reconstruction. However, this scenario seems difficult to realize in the real laboratory setting of a living cell. On the other hand, in SRM, imaging is able to visualize the motion of the particles on a cell membrane for a relatively long time ( in our setting), and our approach exploits this possibility considering a subdivision of the time interval in a number K of time windows, and solving our optimization problem in each of these windows almost independently. This approach allows us to improve the reconstruction and makes it possible to quantify the uncertainty of the reconstruction.
Now, to illustrate our approach, consider a uniform partition of in time windows of size with K a positive integer. Let , , denote the start- and end-points of the windows. At time , we have the initial PDF , and we solve our optimization problem (8) in the interval . This means that the final time is and the terminal condition for the adjoined variable is given by . The resulting potential is denoted with . Thus, the solution obtained in this window also provides the PDF at .
Clearly, we can repeat this procedure in the interval with the computed PDF at as the initial condition and as final time, to compute . This procedure is recursive and can be repeated for , thus obtaining , .
Notice that small values of K in relation to L produce a rough estimate of the average potential and its standard deviation due to statistical fluctuations of the Monte Carlo experiments. On the other hand, for greater values of K, the number of frames for each window of our approach is reduced when L is kept fixed, thus resulting in a worsening of the reconstruction procedure.
For the purpose of our analysis, we apply a scaling of these potentials so that their point-wise values are in the interval . This scaling is performed as follows:
Thereafter, we the reconstructed potential by pixel-wise average of the is given by
Moreover, we can also compute the following pixel-wise standard deviation
Next, we provide conversion formulas for our parameters in order to accommodate data from real laboratory experiments. We introduce a unit of length such that the side length l of our square domain is given by , and the unit of the noise amplitude is given by . In real biological experiments, the typical measure of the length of a cell membrane is given in m. Further, the particle’s diffusion constant is given in m/s; hence, we have the correspondence in unit , whose value is used for MC simulations.
The depth of the potential is expressed in unit of , where is the Boltzmann constant and the absolute temperature. In experimental papers, the Equation (3) is written with the diffusion constant D and , i.e., . As above, we obtain the relationship between the values of a potential U and the scaled , as in the unit of .
As an illustration of the setting above, we see that in an experiment, the super-resolution of an acquired image frame can reach the value of 0.02 m/pixel. With an image of pixels, we have m. The average diffusion coefficient of particles (protein molecules) observed in SRM imaging is estimated with m/s [10]. By super-resolution techniques, it is possible to activate a density of m visible particles, which in terms of image pixels corresponds to particles in a square of 50 pixels of side. Each frame is usually sampled at time intervals of ms.
In order to set up a consistent MC simulation of a real experiment, by mapping an image of a square of side 10 m on our domain , we get from the above mentioned formula: .
4. Numerical Validation
In this section, we discuss results of experiments in a setting that is close to real laboratory experiments involving SRM imaging. The results of these experiments demonstrate the ability of our methodology to reconstruct the potential from the simulations of the SRM measurements of the motion of particles on a cell’s membrane.
We consider a potential that corresponds to a portion of cytoskeleton as depicted in Figure 3, with pixels. We assume that the pixel is 50 nm, which corresponds to an area of 100 m. In the figure, the white regions represent the structure of the cytoskeleton; the black ones are the ‘valleys’ where the proteins are supposed to be attracted.

Figure 3.
(Up): Portion of the cytoskeleton (Courtesy of [17]). (Down): reconstructed potential with the MPC scheme and .
For the MC simulations for generating the synthetic data, we choose . This value of corresponds to a diffusion constant of m/s. We consider particles, i.e., an average density of 10 particles per m. In this case, we consider a sequence of frames and , obtained by the numerical integration of the stochastic differential equation with an integration step s. The frames have ms, similar to a real experiment. The resulting (single run) particle trajectories are collected in a binning process based on a mesh of bins.
For our reconstruction method, we choose a numerical partition of of subdivisions, corresponding to a mesh size of 100 nm. The time integration step coincides with that of the frames. For the tracking functional, we set and . Further, in the FP setting, we have . Notice that in the FP model is chosen to be larger than the one used in the MC simulations. This choice is dictated by numerical convenience and it appears that it does not affect the quality of the reconstruction. The calculations are performed according to the MPC procedure with time windows.
With this setting, we obtain the reconstructed potential shown in Figure 3 (down). We see that the reconstruction is less sharp as we expected considering the much finer structure of the cytoskeleton and the small number of particles involved.
Further, in Figure 4, we depict the potentials obtained on each time window of the MPC procedure and the values of the corresponding . With these results, we have obtained the reconstructed potential in Figure 3, which we re-plot in level-set format in Figure 5 for comparison. In Figure 5, we also depict the standard deviation that suggests that we have obtained a reliable reconstruction with small uncertainty.
Figure 4.
Sequence of the 5 (from top-left to right-down) calculated potentials obtained with the MPC procedure. Cross-correlation values: 0.82, 0.81, 0.82, 0.81, 0.82.
Figure 5.
(Up): reconstructed mean potential. Its cross-correlation value with respect to the real image is 0.82. (Down): standard deviation of the reconstructed potential, in level set representation.
5. Resolution of FP-Based Image Reconstruction
In this section, we investigate the optical resolution of our reconstruction method, that is, try to determine a confidence value related to the scale at which our method can resolve variations of the potential. As a guideline, we remark that single molecule localization microscopy (SMLM) can distinguish distances of molecules of approximately 20 nm resolution. Therefore, we assume this resolution range of the fluorescently labeled particles images, and we attempt to quantify the smallest scale at which geometric features of the reconstructed potential U can be distinguished.
For our purpose, we consider the following ‘target potential’, appearing as an alternating sequence of black and white circles (likewise those in test targets used for the resolution measurement of optical instruments), to synthetically generate the motion data of particles. We have
where A denotes the semi-amplitude of the variation between the minimum and the maximum of the potential, l is the length of the side of the domain, d is the distance between two peaks of the potential as a fraction of l.
Now, we consider a single MC simulation of 500 particles with the setting: , and frames, integrated with the time step . In Figure 6, we show (left) the given potential with and , with a gray-scale value representation conveniently adjusted for illustration pourpose. According to the above working hypothesis, we suppose that the pixel’s width of the image is 20 nm. In Figure 6 (left), we depict U in a square of side of 500 pixels, corresponding to m. Hence, the distance between two peaks is nm. Further, the particle’s density is 5 particles per m, the diffusion coefficient m/s, and the potential depth, i.e., the difference between the maximum and the minimum, is . For the reconstruction process, we use a binning of , . In the numerical setting, we use a grid of points, and . Also in Figure 6 (right), we show the reconstructed potential and notice its high accuracy that is also confirmed by the high value of the cross correlation. Notice, that the quality of the reconstruction can be further improved by using post-processing techniques of images.
Figure 6.
(Left): the potential (19) with and (the gray scale levels spans from 0 to 0.1). (Right): result of the reconstruction with the gray levels expanded to the min/max of . The cross correlation between the two images is 0.82.
Now, with the aim to define a criteria to establish the resolution measure for the potential, we introduce a confidence level for the quality of the reconstructed potential by setting a threshold for the calculated cross-correlation. This approach has been adopted in [29] for the detection of cellular objects from images acquired from electron tomography. For that purpose, the authors used the threshold value of , whereas in our case, we set a more strict threshold- level equal to . With this threshold, we can state that the test pattern depicted in Figure 6 (left) is satisfactorily reconstructed and determines that the resolution measure associated to our ‘imaging instrument’ is 500 nm. Notice that this value is affected by the value of the potential U and the diffusion D, and it can be further improved by changing the other parameters of the experiment, such as K or the time T of the motion sampling.
6. Conclusions
A novel method for the analysis of super-resolution microscopy images was presented and applied to the reconstruction of the structure of a cell membrane potential based on the observation of the motion of particles on the membrane.
The working principle of this method is the modeling with the linear Fokker–Planck equation of the ensemble of the stochastic trajectories of particles moving on the membrane of a cell, and the solution of an optimization problem governed by this equation, where the purpose of the optimization is to find a potential such that a least-squares best fit term of the computed and observed particles’ density and a Tikhonov regularization term are minimized.
Results of numerical experiments were presented that demonstrated the ability of the proposed method to reconstruct the potential of a cell membrane by using the data of a super-resolution microscopy of luminescent activated proteins.
7. Brief Documentation of the Code
The program code has been written in C++ with the support of Armadillo, LAPACK, and others common public available linear algebra routines. The structure of the code follows the object oriented programming style, with some basic classes for the the definition of the mathematical model, numerical grids and solvers, and derived classes for the solution of the optimization problem. Notice that the code is not computationally optimized, that is, it has been written with the purpose to test the ability of the numerical scheme to accomplish the proposed reconstruction task. Further major improvements could be implemented, such as a better organization of the hierarchical class structure and a more efficient use of the pointers.
The package of the source codes is composed of 14 files (The code will be available in the repository of this journal as a supplemental material):
- CALC_FIG3.cpp, CALC_FIG6.cpp the main driver routines
- Non_lin_conjug_grad.cpp/.hpp class definitions for the nonlinear conjugate gradient method
- Optim_problem.cpp/.hpp class definition for the optimization problem
- BDF_Chang_Cooper.cpp/.hpp class definitions of the BDF2 solver associated with the Chang-Cooper method
- Chang_Cooper.cpp/.hpp class definitions of the Chang-Cooper numerical method
- gradients.cpp/.hpp support functions for the discrete gradients
- model.cpp/.hpp class definition for the Fokker–Planck model
For our tests, the following libraries were installed on the OS Linux Mint (20.3): Armadillo (version 12.6), Openblas (version 0.3.8), Lapack (version 3.9.0), SuperLU (version 5.2.1) and HDF5® (version 1.10.4). The makefile gives support for the compilation, provided that the user customizes the library paths according to his own OS configuration. The compilation process is invoked with the command make CALC_FIG3 that produces the related executable file. The command make clean cleans all the object codes. At run time, the executable file loads the input data from the folder input_data, prints on the screen some computation information about the minimizing process, and finally saves the resulting reconstruction in data files and pictures inside automated created folders.
Here follows a brief description of the input/output data structure.
The main input data of the algorithm, namely , is a 3-dimensional matrix that, according to the syntax of Matlab®/Octave [32,33], has size as [Nx,Ny,Nt]=size(fd), where Nx,Ny are the number of histogram bins in each dimension on the domain space, and Nt is the number of time step samples of the particles trajectories, i.e., fd(:,:,n) represents the 2-dimensional matrices slice at the time step n with the values of the histograms of the particles positions. This matrix is saved in the HDF5® format [27] under the set data name value, as follows
name_h5 = [save_name ’.h5’];
h5create(name_h5,’/value’,size(fd));
h5write(name_h5,’/value’,fd);
The library Armadillo provides the loading method.
The files CALC_FIG3.cpp and CALC_FIG6.cpp are the driver programs for calculating the figures of the papers. They differs on the input/output data name and some parameters value. Here follows the list of variables that can be customized by the user:
- base_data_dir: folder name containing the input data.
- data: file name of the input data, i.e., the trajectories, binned in histograms, of the particles. The HDF5 format is used.
- base_dir: is the parent folder name where the results of the computation will be saved. This folder must be created in advance, otherwise the run-time is stopped by an error. The program creates automatically the sub-folder and saves the results inside.
- save_name: is a root file name, used to create file names for saving the results of the reconstruction.
- nlcg_param_fname: file name for the file containing the parameters of the nonlinear conjugate gradient algorithm. See below the description.
- sig: intensity of the Gaussian noise in the FPE (4).
- alfa: weight of the norm of the potential in the objective functional (8).
- beta: weight of the norm of the gradient of the potential in the objective functional (8). Notice, here we assume beta.
- xi: weight of the terminal condition in the objective functional (8).
- ax, bx, ay, by: are the boundaries of the 2-dimensional domain. It is not necessary to change the default values.
- TT: total time interval for the reconstruction. It is equal to the time of the Monte Carlo simulation or the time length of the sampled trajectories.
- Nx: number of grid points of the numerical domain. In this implementation it must be square.
- mux, muy, s0: parameters for the 2-dimensional Gauss PDF used as initial condition for the FPE (4). mux, muy are the coordinates of the mean value, s0 is the standard deviation. If then the PDF is uniform.
- Nt_seq: number of windows of the Model Predictive Control. It corresponds to the number of the reconstructions computed along all available input time step data of the particles trajectories from the Monte Carlo simulation, as depicted in Figure 4.
- lam0: is the initial step length for a single cycle of the NLCG algorithm.
- kmax: maximum number of iterations for a single cycle of the NLCG algorithm.
- max_restart: maximum restart sequences of the NLCG algorithm.
Non_lin_conjug_grad.hpp/.cpp defines the class NLCG that implements the nonlinear conjugate gradient method. It contains some default values of parameters for the Armijo condition during the linesearch algorithm (for details see [12,20]).
- BACK_TRACK 0.5 is the backtracking coefficient of the linesearch algorithm.
- MAX_LEVELS 10 is the maximum number of level search for the Armijo condition.
- GAMMA 0.1 is the coefficient for the Armijo sufficient decrease condition of the functional.
- EPS_CONV 1e-4 is the tolerance level for the search of the step-length
- U_TOLERANCE 1e-4 is the tolerance level for the search of the step-length related to the control.
- EPS_PDF 1e-8 is the minimum value of the PDF under which the control should be set vanishing (not used).
These values can be overwritten by those defined in an external file pointed out by the variable nlcg_param_fname. Such as an example, in the file nlcg_params.dat the following values are changed
- BACK_TRACK 0.3
- GAMMA 0.2
Outline of the classes usage.
The source codes CALC_FIG3.cpp and CALC_FIG6.cpp give the guidelines on how to use the classes for solving the optimization problem. After loading the input data and defining some parameters, the classes Param and Model must be instantiated. In particular, the class Model named fokker_planck that contains the mathematical model of the FPE. Afterward, it follows the definition of the Cauchy initial condition. Then it starts the iterations over the reconstruction windows related to the MPC. Each iteration solves an optimization problem, inside of that it instantiates a Grid class for the numerical grid and matrices for the data. The instance of the class NLCG provides the numerical optimizer for the reconstruction problem. The constructor of the class takes as input arguments the classes Model and Grid, and a reference to the output, i.e., the solution of the optimization stored in u. After loading the algorithm parameters, the optimization starts by invoking the public method start_restart_sequence. At the completion of the method, the solution is stored in u, and the final value of the PDF is set as the initial condition for the next temporal window.
Finally, notice that the classes can be easily reused, e.g., for solving the sole Fokker–Planck equation, or modified in order to implements others optimization algorithms.
Supplementary Materials
The following supporting information can be downloaded at: https://www.mdpi.com/article/10.3390/mca28060113/s1.
Author Contributions
All authors contributed equally to the formulation, analysis and the writing of the manuscript. The author M.A. made the main work in the development of the code. All authors have read and agreed to the published version of the manuscript.
Funding
This research received no external funding.
Data Availability Statement
The data presented in this study are available in Supplementary Material.
Conflicts of Interest
The authors declare no conflict of interest.
References
- Betzig, E.; Patterson, G.H.; Sougrat, R.; Lindwasser, O.W.; Olenych, S.; Bonifacino, J.S.; Davidson, M.W.; Lippincott-Schwartz, J.; Hess, H.F. Imaging intracellular fluorescent proteins at nanometer resolution. Science 2006, 313, 1642–1645. [Google Scholar] [CrossRef]
- Hofmann, M.; Eggeling, C.; Jakobs, S.; Hell, S.W. Breaking the diffraction barrier in fluorescence microscopy at low light intensities by using reversibly photoswitchable proteins. Proc. Natl. Acad. Sci. USA 2005, 102, 17565–17569. [Google Scholar] [CrossRef] [PubMed]
- Moerner, W.E.; Fromm, D.P. Methods of single-molecule fluorescence spectroscopy and microscopy. Rev. Sci. Instrum. 2003, 74, 3597–3619. [Google Scholar] [CrossRef]
- Abbe, E. Beiträge zur Theorie des Mikroskops und der mikroskopischen Wahrnehmung. Arch. Mikrosk. Anat. 1873, 9, 413–468. [Google Scholar] [CrossRef]
- Saffman, P.G.; Delbrück, M. Brownian motion in biological membranes. Proc. Natl. Acad. Sci. USA 1975, 72, 3111–3113. [Google Scholar] [CrossRef] [PubMed]
- Schuss, Z. Theory and Applications of Stochastic Processes: An Analytical Approach; Springer: Berlin/Heidelberg, Germany, 2009. [Google Scholar]
- Holcman, D.; Hoze, N.; Schuss, Z. Analysis and interpretation of superresolution single-particle trajectories. Biophys. J. 2015, 109, 1761–1771. [Google Scholar] [CrossRef] [PubMed]
- Dahan, M.E.B.M.M.; Masson, J.-B. InferenceMAP: Mapping of single-molecule dynamics with Bayesian inference. Nat. Methods 2015, 12, 594–595. [Google Scholar]
- Annunziato, M.; Borzì, A. A Fokker–Planck approach to the reconstruction of a cell membrane potential. Siam J. Sci. Comput. 2021, 43, B623–B649. [Google Scholar] [CrossRef]
- Milo, R.; Phillips, R. Cell Biology by the Numbers; Garland Science; CRC Press: Boca Raton, FL, USA, 2015. [Google Scholar]
- Risken, H. The Fokker-Planck Equation: Methods of Solution and Applications; Springer Science & Business Media: New York, NY, USA, 1996. [Google Scholar]
- Annunziato, M.; Borzì, A. A Fokker-Planck control framework for multidimensional stochastic processes. J. Comput. Appl. Math. 2013, 237, 487–507. [Google Scholar] [CrossRef]
- Grüne, L.; Pannek, J. Nonlinear Model Predictive Control, Theory and Algorithms; Communications and Control Engineering; Springer: Berlin/Heidelberg, Germany, 2011. [Google Scholar]
- Annunziato, M.; Borzì, A. A Fokker–Planck control framework for stochastic systems. EMS Surv. Math. Sci. 2018, 5, 65–98. [Google Scholar] [CrossRef]
- Dent, E.; Kwiatkowski, A.; Mebane, L.; Philippar, U.; Barzik, M.; Rubinson, D.A.; Gupton, S.; Van Veen, J.E.; Furman, C.; Zhang, J.; et al. Filopodia are required for cortical neurite initiation. Nat. Cell Biol. 2007, 9, 1347–1359. [Google Scholar] [CrossRef] [PubMed]
- Lebrand, C.; Dent, E.W.; Strasser, G.A.; Lanier, L.M.; Krause, M.; Svitkina, T.M.; Borisy, G.G.; Gertler, F.B. Critical role of Ena/VASP proteins for filopodia formation in neurons and in function downstream of netrin-1. Neuron 2004, 42, 37–49. [Google Scholar] [CrossRef] [PubMed]
- Mebane, L. Portion of the Picture “Actin Cytoskeleton in a Neuronal Filopodia. Version #2”, Gertler Lab at the Koch Institute MIT (2012). Available online: https://ki-images.mit.edu/2012/mebane-4 (accessed on 15 November 2023).
- Körner, J.; Borzì, A. Second-order analysis of Fokker–Planck ensemble optimal control problems. ESAIM COCV 2022, 28, 77. [Google Scholar] [CrossRef]
- Lions, J.-L. Optimal Control of Systems Governed by Partial Differential Equations; Springer: Berlin/Heidelberg, Germany, 1971. [Google Scholar]
- Borzì, A.; Schulz, V. Computational Optimization of Systems Governed by Partial Differential Equations; SIAM: Philadelphia, PA, USA, 2012. [Google Scholar]
- Sanderson, C.; Curtin, R. Armadillo: A template-based C++ library for linear algebra. J. Open Source Softw. 2016, 1, 26. [Google Scholar] [CrossRef]
- Sanderson, C.; Curtin, R. A User-Friendly Hybrid Sparse Matrix Class in C++. Lect. Notes Comput. Sci. 2018, 10931, 422–430. [Google Scholar]
- Openblas. Available online: https://github.com/OpenMathLib/OpenBLAS/wiki (accessed on 15 November 2023).
- LAPACK Is a Software Package Provided by Univ. of Tennessee; Univ. of California, Berkeley; Univ. of Colorado Denver; and NAG Ltd. Available online: www.netlib.org/lapack/ (accessed on 15 November 2023).
- Demmel, J.W.; Eisenstat, S.C.; Gilbert, J.R.; Li, X.S.; Liu, J.W.H. A supernodal approach to sparse partial pivoting. SIAM J. Matrix Anal. Appl. 1999, 20, 720–755. [Google Scholar] [CrossRef]
- Li, X.S.; Demmel, J.W.; Gilbert, J.R.; Grigori, L.; Sao, P.; Shao, M.; Yamazaki, I. SuperLU Users’ Guide. LBNL-44289 (1999). Available online: https://portal.nersc.gov/project/sparse/superlu/ug.pdf (accessed on 15 November 2023).
- The HDF Group. Available online: https://hdfgroup.github.io/hdf5/ (accessed on 15 November 2023).
- Lukeš, T.; Glatzová, D.; Kvíčalová, Z.; Levet, F.; Benda, A.; Letschert, S.; Sauer, M.; Brdička, T.; Lasser, T.; Cebecauer, M. Quantifying protein densities on cell membranes using super-resolution optical fluctuation imaging. Nat. Commun. 2017, 8, 1731. [Google Scholar] [CrossRef] [PubMed]
- Lebbink, M.N.; Geerts, W.J.; van der Krift, T.P.; Bouwhuis, M.; Hertzberger, L.O.; Verkleij, A.J.; Koster, A.J. Template matching as a tool for annotation of tomograms of stained biological structures. J. Struct. Biol. 2007, 158, 327–335. [Google Scholar] [CrossRef] [PubMed]
- Rigort, A.; Günther, D.; Hegerl, R.; Baum, D.; Weber, B.; Prohaska, S.; Medalia, O.; Baumeister, W.; Hege, H.C. Automated segmentation of electron tomograms for a quantitative description of actin filament networks. J. Struct. Biol. 2012, 177, 135–144. [Google Scholar] [CrossRef] [PubMed]
- Zhao, F.; Huang, Q.; Gao, W. Image matching by normalized cross-correlation. In Proceedings of the 2006 IEEE International Conference on Acoustics Speech and Signal Processing Proceedings, Toulouse, France, 14–19 May 2006; p. II. [Google Scholar] [CrossRef]
- MATLAB®-Mathworks®. Available online: https://www.mathworks.com/products/matlab.html (accessed on 15 November 2023).
- GNU Octave. Available online: https://octave.org/ (accessed on 15 November 2023).
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).