Astrocytes mediate analogous memory in a multi-layer neuron–astrocyte network

Modeling the neuronal processes underlying short-term working memory remains the focus of many theoretical studies in neuroscience. In this paper, we propose a mathematical model of a spiking neural network (SNN) which simulates the way a fragment of information is maintained as a robust activity pattern for several seconds and the way it completely disappears if no other stimuli are fed to the system. Such short-term memory traces are preserved due to the activation of astrocytes accompanying the SNN. The astrocytes exhibit calcium transients at a time scale of seconds. These transients further modulate the efficiency of synaptic transmission and, hence, the firing rate of neighboring neurons at diverse timescales through gliotransmitter release. We demonstrate how such transients continuously encode frequencies of neuronal discharges and provide robust short-term storage of analogous information. This kind of short-term memory can store relevant information for seconds and then completely forget it to avoid overlapping with forthcoming patterns. The SNN is inter-connected with the astrocytic layer by local inter-cellular diffusive connections. The astrocytes are activated only when the neighboring neurons fire synchronously, e.g., when an information pattern is loaded. For illustration, we took grayscale photographs of people’s faces where the shades of gray correspond to the level of applied current which stimulates the neurons. The astrocyte feedback modulates (facilitates) synaptic transmission by varying the frequency of neuronal firing. We show how arbitrary patterns can be loaded, then stored for a certain interval of time, and retrieved if the appropriate clue pattern is applied to the input.


Introduction
Understanding principles of information processing in the brain remains one of the primary challenges of neuroscience [1,2]. In theory, there should be a gap between molecular and cellular levels of implementation and its functionality at the cognitive level. Scholars proposed a variety of conceptual, mathematical, and computational models of neuronal networks pretending to implement cognitive functions, such as learning and memory [3][4][5][6][7][8][9]. Systems neuroscience views memory as a substantially complicated paradigm involving different types and forms. Working memory represents one of these types [10]. Just like RAM in computers, it can store several patterns for several seconds to be used 'on the spot.' After that, some patterns can be stored in a long-term memory, while others will be completely erased. Working memory is believed to be ''encoded'' by changes in the strengths of synaptic connections, e.g., synaptic plasticity [4,11,12]. These changes determine, which particular neuronal clusters or signal transmission pathways that encode the information should be memorized. When an appropriate clue is applied, the information is retrieved in the form of a spatio-temporal neuronal firing pattern reproducing original information. In modeling, the design of an adequate mathematical model that can possess both biological plausibility and processing functionality is still an open question [13,14].
Studies conducted in the last decade reveal increasingly more aspects related to the implementation of information functions of the CNS. The list of functions handled by the astrocytic cells keeps getting updated and revised quite frequently [15][16][17][18][19][20]. Several studies discuss the role of Extended author information available on the last page of the article astrocytes in the perception of sensory stimuli [21][22][23][24], spatio-temporal coordination of neural network signaling [25][26][27][28][29][30], information processing, and cognitive functions [31][32][33]. A growing number of arguments are accumulating in favor of the theory of continuity and joint coordinated activity of neuron-astrocyte functional networks [34][35][36]. By modulating synaptic transmission, astrocytes act as the third part of the so-called tripartite synapses [37,38].

