class_docstr: !
  @brief Model of oscillatory network that is based on the Eckhorn model.
  
  @details CCORE option can be used to use the pyclustering core - C/C++ shared library for processing that significantly increases performance.
  
  Here is an example how to perform PCNN simulation:
  @code
      from pyclustering.nnet.pcnn import pcnn_network, pcnn_visualizer
  
      # Create Pulse-Coupled neural network with 10 oscillators.
      net = pcnn_network(10)
  
      # Perform simulation during 100 steps using binary external stimulus.
      dynamic = net.simulate(50, [1, 1, 1, 0, 0, 0, 0, 1, 1, 1])
  
      # Allocate synchronous ensembles from the output dynamic.
      ensembles = dynamic.allocate_sync_ensembles()
  
      # Show output dynamic.
      pcnn_visualizer.show_output_dynamic(dynamic, ensembles)
  @endcode
class_docstr_tok: ["!","@","brief","Model","of","oscillatory","network","that","is","based","on","the","Eckhorn","model",".","@","details","CCORE","option","can","be","used","to","use","the","pyclustering","core","-","C\/C++","shared","library","for","processing","that","significantly","increases","performance",".","Here","is","an","example","how","to","perform","PCNN","simulation",":","@","code","from","pyclustering.nnet.pcnn","import","pcnn_network",",","pcnn_visualizer","#","Create","Pulse-Coupled","neural","network","with","10","oscillators",".","net","=","pcnn_network","(","10",")","#","Perform","simulation","during","100","steps","using","binary","external","stimulus",".","dynamic","=","net.simulate","(","50",",","[","1",",","1",",","1",",","0",",","0",",","0",",","0",",","1",",","1",",","1","]",")","#","Allocate","synchronous","ensembles","from","the","output","dynamic",".","ensembles","=","dynamic.allocate_sync_ensembles","(",")","#","Show","output","dynamic",".","pcnn_visualizer.show_output_dynamic","(","dynamic",",","ensembles",")","@","endcode"]
docstr: !
  @brief (uint) Returns size of oscillatory network.
docstr_tok: ["!","@","brief","(","uint",")","Returns","size","of","oscillatory","network","."]
code: def __len__(self):
      """!
      @brief (uint) Returns size of oscillatory network.
  
      """
  
      if self.__ccore_pcnn_pointer is not None:
          return wrapper.pcnn_get_size(self.__ccore_pcnn_pointer)
  
      return self._num_osc
  
imports: import random
  import numpy
  import matplotlib.pyplot
  import matplotlib.animation
  from PIL import Image
  from pyclustering.nnet import *
  from pyclustering.core.wrapper import ccore_library
  import pyclustering.core.pcnn_wrapper
  from pyclustering.utils import draw_dynamics
label_desc: Use image node_id 3 for calling the pcnn_network obj's underlying member method code with example usage: obj.__len__() and returns: self, wrapper