Membrane computing and image processing: a short survey
 80 Downloads
Abstract
Membrane computing is a wellknown research area in computer science inspired by the organization and behavior of live cells and tissues. Their computational devices, called P systems, work in parallel and distributed mode and the information is encoded by multisets in a localized manner. All these features make P systems appropriate for dealing with digital images. In this paper, some of the open research lines in the area are presented, focusing on segmentation problems, skeletonization and algebraictopological aspects of the images. An extensive bibliography about the application of membrane computing to the study of digital images is also provided.
Keywords
Membrane computing P systems Image processing1 Introduction
Computer vision [153] is one of the most promising challenges for computer scientists in the coming years.^{1} This research area is placed in the interplay of many disciplines such as artificial intelligence, pattern recognition, signal processing, neurobiology, psychology or image processing, among others. It concerns the automated processing of images from the real world to extract and interpret information on a realtime basis.
Roughly speaking, a digital image is a twodimensional surface where each point is associated with a set of features as brightness or color. It is natural to consider only a discrete version of the definition, since only a finite amount of pixels placed in a lattice of integer coordinates is usually taken. The set of features can also have a finite amount of values (e.g., values in a range \(\{0,\ldots ,255\}\) for colors). Such discrete amount of data makes digital images appropriate for dealing with membrane computing techniques, but other features can be also considered. One of them is that the treatment of the image can be parallelized and locally solved. Regardless of how large the picture is, many of the processes can be performed in parallel in different local areas of the image. Another interesting feature is that the local information needed for an image transformation can also be easily encapsulated in a membrane and represented as a multiset of objects (for example, the new color of a pixel only depends, in some cases, on the color of the surrounding pixels and such discrete information can be encoded with membrane computing techniques). Such features, together with the maximal parallelism, have encouraged many researchers to explore the links between membrane computing and digital image processing.
Formally, a 2D digital image \({\mathcal {I}}\) with size \(n\times m\) (\(n,m\in {\mathbb {N}}\)) is a rectangular net of objects (i, j) called pixels (voxels in 3D images), with \(1\le i\le n\) and \(1\le j\le m\) (in general, any subset of the integer plane \({\mathbb {Z}} \times {\mathbb {Z}}\) can be chosen). Let \({\mathcal {C}}\), the alphabet of colors of \({\mathcal {I}}\), be the ordered set of all colors in \({\mathcal {I}}\). We define the size of \({\mathcal {C}}\), \({\mathcal {C}}\), as the number of colors of this alphabet. Moreover, we will assume that each pixel of \({\mathcal {I}}\) is associated with a color of \(\mathcal{{C}}\). So, we encode the pixel (i, j) with the associated color \(a\in {\mathcal {C}}\) as the object \(a_{ij}\). Therefore, the image I can be codified as the set \(\{a_{ij}\,:\,a\in \mathcal{{C}}\,\wedge \,1\le i\le n\,\wedge \,1\le j\le m\}\). Another basic concept associated with pixels is the adjacency. In such case, a distance is defined and two pixels are adjacent if the distance between them is one. Depending on the chosen distance, we can talk about 4adjacency or 8adjacency relation. The different treatments of such mappings (digital images) provide a big amount of current applications in biometrics [1], surveillance [35], medical imaging [6], human fingerprint classification [84], cartography [98], data compression and data storage [71], automated inspection of printed circuit boards [180] or optical character recognition (OCR) [156] among many others.
In the last years, the development of new hardware, mainly graphics processing units (GPU), has made possible the effective implementation of the paralellization intrinsic to P systems. Such GPU are especially well suited to address problems that can be expressed as dataparallel computations and, therefore, they are appropriate for the simulation of membrane computing devices. In fact, we can nowadays find many effective solutions to reallife problems inspired by membrane computing principles^{2} (e.g., applications in computational economics [166], engineering [99], selfconfigurable robots [9] or fault diagnosis of power systems [120]).
In the literature, one can find many examples of the use of bioinspired techniques for dealing with problems associated with the treatment of digital images. One of the classic examples is the use of cellular automata [145, 151]. Other efforts are related to artificial neural networks as in [53, 187] or, more recently, deep learning (see, e.g., [75, 103, 130]). In this paper, we present some of the main research lines bridging membrane computing and digital images. In Sect. 2, we recall the first attempts of linking both disciplines, mainly based on array grammars and on a graphical interpretation of the information encoded in a P system configuration, which allows to associate a picture to it. Section 3 is devoted to one of the main applications of membrane computing to image processing, namely the segmentation of images. Segmentation is the process of splitting a digital image into sets of pixels to make it simpler and easier to analyze. One of its main uses is the localization of objects and boundaries. Technically, the process consists of assigning a label to each pixel, in such a way that pixels with the same label form a meaningful region. Among the applications of segmentation of digital images, we can find the face recognition [186] or location of objects in satellite images (roads, forests, etc.) [61], but probably its main application area is medical imaging [13]. Section 4 is devoted to the skeletonization of images. Skeletonization is one of the approaches for representing a shape with a small amount of information by converting an image into a more compact representation and keeping the meaningful features. The conversion should remove redundant information, but it should also keep the basic structure. Other of the most promising applications focuses on algebraictopological aspects of the images (Sect. 5) as those related to homology theory or discrete Morse theory (see, e.g., [31, 137]). The paper ends with an example of application (Sect. 6) and some final conclusions and comments on further research.
2 First steps
One of the first steps by bridging membrane computing and digital images was to consider twodimensional objects. The objects placed in a membrane are usually zerodimensional or onedimensional (in the case of string objects [57, 127]). The first step for considering images in membrane computing is the use of twodimensional objects, called arrays.^{3} Array grammars have been widely studied in the literature. They can be considered as a straightforward extension of string grammars to twodimensional pictures. Such pictures are sets of symbols placed in the points with integer coordinates of the plane (see, e.g., [36, 59, 144, 171]).
In [22], the model of arrayrewriting P systems was presented on the basis of the transition P systems [125]: rules are of type \({{{\mathcal{A}}}} \rightarrow {{{\mathcal{B}}}}(\mathrm tar),\) where \({{{\mathcal{A}}}}\) is the array to be rewritten, \({{{\mathcal{B}}}}\) is the new one and \(\mathrm{tar}\in \{\mathrm{here},\,\mathrm{in},\,\mathrm{out}\}\) indicates the emplacement of the picture where the substitution has been made. Different approaches can be found in [128, 160]. In a natural way, transition P systems were extended to other P systems models, as in [27], where tissue P systems with arrays are used for dealing with the segmentation of images (see Sect. 3).
Among the recent contributions in this research line, we can cite the socalled array P systems with permitting features [162]. The authors use the technique of regulating rewriting [37], associating permitting symbols with rules in the regions of an array P system [22], so that an array is rewritten by a rule only when the permitting symbols of the used rule are present in the array rewritten. This model incorporates the feature of permitting symbols in the rules. The advantage of this approach is that there is a reduction in the number of membranes in comparison to other array P system models. This idea of permitting features is also used in [86], where the authors bridge these concepts with array P system that uses basic puzzle grammar [159, 161]. Another variant of array P system, called tabled parallel array P system, was introduced in [87] by employing a wellknown technique, called tables of rules, of grouping rules, especially used in Lindenmayer systems [146]. This enables a specific collection of rules being used at a time and enhances the generative power.
In [64, 65], a first approach for using P systems to simulate the growth and development of living plants was presented. This approach mixes Lsystems and P systems, being in fact an Lsystem factorized into several units, which are them computed in the compartments delimited by the membranes of the P system.
Later, a new approach [140, 142, 143] was presented. It used the model of P systems with membrane creation [110, 124] where an object can produce a whole membrane via the application of a rule. This kind of rule allows to control the development of the membrane structure of a celllike P system, which has a natural graphical interpretation as a treelike graph. The multiset placed inside the membranes can be graphically interpreted in terms of color, length or thickness of the corresponding segment in the branching structure, allowing to provide a more and more realistic appearance. Figure 1, borrowed from [143], shows the graphical representation of four configurations of a P system with membrane creation. The drawn trees reproduce the treelike structure of the membrane structure of the P systems and the length and thickness of the branches and the corresponding angles are fixed by the multiset of objects placed in the membranes in the corresponding configuration. These ideas of representing branching structures were also considered in [139], where a specific software for this graphical representation was developed. Some examples of polygons, spirals, friezes and plants can be found in this paper. Figure 2 shows some of them.
A close interpretation of the growing of higher plants was made for linking membrane computing and fractals [79]. A fractal [106] is a shape made of parts similar to the whole in some way. This selfsimilarity occurs over an infinite range of scales in pure mathematical structures, but over a finite range in many natural objects such as clouds, coastlines, surface of tumors or snowflakes. An appropriate use of the creation rules together with the nondeterminism intrinsic to P systems and the interpretation of the multisets of objects could be useful in the study of the smooth surface of solid tumors, as pointed out in [80].
3 Segmentation
The study of array grammars or the graphical interpretation of a P system configuration was the first attempt to link membrane computing techniques to the study of images, but they cannot be considered as image processing. In such a way, one of the most studied image processing techniques studied in membrane computing is segmentation.^{5}
Segmentation is the process of assigning a label to every pixel in an image such that pixels with the same label share certain visual characteristics. The goal of segmentation is to simplify and/or change the representation of an image into something that is more meaningful and easier to analyze. Image segmentation is typically used to locate objects and boundaries (lines, curves, etc.) in images. More precisely, image segmentation is the process of assigning a label to every pixel in an image in such a way those pixels with the same label share certain visual characteristics. These regions are mutually disjoint, well defined and have the same properties. The purpose of segmenting an image is to identify regions that are then utilized to recognize and understand the image. In the past decades, a large number of image segmentation algorithms have been developed [25, 104, 115]. These algorithms can be roughly classified into three categories: thresholdbased segmentation methods, edgebased segmentation methods and regionbased segmentation methods. Segmentation has shown its utility in bordering tumors and other pathologies, computerguided surgery or the study of anatomical structure, but also in techniques which are not thought to produce images, it produces positional information such as electroencephalography (EEG) or electrocardiography (EKG).
In the literature, there exist different techniques to segment an image. Some of them are clustering methods [100, 169], histogrambased methods [168], watershed transformation methods [167, 179] or graph partitioning methods [181]. Some of the practical applications of image segmentation are medical imaging [169], the study of anatomical structure, location of objects in satellite images (roads, forests, etc.) [154] or face recognition [96] among others.
The studies of P systemsbased segmentation
3.1 Thresholdbased segmentation methods
Thresholding is widely used as a popular technique in image segmentation [148]. The goal of thresholding is to separate objects from background image or discriminate objects from objects that have distinct gray levels. Its underlying assumption is that an image consists of different regions corresponding to the graylevel ranges. It has been used widely as a tool to segment the gray images, but only a few works on color image segmentation have been reported. The main advantage of this technique lies in its simple computation approach. However, the thresholdbased segmentation method ignores the spatial relationship information.
In recent years, P systems have been used to deal with thresholdbased segmentation problems. DíazPernil et al. [45] developed an image segmentation method on 2D images using P systems, which was applied to medical image segmentation. Christinal et al. [28] presented an image segmentation method based on tissuelike P systems by using the 4neighborhood relation of pixels in the 2D image. However, they only addressed the segmentation results of artificial images rather than reallife images. ReinaMolina et al. [134] proposed a thresholding method based on tissuelike P systems with multiple auxiliary cells. PeñaCantillana et al. [118] presented a method based on thresholding using also 4adjacency with tissuelike P systems. Christinal et al. [33] have proposed a variant of the P system (tissuelike P system) using the rules to perform a parallel color segmentation of 2D images based on a threshold method. Wang et al. [170] proposed an optimal singlelevel thresholding method based on P systems. Peng et al. [119] presented a threelevel thresholding method based on celllike P systems for image segmentation. Zhang et al. [185] developed an infrared object segmentation method with membrane computing, which was used to obtain the optimal parameters quickly. Peng et al. [122] proposed a thresholding method based on tissuelike P systems and fuzzy entropy. In [121], Peng et al. developed an optimal multilevel thresholding method based on celllike P system.
3.2 Regionbased segmentation methods
There are two key approaches regarding the regionbased segmentation method: region growing and splitting–merging. Region growing polymerizes images, pixels or subregions that are considered as seeds into larger regions according to some criteria [23]. The characteristics of pixels and the adjacency of spatial distribution are fully considered in region growing. However, because of its iterative computational process, region growing has a high computing cost. In recent years, P systems have been used to realize several regionbased segmentation methods.
Christinal et al. [32] proposed a regionbased segmentation method for 2D and 3D images with tissuelike P systems, which was later improved by Carnero et al. [14]. Yang et al. [178] developed a regionbased segmentation method with membrane computing, which effectively segmented gray images. However, the method cannot be extended to color images. Thus, Peng et al. [123] presented a regionbased method to deal with color image segmentation. Isawasan et al. [88] proposed a regionbased segmentation method based on tissue P systems for hexagonal digital images. Yahya et al. [172] proposed in 2015 a regionbased method based on tissue P systems for 2D image segmentation. More recently, Yahya et al. have also presented a model for 3D image segmentation by using tissuelike P systems [176] and have used the Jaccard index method [89, 90] to measure the accuracy of the 2D segmentation in [175].
3.3 Edgebased segmentation methods
The edgebased segmentation method is extensively utilized for graylevel image segmentation, which is based on the detection of discontinuity in the gray level. An edge or boundary is a place where there is a more or less abrupt change in the gray level. Among the most used edge detection operators are Roberts operator, Sobel operator, Gauss–Laplace operator and Canny operator. Inspired from the mechanism of P systems, a number of edgebased segmentation methods have been addressed in recent years.
Christinal et al. [29] presented an edgebased segmentation method using tissuelike P systems for 2D and 3D images. DíazPernil et al. [48] proposed an edgebased segmentation method based on tissuelike P systems to obtain homology groups. DíazPernil et al. [42] proposed a parallel implementation of a new algorithm for segmenting images with gradientbased edge detection by using techniques from membrane computing. Carnero et al. [15] used tissuelike P systems to design an edgebased segmentation method. Christinal et al. [26] developed a method to search partially bounded regions with P systems. As a final reference, Yahya et al. presented in [173] a tissuelike P systembased edgebased segmentation method for 2D hexagonal images.
3.4 Software and hardware implementation
Carnero et al. [15, 16] have proposed a new hardware tool including a fieldprogrammable gate array unit (FPGA) to perform segmentation of digital images for solving edgebased detection and noise removal problem. Their system uses membrane computing as well as a hardware programming (VHDL) language to propose an ad hoc processor. In another work, DíazPernil et al. [45] have proposed a new software tool for segmenting 2D digital images on the basis of tissuelike P system, wherein the object oriented C++ programming language has been used in the implementation part. However, they did not provide a clear explanation regarding the technical aspects of developing the proposed tool.
A bioinspired membrane computing software has been proposed by PeñaCantillana et al. [117] to solve the threshold problem and it has been implemented in Compute Unified Device Architecture (\(\mathrm{CUDA}^{{\tiny \mathrm{TM}}}\)), an innovative device architecture (see Sect. 7). Sheeba et al. [155] have proposed tissuelike P system to segment medical image, nuclei of the white blood cells (WBCs) of the peripheral blood smear images in morphology segmentation technique. Their algorithm has been implemented using MATLAB software.
In the work of DíazPernil et al. [42], a \(\mathrm{CUDA}^{{\tiny \mathrm{TM}}}\) has been presented to implement tissuelike P system rules for segmenting images by the use of gradientbased edge detection to enhance the traditional methods of segmenting digital images. In [172], Yahya et al. used the tissue P systems simulator presented in [12] to check the validity of their design. A different approach can be also found in [46].
4 Skeletonization
Skeletonization in image processing is an approach for representing a shape with a small amount of information by converting an image into a more compact representation and keeping the meaningful features. The conversion should remove redundant information, but it should also keep the basic structure. The concept of skeleton was introduced by Blum [10, 11], under the name of medial axis transformation. The skeleton of an image is useful to characterize objects by a compact representation while preserving the connectivity and topological properties of any image. The most important features concerning a shape are its topology (represented by connected components, holes, etc.) and its geometry (elongated parts, ramifications, etc.), and thus they must be preserved.
Skeletonization has been found useful for data compression and pattern recognition in a wide range of applications in the industrial and scientific fields. It is usually considered as a preprocessing step in pattern recognition algorithms, but its study is also interesting by itself for the analysis of linebased images such as coronary arteries [52], human fingerprint classification [84], cartography [98], data compression and data storage [71], automated inspection of printed circuit boards [180] or optical character recognition (OCR) [156] among others. In many cases, the transformation of all the pixels can be done in parallel, since the state of a pixel at the step i only depends on the states of a set of pixels at the step \(i1\). Such parallelism in skeletonizing algorithms has been broadly studied (see, e.g., [77, 105, 165, 184]). The development of new hardware architectures has also contributed to new parallel implementations of these algorithms [67, 82, 83].
In [49, 50], DíazPernil et al. presented an implementation of the Guo and Hall algorithm [77, 78] for skeletonizing images by using spiking neural P systems. In this algorithm, the pixels are examined for deletion in an iterative process. First of all, given an \(p\times q\) image, it is divided into two subsections. One of the sections is composed of the pixels \(a_{ij}\) such that \(i+j\) is even. Alternatively, the second subsection corresponds to the pixels \(a_{ij}\) such that \(i+j\) is odd. The algorithm consists of two subiterations where the removal of redundant pixels from both subsections is alternated, i.e., in each step only the pixels of one of the subsections are evaluated for its deletion.
The decision is based on a \(3 \times 3\) neighborhood. Given a pixel P0, a clockwise enumeration \(P1,\ldots ,P8\) of its eight neighbor pixels is considered, as shown in Fig. 4a. As usual, for each \(i\in \{1,\ldots , 8\}\), Pi is considered as a Boolean variable, with the truth value 1 if Pi is black and 0 if Pi is white. In each iteration, an evaluated black pixel P0 is deleted (changed to white) if and only if a set of conditions are satisfied. The key point in [50] is the use of a compact representation of the neighborhood of a pixel (also used in [147]) and the use of weights associated with the synapses of the SN P system.
A different approach to the skeletonization of images with P systems was presented by Nicolescu [111] where an approach to the problem was presented by using complex objects and actors in the framework of membrane computing.
5 Algebraictopological aspects
A different approach to computer vision can also be obtained from topology. Topology in computer vision is referred to as connectivity, in a general way. For example, we look for connected components, holes in these connected components, etc., where the compulsory idea is the connection. In particular, algebraic topology [58] provides techniques and algorithms for dealing digital images from a topological point of view.
The relationship between algebraic topology and natural computing is not new. In 1996, Chao and Nakayama [24] connected both areas using neural networks by extended Kohonen maps. Some years after, Giavitto et al. studied in [66] the topological structure of the membrane computing and Ceterchi et al. published two works where the digital image was introduced in the framework of the membrane computing [21, 22].
5.1 Effective homology
Recently, the links between algebraic topology and membrane computing have started to be explored via homology theory [30, 31, 48]. In such cases, black and white images are taken and using labeling techniques the number of black connected components and the number of holes^{6} of these connected components are calculated. This information is known as the Betti numbers from a 2D picture.