Related works
The morphological and functional connectivity of spiking neural networks (SNN) enhanced by astrocytes determines the features of the biologically motivated computational frameworks. For example, two recent studies demonstrate how a neuron-astrocyte network can improve pattern recognition performed by cortical SNN without retraining [39] and illustrate the self-repairing capability of distributed SNN accompanied by astrocytes in a robotic application [40]. Several attempts to digitally simulate the astrocytic dynamics [41] and neuron-astrocyte interaction [42,43] indicate that astrocytes could, indeed, be used to solve neurocomputing tasks, which opens a novel fundamental field of research.
A biologically plausible computational model of working memory implemented via SNN interaction with a network of astrocytes was first proposed in our recent work [44]. The astrocytes operate via calcium transients at a much slower time scale of a few seconds by releasing gliotransmitters that modulate synaptic transmission in neurons and, hence, their firing rate. The working memory is associated with item-specific patterns of astrocyte-induced enhancement of synaptic transmission in neuronal networks.
Our work [44], as the majority of conceptual and mathematical models of neuronal memory, operates with binary information. However, the real-world data are analogous, not binary. Initially, the exploitation of binary information patterns in neural networks was the consequence of ''digitizing'' neuronal signals. These signals are naturally continuous and possess analogous and gradually changing characteristics, such as firing rate, timing, phase. In artificial digital systems, the ''black-and-white'' (BW) paradigm can be easily enhanced to ''colored'' (CL) by simple ''spatial'' scaling-increasing the number of bits. The same cannot be done in the neuronal systems with brain-inspired processing, where such scaling is impossible. The transition from BW to CL dynamics will require conceptual changes in the models. For proper recognition of non-binary (grayscale or color) images, stimuli should be converted into signals of spiking neurons. For example, Kulkarni and Wozniak [45,46] attempted to do that by stimulating sensory neurons proportional to the intensity of the corresponding pixels. Other studies proposed SNNs for grayscale [47,48] and color [49] image recognition. However, such SNNs belong to the class of convolutional networks composed of hierarchically stacked convolutional layers. Such networks are trained to contrast the boundaries of objects, which are clearly expressed only in binary images. Thus, the circuit that processes the SNN input signal should contain an algorithm for translating the input image into neural instructions, or the network should have a complex artificial architecture. These factors limit the biological relevance of the models.
Synaptic plasticity represents directed changes of synaptic weights, which either facilitate or depress particular connections. In terms of information encoding, such changes are binary, and their main function is the BW representation of the memorized information. The revealed dependence of the level of calcium elevations generated by astrocytes on neural activity [50] indicates that the astrocytes are involved in the regulation of synaptic transmission [51]. This modulation is gradual and can provide proportional control of the connection efficacy. In other words, astrocytes enable analogous information encoding.

