class_docstr: !
  @brief The class represents clustering algorithm ROCK.
  
  Example:
  @code
      from pyclustering.cluster import cluster_visualizer
      from pyclustering.cluster.rock import rock
      from pyclustering.samples.definitions import FCPS_SAMPLES
      from pyclustering.utils import read_sample
  
      # Read sample for clustering from file.
      sample = read_sample(FCPS_SAMPLES.SAMPLE_HEPTA)
  
      # Create instance of ROCK algorithm for cluster analysis. Seven clusters should be allocated.
      rock_instance = rock(sample, 1.0, 7)
  
      # Run cluster analysis.
      rock_instance.process()
  
      # Obtain results of clustering.
      clusters = rock_instance.get_clusters()
  
      # Visualize clustering results.
      visualizer = cluster_visualizer()
      visualizer.append_clusters(clusters, sample)
      visualizer.show()
  @endcode
     
docstr: !
  @brief Verify input parameters for the algorithm and throw exception in case of incorrectness.
docstr_tok: ["!","@","brief","Verify","input","parameters","for","the","algorithm","and","throw","exception","in","case","of","incorrectness","."]
code: def __verify_arguments(self):
      """!
      @brief Verify input parameters for the algorithm and throw exception in case of incorrectness.
  
      """
      if len(self.__pointer_data) == 0:
          raise ValueError(
              "Input data is empty (size: '%d')."
              % len(self.__pointer_data)
          )
  
      if self.__eps < 0:
          raise ValueError(
              "Connectivity radius (current value: '%d') should be greater or equal to 0."
              % self.__eps
          )
  
      if self.__threshold < 0 or self.__threshold > 1:
          raise ValueError(
              "Threshold (current value: '%d') should be in range (0, 1)."
              % self.__threshold
          )
  
      if (self.__number_clusters is not None) and (
          self.__number_clusters <= 0
      ):
          raise ValueError(
              "Amount of clusters (current value: '%d') should be greater than 0."
              % self.__number_clusters
          )
  
file_path: pyclustering/pyclustering/cluster/rock.py
imports: from pyclustering.cluster.encoder import type_encoding
  from pyclustering.utils import euclidean_distance
  from pyclustering.core.wrapper import ccore_library
  import pyclustering.core.rock_wrapper
label_desc: Use image node_id 9 for calling the rock obj's underlying member method code with example usage: obj.__verify_arguments() without return types