Geometric modeling level A cell complex K(V) topologically equivalent to the original volume is constructed. A 3D cell complex consists of vertices (0cells), edges (1cells), faces (2cells) and polyhedra (3cells). In particular, each edge connects two vertices, each face is enclosed by a loop of edges, and each threecell is enclosed by an envelope of faces.

Homology analysis level Homology information about K(V) is exclusively codified in terms of a chain homotopy operator [72, 73].
Using effective homology theory as the main tool for designing algorithms for computing complexes topological invariants (cohomology ring, (co)homology operations, homotopy groups,...), the problem of decomposing the objects into combinatorial graphlike pieces appears in a natural way. A possible solution to solve the high complexity costs of these processes is provided here by membrane computing. Alsalibi et al. present in [4] a membrane computing software for automatically computing homology groups of 2D digital images in a logarithmic number of steps.
DíazPernil et al. use in [41, 43] a wellknown tool from membrane computing, promoters. They are used to speed up the membrane algorithms. In that way, a bigger amount of information is handled. Within the digital imagery setting, we determine here a membrane computing strategy for partially specifying a chain homotopy operator at the level of pixels for a pixelbased digital 2D binary object O. This fundamental data structure in effective homology is obtained in terms of a forest spanning every vertex of its associated adjacency graph. Every tree of this forest determines and localizes the corresponding connected component. In [41], the authors obtain something more than the Betti numbers, they obtain the representative objects of each connected component and the borders of the holes. In ths way, they get the homology groups.
Until here, the efficiency of the membrane models with these kinds of problems is tested. But, we have to think of a bigger problem: what will happen when we want to work with bigger dimensions? We can follow two different ways. We could carry on as before, where the simplicity (from algebraic point of view) enables high efficiency. Or, we can introduce new algebraictopological concepts where the amount of information to deal with would be increased.
ReinaMolina et al. decided to take this second option in 2012 in [135, 136, 137]. They present a simulation of the Morse theory algorithms in a parallel way, getting the homology groups of nD objects.
We have introduced two different theoretical ways to solve problems from algebraic topology, but software based on these theories has been also developed. On one hand, PeñaCantillana et al. [41] generate a parallel software using GPUs by CUDA to get the homology groups of 2D shapes based on techniques of spanning trees generated with membrane models where the promoters are compulsory. On the other hand, ReinaMolina et al. use PyCUDA (Python plus CUDA) to solve homological problems in a practical way in [138]. But, the complexity to adapt the Morse theory to parallel algorithms is high. So, this last software works almost completely parallel.
Many open questions arise in the relation of membrane computing and topology. From algebraic topology, we wonder if the membrane computing techniques can help in a better understanding of the problems and the design of more effective solutions. From membrane computing, a deeper study is necessary to explore how specific techniques of the different models can be applied. In particular, the use of priority in the application of rules is a strong requirement. It is worth to study if it can be avoided. From an implementation point of view, the exploration of the different parallel hardware architectures (clusters, grids, FPGA, ...) for the efficient implementation of the algorithms theoretically developed is an open research line.
6 A case study: the parallel segmentation of the optic disc
Image analysis and processing have great significance in the field of medicine, especially in noninvasive treatment and clinical study. However, with the development of new technologies, larger quantity of data, especially highquality images, is available. Therefore, there is a new necessity of efficient and fast algorithms capable of processing and extracting meaningful features from images in a reasonable time. This is the case of mass screening programs for the early detection of retinal diseases such as glaucoma or diabetic retinopathy. Visual inspection of the large number of images so obtained is a timeconsuming task for the medical experts. Moreover, computeraided diagnosis (CAD) tools based on retinal image processing developed in the past are limited by the balance between accuracy and complexity due to their sequential programming.
Changes in the optic disc can indicate the current state and progression of a certain disease, while its diameter is usually used as a reference for measuring retinal distances and sizes [150]. Therefore, accurate optic disc localization and detection of its boundary is a principal and basic step for automated diagnosis systems [113].
In [44], a new method has been implemented with the GPU technology. Image edges are extracted using a new operator called AGPcolor segmentator based on the membrane computing approach presented in [42]. It is a membrane computing implementation on \(\mathrm{CUDA}^{{\tiny \mathrm{TM}}}\) of the \(3 \times 3\) and \(5 \times 5\) versions of the Sobel algorithm [157] for edge detection. To choose an appropriate threshold to the binarization, a P system implementation [117] of the Hamadani algorithm [81] is applied. To avoid erroneous results, the obtained image is processed by eliminating the eye border. This is performed by applying a threshold on each color plane of the original image with the algorithm presented in [117]. The circular Hough transform is applied in parallel to the image in an interval of radius wide enough to consider all the possible optic discs.
The Hough transform is a wellknown feature extraction technique used in image analysis. The classical Hough transform was concerned with the identification of lines in the image, but later the Hough transform has been extended to identifying positions of arbitrary shapes, most commonly circles or ellipses [7, 51, 85]. The basic idea behind the Hough transform is to convert the image into a parameter space that is constructed specifically to describe the desired shape analytically.
The reliability of the tool was tested with 129 images from the public databases DRIVE [158] and DIARETDB1 [91] obtaining an average accuracy of 99.6% and a mean consumed time per image of 7.6 and 16.3 s, respectively. A comparison with several stateoftheart algorithms shows that the algorithm represents a significant improvement in terms of accuracy and efficiency.
7 Final conclusions
Parallelizing classical digital image algorithms is a big challenge in the coming years [38, 116]. Such paralleling is much more complex than the merely simultaneous application of the sequential algorithm to different pieces of the image. The coordination of different simultaneous processes in a whole algorithm is so hard a task that commonly the parallel algorithm needs to be redesigned with only slight references to the classical one. Usually, the design of a new parallel implementation not inspired by the sequential one allows an openmind vision of the problem and the proposal of new creative solutions. This opens an interesting research line not only for membrane computing researchers, but also for all of them interested in bioinspired solutions, since the mathematical expression of the classical algorithms may change if we introduce the intrinsic parallelism of natural computing designs. Such new parallel solutions need a strong theoretical support that allows to control, to formalize, to check and to formally verify new algorithms.
As pointed out above, many of the problems in digital images share features very interesting for using these techniques: the information can be split into little pieces and expressed as (multi)sets of objects; the computation steps can be processed by rewriting rules; and the same sequential algorithm must be applied in different regions of the image which are independent and they can be treated locally by a set of processors. All these features lead us to consider membrane computing to deal with digital images.
The key point of paralleling classical sequential algorithms is the search of the efficiency and such efficiency is strongly linked to the development of new parallel hardware architectures which allow a realistic implementation of the theoretical advantages of the parallel processes. Different hardware architectures (clusters, grids, FPGA,...) propose different solutions [94, 95, 112, 149]. One of the most used architectures in the papers presented above has been the Compute Unified Device Architecture, \(\mathrm{CUDA}^{{\tiny \mathrm{TM}}}\). This is a generalpurpose parallel computing architecture that allows the parallel NVIDIA GPUs to solve many complex computational problems in a more efficient way than on a CPU.
GPUs have emerged as generalpurpose coprocessors in recent years. Traditionally designed for gaming applications, GPUs offer many computing threads arranged in a singleprogram multipledata (SPMD) model. The chosen hardware architecture for our parallel implementation has been the Compute Unified Device Architecture, (\(\mathrm{CUDA}^{TM}\)), which allows the parallel NVIDIA GPUs [189] to solve many complex computational problems in a more efficient way than on a sequential central processing unit (CPU).^{7} This architecture has been widely used in membrane computing also for dealing with images [18, 19].
The choice of this parallel architecture is supported by several reasons. The first one is that the computing language \(\mathrm{CUDA}^{{\tiny \mathrm{TM}}}\) allows programmers a friendly model for implementing easily parallel programs, but the main reason comes from the practical side. In the last few years, there exists an increasing interest in the specialized industry for the development of more and more powerful graphic processing units which can be used for general purposes. This interest leads, on the one hand, to a more economically accessible (and hence, more extended) hardware and, on the other, to the development of more powerful computational units. The use of this new parallel architecture is currently explored as a tool for paralleling the treatment of digital images [17, 109].
With respect to the analysis on the performance of image processing with membrane computing techniques, a deep study is necessary. The authors usually only present a theoretical solution of the problem, some examples or a brief description of the software implementation.^{8} Two new research lines are open in the analysis of performance: on the one hand, to study the theoretical properties of the new parallel algorithms from the point of view of the complexity theory and, on the other, to study different implementations in several parallel hardware to extract properties which help to design more efficient algorithms in the future.
Many other problems related to digital images have been addressed with membrane computing techniques. We can cite smoothing [118], which shows how to enhance an image by removing regions that do not provide relevant information, and the approach presented in [183], where membrane computing and quantuminspired evolutionary algorithms are combined or the search of partially bounded regions [26]. This problem is also related to the HGB2I problem which consists of calculating the number of connected components and the representative curves of the holes of these components.
Detection of more complex structures, as corners in the images, has been explored in [8]. Alsalibi et al. study different bioinspired approaches for the problem of face recognition in [3] and consider bridging membrane computing and evolutionary computing [182]. The problem of face recognition is also considered in [2] where a bat algorithm [177] under the framework of membrane computing (MC) is employed. Image registration is a research area which aims to find a transformation between two or more images under different conditions [188]. In [62], the authors propose a multimodal image registration algorithm based on membrane computing. Gimel’farb et al. [68, 70] implemented the symmetric dynamic programming stereo (SDPS) algorithm [69] for stereo matching by using membrane computing techniques.
Many other approaches not cited in this paper have also been presented. The research area is active and provides open lines for future researchers. Among them, we can cite the use of different P system models. In the last years, many different P system models have been presented (mainly by adding or modifying syntactic or semantic features to previous models). It is an open problem to know if any of such new models are more appropriate to deal with problems from digital images. Another research line consists in exploring more problems beyond the ones presented in this paper. Many open questions about new reallife application will need deep studies in the next few years.
Footnotes
 1.