Problem statement
In this paper, we employ our bioinspired model of SNN accompanied by astrocytes [44] and show how it can reliably store ''colored'' images for several seconds. To the best of the authors' knowledge, this is the first time that a spiking neuron-astrocyte network has been shown to be able to simulate a robust analogous memory that can be used in brain-inspired artificial intelligence frameworks. For illustration, we take grayscale images as the information patterns and encode them into the level of input currents of the neuronal layer. By interacting with the astrocyte layer, the patterns can be further stored in the network and maintained during the astrocyte activation interval, e.g., several seconds. During this time, the patterns can be retrieved if an appropriate image, e.g., similar to the original, is fed to the system. After that, the pattern completely disappears, and the network becomes ready to store another image.
2 Colored memory and image recognition in the neuron-astrocyte network model The neuron-astrocyte network has two interconnected layers: the SNN and the astrocytic network. The SNN is composed of random, sparsely connected excitatory Izhikevich's neurons [52] with non-plastic synapses arranged in a two-dimensional layer. This layer is interconnected with the astrocytic layer modeled by the Ullah model [53] with local inter-cellular diffusive connections. Each astrocyte bidirectionally communicates with ensembles of N a neurons. Astrocytes are activated by coordinated activity of the neighboring neurons, e.g., when an input is applied to the neuronal layer. Astrocytic calcium activation induces gliotransmitter release, which modulates the synaptic transmission in neuronal ensemble corresponding to the astrocyte. This astrocyte-induced synaptic regulation forms spatially distributed clusters of synchronized neurons. The temporal and amplitude characteristics of astrocytic feedback are determined by its calcium dynamics. This biologically relevant mechanism of bidirectional coordination between neuronal and astrocytic activities provides loading, storage, and retrieval of information patterns in the proposed model. The period of information storage in the system is unequivocally determined by the duration of the calcium signals in astrocytes. The neuronastrocyte network architecture is schematically shown in Fig. 1. Detailed description of the model structure and its parameters is found in our previous paper [44]. The key mathematical details are summarized in Appendix A. We trained the network to memorize grayscale images. The original 8-bit image (Fig. 2a) was converted to the pattern of input current, I ði;jÞ app , (Fig. 2b) and fed to the neuronal layer. Description of the stimulation protocol can be found in A.5. In response to these signals, the neurons fire at different rates depending on the amplitude of the input current (Fig. 2c). Differences in the activity of neural ensembles lead to a variety of Ca 2þ events in astrocytes that interact with these ensembles. Figure 2d shows the Ca 2þ pattern formed in the astrocytic layer. Such samplespecific distribution of Ca 2þ concentration in the astrocytic layer lasts for several seconds.
We assessed the learning performance of the proposed neuron-astrocyte network model by giving it an image recognition problem. For this purpose, we used four test images: the sample image distorted by 80% Gaussian noise (Fig. 3a), by 40% ''salt and pepper'' noise ( Fig. 3c), uniform noise (Fig. 3e), and a new image (Fig. 3g). To illustrate the impact of astrocytes in the image classification task performed by the neuron-astrocyte network, we compared two results of the system recall-with astrocytic modulation of synaptic transmission and without it.  Fig. 4b, d, f, h represents the system recalls shown as the mean neuronal firing rate distributions. The proposed neuron-astrocyte network model can recognize and effectively restore the distorted test image. In the first and second tests, in which the network was fed the matching noisy image, our system significantly reduced the excessive noise as shown in Fig. 4b, d. Applying noise (Fig. 4e) or a nonmatching test image (Fig. 4g) to the neuron-astrocyte network results in a nonspecific (Fig. 4f) or chimera-like ( Fig. 4h) output.
To evaluate the robustness to noise of the proposed neuron-astrocyte network model, we investigated the dependence of the quality of model retrieval on the noise level in the test image. We used two different types of random noise: ''salt and pepper'' pulsed noise and Gaussian white noise. This allowed us to examine the ability of our model to remove and reduce noise in an image. In the case of the pulsed noise, the noise pixels could be either 1 or 0, which makes them significantly different from image pixels, which is why the neuron firing rates also differ from the neuronal ensemble. When the noise level is not high, the neuronal correlated activity evokes the astrocyte-mediated feedback which can decrease or increase the firing rates of noise neurons. With Gaussian noise, all pixels of the image change their intensity depending on the noise level. In this case, the astrocyte-induced regulation of synaptic weights restores the general level of activity and synchronization in the neural ensemble. We measured the PSNR between the recalled pattern (e.g., Fig. 4b, d) and the ideal sample image (see Sect. A.6) to create a conventional quality metric of image processing systems. Please note that the maximum possible recall PSNR max to the response to the ideal image in the system is 18.295 dB (which is not a very high value) because the resolution of our system is determined by the radius of the interaction of astrocytes with neurons. The results of the measurements are provided in Fig. 5 and Table 1. The PSNR in % denotes the PSNR of recalls related to the PSNR max . We can see that the neuron-astrocyte network can robustly retrieve a memorized image even with a high level of noise. The model significantly improved the PSNR for pulsed noise and highintensity Gaussian noise (Fig. 5). The high level of pulsed noise destroys coordinated activity in the neural ensembles which prevents astrocyte-mediated synaptic modulation and, as a result, disturbs the retrieval of formation. Calcium patterns in the astrocytic layer are not frozen and their dynamics is determined by the intracellular biophysical mechanisms. Therefore, the astrocyte-induced feedback and the system recall that depends on it will vary in time.
To investigate this, we fed a test image to the system at different moments corresponding to different distribution schemes of calcium pattern amplitudes in the astrocytic layer. Figure 6 shows the dependence of the PSNR recall on the astrocytic calcium dynamics. A greater difference between the amplitudes of calcium pulses in astrocytes leads to an increase in the difference between the activity A B Fig. 1 a A concept of the system and neuron-astrocyte network architecture. The input signal is fed to the layer of neurons. Shades of blue indicate the firing rates of corresponding neurons. Neurons and astrocytes interact bidirectionally: each astrocyte is interconnected with a neuronal ensemble of N a ¼ 16 neurons with 4 Â 4 dimensions overlapping in one row. Neuronal spiking rate converts to [Ca 2þ ] amplitude, while astrocytes modulate synaptic transmission. The output pattern is decoded as a mean neuronal firing rate. b Neuronastrocyte interaction. The synchronized activity in the neuronal ensemble triggers the elevation of intracellular Ca 2þ concentration in astrocytes. The global events of Ca 2þ elevation in astrocytes result in glutamate release which can modulate the synaptic strength of all synapses corresponding to the morphological territory of a given astrocyte. We assume that the astrocytic glutamate-induced potentiation of the synapse consists of NMDAR-dependent postsynaptic slow inward currents (SICs) generation [24,54] and mGluRdependent heterosynaptic facilitation of presynaptic glutamate release [55][56][57] (Color figure online)