A preliminary version of this paper can be found at [47].
 2.
Some of these applications were collected in the volume [34].
 3.
An overview of 2D picture array generating models based on membrane computing can be found in [164].
 4.
Adapted from the Example 1 in [22].
 5.
A recent literature survey devoted exclusively to image segmentation by using membrane computing can be found in [174].
 6.
White connected components surrounded by black connected components.
 7.
For a good overview, the reader can refer to [114].
 8.
A detailed description is out of the scope of this paper. An interested reader can consult the bibliography.
References
 1.Adeoye OS. A survey of emerging biometric technologies. Int J Comput Appl. 2010;9(10):1–5.Google Scholar
 2.Alsalibi B, Venkat I, AlBetar MA. A membraneinspired bat algorithm to recognize faces in unconstrained scenarios. Eng Appl Artif Intell. 2017;64:242–60.CrossRefGoogle Scholar
 3.Alsalibi B, Venkat I, Subramanian K, Lutfi SL, Wilde PD. The impact of bioinspired approaches toward the advancement of face recognition. ACM Comput Surv. 2015;48(1):1–33.CrossRefGoogle Scholar
 4.Alsalibi B, Venkat I, Subramanian KG, Christinal HA. A bioinspired software for homology groups of 2d digital images. Asian Conf Membr Comput ACMC. 2014;2014:1–4.Google Scholar
 5.Annadurai S, Kalyani T, Dare VR, Thomas DG. P systems generating isopicture languages. Prog Nat Sci. 2008;18(5):617–22.MathSciNetzbMATHCrossRefGoogle Scholar
 6.Ayache N. Medical image analysis and simulation. In: Shyamasundar RK, Ueda K, editors. ASIAN. Lecture notes in computer science, vol. 1345. Berlin: Springer; 1997. p. 4–17.Google Scholar
 7.Ballard D. Generalizing the Hough transform to detect arbitrary shapes. Pattern Recognit. 1981;13(2):111–22.zbMATHCrossRefGoogle Scholar
 8.Berciano A, DíazPernil D, Christinal HA, Venkat I, Subramanian KG. First steps for a corner detection using membrane computing. Asian Conf Membr Comput ACMC. 2014;2014:1–6.Google Scholar
 9.Bie D, GutiérrezNaranjo MA, Zhao J, Zhu, Y. A membrane computing framework for selfreconfigurable robots. Nat Comput. 2018. https://doi.org/10.1007/s1104701897021.Google Scholar
 10.Blum H. An associative machine for dealing with the visual field and some of its biological implications. In: Bernard EE, Kare MR, editors. Proceedings of the 2nd annual bionics symposium, held at Cornell University, 1961. Biological prototypes and synthetic systems, vol. 1. New York: Plenum Press; 1962. p. 244–60.Google Scholar
 11.Blum H. An associative machine for dealing with the visual field and some of its biological implications. Computer and Mathematical Sciences Laboratory, Electronics Research Directorate, Air Force Cambridge Research Laboratories, Office of Aerospace Research, United States Air Force; 1962.Google Scholar
 12.BorregoRopero R, DíazPernil D, PérezJiménez MJ. Tissue simulator: a graphical tool for tissue P systems. In: Vaszil G, editors. Proceedings of the International Workshop Automata for Cellular and Molecular Computing. MTA SZTAKI, Budapest, Hungary. Satellite of the 16th International Symposium on Fundamentals of Computational Theory; 2007. p. 23–34.Google Scholar
 13.Campadelli P, Casiraghi E, Esposito A. Liver segmentation from computed tomography scans: a survey and a new algorithm. Artif Intell Med. 2009;45(2–3):185–96.CrossRefGoogle Scholar
 14.Carnero J, Christinal HA, DíazPernil D, ReinaMolina R, Subathra MSP. Improved parallelization of an image segmentation bioinspired algorithm. In: Babu BV, Nagar A, Deep K, Pant M, Bansal JC, Ray K, Gupta U, editors. Proceedings of the second international conference on soft computing for problem solving, vol. 236, SocProS 2012, December 28–30, 2012, JK Lakshmipat University (JKLU), Jaipur, India. Advances in intelligent systems and computing. Springer; 2012. p. 75–82.Google Scholar
 15.Carnero J, DíazPernil D, GutiérrezNaranjo MA. Designing tissuelike P systems for image segmentation on parallel architectures. In: MartínezdelAmor MA, Păun G, PérezHurtado I, RomeroCampero FJ, ValenciaCabrera L, editors. Ninth brainstorming week on membrane computing. Sevilla: Fénix Editora; 2011. p. 43–62.Google Scholar
 16.Carnero J, DíazPernil D, MolinaAbril H, Real P. Image segmentation inspired by cellular models using hardware programming. Image A Appl Math Image Eng. 2010;1(3):143–50.Google Scholar
 17.Carranza C, Murray V, Pattichis M, Barriga ES. Multiscale AMFM decompositions with GPU acceleration for diabetic retinopathy screening. In: IEEE southwest symposium on image analysis and interpretation (SSIAI); 2012. p. 121–24.Google Scholar
 18.Cecilia JM, García JM, Guerrero GD, MartínezdelAmor MA, PérezHurtado I, PérezJiménez MJ. Simulating a P system based efficient solution to SAT by using GPUs. J Log Algebraic Program. 2010;79(6):317–25.MathSciNetzbMATHCrossRefGoogle Scholar
 19.Cecilia JM, García JM, Guerrero GD, MartínezdelAmor MA, PérezHurtado I, PérezJiménez MJ. Simulation of P systems with active membranes on CUDA. Brief Bioinform. 2010;11(3):313–22.CrossRefGoogle Scholar
 20.Ceterchi R, Gramatovici R, Jonoska, N. Tiling rectangular pictures with P systems. In: MartínVide et al. [107]; 2004. p. 88–103.Google Scholar
 21.Ceterchi R, Gramatovici R, Jonoska N, Subramanian KG. Tissuelike P systems with active membranes for picture generation. Fundamenta Informaticae. 2003;56(4):311–28.MathSciNetzbMATHGoogle Scholar
 22.Ceterchi R, Mutyam M, Păun G, Subramanian KG. Arrayrewriting P systems. Nat Comput. 2003;2(3):229–49.MathSciNetzbMATHCrossRefGoogle Scholar
 23.Chang Y, Li X. Adaptive image regiongrowing. IEEE Trans Image Process. 1994;3(6):868–72.CrossRefGoogle Scholar
 24.Chao J, Nakayama J. Cubical singular simplex model for 3D objects and fast computation of homology groups. In: 13th international conference on pattern recognition (ICPR’96), vol. IV. IEEE Computer Society, Los Alamitos, CA, USA; 1996. p. 190–94.Google Scholar
 25.Cheng H, Jiang X, Sun Y, Wang J. Color image segmentation: advances and prospects. Pattern Recognit. 2001;34(12):2259–81.zbMATHCrossRefGoogle Scholar
 26.Christinal HA, Berciano A, DíazPernil D, GutiérrezNaranjo MA. Searching partially bounded regions with P systems. In: Pant M, Deep K, Nagar A, Bansal JC, editors. Proceedings of the third international conference on soft computing for problem solving: SocProS 2013, vol. 1. New Delhi: Springer; 2014. p. 45–54.Google Scholar
 27.Christinal HA, DíazPernil D, GutiérrezNaranjo MA, PérezJiménez MJ. Array tissuelike P systems. In: Martínez del Amor MA, Păun G, Pérez Hurtado I, RiscosNúñez A, editors. Eighth brainstorming week on membrane computing. Sevilla: Fénix Editora; 2010. p. 37–51.Google Scholar
 28.Christinal HA, DíazPernil D, GutiérrezNaranjo MA, PérezJiménez MJ. Thresholding of 2D images with celllike P systems. Rom J Inf Sci Technol (ROMJIST). 2010;13(2):131–40.Google Scholar
 29.Christinal HA, DíazPernil D, Real P. Segmentation in 2D and 3D image using tissuelike P system. In: BayroCorrochano E, Eklundh JO, editors. Progress in Pattern Recognition, Image Analysis, Computer Vision, and Applications 14th Iberoamerican Conference on Pattern Recognition, CIARP 2009, Guadalajara, Jalisco, Mexico, November 15–18, 2009. Proceedings, lecture notes in computer science, vol. 5856. Berlin: Springer; 2009. p. 169–76.Google Scholar
 30.Christinal HA, DíazPernil D, Real P. Using membrane computing for obtaining homology groups of binary 2D digital images. In: Wiederhold P, Barneva RP, editors. Combinatorial Image Analysis 13th International Workshop, IWCIA 2009, Playa del Carmen, Mexico, November 24–27, 2009. Proceedings, lecture notes in computer science, vol. 5852. Berlin: Springer; 2009. p. 383–96.Google Scholar
 31.Christinal HA, DíazPernil D, Real P. P systems and computational algebraic topology. Mathematical and computer modelling, vol. 52, 1982–1996. The BICTA 2009 special issue, international conference on bioinspired computing: theory and applications; 2010. p. 11–12.Google Scholar
 32.Christinal HA, DíazPernil D, Real P. Regionbased segmentation of 2D and 3D images with tissuelike P systems. Advances in theory and applications of pattern recognition, image processing and computer vision. Pattern Recognit Lett. 2012;32(16):2206–12.CrossRefGoogle Scholar
 33.Christinal HA, DíazPernil D, Real JP, Selvan SE. Color segmentation of 2D images with thresholding. In: Mathew J, Patra P, Pradhan DK, Kuttyamma AJ, editors. Proceedings of ecofriendly computing and communication systems: international conference, ICECCS 2012, Kochi, India, August 9–11. Berlin: Springer; 2012. p. 162–69.Google Scholar
 34.Ciobanu G, PérezJiménez MJ, Păun G, editors. Applications of membrane computing. Natural computing series. Berlin: Springer; 2006.Google Scholar
 35.Collins R, Lipton A, Kanade T. Introduction to the special section on video surveillance. IEEE Trans Pattern Anal Mach Intell. 2000;22(8):745–6.CrossRefGoogle Scholar
 36.Cook CR, Wang PSP. A Chomsky hierarchy of isotonic array grammars and languages. Comput Graph Image Process. 1978;8(1):144–52.CrossRefGoogle Scholar
 37.Dassow J, Păun G. Regulated rewriting in formal language theory. 1st ed. New York: Springer Publishing Company Incorporated; 2012.zbMATHGoogle Scholar
 38.Davies E. Computer and machine vision: theory, algorithms practicalities. Waltham: Elsevier Science; 2012.Google Scholar
 39.Dersanambika KS, Krithivasan K. Contextual array P systems. Int J Comput Math. 2004;81(8):955–69.MathSciNetzbMATHCrossRefGoogle Scholar
 40.Dersanambika KS, Krithivasan K, Subramanian KG. P systems generating hexagonal picture languages. In: MartínVide et al. [107]; 2003. p. 168–80.Google Scholar
 41.DíazPernil D, Berciano A, PeñaCantillana F, GutiérrezNaranjo MA. Bioinspired parallel computing of representative geometrical objects of holes of binary 2Dimages. Int J Bioinspired Comput. 2017;9(2):77–92.CrossRefGoogle Scholar
 42.DíazPernil D, Berciano A, PeñaCantillana F, GutiérrezNaranjo MA. Segmenting images with gradientbased edge detection using membrane computing. Pattern Recognit Lett. 2013;34(8):846–55.CrossRefGoogle Scholar
 43.DíazPernil D, Christinal HA, GutiérrezNaranjo MA, Real P. Using membrane computing for effective homology. Appl Algebra Eng Commun Comput. 2012;23(5–6):233–49.MathSciNetzbMATHCrossRefGoogle Scholar
 44.DíazPernil D, Fondón I, PeñaCantillana F, GutiérrezNaranjo MA. Fully automatized parallel segmentation of the optic disc in retinal fundus images. Geometric, topological and harmonic trends to image processing. Pattern Recognit Lett. 2016;83(1):99–107.CrossRefGoogle Scholar
 45.DíazPernil D, GutiérrezNaranjo MA, MolinaAbril H, Real P. A bioinspired software for segmenting digital images. In: Nagar AK, Thamburaj R, Li K, Tang Z, Li R, editors. Fifth international conference on bioinspired computing: theories and applications, BICTA 2010, University of Hunan, Liverpool Hope University, Liverpool, United Kingdom/Changsha, China, September 8–10 and September 23–26, 2010, vol. 2. Beijing: IEEE Computer Society; 2010. p. 1377–81.Google Scholar
 46.DíazPernil D, GutiérrezNaranjo MA, MolinaAbril H, Real P. Designing a new software tool for digital imagery based on P systems. Nat Comput. 2011;11(3):381–6.MathSciNetzbMATHCrossRefGoogle Scholar
 47.DíazPernil D, GutiérrezNaranjo MA, Peng H. Some notes on membrane computing and image processing. Bull Int Membr Comput Soc. 2016;2:103–28.Google Scholar
 48.DíazPernil D, GutiérrezNaranjo MA, Real P, SánchezCanales V. Computing homology groups in binary 2D imagery by tissuelike P systems. Rom J Inf Sci Technol. 2010;13(2):141–52.Google Scholar
 49.DíazPernil D, PeñaCantillana F, GutiérrezNaranjo MA. Skeletonizing images by using spiking neural P systems. In: MartínezdelAmor MA, Păun G, PérezHurtado I, RomeroCampero FJ, editors. Tenth brainstorming week on membrane computing, vol. I. Sevilla: Fénix Editora; 2012. p. 91–110.Google Scholar
 50.DíazPernil D, PeñaCantillana F, GutiérrezNaranjo MA. A parallel algorithm for skeletonizing images by using spiking neural P systems. Neurocomputing. 2013;115:81–91.CrossRefGoogle Scholar
 51.Duda RO, Hart PE. Use of the Hough transformation to detect lines and curves in pictures. Commun ACM. 1972;15(1):11–5.zbMATHCrossRefGoogle Scholar
 52.Dufresne TE, Sarwal A, Dhawan AP. A graylevel thinning method for delineation and representation of arteries. Comput Med Imaging Graph. 1994;18(5):343–55.CrossRefGoogle Scholar
 53.EgmontPetersen M, de Ridder D, Handels H. Image processing with neural networks—a review. Pattern Recognit. 2002;35(10):2279–301.zbMATHCrossRefGoogle Scholar
 54.Eilenberg S, MacLane S. Relations between homology and homotopy groups of spaces. Ann Math. 1945;46(3):480–509.MathSciNetzbMATHCrossRefGoogle Scholar
 55.Eilenberg S, MacLane S. Relations between homology and homotopy groups of spaces. II. Ann Math. 1950;51(3):514–33.MathSciNetzbMATHCrossRefGoogle Scholar
 56.Fernau H, Freund R, Schmid ML, Subramanian KG, Wiederhold P. Contextual array grammars and array P systems. Ann Math Artif Intell. 2015;75(1–2):5–26.MathSciNetzbMATHCrossRefGoogle Scholar
 57.Ferretti C, Mauri G, Zandron C. P systems with string objects. In: Păun et al. [129]; 2010. p. 168–97.Google Scholar
 58.Freedman D, Chen C. Algebraic topology for computer vision. In: Science and technology; 2009. p. 239–68.Google Scholar
 59.Freund R. Array grammars. Tech. Rep. 15/00, Research Group on Mathematical Linguistics, Rovira i Virgili University, Tarragona; 2000.Google Scholar
 60.Frijters D, Lindenmayer A. A model for the growth and flowering of aster novaeangliae on the basis of table< 1, 0> Lsystems. In: Rozenberg G, Salomaa A, editors. L systems, most of the papers were presented at a conference in Aarhus, Denmark, January 14–25, 1974, lecture notes in computer science, vol. 15. Springer; 1974. p. 24–52.Google Scholar
 61.Gamanya R, Maeyer PD, Dapper MD. An automated satellite image classification design using objectoriented segmentation algorithms: a move towards standardization. Expert Syst Appl. 2007;32(2):616–24.CrossRefGoogle Scholar
 62.Gao Z, Zhang C. MCIR: a multimodal image registration algorithm based on membrane computing. In: 2017 international conference on computing intelligence and information system (CIIS); 2017. p. 263–69.Google Scholar
 63.GarcíaQuismondo M, MacíasRamos LF, Păun G, ValenciaCabrera L, editors. Tenth brainstorming week on membrane computing, vol. II. Sevilla: Fénix Editora; 2012.Google Scholar
 64.Georgiou A, Gheorghe M. Generative devices used in graphics. In: Alhazov A, MartínVide C, Păun G, editors. Preproceedings of the workshop on membrane computing. Technical Report; 28/03, . Research Group on Mathematical Linguistics, Universitat Rovira i Virgili, Tarragona, Spain; 2003. p. 266–72.Google Scholar
 65.Georgiou A, Gheorghe M, Bernardini F. Membranebased devices used in computer graphics. In: Ciobanu G, Păun G, PérezJiménez MJ, editors. Applications of membrane computing, natural computing series. Berlin: Springer; 2006. p. 253–81.Google Scholar
 66.Giavitto JL, Michel O. The topological structures of membrane computing. Fundamenta Informaticae. 2002;49(1–3):123–45.MathSciNetzbMATHGoogle Scholar
 67.Gil Montoya M, Garcia I. Implementation of parallel thinning algorithms on multicomputers: analysis of the work load balance. In: Proceedings of the sixth Euromicro workshop on parallel and distributed processing, PDP ’98; 1998. p. 257–63.Google Scholar
 68.Gimel’farb G, Nicolescu R, Ragavan S. P systems in stereo matching. In: Real P, DíazPernil D, MolinaAbril H, Berciano A, Kropatsch W, editors. Computer analysis of images and patterns. Lecture notes in computer science, vol. 6855. Berlin: Springer; 2011. p. 285–92.Google Scholar
 69.Gimel’farb GL. Probabilistic regularisation and symmetry in binocular dynamic programming stereo. Pattern Recognit Lett. 2002;23(4):431–42.zbMATHCrossRefGoogle Scholar
 70.Gimel’farb GL, Nicolescu R, Ragavan S. P system implementation of dynamic programming stereo. J Math Imaging Vis. 2013;47(1–2):13–26.zbMATHCrossRefGoogle Scholar
 71.González RC, Woods RE. Digital image processing. Upper Saddle River: Pearson/Prentice Hall; 2008.Google Scholar
 72.GonzálezDíaz R, Jiménez MJ, Medrano B, MolinaAbril H, Real P. Integral operators for computing homology generators at any dimension. In: RuizShulcloper J, Kropatsch WG, editors. CIARP. Lecture notes in computer science, vol. 5197. Berlin Heidelberg: Springer; 2008. p. 356–63.Google Scholar
 73.GonzálezDíaz R, Jiménez MJ, Medrano B, Real P. Chain homotopies for object topological representations. Discret Appl Math. 2009;157(3):490–9.MathSciNetzbMATHCrossRefGoogle Scholar
 74.GonzálezDíaz R, Real P. On the cohomology of 3D digital images. Discret Appl Math. 2005;147(2–3):245–63.MathSciNetzbMATHCrossRefGoogle Scholar
 75.Goodfellow I, Bengio Y, Courville A. Deep learning. Cambridge: MIT Press; 2016.zbMATHGoogle Scholar
 76.Graciani C, Păun G, RomeroJiménez A, SanchoCaparrini F, editors. Fourth brainstorming week on membrane computing, vol. II. Sevilla: Fénix Editora; 2006.Google Scholar
 77.Guo Z, Hall RW. Parallel thinning with twosubiteration algorithms. Commun ACM. 1989;32:359–73.MathSciNetCrossRefGoogle Scholar
 78.Guo Z, Hall RW. Fast fully parallel thinning algorithms. CVGIP Image Underst. 1992;55:317–28.zbMATHCrossRefGoogle Scholar
 79.GutiérrezNaranjo MA, PérezJiménez, MJ. Fractals and P systems. In: Graciani et al. [76]; 2006. p. 65–86.Google Scholar
 80.GutiérrezNaranjo MA, PérezJiménez MJ, RiscosNúñez A, RomeroCampero FJ. How to express tumours using membrane systems. Prog Nat Sci. 2007;17(4):449–57.MathSciNetzbMATHCrossRefGoogle Scholar
 81.Hamadani, N. Automatic target cueing in IR imagery. Master’s thesis, Air Force Institute of Technology, WAFP; 1981.Google Scholar
 82.Heydorn S, Weidner P. Optimization and performance analysis of thinning algorithms on parallel computers. Parallel Comput. 1991;17(1):17–27.zbMATHCrossRefGoogle Scholar
 83.Holt C, Stewart A. A parallel thinning algorithm with fine grain subtasking. Parallel Comput. 1989;10(3):329–34.zbMATHCrossRefGoogle Scholar
 84.Hongbin P, Junali C, Yashe Z. Fingerprint thinning algorithm based on mathematical morphology. In: 8th international conference on electronic measurement and instruments. ICEMI ’07; 2007. p. 618–21.Google Scholar
 85.Hough PVC. Machine analysis of bubble chamber pictures. In: International conference on high energy accelerators and instrumentation. CERN; 1959. p. 554–58.Google Scholar
 86.Isawasan P, Muniyandi RC, Venkat I, Subramanian KG. Arrayrewriting P systems with basic puzzle grammar rules and permitting features. In: Leporati A, Rozenberg G, Salomaa A, Zandron C, editors. Membrane computing—17th international conference, CMC 2016, Milan, Italy, July 25–29, 2016, revised selected papers. Lecture notes in computer science, vol. 10105. Springer; 2016. p. 272–85.Google Scholar
 87.Isawasan P, Venkat I, Muniyandi RC, Subramanian, KG. A membrane computing model for generation of picture arrays. In: Zaman HB, Robinson P, Smeaton AF, Shih TK, Velastin SA, Jaafar A, Ali NM, editors. Proceedings of advances in visual informatics—4th international visual informatics conference, IVIC 2015, Bangi, Malaysia, November 17–19. Lecture notes in computer science, vol. 9429. Springer; 2015. p. 155–65.Google Scholar
 88.Isawasan P, Venkat I, Subramanian KG, Khader AT, Osman O, Christinal HA. Regionbased segmentation of hexagonal digital images using membrane computing. In: IEEE 2014 Asian conference on membrane computing (ACMC); 2014. p. 1–4.Google Scholar
 89.Ivchenko GI, Honov SA. On the Jaccard similarity test. J Math Sci. 1998;88(6):789–94.MathSciNetzbMATHCrossRefGoogle Scholar
 90.Jaccard P. Nouvelles recherches sur la distribution florale. Bulletin de la Sociète Vaudense des Sciences Naturelles. 1908;44:223–70.Google Scholar
 91.Kauppi T, Kalesnykiene V, Kamarainen JK, Lensu L, Sorri I, Raninen A, Voutilainen R, Uusitalo H, Kälviäinen H, Pietilä J. The diaretdb1 diabetic retinopathy database and evaluation protocol. In: Proceedings of the British machine vision conference 2007, University of Warwick, UK, September 10–13. British Machine Vision Association; 2007. p. 252–61.Google Scholar
 92.Kenmochi Y, Imiya A, Ichikawa A. Discrete combinatorial geometry. Pattern Recognit. 1997;30(10):1719–28.zbMATHCrossRefGoogle Scholar
 93.Kenmochi Y, Imiya A, Ichikawa A. Boundary extraction of discrete objects. Comput Vis Image Underst. 1998;71(3):281–93.CrossRefGoogle Scholar
 94.Khalid NEA, Ahmad SA, Noor NM, Fadzil AFA, Taib MN. Analysis of parallel multicore performance on Sobel edge detector. In: Proceedings of the 15th WSEAS international conference on computers. World Scientific and Engineering Academy and Society (WSEAS), Stevens Point, Wisconsin, USA; 2011. p. 313–18.Google Scholar
 95.Khalid NEA, Ahmad SA, Noor NM, Fadzil AFA, Taib MN. Parallel approach of Sobel edge detector on multicore platform. Int J Comput Commun. 2011;5:236–44.Google Scholar
 96.Kim SH, Kim HG, Tchah KH. Object oriented face detection using colour transformation and range segmentation. IEEE Electron Lett. 1998;34:979–80.CrossRefGoogle Scholar
 97.Krishna SN, Rama R, Krithivasan K. P systems with picture objects. Acta Cybernetica. 2001;15(1):53–74.MathSciNetzbMATHGoogle Scholar
 98.Lee KH, Cho SB, Choy YC. Automated vectorization of cartographic maps by a knowledgebased system. Eng Appl Artif Intell. 2000;13(2):165–78.CrossRefGoogle Scholar
 99.Lefticaru R, Bakir ME, Konur S, Stannett M, Ipate F. Modelling and validating an engineering application in kernel P systems. In: Gheorghe M, Rozenberg G, Salomaa A, Zandron C, editors. Membrane computing—18th international conference, CMC 2017, Bradford, UK, July 25–28, 2017, revised selected papers. Lecture notes in computer science, vol. 10725. Springer; 2017. p. 183–95.Google Scholar
 100.Li X, Zhang T, Qu Z. Image segmentation using fuzzy clustering with spatial constraints based on Markov random field via bayesian theory. IEICE Trans Fundam Electron Commun Comput Sci. 2008;91–A(3):723–9.CrossRefGoogle Scholar
 101.Lindenmayer A. Mathematical models for cellular interaction in development: parts I and II. J Theor Biol. 1968;18:280–315.CrossRefGoogle Scholar
 102.Lindenmayer A. Developmental systems without cellular interactions, their languages and grammars. J Theor Biol. 1971;30(3):455–84.CrossRefGoogle Scholar
 103.Litjens GJS, Kooi T, Bejnordi BE, Setio AAA, Ciompi F, Ghafoorian M, van der Laak JAWM, van Ginneken B, Sánchez CI. A survey on deep learning in medical image analysis. Med Image Anal. 2017;42:60–88.CrossRefGoogle Scholar
 104.Liu D, Jiang Z, Feng H. A novel fuzzy classification entropy approach to image thresholding. Pattern Recognit Lett. 2006;27(16):1968–75.CrossRefGoogle Scholar
 105.Lü HE, Wang PSP. A comment on a fast parallel algorithm for thinning digital patterns. Commun ACM. 1986;29(3):239–42.CrossRefGoogle Scholar
 106.Mandelbrot BB. The fractal geometry of nature. New York: W. H. Freedman and Co.; 1983.CrossRefGoogle Scholar
 107.MartínVide C, Mauri G, Păun G, Rozenberg G, Salomaa A, editors. Membrane computing, international workshop, WMC 2003, Tarragona, Spain, July 17–22, 2003, revised papers. Lecture notes in computer science, vol. 2933. Berlin: Springer; 2004.Google Scholar
 108.MolinaAbril H, Real P. Advanced homology computation of digital volumes via cell complexes. In: da Vitoria Lobo N, Kasparis T, Roli F, Kwok JTY, Georgiopoulos M, Anagnostopoulos GC, Loog M, editors. SSPR/SPR. Lecture notes in computer science, vol. 5342. Berlin: Springer; 2008. p. 361–71.Google Scholar
 109.Moulik S, Boonn WW. The role of GPU computing in medical image analysis and visualization. In: Boonn WW, Liu BJ, editors. Medical imaging 2011: advanced PACSbased imaging informatics and therapeutic applications, vol. 7967. Proceedings of the SPIE; 2011. p. 79670L.Google Scholar
 110.Mutyam M, Krithivasan K. P systems with membrane creation: universality and efficiency. In: Margenstern M, Rogozhin Y, editors. MCU, lecture notes in computer science, vol. 2055. Springer; 2001. p. 276–87.Google Scholar
 111.Nicolescu, R.: Parallel thinning with complex objects and actors. In: Gheorghe M, Rozenberg G, Salomaa A, Sosík P, Zandron C, editors. Membrane computing—15th international conference, CMC 2014, Prague, Czech Republic, August 20–22, 2014, revised selected papers, lecture notes in computer science, vol. 8961. Springer; 2014. p. 330–54.Google Scholar
 112.Ogawa K, Ito Y, Nakano K. Efficient canny edge detection using a GPU. In: Proceedings of the 2010 first international conference on networking and computing, ICNC ’10. IEEE Computer Society, Washington, DC, USA; 2010. p. 279–80.Google Scholar
 113.Osareh A, Mirmehdi M, Thomas B, Markham R. Automated identification of diabetic retinal exudates in digital colour images. Br J Ophthalmol. 2003;87(10):1220–3.CrossRefGoogle Scholar
 114.Owens JD, Houston M, Luebke D, Green S, Stone JE, Phillips JC. GPU computing. Proc IEEE. 2008;96(5):879–99.CrossRefGoogle Scholar
 115.Pal NR, Pal SK. A review on image segmentation techniques. Pattern Recognit. 1993;26(9):1277–94.CrossRefGoogle Scholar
 116.Parker J. Algorithms for image processing and computer vision. New York: Wiley; 2010.Google Scholar
 117.PeñaCantillana F, DíazPernil D, Berciano A, GutiérrezNaranjo MA. A parallel implementation of the thresholding problem by using tissuelike P systems. In: Real P, DíazPernil D, MolinaAbril H, Berciano A, Kropatsch WG, editors. Computer analysis of images and patterns—14th international conference, CAIP 2011, Seville, Spain, August 29–31, 2011, proceedings, part II. Lecture notes in computer science, vol. 6855. Springer; 2011. p. 277–84.Google Scholar
 118.PeñaCantillana F, DíazPernil D, Christinal HA, GutiérrezNaranjo MA. Implementation on CUDA of the smoothing problem with tissuelike P systems. Int J Nat Comput Res. 2011;2(3):25–34.CrossRefGoogle Scholar
 119.Peng H, Shao J, Li B, Wang J, PérezJiménez MJ, Jiang Y, Yang Y. Image thresholding with celllike P systems. In: GarcíaQuismondo et al. [63]; 2012. p. 75–88.Google Scholar
 120.Peng H, Wang J, Ming J, Shi P, PérezJiménez MJ, Yu W, Tao C. Fault diagnosis of power systems using intuitionistic fuzzy spiking neural P systems. IEEE Trans Smart Grid. 2018;9(5):4777–84.CrossRefGoogle Scholar
 121.Peng H, Wang J, PérezJiménez MJ. Optimal multilevel thresholding with membrane computing. Digit Signal Process. 2015;37:53–64.CrossRefGoogle Scholar
 122.Peng H, Wang J, PérezJiménez MJ, Shi P. A novel image thresholding method based on membrane computing and fuzzy entropy. J Intell Fuzzy Syst. 2013;24(2):229–37.Google Scholar
 123.Peng H, Yang Y, Zhang J, Huang X, Wang J. A regionbased color image segmentation method based on P systems. Rom J Inf Sci Technol. 2014;17(1):63–75.Google Scholar
 124.PérezJiménez M.J, RiscosNúñez A, RomeroJiménez A, Woods D. Complexity—membrane division, membrane creation. In: Păun et al. [129]; 2010. p. 302–36.Google Scholar
 125.Păun G. Membrane computing: an introduction. Berlin: Springer; 2002.zbMATHCrossRefGoogle Scholar
 126.Păun G. Computing with membranes. Tech. Rep. 208, Turku Centre for Computer Science, Turku, Finland; 1998.Google Scholar
 127.Păun G. Computing with membranes. J Comput Syst Sci. 2000;61(1):108–43 (See also [126]).MathSciNetzbMATHCrossRefGoogle Scholar
 128.Păun G. Grammar systems vs. membrane computing: a preliminary approach. In: Preproceedings of the workshop on grammar systems, MTA SZTAKI Budapest; 2004. p. 225–45.Google Scholar
 129.Păun G, Rozenberg G, Salomaa A, editors. The Oxford handbook of membrane computing. Oxford: Oxford University Press; 2010.zbMATHGoogle Scholar
 130.Rawat W, Wang Z. Deep convolutional neural networks for image classification: a comprehensive review. Neural Comput. 2017;29(9):2352–449.MathSciNetCrossRefGoogle Scholar
 131.Real P. Homological perturbation theory and associativity. Homol Homotopy Appl. 2000;2(5):51–88.MathSciNetzbMATHCrossRefGoogle Scholar
 132.Real P, MolinaAbril H. Cell atmodels for digital volumes. In: Torsello A, Escolano F, Brun L, editors. GbRPR, vol. 5534., Lecture notes in computer scienceBerlin: Springer; 2009. p. 314–23.Google Scholar
 133.Real P, MolinaAbril H, Kropatsch WG. Homological treebased strategies for image analysis. In: Jiang X, Petkov N, editors. CAIP, vol. 5702., Lecture notes in computer scienceBerlin: Springer; 2009. p. 326–33.Google Scholar
 134.ReinaMolina R, Carnero Iglesias J, DíazPernil D. Image segmentation using tissuelike P systems with multiple auxiliary cells. Image A Appl Math Image Eng. 2011;2(4):25–8.Google Scholar
 135.ReinaMolina R, DíazPernil D. Bioinspired parallel 2D or 3D skeletonization. Image A Appl Math Image Eng. 2013;3(6):41–4.Google Scholar
 136.ReinaMolina R, DíazPernil D, GutiérrezNaranjo MA. Cell complexes and membrane computing for thinning 2D and 3D images. In: GarcíaQuismondo et al. [63]. p. 167–86.Google Scholar
 137.ReinaMolina R, DíazPernil D, Real P, Berciano A. Membrane parallelism for discrete Morse theory applied to digital images. Appl Algebra Eng Commun Comput. 2015;26(1–2):49–71.MathSciNetzbMATHCrossRefGoogle Scholar
 138.ReinaMolina R, DíazPernil D, Real P, Berciano A. Effective homology of kd digital objects (partially) calculated in parallel. Pattern Recognit Lett. 2016;83:59–66.CrossRefGoogle Scholar
 139.RiveroGil E, GutiérrezNaranjo MA, PérezJiménez MJ. Graphics and P systems: experiments with JPLANT. In: DíazPernil D, Graciani C, GutiérrezNaranjo MA, Păun G, PérezHurtado I, RiscosNúñez A, editors. Sixth brainstorming week on membrane computing. Sevilla: Fénix Editora; 2008. p. 241–53.Google Scholar
 140.RiveroGil E, GutiérrezNaranjo MA, Romero Jiménez Á, RiscosNúñez A. A software tool for generating graphics by means of P systems. Nat Comput. 2011;10(2):879–90.MathSciNetzbMATHCrossRefGoogle Scholar
 141.Romero A, Rubio J, Sergeraert F. Effective homology of filtered digital images. Pattern Recognit Lett. 2016;83:23–31.CrossRefGoogle Scholar
 142.RomeroJiménez Á, GutiérrezNaranjo MA, PérezJiménez MJ. Graphical modeling of higher plants using P systems. In: Hoogeboom HJ, Păun G, Rozenberg G, Salomaa A, editors. Workshop on membrane computing. Lecture notes in computer science, vol. 4361. Berlin: Springer; 2006. p. 496–506.Google Scholar
 143.RomeroJiménez A, GutiérrezNaranjo MA, PérezJiménez MJ. The growth of branching structures with P systems. In: Graciani et al. [76]. p. 253–65.Google Scholar
 144.Rosenfeld A. Picture languages. Reading: Academic Press; 1979.zbMATHGoogle Scholar
 145.Rosin PL. Training cellular automata for image processing. IEEE Trans Image Process. 2006;15(7):2076–87.CrossRefGoogle Scholar
 146.Rozenberg G, Salomaa A. The mathematical theory of L systems. Pure and applied mathematics. New York: Elsevier Science; 1980.zbMATHGoogle Scholar
 147.Saeed K, Tabedzki M, Rybnik M, Adamski M. K3M: a universal algorithm for image skeletonization and a review of thinning techniques. Appl Math Comput Sci. 2010;20(2):317–35.zbMATHGoogle Scholar
 148.Sahoo P, Soltani S, Wong A. A survey of thresholding techniques. Comput Vis Graph Image Process. 1988;41(2):233–60.CrossRefGoogle Scholar
 149.Sanduja V, Patial R. Sobel edge detection using parallel architecture based on FPGA. Int J Appl Inf Syst. 2012;3(4):20–4.Google Scholar
 150.Sekhar S, AlNuaimy W, Nandi A.K. Automated localisation of retinal optic disk using Hough transform. In: IEEE 5th international symposium on biomedical imaging: from nano to macro. ISBI; 2008, pp 1577–80.Google Scholar
 151.Selvapeter PJ, Hordijk W. Cellular automata for image noise filtering. In: IEEE world congress on nature and biologically inspired computing. NaBIC 2009IEEE; 2009. p. 193–7.Google Scholar
 152.Sergeraert F. The computability problem in algebraic topology. Adv Math. 1994;104:1–29.MathSciNetzbMATHCrossRefGoogle Scholar
 153.Shapiro LG, Stockman GC. Computer vision. Upper Saddle River: Prentice Hall PTR; 2001.Google Scholar
 154.Sharma O, Mioc D, Anton F. Polygon feature extraction from satellite imagery based on color image segmentation and medial axis. The international archives of the photogrammetry, remote sensing and spatial information sciences, XXXVII, Part B3a, Commission III; 2008. p. 235–40.Google Scholar
 155.Sheeba F, Thamburaj R, Nagar AK, Mammen JJ. Segmentation of peripheral blood smear images using tissuelike P systems. In: 2011 sixth international conference on bioinspired computing: theories and applications (BICTA); 2011. p. 257–61.Google Scholar
 156.Smith SJ, Bourgoin MO, Sims K, Voorhees HL. Handwritten character classification using nearest neighbor in large databases. IEEE Trans Pattern Anal Mach Intell. 1994;16(9):915–9.CrossRefGoogle Scholar
 157.Sobel IE. Camera models and machine perception. Ph.D. thesis, Dept. of Computer Sciences, Stanford, CA, USA. AAI7102831; 1970.Google Scholar
 158.Staal J, Abràmoff MD, Niemeijer M, Viergever MA, van Ginneken B. Ridgebased vessel segmentation in color images of the retina. IEEE Trans Med Imaging. 2004;23(4):501–9.CrossRefGoogle Scholar
 159.Subramanian K, Saravanan R, Geethalakshmi M, Chandra PH, Margenstern M. P systems with array objects and array rewriting rules. In: Pan L, Păun G, editors. Proceedings of bioinspired computing—theory and applications conference, BICTA 2006, Wuhan, China, September 2006, membrane computing section; 2006. p. 160–67.Google Scholar
 160.Subramanian KG. P systems and picture languages. In: DurandLose JO, Margenstern M, editors. MCU, vol. 4664., Lecture notes in computer scienceBerlin: Springer; 2007. p. 99–109.Google Scholar
 161.Subramanian KG, Ali RM, Nagar AK, Margenstern M. Array P systems and tcommunication. Fundamenta Informaticae. 2009;91(1):145–59.MathSciNetzbMATHGoogle Scholar
 162.Subramanian KG, Isawasan P, Venkat I, Pan L, Nagar A. Array P systems with permitting features. J Comput Sci. 2014;5(2):243–50.MathSciNetCrossRefGoogle Scholar
 163.Subramanian KG, Pan L, Lee SK, Nagar AK. A P system model with pure contextfree rules for picture array generation. Math Comput Model. 2010;52(11–12):1901–9.MathSciNetzbMATHCrossRefGoogle Scholar
 164.Subramanian KG, Sriram S, Song B, Pan L. An overview of 2d picture array generating models based on membrane computing. In: Adamatzky A, editor. Reversibility and Universality, Essays Presented to Kenichi Morita on the Occasion of his 70th Birthday. Emergence, complexity and computation, vol. 30. Springer; 2018. p. 333–56.Google Scholar
 165.Suzuki S, Abe K. Binary picture thinning by an iterative parallel twosubcycle operation. Pattern Recognit. 1987;20(3):297–307.CrossRefGoogle Scholar
 166.SnchezKarhunen E, ValenciaCabrera L. Membrane computing applications in computational economics. In: Graciani C, Păun G, RiscosNúñez A, ValenciaCabrera L, editors. Fifteenth brainstorming week on membrane computing. Sevilla: Fénix Editora; 2017. p. 189–214.Google Scholar
 167.Tarabalka Y, Chanussot J, Benediktsson JA. Segmentation and classification of hyperspectral images using Watershed transformation. Pattern Recognit. 2010;43(7):2367–79.zbMATHCrossRefGoogle Scholar
 168.Tobias OJ, Seara R. Image segmentation by histogram thresholding using fuzzy sets. IEEE Trans Image Process. 2002;11(12):1457–65.CrossRefGoogle Scholar
 169.Wang D, Lu H, Zhang J, Liang JZ. A knowledgebased fuzzy clustering method with adaptation penalty for bone segmentation of CT images. In: Proceedings of the 2005 IEEE engineering in medicine and biology 27th annual conference, vol. 6. 2005. p. 6488–91.Google Scholar
 170.Wang H, Peng H, Shao J, Wang T. A thresholding method based on P systems for image segmentation. ICIC Express Lett. 2012;6(1):221–7.Google Scholar
 171.Wang PSP. Some new results on isotonic array grammars. Inf Process Lett. 1980;10(3):129–31.MathSciNetzbMATHCrossRefGoogle Scholar
 172.Yahya RI, Hasan S, George LE, Alsalibi B. Membrane computing for 2D image segmentation. Int J Adv Soft Comput Appl. 2015;7(1):35–50.Google Scholar
 173.Yahya RI, Shamsuddin SM, Hasan S, Yahya SI. Tissuelike P system for segmentation of 2D hexagonal images. ARO Sci J Koya Univ. 2016;IV(1):35–42.Google Scholar
 174.Yahya RI, Shamsuddin SM, Yahya SI, Hasan S, AlSalibi B, AlKhafaji G. Image segmentation using membrane computing: A literature survey. In: Gong M, Pan L, Song T, Zhang G, editors. Bioinspired computing: theories and applications—11th international conference, BICTA 2016, Xi’an, China, October 28–30, 2016, revised selected papers, part I, communications in computer and information science. Springer; 2016. p. 314–35.Google Scholar
 175.Yahya RI, Shamsuddin SM, Yahya SI, Hasan S, Alsalibi B. Automatic 2d image segmentation using tissuelike P system. Int J Adv Soft Comput Appl. 2018;10(1):36–54.Google Scholar
 176.Yahya SI, Yahya RI III, AlSalibi B, AlKhafaji GK, Shamsuddin SM. Threedimensional image segmentation using tissuelike P system. ARO Sci J Koya Univ. 2017;2:67–74.Google Scholar
 177.Yang X. A new metaheuristic batinspired algorithm. In: González JR, Pelta DA, Cruz C, Terrazas G, Krasnogor N, editors. Nature inspired cooperative strategies for optimization, NICSO 2010, May 12–14, 2010, Granada, Spain, studies in computational intelligence, vol. 4. Springer; 2010. p. 65–74.Google Scholar
 178.Yang Y, Peng H, Jiang Y, Huang X, Zhang J. A regionbased image segmentation method under P systems. J Inf Comput Sci. 2013;10(10):2943–50.CrossRefGoogle Scholar
 179.Yazid H, Arof H. Image segmentation using watershed transformation for facial expression recognition. In: IFMBE proceedings, 4th Kuala Lumpur international conference on biomedical engineering; 2008. p. 575–78.Google Scholar
 180.Ye QZ, Danielsson PE. Inspection of printed circuit boards by connectivity preserving shrinking. IEEE Trans Pattern Anal Mach Intell. 1988;10(5):737–42.CrossRefGoogle Scholar
 181.Yuan X, Situ N, Zouridakis G. A narrow band graph partitioning method for skin lesion segmentation. Pattern Recognit. 2009;42(6):1017–28.zbMATHCrossRefGoogle Scholar
 182.Zhang G, Gheorghe M, Pan L, PérezJiménez MJ. Evolutionary membrane computing: a comprehensive survey and new results. Inf Sci. 2014;279:528–51.CrossRefGoogle Scholar
 183.Zhang GX, Gheorghe M, Li Y. A membrane algorithm with quantuminspired subalgorithms and its application to image processing. Nat Comput. 2012;11(4):701–17.MathSciNetzbMATHCrossRefGoogle Scholar
 184.Zhang TY, Suen CY. A fast parallel algorithm for thinning digital patterns. Commun ACM. 1984;27(3):236–9.CrossRefGoogle Scholar
 185.Zhang Z, Peng H. Object segmentation with membrane computing. J Inf Comput Sci. 2012;9(17):5417–24.Google Scholar
 186.Zhao W, Chellappa R, Phillips PJ, Rosenfeld A. Face recognition: a literature survey. ACM Comput Surv. 2003;35(4):399–458.CrossRefGoogle Scholar
 187.Zhou Y, Chellappa R. Artificial neural networks for computer vision. Research notes in neural computing. Berlin: Springer; 1992.CrossRefGoogle Scholar
 188.Zitová B, Flusser J. Image registration methods: a survey. Image Vis Comput. 2003;21(11):977–1000.CrossRefGoogle Scholar
 189.NVIDIA Corporation. NVIDIA CUDA Programming Guide. http://www.nvidia.com/ (2012).