Discussion
We demonstrated how astrocytes accompanying neuronal synaptic connections can enhance the capacity of the neuronal network to store and retrieve gradual (analogous) information patterns. Grayscale images were used to stimulate our two-layer neuron-astrocyte network. Corresponding synchronous activation of the astrocytic layer allows the system to store images in the form of astrocyte calcium signal levels during the calcium transients. Furthermore, different levels of calcium were associated with different strengths of modulation of the synaptic connections in the neuronal layer. Consequently, in the neuronal layer, the images appeared in the form of activity patterns with different firing rates. During the storage interval, the system maintained the information and could retrieve it if the appropriate clue was shown in the input. We showed that the retrieval was quite effective even if a noisy clue pattern was shown.
These findings raise an important question: how can we guarantee that almost the same image will reach the input during the characteristic time interval of the calcium events? The key phenomenon which needs to be investigated is the structure of the data flow in real life. The data stream is not an i.i.d. sample taken from the general population. All animals learn to survive in the world with significant local correlations. Thus, we can formulate the local recurrence principle: the probability to receive ''almost the same'' image reaches its peak at a certain moment, after which the image begins to decay. Moreover, we can even trace several characteristic periods in these decays. The mechanism described in our work allows the astrocyte network to extract the correlations in the time scale of calcium events. Of course, not all the images return in the characteristic time. The proposed mechanism highlights the returned images that can be considered as essential elements of the situation. The duration of information storage in the proposed model is determined by the duration of the elevation in the intracellular Ca 2þ concentration in astrocytes. Therefore, in this work, testing of information storage in the form of induced recall is carried out during the time interval during which the Ca 2þ signal exists. Sequences of several Ca 2þ signals and the heterogeneous calcium events allow the neuron-astrocyte network to capture longer and more complex correlations.
The role of the astrocytes in brain information processing has been intensively debated in neuroscience in  [35]. By modulating synaptic transmission, astrocytes can be involved in many computational functions of the brain circuits [33,36]. Today, we have a variety of experimental facts indicating a similar functional role of astrocytes and neurons in perception processes, for example in the processing of visual stimuli. Along with metabolic, homeostatic, and other supporting functions [58], Muller glia cells in the retina provide the delivery of visual information-light-from the anterior surface of the retina to photoreceptors with minimal losses [59]. Muller cells participate in the structural organization of the retina by creating non-overlapping microdomains that integrate through gap junctions [60]. This organization allows glial subnets to communicate over long distances [61]. It was shown that astrocytes, like neurons, generate calcium signals in response to visual stimuli, with distinct spatial receptive fields and sharp tuning to a visual stimulus [25,62]. Schumer also discovered a significant overlap of the receptive fields of astrocytes and nearby neuronal cells [62]. Interestingly, sensory stimulation was recently found to be able to evoke astrocytic calcium signals with similar temporal dynamics to neurons [22]. Unlike the neuronal activations, the astrocyte calcium transients are gradual in amplitude [63]. These features indicate that the astrocytes can add an analogous component to the digitized neuronal computations, which can significantly increase the computational power of brain circuits.
The presented result indicates that the spiking neuronastrocyte network can provide robust analogous information encoding via the astrocytic modulation of synaptic transmission mechanisms. This is a small but important step in ongoing research on the development of brain-inspired artificial intelligence. For instance, the performance and accuracy of neuromorphic computing implemented by spiking neural networks are still behind modern deeplearning networks in most learning tasks [64]. Along with the desire to understand how our brains work, the main reason for the intensified ongoing research efforts in designing brain-like hardware systems that implement neuronal and synaptic computations through spike-driven communication is that it can enable energy-efficient machine intelligence [65]. It is believed that the exploitation of spatio-temporal encoding in SNNs could make the exchange of information more efficient. In this regard, the experimentally and theoretically revealed ability of the astrocytes to evoke the local spatial synchronization in neuronal ensembles due to the activity-dependent shortterm synaptic plasticity can become a promising additional feature of training algorithms for SNNs. Another important point that should be stressed is that short-term memory implemented by astrocytes is characterized by one-shot learning and is maintained during the interval of slow astrocytic calcium dynamics. Including the astrocyte-mediated synaptic plasticity in SNN learning algorithms can help achieve better results than deep learning, especially for training on limited data sets.

Appendix A model details
Spiking neuron-astrocyte network model The neuron-astrocyte network consists of two layers: the spiking neural network with dimension W Â H (151 Â 151) and the astrocytic network. The SNN consists of Izhikevich neurons [52] connected by random excitatory synaptic connections. The astrocytic network is M Â N (50 Â 50) square lattice with only nearest-neighbor connectivity. The dynamics of the intracellular calcium concentration in each astrocyte is described by the Ullah model [53]. The network models a bidirectional neuron-astrocyte interaction. Each astrocyte interacts with N a ¼ 16 neurons located spatially close to it. A graphical representation of the network topology is shown in Fig. 1. The model was integrated using the 4th order Runge-Kutta method with a time step of 0.1 ms. All parameters used in this computational study are given in Table 2 and our previous paper [44]. The code is available at https://github.com/altergot/ neuro-astro-network-grayscale.

Neuronal network
The Izhikevich neuron [52] was chosen as a model to describe the dynamics of each neuron in our network due to its biological relevance and computational efficiency. This model is described by the following differential equations [52]: with the auxiliary after-spike resetting: where the parameter g ði;jÞ syn is the synaptic weight: g ði;jÞ Ca , g is the weight of the synaptic connection, m ðm;nÞ Ca is the astrocyte-induced modulation of the synaptic weight (see Sect. A4). E syn ¼ 0 is the synaptic reversal potential for excitatory synapses. V pre is the membrane potential of the presynaptic neuron, k syn is the slope of the synaptic activation function. In this model, we do not take into account synaptic and axonal delays.
The architecture of synaptic connections between neurons is random: for each neuron, the number of output connections is fixed and equal to N out . Thus, the probabilities of the formation of a local and remote synaptic connection are the same.
First, we tested the functionality of our model with the same weights of synaptic connections between all neurons in the neuron-astrocyte network. Differences in the total synaptic input current resulted in some noise in the firing rate response when the original training image was fed. To reduce this effect, at the beginning of the session, we pretrained the synaptic connections depending on the shades of the training image I: g ¼ g min þ g max À g min ð ÞÂ0:9 jI ði;jÞ ÀI ði Ã ;j Ã Þ j ðA4Þ where I ði;jÞ is the pixel shade value of the training source image I from the interval [0; 255] corresponding to the presynaptic neuron (i,j), I ði Ã ;j Ã Þ is the pixel shade value of the training source image I corresponding to the postsynaptic neuron ði Ã ; j Ã Þ. Thus, a small difference in the shades of the pixels of the original training image corresponding to the presynaptic and postsynaptic neurons corresponds to a strong synaptic connection between this pair of neurons. The greater the difference in pixel shades, the weaker the synaptic connection between the corresponding neurons.

Astrocytic network
Astrocytic dynamics is determined by changes in the concentration of two main substances: inositol 1,4,5triphosphate (IP 3 ) and intracellular calcium (Ca 2þ ). The main astrocytic intracellular calcium store is the The reverse flow of calcium J pump from the cytoplasm to the ER is an active transport that pumps calcium back into the ER and is directed to the concentration gradient.
To describe the dynamics of the intracellular [Ca 2þ ] in each astrocyte (m,n) of our network, we used the Ullah model [53], which qualitatively reflects the main features of the calcium dynamics of astrocyte (for more details about this model and the biophysical meaning of all flows and parameters, see [53] where J leak is the leakage flux from the ER to the cytosol. The fluxes J in and J out describe the exchange of calcium with the extracellular space, m,n (m = 1,..., M, n = 1,...,N) are the astrocyte indices. The parameter [IP Ã 3 ] denotes the steady-state concentration of IP 3 , J PLCd describes the production of IP 3 by phospholipase Cd (PLCd), J glu describes the glutamate-induced IP 3 production in response to neural activity. The fluxes are expressed as follows: Astrocytes form networks by connecting through gapjunctions Cx43 [68][69][70][71].
Bidirectional neuron-astrocyte interaction Each astrocyte in the spiking neuron-astrocyte network interacts with a 4 by 4 ensemble of N a neurons overlapping in one row. The spiking activity of neurons leads to the release of the neurotransmitter glutamate G from the presynaptic terminal into the synaptic gap. The amount of G that reached the astrocyte is described by the following equation: [72][73][74]: where a glu is the glutamate clearance constant, kglu is the release efficiency, H is the Heaviside step function, and V ði;jÞ is the membrane potential of a neuron (i,j). Glutamate contacts metabotropic glutamate receptors (mGluR) on the astrocyte membrane and initiates the production of IP 3 . The J glu variable in the equation describes glutamate-induced IP 3 production and is modeled as: where G thr1 is the threshold for the total amount of glutamate G released by all neurons associated with the astrocyte (m,n). G ðm;nÞ sum is the total glutamate G that reached an astrocyte (m,n): Higher neuronal activity causes more glutamate to be released. This, in turn, leads to longer duration and greater amplitude of the J glu elevation. Differences in the J glu elevations initiated by the activity of neural ensembles lead to differences in Ca 2þ dynamics of astrocytes corresponding to these neurons through IP 3 production. Thus, the larger the amplitude and duration of the J glu elevation, the longer and higher-amplitude calcium event it will cause. The proposed model of spiking neuron-astrocyte network takes into account the following mechanisms of the astrocytic enhancement of excitatory synaptic transmission due to the gliotransmitter action. Astrocytic glutamate-induced (1) potentiation of the synapse through the generation of the slow inward currents (SICs) in the postsynapse [24,54]; and (2) mGluR-dependent heterosynaptic facilitation of presynaptic glutamate release [55][56][57]. The revealed dependence of the level of calcium elevations generated by astrocytes on neural activity allows astrocytes to gradually regulate synaptic transmission [51]. For simplicity, the relationship between the astrocyte Ca 2þ concentration and synaptic weight of the affected synapses g syn , is described as follows: where m Ã Ca is the strength of the astrocyte-induced modulation of the synaptic weight, H is the Heaviside step function, ½Ca 2þ max is the maximum Ca 2þ concentration in the astrocytic layer at the specific moment. Feedback from astrocytes to neurons is activated when ½Ca 2þ is greater than ½Ca 2þ thr , and the total amount of glutamate released by the neurons corresponding to the astrocyte is greater than the threshold: G ðm;nÞ sum [ G thr2 . The duration of synaptic transmission by astrocytes is fixed and equal to s astro according to the experimental data of astrocyte-induced SICs dynamics [54].

Stimulation protocol
The size of each visual stimulus is equal to the neural network size: W Â H. The original image I was quantized in 256 shades (8-bit image: values from 0 to 255) (Fig. 2a). Then, to train the network, for each of the 256 shades, a value was assigned from a range of linearly spaced values from 4 to 8 (Fig. 2b). Each pixel value was used as the amplitude of the input signal I ði;jÞ app from Eq. (A1) for the corresponding neuron (i,j). Thus, the input signal I ði;jÞ app for a neuron (i,j) was a rectangular pulse with an amplitude A stim equal to the pixel (i,j) value and duration t stim . A detailed list of stimulation and testing parameters can be found in Table 3.
To illustrate how the network can store and retrieve grayscale patterns, we used four images: the same photo with pixel intensities normalized to the range [4; 9] and with an additional 80% Gaussian noise (Fig. 3a), the same photo with pixel intensities normalized to the range [4; 9] and with an additional 40% ''salt and pepper'' noise ( Fig. 3c), uniform noise with values from the range [4; 9] (Fig. 3e), another photo with pixel intensities normalized to the range [4; 9] (Fig. 3g). Test images were also presented as an input signal to neurons with the duration t test .
The ''salt and pepper'' noise level (in %) is the fraction of noisy pixels. The Gaussian noise level (in %) represents the ratio of standard deviations of the white Gaussian noise from the unaltered normalized image.

Metrics for evaluating retrieval quality
To assess the retrieval quality of the developed neuronastrocyte network, we used the PSNR method: where MAX I = 255 is the maximum possible pixel value.
To use this method, we converted all the results obtained (mean neuronal firing rate during testing) into 8-bit grayscale images K and compared them with the original image I. We calculated the mean firing rate of each neuron during testing as the mean number of spikes in a time window of 500 ms from the beginning of the test image presentation.
The algorithm of the proposed model operation is schematically summarized in Fig. 7.

Declarations
Conflict of interest The authors have no conflict of interest to declare that are relevant to the content of this article.
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons. org/licenses/by/4.0/.